반응형

분류 전체보기 38

[Data Architecture] 관계형 모델 이론_관계형 모델 이란?

2. 관계형 모델 이론 관계형 모델은 코드(E.F.Codd) 박사가 그 당시의 데이터베이스 모델과 데이터베이스 제품이 가지고 있는 데이터 중복, 약한 데이터 무결성, 데이터베이스 구조가 물리적 구현에 지나치게 의존하는 것 등의 문제를 해결하기 위해 내놓았다. 대용량의 데이터를 취급할 수 있는 새로운 데이터베이스 모델인 관계형 데이터베이스 모델을 수학의 집합 이론(Set Theory)과 1차 술어 논리(1st Predicate Logic)라는 두 분야를 이론적 배경으로 만들었다. 수학의 이 두가지 이론은 관계형 모델 이론에서 매우 중요한 위치를 점하고 있으며, 이는 데이터 구조(Structure), 데이터 조작(Manipulation), 데이터 무결성(Integrity)에 관한 관계형 모델 이론을 설명하는..

[Data Architecture] 관계형 모델 이론_릴레이션, 속성, 도메인 개념

관계형 모델 이론 1. 릴레이션 개념 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)에 생성한 테이블(Table)의 개념은 수학의 집합이론에서 말하는 릴레이션(Relation)으로부터 유래한 것이다. 테이블은 열(Column)과 행(Row)으로 이루어져 있다. 테이블은 테이블 이름과 각 열의 이름으로 구성되어 있다. 밑 고객(CUSTOMER) 테이블을 보면, 관계형 모델에서 이 테이블을 릴레이션이라 하고, 테이블 이름인 '고객(CUSTOMER)'을 릴레이션 이름이라 한다. 따라서 '고객(CUSTOMER)' 테이블은 '고객(CUSTOMER)'릴레이션이 된다. 또한 관계형 모델에서 테이블의 열은 애트리뷰트(Attribute)라 하고, 행은 튜..

[Data Architecture] 데이터 모델링 표기법 이해_관계 표기법_정보공학(IE)표기법 및 CASE* Method 표기법

다. 관계 표기법 관계란 하나 또는 두 개의 엔터티에서 인스턴스를 연관시키는 업무적인 이유를 말한다. 관계는 논리 데이터 모델링의 대상인 엔터티나 속성과는 달리 업무 규칙을 표현하는 세 가지 중요한 특성을 가지고 있다. 1 ) 관계 기수성(Cardinality, Degree) 표기법 기호로 나타낼 때 일은 'ㅡ'로, 다는 까마귀발(Crow's Foot) 형태로 표현한다. 관계 표기법은 일대일, 일대다, 다대다의 세 가지가 있다. ■ 일대일 관계 첫 번째 엔터티의 한 인스턴스가 두 번째 엔터티의 오직 하나의 인스턴스와 연관되어 있고, 두 번째 엔터티의 한 인스턴스가 첫 번째 엔터티의 오직 하나의 인스턴스와 연관이 있을 때, 이 두 개의 엔터티는 일대일 관계를 가지고 있다. ■ 일대다 관계 첫 번째 엔터티의..

[Data Architecture] 데이터 모델링 표기법 이해_속성 표기법_정보공학(IE)표기법 및 CASE* Method 표기법

나. 속성 표기법 속성은 엔터티에 저장되는 인스턴스들의 특성을 설명하는 항목으로, 단어들을 조합한 명사적 용어로 표현한다. 속성의 명칭은 '엔터티명 + 수식어 + 도메인 명' 형태가 좋다. 예를 들어 '사원'(엔터티 명) + '입사'(수식어) + '일자'(도메인 명) 형태로 속성 명을 부여하면 속성의 의미를 쉽게 이해할 수 있다. 속성 중에는 엔터티에서 하나의 인스턴스를 식별해 낼 수 있는 하나 또는 하나 이상의 속성을 유일식별자(UID, Unique Identifier) 또는 주 키(PK, Primary Key)라고 한다. 정보공학(IE) 표기법에서는 엔터티를 나타내는 사각형의 줄이 그어진 윗부분에 유일식별자 속성을 표시하고, CASE* Method 표기법에서는 유일식별자 속성앞에 '#' 표시를 한다...

[Data Architecture] 데이터 모델링 표기법 이해_엔터티 표기법_정보공학(IE)표기법 및 CASE* Method 표기법

데이터 모델링 표기법 이해 1. 엔터티 - 관계 데이터 모델 표기법 엔터티 - 관계 데이터 모델은 피터 첸(Peter Chen)에 의해서 최초로 제안되었으며, 데이터 모델 표기법은 엔터티를 사각형, 관계를 마름모, 속성을 타원에 표현한다. 시스템 개발 프로젝트 현장에서는 주로 정보공학(IE) 표기법 또는 CASE* Method 표기법을 많이 사용한다. 가. 엔터티 표기법 정보공학(IE) 표기법에서는 엔터티를 독립(Independent) 과 종속(Dependent) 엔터티로 구분한다. 독립 엔터티는 모서리가 각진 사각형으로, 종속 엔터티는 모서리가 둥근 사각형으로 표기한다. CASE* Method 표기법에서는 이런 구분 없이 모든 엔터티를 모서리가 둥근 사각형으로 표현한다. 정보공학(IE) 엔터티 표기법 ..

[SQL]Top-N 쿼리_ROWNUM

Top-N 쿼리 Top-N 쿼리는 말 그대로 상위(Top) N개의 행을 조회하는 쿼리이다. 기본 문법 오라클 데이터베이스는 ROWNUM 방식, 분석함수 방식, ROW LIMITNING 절 세 가지 방식의 Top-N쿼리를 사용할 수 있다. 15.1.1 ROWNUM 방식 ROWNUM 방식은 오라클 데이터베이스 전통적인 Top-N쿼리 방식이다. ORDER BY 절로 행을 정렬하고, 정렬된 행을 ROWNUM 슈도 칼럼으로 제한한다. ex 1 ) SELECT empno, sal, ROWNUM AS rn FROM emp; ROWNUM 슈도 칼럼은

SQL/Top-N 쿼리 2020.12.02

[SQL]분석함수(analytic function)_KEEP 키워드

KEEP 키워드 분석 함수도 KEEP 키워드를 사용할 수 있다. KEEP 키워드를 사용하면 ANALYTIC 절에 QUERY PARTITION 절만 사용할 수 있다. KEEP 키워드를 사용해 그룹 내 최대, 최소값을 구할 수 있다. analytic_function([ arguments ]) KEEP(DENSE_RANK { FIRST | LAST } ORDER BY expr) [OVER([ query_partition_clause ])] ex 1 ) job 파티션별 sal 최소인 행을 대상으로 comm의 최대 값을 출력해라. SELECT ename, job, sal, comm ,① MAX(comm) KEEP(DENSE_RANK FIRST ORDER BY sal) OVER(PARTITION BY job) AS..

SQL/분석함수 2020.09.19

[SQL]분석함수(analytic function)_LAG, LEAD, LISTAGG

* LAG함수, LEAD함수, LISTAGG함수를 살펴보자 | LAG 함수 LAG함수는 현재 행에서 offset 이전 행의 value_expr을 반환한다. offset은 행 기준이며 기본 값은 1이다. default에 이전 행이 없을 경우 반환할 값을 지정할 수 있다. default의 기본값은 널이다. LAG(value_expr[, offset [, default]])[IGNORE NULLS] OVER([query_partition_clause] order_by_clause) ex 1 ) SELECT hiredate, sal , LAG(sal) OVER(ORDER BY hiredate) AS c1 , LAG(sal,3) OVER(ORDER BY hiredate) AS c2 FROM emp WHERE de..

SQL/분석함수 2020.09.19

[SQL]분석함수(analytic function)_순차함수(FIRST_VALUE, LAST_VALUE, NTH_VALUE)

순차 함수 * 순차함수는 순차에 해당하는 값을 가져오는 함수다. | FIRST_VALUE 함수 FIRST_VALUE 함수는 윈도우 첫 행의 expr을 반환한다. IGNORE NULLS 키워드를 기술하면 널이 무시된다. FIRST_VALUE(expr)[IGNORE NULLS] OVER(analytic_clause) ex 1 ) EMP 테이블에서 부서번호가 30이고, 직업별로 입사를 가장 먼저한 사람의 급여를 구해라. SELECT job,hiredate, sal , FIRST_VALUE(sal) OVER(PARTITION BY job ORDER BY hiredate) AS c1 FROM emp WHERE deptno = 30 ORDER BY 1, 2; - 위 결과값을 보면 부서번호가 30인 CLERK, MA..

SQL/분석함수 2020.09.19

[SQL]분석함수(analytic function)_분포함수(PERCENTILE_CONT, PERCENTILE_DISC, MEDIAN)

분포 함수 * 분포함수는 분포 모형에 따른 분포 값을 반환한다. | PERCENTILE_CONT 함수 PERCENTILE_CONT 함수는 연속 분포 모델에서 expr에 지정한 백분위 값에 해당하는 값을 반환한다. expr은 0 ~ 1의 범위를 지정할 수 있다. PERCENTILE_CONT(expr) WITHIN GROUP(ORDER BY expr [DESC | ASC])[OVER(query_partition_clause)] ex ) SELECT job, ename, sal , PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY sal) OVER(PARTITION BY job) AS c1 FROM emp WHERE deptno = 30 ORDER BY 1, 3, empno; | ..

SQL/분석함수 2020.09.19
728x90
반응형