업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현하는 프로세스
개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델
실세계 데이터를 행과 열로 구성된 테이블 형태로 구성한 데이터 모델
논리적 구조가 2차원 테이블 형태로 구성된 모델
기본 키(PK; Primary Key)와 이를 참조하는 외래 키(FK; Foreign Key)로 관계를 표현한다.
1:1, 1:N, N:M 등 모든 관계를 자유롭게 표현한다.
- 릴레이션: 테이블
- 튜플: 로우 row
- 애트리뷰트: 칼럼 column
- 카디널리티 Cardinality: 행 수 🌟
- 디그리(차수) Degree: 칼럼 수 🌟
절차적 언어는 순서가 정해져 있고, 비절차적 언어는 순서가 없는 것!
∪
합집합 Union
∩
교집합 Intersection
-
차집합 Difference
X
카티션 프로덕트 CARTESIAN Product
(모든 튜플을 연결해 만들어진 새로운 튜플로 릴레이션 구성)
관계형 데이터베이스를 구현하기 위해 새롭게 만들어진 연산자
σ
셀렉트 Select
(조건에 해당되는 행)
π
프로젝트 Project
(조건에 해당되는 칼럼)
▷◁
조인 Join
(공통된 속성을 엮어서 하나의 테이블로 만듦)
÷
디비전 Division 🌟
(두 릴레이션 간 겹치는 부분을 추출)
디비전
릴레이션 A, B가 있을 때 릴레이션 B 조건에 맞는 것들만 릴레이션 A에서 튜플을 꺼내 프로젝션하는 관계 대수
튜플 관계 해석과 도메인 관계 해석을 하는 비절차적 언어
프레디킷 해석에 기반한 언어이며, 비절차적 언어(원하는 정보가 무엇이라는 것만 선언)
논리적 구조가 트리 형태로 구성된 모델
상하 관계가 존재한다.(부모 개체 - 자식 개체)
1:N 관계만 허용한다.
논리적 구조가 그래프 형태로 구성된 모델
트리는 사이클이 없고, 그래프는 사이클이 있음!
CODASYL DBTG 모델이라고 불린다.
CODASYL
Conference On DAta SYstems Languages
데이터 시스템 언어 회의COBOL
COmmon Business Orinted Language
교육용 언어
상위와 하위 레코드 사이에 다대다(N:M) 관계를 만족하는 구조
현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해 가장 널리 사용되고 있는 모델
논리 데이터 모델링에서는 모든 이해당사자와 의사소통의 보조 자료로 활용
요구사항으로부터 얻어낸 정보들을 개체, 속성, 관계로 기술한 모델
이행함수 종속성
B는 A에 종속되고, C는 B에 종속될 때, C는 A에 종속되는 관계
De-Normalization = 비정규화 = 역정규화
정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
장점: 반 정규화된 데이터 구조는 성능 향상과 관리의 효율성 증가
단점: 데이터의 일관성 및 정합성 저하 유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있다.
1:1 관계, 1:M 관계를 통합하여 조인 횟수를 줄여 성능 향상
슈퍼 타입 / 서브 타입 테이블 통합을 통해 성능 향상
Super Type
모든 서브 타입으로 상속되는 공통 속성(일반화)
Sub Type
개체의 전체 집합에서 일부만 모아놓은 부분 속성(상세화)
- 수평 분할: 레코드를 기준으로 분할
- 수직 분할: 한 테이블이 가지는 컬럼 개수가 증가하는 경우 활용
- 집계 테이블 추가: 집계 데이터를 위한 테이블
- 진행 테이블 추가: 이력 관리 등의 목적으로 추가
- 특정 부분만을 포함하는 테이블 추가: 특정 부분만으로 새로운 테이블 생성