관계 데이터베이스와 무결성
Updated:
강의
http://www.kocw.net/home/search/kemView.do?kemId=317898
관계 데이터베이스와 무결성
1. 데이터 베이스의 종류
- 다른 이유는 자료 구조가 달라서 형태가 다른 것임
- 이중에서 관계형 데이터 베이스가 쓰기에 편해서 쓰는 거임
- 무엇을 가지고 관계형 데이터 베이스라고 하는가? 데이터를 테이블로 표현
2. 관계 데이터베이스(RDB)의 구성과 특징
- 두 개 이상 같은 투플이 있어서는 안된다. (투플은 오직 하나만 존재)
- 투플의 순서는 특별한 의미가 없다.
- 속성의 순서는 특별한 의미가 없다.
- 두 개 이상의 같은 이름의 속성이 있어서는 안된다.(속성은 오직 하나)
- 속성은 도메인 범위를 벗어나는 값을 가질 수 없다.
- 속성값은 나누어 질 수 있다.
3. 키와 종류
- 키 : 유일한 식별자
- 후보키 : 엔티티의 유일한 식별자로 사용할 수 있는 속성들
- 기본키 : 후보키 중에서 실제 엔티티 식별자로 사용하기 위해 선정된 속성
- 대체키 : 후보키 중에서 선택된 기본키를 제외한 나머지 후보키
- 복합키 : 하나의 컬럼이 후보키 역할을 하지 못하고 두 개 이상이 컬럼이 합쳐져야 후보키의 역할을 하는 경우
예제 1
* 후보키 : 회원번호, 주민번호, ID
* 기본키 : 회원번호 or 주민번호 or ID 중 선택한 키
* 대체키 : 회원번호를 선택했다면 나머지 주민번호와 ID가 대체키
* 복합키 : 회원번호 + 성명, 성명+ ID 등 많이존재
- 외래키 : 상호 관련이 있는 테이블들 사이에서 데이터 일관성을 보장해 주는 수단.
- 부서 테이블의 10 튜풀이 삭제된다면?
- 부서 테이블의 100번 부서 번호가 110으로 변경된다면?
- 직원 테이블에 부서 번호 500인 사원이 삽입된다면?
-
위의 경우 부서번호가 외래키가 됨
-
두 테이블간에 외래키에 의한 참조관계에 있을 때, 데이터 불일치가 발생하는 상황이 되면 DBMS는 제한, 연쇄(cascade), null 값으로 대체등의 조치를 취한다.
- 외래키를 통해 두 테이블간의 데이터 무결성을 유지하는 것을 참조무결성이라고 한다.
4. 관계 데이터베이스의 무결성
- 무결성이란
- 데이터베이스의 테이블은 일관성 있게 정확하게 조작되어야 한다.
- 관계 데이터베이스의 테이블이 준수하여야 할 제약 조건
- 엔티티 무결성
- 기본키 값으로 사용되는 속성은 null 값을 가질 수 없다.
- 기본키 값이 null이 되면 투플은 식별할 수 없다.
- 투플은 유일하게 식별될 수 있어야 한다.
- 주요키(primary key) 조건
- 참조 무결성
- 참조할 수 없는 외래키 값을 가져서는 안된다.
- 외래키 값이 널이거나 참조할 수없으면 투플은 식별할 수 없다.
- 테이블간의 연결 관계가 성립되어야 한다. (테이블간의 관계)
- 외래키(foreign key) 조건
5. 뷰(view)
- 사용자들이 데이터베이스를 보는 관점이 다르다.
- 따라서 사용하는 사용자에 맞게 데이터베이스를 가공하여 만들어진 것을 뷰라고 한다.
6. ERD의 RDB 변환
- 엔티티
- 약한 엔티티
- 1: 1관계
- 1: N 관계
- N:M관계
- 재귀적 관계
- 서브 타입