관계 데이터 모델
관계 데이터 모델의 개념
1. 관계 데이터 모델의 기본 개념
개념적 구조 -> 논리적 구조로 표현하는 논리적 데이터 모델
E-R 다이어그램 -> table
하나의 개체에 대한 데이터 -> 하나의 릴레이션에 저장
관계, 제약사항도 릴레이션으로 저장 가능
2. 관계 데이터 모델의 기본 용어
용어 | 설명 | 파일 관리 시스템 관점 |
릴레이션 (Relation) | 하나의 개체에 관한 데이터를 2차원 테이블 구조로 저장한것 | 파일 |
속성 (Attribute) | 릴레이션의 열 | 필드 |
투플 (Tuple) | 릴레이션의 행 | 레코드 |
용어 | 설명 |
도메인 (Domain) | - 하나의 속성이 가질 수 있는 모든 값들의 집합 - 속성 값을 입력 및 수정할 때 적합성 판단의 기준 - 속성의 특성을 고려한 데이터타입으로 정의 |
널 (Null) | - 속성을 아직 모르거나, 해당되는 값이 없음을 표현 |
차수 (Degree) | - 하나의 릴레이션에서 속성의 전체 개수 |
카디널리티 (Cardinality) | - 하나의 릴레이션에서 투플의 전체 개수 |
ex) 고객 릴레이션의 차수는 6, 카디널리티는 4
3. 릴레이션의 구성
릴레이션 스키마 ( = 릴레이션 내포 ) |
- 릴레이션의 논리적 구조 - 릴레이션의 이름과 포함된 모든 속성 이름으로 정의 ex) 고객(고객아이디,고객이름,나이,적립금) - 정적인 특징이 있음 |
릴레이션 인스턴스 ( = 릴레이션 외연 ) |
- 어느 한 시점에 릴레이션에 존재하는 투플들의 집합 - 동적인 특징이 있음 |
4. 데이터베이스의 구성
데이터베이스 스키마 | - 데이터베이스의 전체 구조 - 데이터베이스를 구성하는 릴레이션 스키마 모음 |
데이터베이스 인스턴스 | - 데이터베이스를 구성하는 릴레이션 인스턴스 모음 |
5. 릴레이션의 특성
투플의 유일성 | 하나의 릴레이션에는 동일한 투플이 존재할 수 없다 |
투플의 무순서 | 하나의 릴레이션에서 투플 사이의 순서는 무의미하다 |
속성의 무순서 | 하나의 릴레이션에서 속성 사이의 순서는 무의미하다 |
속성의 원자성 | 속성 값으로 원자 값만 사용이 가능하다 |
6. 키 **
1) 키의 정의
릴레이션에서 투플들을 유일하게 구별하는 속성 또는 속성들의 집합
2) 키의 특성
유일성 | 하나의 릴레이션에서 모든 투플은 서로 다른 키 값을 가져야 함 |
최소성 | 꼭 필요한 최소한의 속성들로만 키를 구성함 |
3) 키의 종류
종류 | 설명 |
슈퍼키(super key) | 유일성을 만족하는 속성 또는 속성들의 집합 |
후보키(candidate key) | 유일성과 최소성을 만족하는 속성 또는 속성들의 집합 |
기본키(primary key) | 후보키 중 기본적으로 사용하기 위해 선택한 키 |
대체키(alternate key) | 기본키로 선택되지 못한 후보키 |
외래키(foreign key) | 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합 릴레이션들 간 관계를 표현 - 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션 - 참조하는 릴레이션 : 외래키를 가진 릴레이션 |
ex.
슈퍼키 : 고객 릴레이션의 고객 아이디, (고객 아이디, 고객 이름), (고객 이름, 주소) ...
후보키 : 고객 릴레이션의 고객 아이디, (고객 이름, 주소) ...
기본키 : 고객 릴레이션의 고객 아이디
후보키 : 고객 릴레이션의 (고객 이름, 주소) ...
주문 릴레이션의 주문고객은 고객 릴레이션의 기본키인 고객아이디에서 가져온 정보임
-> 외래키 : 주문 릴레이션의 주문고객
-> 참조되는 릴레이션 : 고객 릴레이션
-> 참조하는 릴레이션 : 주문 릴레이션
관계 데이터 모델의 제약
무결성 제약조건(integrity constraint)
데이터의 무결성을 보장하고, 일관된 상태로 유지하기 위한 규칙
* 무결성 : 데이터를 정확하고 유효하게 유지하여, 데이터에 결함이 없는 상태
1. 개체 무결성 제약조건
기본키를 구성하는 모든 속성은 null 값을 가질 수 없다
ex.
이 경우 고객 아이디를 기본키로 사용할 수 없다
2. 참조 무결성 제약조건
외래키는 참조할 수 없는 값을 가질 수 없다
ex.
주문 릴레이션의 주문고객에는 cherry 가 있는데 고객 릴레이션의 고객 아이디에는 cherry 가 없으므로,
주문 릴레이션은 고객 릴레이션의 고객아이디를 참조할 수 없음
* 외래키 속성이 null 값을 가진다고 해서 참조 무결성 제약조건을 위반한 것은 아님
'School > 데이터베이스' 카테고리의 다른 글
SQL-SELECT 문 (0) | 2022.04.18 |
---|---|
관계 데이터 연산 (0) | 2022.04.17 |
데이터 모델링 (0) | 2022.04.15 |
데이터베이스 시스템 (0) | 2022.04.13 |
데이터베이스 관리 시스템(DBMS) (0) | 2022.04.12 |