Study/SQL전문가가이드 썸네일형 리스트형 2.6 윈도우 함수(WINDOW FUNCTION) 1. WINDOW FUNCTION 개요 : PL/SQL, SQL/PL, T-SQL, PRO*C 같은 절차형 프로그램을 작성하거나, INLINE VIEW를 이용해 복잡한 SQL 문을 작성해야 하던 것을 부분적이나마 행과 행간의 관계를 쉽게 정의하기 위해 만든 함수가 바로 WINDOW FUNCTION 윈도우 함수를 활용하면 복잡한 프로그램을 하나의 SQL 문장으로 쉽게 해결할 수 있다. 분석 함수(ANALYTIC FUNCTION)나 순위 함수(RANK FUNCTION)로도 알려져 있는 윈도우 함수는 데이터웨어하우스에서 발전한 기능 ▷ WINDOW FUNCTION 종류 1. 그룹 내 순위 관련 함수 : RANK, DENSE_RANK, ROW_NUMBER 2. 그룹 내 집계 관련 함수 : SUM, MAX, MI.. 더보기 2.5 그룹 함수 (GROUP FUNCTION) 1. 데이터 분석 개요 - AGGREGATE FUNCTION : COUNT, SUM, AVG, MAX, MIN 외 각종 집계 함수 포함 - GROUP FUNCTION : 집계 함수를 제외하고 소그룹 간의 소계를 계산하는 ROLLUP, GROUP BY 항목들 간 다차원적인 소계를 계산하는 CUBE, 특정 항목에 대한 소계를 계산하는 GROUPING SEST ROLLUP은 GROUP BY의 확장된 형태로 사용하기가 쉬우며 병렬로 수행이 가능하기 때문에 매우 효과적일 뿐만 아니라 시간 및 지역처럼 계층적 분류를 포함하고 있는 데이터의 집계에 적합 CUBE는 결합 가능한 모든 값에 대하여 다차원적인 집계를 생성하게 되므로 ROLLUP에 비해 다양한 데이터를 얻는 장점이 있는 반면에, 시스템에 부하를 많이 주는 .. 더보기 2.4 서브쿼리 서브쿼리 (Subquery) : 하나의 SQL문안에 포함되어 있는 또 다른 SQL문 : 알려지지 않은 기준을 이용한 검색을 위해 사용 : 메인쿼리가 서브쿼리를 포함하는 종속적인 관계 - 서브쿼리는 메인쿼리의 칼럼을 모두 사용할 수 있지만 메인쿼리는 서브쿼리의 칼럼을 사용할 수 없다. - 질의 결과에 서브쿼리 칼럼을 표시해야 한다면 조인 방식으로 변환하거나 함수, 스칼라 서브쿼리(Scalar Subquery) 등을 사용 - 서브쿼리는 항상 메인쿼리 레벨로 결과 집합이 형성 ▷ 서브쿼리 사용시 주의사항 - 서브쿼리를 괄호로 감싸서 사용 - 서브쿼리는 단일 행(SINGLE ROW) 또는 복수 행(MULTIPLE ROW) 비교 연산자와 함께 사용 가능. 단일행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이.. 더보기 2.3 계층형 질의와 셀프 조인 1. 계층형 질의 - 계층형 데이터 : 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터 - 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 계층형 질의 (Hierarchical Query)를 사용 가. ORACLE 계층형 질의 - 계층형 질의 구문 SELECT ... FROM 테이블 WHERE condition AND condition ... START WITH condition CONNECT BY [NOCYCLE] condition AND condition ... [ORDER SIBLINGS BY column, column. ...] - START WITH 절은 계층 구조 전개의 시작 위치를 지정하는 구문. 루트 데이터를 지정(액세스) - CONNECT BY 절은 다음에 전개될 자식 .. 더보기 2.2 집합 연산자(SET OPERATOR) 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 중에 또 다른 방법은 바로 집합 연산자를 사용하는 방법! 집합연산자는 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용. 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때와 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 사용함, 이 외에도 튜닝관점에서 실행계획을 분리하고자 하는 목적으로도 사용 가능 집합연산자 제약조건> - SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함 (반드시 동일할 필요X) ▷집합연산자의 종류 - UNION 여러 개의 SQL문의 결과에 대한 합집합으로 결과에서 모든 .. 더보기 2.1 표준조인(Standard Join) 1. UNION 연산은 UNION 기능으로 - UNION 연산은 공통 교집합의 중복을 없애기 위한 작업으로 시스템에 부하를 주는 정렬 작업이 발생. - UNION ALL은 특별한 요구 사항이 없다면 공통집합을 중복해서 그대로 보여주기 때문에 정렬작업이 일어나지 않는다. - UNION과 UNION ALL의 출력 결과가 같다면, 데이터 정렬 작업이 발생하지 않는 UNION ALL사용 권고 2. INTERSECTION 연산은 INTERSECT 기능으로 - 수학의 교집합으로써 두 집합의 공통집합을 추출 3. DIFFERENCE 연산은 EXCEPT(ORACLE은 MINUS) 기능으로 - 수학의 차집합으로써 첫 번째 집합에서 두 번째 집합과의 공통집합을 제외한 부분 4. PRODUCT 연산은 CROSS JOIN 기.. 더보기 1.4 관계 제 4절 관계 (Relationship) 1) 관개의 개념 가. 관계의 정의 : 상호 연관성이 있는 상태 : 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태 : 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정읭에 따라서도 다양하게 변할 수 있다. 나. 관계의 패어링 : 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것 (패어링), 이것의 집합을 관계로 표현 -> 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다. : 관계 패어링 - 각각의 엔터티의 인스턴스들이 자신이 관련된 인스턴스들과 관계의 어커런스로 참여하는 형태 엔터티내에 인스턴스와 인스턴스 사이에 관계가 설정되어.. 더보기 1.3 속성 - 속성의 개념 : 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 1. 업무에서 필요로 한다 2. 의미상 더 이상 분리되지 않는다 3. 엔터티를 설명하고 인스턴스의 구성요소가 된다 ex. 생년월일은 하나로서 의미가 있다. 이것을 생년, 생월, 생일로 구분한다면 사실상 하나의 속성을 관리 목적에 따라 구분했다라고 이해할 수 있다. - 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법 1. 엔터티, 인스턴스, 속성, 속성값의 관계 : 엔터티에는 두 개 이상의 인스턴스가 존재하고 각각의 엔터티에는 고유의 성격을 표현하는 속성정보를 두 개 이상 갖는다. : 엔터티를 구성하는 특징이 무엇인지 또한 각각의 인스턴스들은 어떤 성격의 데이터로 구성되는지를 파악하.. 더보기 1.2 엔터티 1.2 엔터티 - 엔터티의 개념 : 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 : 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합 (인스턴스의 집합) - 엔터티와 인스턴스에 대한 내용과 표기법 - 엔터티의 특징 : 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 함 (ex. 환자, 토익의 응시횟수..) : 유일한 식별자에 의해 식별이 가능해야 함 : 영속적으로 존재하는 인스턴스의 집합이어야 ('한 개'가 아니라 '두 개 이상') : 엔터티는 업무 프로세스에 의해 이용되어야 함 : 엔터티는 반드시 속성이 있어야 함 (주식별자만 존재하고 일반속성은 전혀 없는 경우도 적절하지 못한 엔터티, 예외적.. 더보기 1.1 데이터 모델의 이해 1. 데이터 모델의 이해 - SQL의 정의 SQL(Structured Query Language)은 데이터베이스를 직접적으로 액세스 할 수 있는 언어로, 데이터를 정의하고 (Data Definition) 조작하며 (Data Manipulation) 조작한 결과를 적용하거나 취소할 수 있고 (Transaction Control) 접근 권한을 제어하는 (Data Control) 처리들로 구성된다. 1) 데이터 모델의 이해 및 분석 - 모델링의 정의 1. Webster 사전 : 가설적 또는 일정 양식에 맞춘 표현 : 어떤 것에 대한 예비 표현으로 그로부터 최종대상이 구축되도록 하는 계획으로서 기여하는 것 2. 복잡한 현실세계를 단순화시켜 표현하는 것 3. 모델이란 사물 또는 사건에 관한 양상이나 관점을 연관된.. 더보기 이전 1 다음