관계형 데이터베이스의 구조 / 키(KEY) / 무결성

2023. 2. 19. 17:41정처기 필기/3과목 - 데이터베이스 구축

관계형 데이터베이스의 구조

 

1. 관계형 데이터베이스의 Relation 구조

- 1970년 IBM에 근무하던 코드에 의해 처음 제안됨

- 행=튜플=레코드

- 열=필드=속성

 

* 행,튜플,레코드

- 속성의 모임

- 파일 구조상 실제 데이터

- 개체의 특성을 기술

- 속성의 수 = 디그리 or 차수

 

* 도메인

- 하나의 속성이 가질 수 있는 같은 타입 원자(Atomic)값들의 집합

- ex) 성별이라는 속성의 도메인은 '남', '여'

 

* 릴레이션(테이블)의 특징

-  한 테이블에 포함된 튜플들은 모두 다름

- 튜플간 순서 x

-  스키마를 구성하는 속성 순서x

- 각 속성은 식별을 위해 테이블 내에서 유일한 이름을 가진다. 그러나 값은 중복이 가능하다

 

== 튜플은 서로 다르다. 순서가 없다.

== 애트리뷰트는 원자 값을 가지고, 순서가 없다. 유일하다.

 


키(KEY)

* 데이터베이스에서 튜플들을 서로 구분할 수 있는 기준이 되는 속성(Attribute)

 

1. 후보키(Candidate Key)

- 테이블에 있는 모든 튜플에 대해 유일성과 최소성을 만족시켜야 한다.

- 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들, 모든 릴레이션에 반드시 하나 이상의 후보키가 존재

- 기본키가 될 수 있는 컬럼들

 

2. 기본키 (Primary Key)

- 주 키(Main key), 중복 x , null값 x

- 유일성/최소성을 가지고 반드시 필요함

 

3. 대체키 (Alternate Key)

- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미

 

4. 슈퍼키 (Super Key)

- 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키

- 유일성 o , 최소성 x

 

5. 외래키 (Foreign Key)

- 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

- 참조되는 릴레이션의 기본키와 대응돼 릴레이션 간의 참조 관계를 표현


무결성

* 데이터베이스에 저장된 데이터 값과 실제값이 일치하는 정확성을 의미

 

1. 개체 무결성 (Entity Integrity)

- 테이블의 기본키를 구성하는 어떤 속성도 널값이나 중복값을 가질 수 없다.

- 기본키의 속성값이 원자값을 갖는 성질

 

2. 도메인 무결성

- 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만을 가져야 한다.

 

3. 참조 무결성

- 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다.

- 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정

 

4. 사용자 정의 무결성

- 속성 값들이 사요자가 정의한 제약 조건에 만족해야 한다.

 

5. 데이터 무결성 강화

- 애플리케이션 : 데이터 생성,수정,삭제 시 무결성 조건을 검증하는 코드를 데이터를 조작하는 프로그램 내에 추가

- 제약 조건 : 데이터베이스에 제약 조건을 설정해 무결성을 유지