Data Model
DBMS에서 어떻게 데이터가 저장, 연결, 접근 되는지 보여주는데 사용된다.
Relation
이차원 테이블
Tuple
관계의 행
Attribute
관계의 열
Degree
관계에서 속성의 개수
Caldinality
관계에서 튜플의 개수
Table=Relation=File
Row=Tuple=Record
Column=Attribute=Field
NULL 값
'알 수 없음' 또는 '해당 사항 없음'을 나타내는 데 사용
Relation의 특징
- 데이터베이스의 관계는 유일한, 유니크한 이름을 가져야한다.
- 튜플의 순서는 중요하지 않다.
- 각 속성은 유일한, 유니크한 이름은 가져야한다.
- 속성의 순서는 중요하지 않다.
Key
관계에서 튜플을 식별할 수 있도록 도움을 주는 속성 또는 속성 집합이다.
Key의 타입
- Super key : 관계에서 튜플을 고유하게 정의하는 속성 또는 속성 집합
- Primary키를 적어도 하나 포함하는 집합이나 Primary 키 자체
- {StudentNumber}, {StudentnNumber, Name}, {PhoneNumber}, {PhoneNumber, Name}
- Candidate key : 고유한 슈퍼 키 속성의 가장 작은 부분집합
- {StudentNumber}, {PhoneNumber}
- Primary key : Candidate key 중의 하나 / 언더라인으로 표시
- {StudentNumber} or {PhoneNumber}
- Alternate key : Candidate key중 Primary key가 아닌 것
- {PhoneNumber} or {StudentNumber}
- Foreign key : relation사이의 관계를 나타내는 데 사용 된다.
3가지 타입
- 다른 relation을 참조하는
- 자기 자신 relation을 참조하는
- primary키의 합성
무결성 제약조건
엔티티 무결성 제약조건
- 모든 relation은 primary 키를 가져야 한다.
- primary key속성은 unique 해야 한다.
- primary key속성은 NULL이 될 수 없다.
-> 왜? primary키는 테이블의 튜플을 식별하는 데 사용되는데, 만약 null값이라면 튜플을 식별할 수 없기 때문에.
도메인 무결성 제약조건
- 속성의 데이터 타입이 정의되어야 한다.
- 각 튜플은 하나의 속성에 대해 정확히 하나의 데이터 값을 가져야 한다.
- 한 속성 내의 모든 값은 데이터 타입이 같아야 한다.
참조적 무결성 제약조건
- A relation의 foreign 키가 B relation의 primary 키를 참조하고 있다면, A relation의 모든 foreign 키는 B relation에서 사용할 수 있어야 한다.