데이터 모델링
: 개념적, 논리적, 물리적
데이터 독립성 요소
: 외부스키마, 개념 스키마, 내부스키마
- 외부스키마 : 개인적 DB 스키마
- 개념스키마 : 모든 사용자의 간점을 통합한 전체 DB
- 내부스키마 : 물리적 장치에서 데이터 실제적 저장
식별자의 특징
: 유일성, 최소성, 불변성, 존재성
- 유일성 : 모든 인스턴스들이 유일하게 구분
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수
- 불변성 : 자주 변하지 않아야함
- 존재성 : 반드시 값이 들어와야 함
데이터 모델링의 3요소
: Thing(어떤 것), Attributes(성격), Relationship(관계)
모델링의 특징
현실세계 -> 추상화, 단순화, 정확화 -> 모델
엔터티 특징
- 반드시 업무에서 필요하고 관리
- 유일한 식별자에 의해서 식별 가능
- 두 개 이상의 인스턴스의 집합
- 업무 프로세스에 의해 이용
- 반드시 속성이 있어야 함
- 다른 엔터티와 최소 1개 이상의 관계
발생시점에 따른 분류(엔터티)
: 기본, 중심, 행위
- 기본 : 원래 존재하는 정보
- 중심 : 기본 엔터티로부터 발생, 다른 엔터티와의 관계로 많은 엔터티 생성
- 행위 : 2개 이상의 부모 엔터티로부터 발생
SQL 종류
DML(Data Manipulation Language, 데이터 조작어)
DDL(Data Definition Lanuage, 데이터 정의어)
DCL(Data Control Language, 데이터 제어어)
TCL(Transaction Control Language, 트랜잭션 제어어)
- DML : SELECT, INSERT, UPDATE, DELETE
- DDL : CREATE, ALTER, DROP
- DCL : GRANT, REVOKE
- TCL : COMMIT, ROLLBACK
정규화
: 데이터 분해 과정, 이상현상 제거
- 1차 정규화 : 속성의 원자성 확보
- 2차 정규화 : 부분 함수 종속성 제거, 일부 기본키에만 종속된 속성을 분리함, 기본키가 하나의 칼럼일 때 생략 가능
- 3차 정규화 : 이행 함수 종속성 제거, 서로 종속관계가 있는 일반 속성을 분리함, 주식별자와 관련성이 가장 낮음
- 4차 정규화, 5차 정규화 : 다치 종속 분리, 결합 종속 분리
- 정규화 성능 : 정규화는 입출력 데이터의 양을 줄여 성능을 향상 시킴
- 유연성 증가, 재활용 가능성 증가, 데이터 중복 최소화
- 정규화로 인한 성능 저하 : 조회 시 처리 조건에 따라 성능 저하
- 데이터 조회 시 조인, CPU와 메모리 많이 사용
- 반정규화로 해결
- 조인 발생하더라도 인덱스를 사용하면 성능 상 단점이 없고, 정규화를 통해 필요한 인덱스 수를 줄일 수 있음
- 정규화를 통해 소량의 테이블이 생성되면 성능상 유리