1. 데이터 모델
데이터 모델 (Data Model)
- 현실 세계를 단순화하고 정형화된 형태로 표현하는 하나의 방식
→ 예를 들어, 실제 자전거를 컴퓨터에 저장하는 것은 불가능함
→ 따라서 어떤 방법으로든 이를 표현하기 위한 방식이 규정되어야함
2. 관계형 데이터 모델
관계형 데이터 모델 (Relational Data Model)
이름 | 전화번호 | 주소 | 생일 |
김 신 | 010-1234-5678 | 서울 | 3월 28일 |
서진태 | 010-1357-2468 | 경기 | 8월 13일 |
- 테이블을 이용하여 데이터들을 정의하고 설명하는 모델
- 관계형 데이터 모델에서는 테이블을 릴레이션이라고 함
- 레코드 (Record): 행
- 필드 (Field): 열
- 도메인 (Domain): 한 필드가 가질 수 있는 모든 값의 범위 또는 집합
→ 도메인의 각 값은 더 이상 분리될 수 없는 원자값 (Atomic Value)이야 함
테이블 스키마 (Table Schema)
- 테이블 정의에 따라 만들어진 데이터 구조
→ ex) 개인정보(이름, 전화번호, 주소, 생일) - 차수 (Degree): 테이블 스키마에 정의된 필드의 수
- 인스턴스 (Instance): 테이블 스키마에 현실 세계의 데이터를 레코드로 저장한 형태
→ ex) {김신, 010-1234-5678, 서울, 3월 28일} - 카디널리티 (Cardinality): 레코드의 수
테이블의 특성
- 중복된 레코드가 존재하지 않음
- 레코드 간 순서는 의미가 없음
- 레코드 내의 필드 순서는 의미가 없음
- 모든 필드는 원자값을 가짐
3. 키
키 (Key)
- 레코드는 중복되지 않아야 하며, 레코드 간 순서는 의미가 없음
- 즉, 레코드는 이를 구성하는 각 필드의 값으로 구별해야 함
- 특정 레코드의 모든 필드에 대한 값들은 해당 레코드를 유일하게 식별할 수 있는 식별자 (Identifier)가 됨
- 그러나 대부분의 경우에는 필드의 일부 만으로도 각 레코드를 식별할 수 있으며, 이러한 식별자를 키라고 함
수퍼키 (Super Key)
- 레코드를 유일하게 식별할 수 있는 필드들의 집합
후보키 (Candidate Key)
- 최소한의 필드만으로 구성된 키
기본키 (Primary Key)
- 후보키 중에서 하나만을 식별자로 정의할 수 있는데 이를 기본키라고 함
- 기본키는 null값을 가질 수 없음
외래키 (Foreign Key)
- 한 테이블이 다른 테이블과 관계를 맺을 때 사용하는 키
- 외래키는 반드시 다른 테이블의 기본키를 참조함
- 외래키는 null값을 가질 수 있음
→ ex) 참조하고자 하는 레코드가 아직 결정되지 않았거나, 알지 못할 경우 - 참조하는 테이블과 참조되는 테이블이 동일할 수 있음
→ ex) {교수번호, 이름, 학과명, 학과장 번호}
→ 교수번호 = 기본키, 학과장 번호 = 외래키
4. 관계형 데이터베이스
관계형 데이터베이스 (Relational Database)
- 관계형 데이터 모델에 기반을 둔 하나 이상의 테이블로 실세계를 표현한 데이터베이스
Reference
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=104610433