목적을 갖고 진짜를 모방한 것
[업무 파악] → [개념적 데이터 모델링(Entity)] → [논리적 데이터 모델링] → [물리적 데이터 모델링(ovenapp)]
[데이터 모델링] - 문제를 현실로부터 뜯어내서 고도의 추상화 과정을 거쳐서 그것을 컴퓨터로 옮겨 담는 작업
컴퓨터 공학이 해결해야할 문제
1. 컴퓨터 자체의 문제
2. 데이터 베이스를 통해 현실의 문제
ERD(entity relationship diagram)
-정보
-정보 그룹
-정보 그룹 관계
표를 쪼개는 이유
1. 주제에 따라 속성(데이터)들을 그룹핑 할 수 있다.
2. 컴퓨터 자원을 아낄 수 있다. 필요한 부분만 조회하면 되기 때문에
3. JOIN
Entity는 Table로 전환된다.
연관성(Relation PK, FK JOIN)
Entity → Table
Atrribute → Column
Relation → PK, FK
Tuple → row
식별자(Identifier)
누구도 같은 값을 가지고 있으면 안된다.
CK (candidate Key - 후보키)
PK (primary Key - 기본키) *식별자
AK (alternate Key - 대체키)
CK (composite Key - 중복키)
FK (Foreign Key - 외래 키) 한 테이블의 필드 중 다른 테이블의 행을 식별할 수 있는 키
Cardinality (일대일, 일대다, 다대다)
Optionality (의무, 의무X)
Mapping Rule 다이어그램을 통해서 표현 내용을 관계형데이터베이스 형태로 전환 하는 방법
(개념적 → 논리적)
대다다는 중재자가 필요하다. 매핑테이블, 연결테이블 필요
정규화(Normalization)
정제되지 않은 데이터(표)를 관계형데이터 베이스에 어울리는 표로 만들어주는 레시피
제 1정규화
First Normal → Form Atomic columns
제 2정규화
Second Normal Form → No partial dependencies
제 3정규화
Third Normal Form → No transitive dependencies