현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정이다. 데이터베이스 설계의 핵심 과정이라고 볼 수 있다.
개념적 모델링✔️
현실 세계를 추상화하여 중요 데이터를 개념 세계로 추출해 가는 과정이다.
결과물: 개념적 데이터 모델 (객체-관계, ERD)
논리적 모델링✔️
개념 세계의 데이터를 데이터베이스가 저장할 구조로 변환하는 과정이다.
결과물: 관계 데이터 모델
물리적 모델링✔️
논리 데이터 모델이 실제 데이터베이스 저장소에 저장되는 저장 구조(테이블, 컬럼)로 변경하는 것이다.
개체에 대한 데이터를 저장하는 논리적 구조, 즉 릴레이션(2차원의 테이블 구조)이다.
👉🏻 Attribute
: column 또는 속성이라고도 한다.
👉🏻 Tuple
: 릴레이션을 구성하는 각각의 행을 말한다. 요소라고도 한다.
👉🏻 Domain
: 데이터 타입이라고도 하며, Attribute에 허용된 모든 값의 집합을 말한다.
👉🏻 Relation Schema
: 릴레이션에 어떤 정보가 담길지 도메인을 정의한다.
👉🏻 Relation Instance
: tuple의 집합이다.
튜플의 유일성✔️
동일한 튜플이 존재할 수 없다.
튜플의 무순서✔️
튜플 사이의 순서는 무의미하다.
속성의 무순서✔️
속성 사이의순서는 무의미하다.
속성의 원자성(Atomic)✔️
속성 값으로 나누어지지 않는 하나의 값만 가진다.
키(Key)란, 릴레이션에 튜플을 구변하는 역할을 하는 속성 또는 속성의 집합이다.
Super key
튜플을 구별하기 위해 유일성을 제공할 수 있는 속성 또는 속성의 집합
ex) {id}, {id, name}Candidate key
Super key 중에서 개수가 가장 작은 키
ex) {id}Primary key
Candidate key 중에서 디자인을 고려하여 선택된 키
Foreign key
다른 릴레이션의 Primary key를 참조하는 속성 또는 속성의 집합
도메인 무결성 제약 조건(Domain integrity constraint)✔️
릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만 가져야 한다.
개체 무결성 제약 조건(Entity integrity constraint = Primary key constraint)✔️
기본키를 구성하는 모든 속성은 null을 가질 수 없다.
참조 무결성 제약 조건(Referential integrity constraint = Foreign key constraint)✔️
Foreign key는 참조하는 릴레이션의 Primary key 속성 값 중 하나여햐 한다. (null 가능)