Chap.3 관계 데이터 모델
관계 모델의 개념
- 실세계 데이터 => 테이블 형태로 저장.
- 여기서 primary key는 SSN이 된다. 중복되지 않는 유일한 값.
- 열, 각 attribute는 도메인이 지정되어 있다. domain(A1)은 이 A1 필드에 나타날 수 있는 값들의 모든 집합임.
테이블의 실제 행들, 값들로 구성되는 이 부분들을 릴레이션의 상태라고 함. r(R) 릴레이션 R
이라고 읽음.
시간에 따라 이 별표들의 값이 계속 바뀌는데 , 바뀔 때마다 데이터베이스 릴레이션의 상태가 바뛴다라고 말함.
데이터베이스 상태라는 것은, 즉, 도메인들의 Cartesian product 한 모든 가능한 상태들 중에서 하나임.
- 튜플의 순서를 바꿨지만, 튜플의 순서는 의미가 없으니 두개의 relation은 동일하다
관계 모델
1) 관계 모델의 구조: 테이블
2) 데이터 속에 있는 것들의 연산
3) 제약조건
제약 조건에 대해 알아보자.
스키마 제약 조건 중...
1) 도메인 제약조건
- 관계형 db table의 필드에는 각 도메인이 지정되어있고, 그 도메인에 속한 값들만 여기 필드 값으로 나타나야 한다.
2) 키 제약조건
- 엔티티 제약조건: 튜플들을 서로 구분하는 필드가 존재해야 함.
기본 키
라고 부름.
- 키 제약조건: 기본 키는 null 값이 될 수 없음.
ex) 해당 테이블에서 ssn이 그 키가 된다.
3) 참조 무결성 제약조건
- 두개의 테이블 사이에 존재하는 제약 조건임.
- Department 테이블의 주키인 부서를 EMPLOYEE 테이블에서 참조하고 있는데, 1번~5번 사이의 값이 아닌 20번 값을 사용하면 참조 무결성을 지키지 않아 해당 데이터가 삽입이 안될 것.
4) Semantic Integrity Constraints
- dbms에서는 보장하지 못하고, 응용프로그램에서 커버해야 한다.
- ex) 직원의 급료가 부장의 급료보다 적어야 한다 같은 조건들을 만족하게 하는건 dbms에서 못함.
관계 데이터베이스 설계
- 몇개의 테이블로 구성하는지?
- 각 테이블의 구조 (필드와 키)는 어떻게 되는지?
- 5개의 개체 정보들로 회사 데이터가 구성되어 있음.
- 하나의 테이블로 표현될 때 공간 낭비, 데이터 일치성 문제
- N-1 관계임.
- r1은 e1이 d1에서 일한다는 관계를 나타냄.