관계 데이터베이스와 무결성

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관계

  • 재귀적 관계

  • 서브 타입