728x90
반응형
Relational Data Model(관계 데이터 모델)
Relational Data Model 주요 개념
- relation: 행과 열로 구성된 테이블
- domain: 값들의 집합
- attribute: 세로 값으로 열(Column)이라고도 함
- tuple: 가로 값으로, 행(Rolw)이라고도 함. 일부는 NULL일 수 있다
- cardinality: tuple의 수
- degeree: attribute의 수
- instance: 정의된 스키마에 따라 테이블에 실제 저장된 데이터의 집합
- schema: relation이 어떻게 구성되는지, 어떤 정보를 담고 있는지에 대한 기보넞ㄱ인 구조를 정의
relation의 특징
-
- relation은 중복된 tuple을 가질 수 없다 → 각 행은 중복될 수 없음
- relation의 tuple을 식별하기 위해서 attributes의 부분 집합을 key로 설정한다. → PK
- relation에서 tuple의 순서는 중요하지 않다.
- tuple을 정렬하는 방법은 여러가지가 있을 수 있다는 것.
- 하나의 relation에서 attribute의 이름은 중복되면 안된다. → Column Name은 독립적
- 하나의 tuple에서 attribute의 순서는 중요하지 않다.
- attribute는 atomic 해야 한다.(composite or multivalued attribute 허용 안됨)
composite attribute
: e.g) address: 서울특별시 강남구 청담동multivalued attribute
: e.g) major: 컴공, 디자인
Keys
키(Key)
- 특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합
- 키가 되는 속성(혹은 속성의 집합)은 값이 반드시 달라서 튜플들을 구별할 수 있어야 함
- 키는 릴레이션 간의 관계를 맺는 데도 사용됨키의 종류
- super key
- relation에서 tuples를 unique하게 식별할 수 있는 attributes set
- super key는 여러가지가 될 수 있음.
- candidate key
- 어느 한 attribute라도 제거하면 unique하게 tuples를 식별할 수 없는 super key
- key or minimal super key
- primary key
- relation에서 tuples를 unique하게 식별하기 위해 선택된 candidate key
- 보통 candidate key 중 attribute의 수가 적은 쪽을 선택함.
- unique key
- primary key가 아닌 candidate keys
- alternate key
- foreign key
- 다른 relation의 PK를 참조하는 attributes set
PK 선정 시 고려사항
- 릴레이션 내 튜플을 식별할 수 있는 고유한 값을 가져야 함
- NULL 허용 X
- 키 값의 변동이 일어나지 않아야 함
- 최대한 적은 수의 속성을 가진 것이어야 함
- 향후 키를 사용하는 데 있어서 문제 발
Constraints
관계형 데이터베이스의 relations들이 데이터의 일관성과 정확성을 언제나 항상 지키는 것을 말함
Implicit constraints
- 관계형 데이터 모델 자체가 가지는 constraints
- relation은 중복되는 tuple을 가질 수 없다.
- relation 내에서 같은 이름의 attribute를 가질 수 없다
Explicit constraints(= Schema-based constraints)
- 주로 DDL을 통해 schema에 직접 명시할 수 잇는 constraints
- 종류
- Domain constraint
- relation 내의 tuple들이 각 속성의 domain에 지정된 값만을 가져야 한다
- 데이터 Type, NULL 여부, 기본 값, 체크(Check) 등을 사용하여 지정할 수 있다.
- Primary key constraint
- relation은 기본키를 지정하고 그에 따른 무결성 원칙 즉, NULL 값을 가져서는 안되며 relation 내에 오직 하나의 값만 존재해야 한다
- Foreign key constraint
- relation 간의 참조 관계를 선언하는 제약 조건
- 자식 relation의 외래키는 부모 relation의 기본키와 domain이 동이래야 하며, PK에 없는 값을 FK가 값으로 가질 수 없다
- 자식 relation의 값이 변경될 때, 부모 relation의 제약을 받는다.
- Domain constraint
728x90
반응형
'Database' 카테고리의 다른 글
[Database] SQL Trigger (0) | 2024.10.05 |
---|---|
[Database] Stored Function & Stored Procedure (2) | 2024.10.05 |
[Database] SQL 고급 (1) | 2024.10.05 |
[Database] SQL 기초 (0) | 2024.10.05 |
[Database] 데이터베이스 기본 개념 (1) | 2024.10.05 |