관계 데이터 모델의 개념
관계 데이터 모델의 기본 용어
일반적으로 관계 데이터 모델에서는 하나의 개체에 관한 데이터를 릴레이션 하나에 담아 데이터베이스에 저장한다. 릴레이션과 관련된 용어로는 다음과 같은 것들이 있다.
- 속성 : 릴레이션의 열을 속성 또는 애트리뷰트라고 한다. 각 속성은 다름 이름을 이용해 구별한다. 릴레이션은 파일 관리 시스템에서의 파일, 속성은 해당 파일의 필드에 대응하는 개념이다.
- 투플 : 릴레이션의 행을 투플이라고 한다.투플은 파일 관리 시스템 관점에서 해당 파일의 레코드에 대응하는 개념이다.
- 도메인 : 속성 하나가 가질 수 있는 모든 값의 집합을 해당 속성의 도메인이라 한다. 속성값은 더이상 나눌 수 없는 원자값이기에 도메인을 특정 속성이 가질 수 있는 모든 원자값의 모임이라고도 한다. 다만 나이같은 경우 도메인으로 나타낼때 모든 속성값을 나열하기 힘들기에 정수타입이라고 도메인을 정의하기도 한다.
- 널 값 : 릴레이션에 있는 특정 투플의 속성 값을 모르거나, 적합한 값이 없는 경우에는 널이라는 특별한 값을 사용할 수 있다.
- 차수 : 하나의 릴레이션에서 속성의 전체 개수를 릴레이션의 차수라고 한다.
- 카디널리티 : 하나의 릴레이션에서 투플의 전체 개수를 릴레이션의 카디널리티라고한다.
릴레이션과 데이터베이스의 구성
관계 데이터 모델에서 릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 구성된다.
- 릴레이션 스키마 : 릴레이션 스키마는 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적 구조이다. 릴레이션 내포라고도 한다.
- 릴레이션 인스턴스 : 릴레이션 인스턴스는 어느 한 시점에 릴레이션에 존재하는 투플들의 집합이다. 릴레이션 인스턴스는 간단히 릴레이션이 또는 릴레이션 외연이라고도 한다.
- 데이터베이스 스키마와 데이터베이스 인스턴스 : 일반적으로 데이터베이스는 여러개의 릴레이션으로 구성되어있다. 데이터베이스의 전체 구조를 의미하는 데이터베이스 스키마는 데이터베이스를 구성하는 릴레이션들의 스키마를 모아놓은 것이다. 데이터베이스 인스턴스는 어느 한 시점에서 데이터베이스에 저장된 데이터 내용의 전체 집합이다.
릴레이션의 특성
관계 데이터 모델의 릴레이션에는 네가지 특성이 존재하고, 네가지 특성을 만족해야지 테이블이 릴레이션으로 인정 받을 수 있다.
- 투플의 유일성 : 하나의 릴레이션에는 동일한 투플이 존재할 수 없다는 특성이다. 즉, 하나의 릴레이션에 똑같은 투플이 있으면 안되고, 모든 투플에는 다른 투플과 구별되는 유일한 특성이 있어야한다.
- 투플의 무순서 : 하나의 릴레이션에서 투플 사이의 순서는 무의미하다는 특성이다. 즉, 투플 순서가 바뀐다고 다른 릴레이션이 될 수 없고, 순서와 상관없이 투플 내용이 같으면 동일한 릴레이션이 된다.
- 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다는 특성이다. 즉, 속성의 순서가 바뀌어도 다른 릴레이션이 될 수 없고, 순서와 상관없이 같은 속성들로 구성되어야 동일한 릴레이션이 된다.
- 속성의 원자성 : 속성값으로 원자 값만 사용할 수 있다는 특성이다. 즉, 모든 속성 값은 더는 분해할 수 없는 하나의 값만 가지며 여러개의 값, 다중 값을 가질 수 없다.
키의 종류
릴레이션에 포함된 투플들을 유일하게 구별해주는 역할을 키로 할 수 있다. 키는 관계 데이터 모델에서 중요한 제약조건을 정의해준다. 다음과 같은 5종류의 키가 있다.
- 슈퍼키 (Super Key) : 슈퍼키는 유일성의 특성을 만족하는 속성 또는 속성들의 집합이다. 유일성은 키가 갖추어야할 기본 특성중 하나로써 하나의 릴레이션에서 키로 지정된 속성 값은 투플마다 달라야한다는 특성이다.
- 후보키 (Candiadte Key) : 후보키는 유일성과 최소성을 만족하는 속성 또는 속성드의 집합이다. 최소성은 꼭 필요한 최소한의 속성들로만 키를 구성하는 특성이다. 후보키는 투플을 유일하게 구별하기 위해 꼭 필요한 최소한의 속성들로만 이루어지므로 슈퍼키 중에서 최소성을 만족하는 것이 후보키가 된다.
- 기본키 (Primary Key) : 여러 후보키 중에서 기본적으로 사용할 키를 반드시 선택해야하는데 이를 기본키라고 한다. 기본키는 다음과 같은 기준을 가진다. 1 - 널 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합하다. 2- 값이 자주 변경될 수 있는 속성이 포함된 후보키는 기본키로 부적합하다. 3- 단순한 후보키를 기본키로 선택한다.
- 대체키 (Alternate Key) : 대체키는 기본키로 선택되지 못한 후보키들이다.
- 외래키 (Foreign Key) : 외래키는 어떤 릴레이션에 소속된 속성이 다른 릴레이션의 기본키가 되는 키다. 즉, 다른 릴레션의 기본키를 그대로 참조하는 속성을 외래키라고 한다. 다만 외래키가 다른 릴레이션의 기본키를 참조하지 않고 유일성과 최소성을 만족하는 대체키를 참조할 수 도 있다.
관계 데이터 모델의 제약
관계 데이터 모델에서 정의하고 있는 기본 제약 사항은 키와 관련한 무결성 제약조건이 있다. 무결성은 데이터에 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지된 상태이다. 무결성 제약조건은 어느 시점에 데이터베이스에 저장된 데이터가 항상 지켜야하는 중요한 규칙이다. 관계 데이터 모델이 기본으로 포함하고 있느 무결성 제약조건에는 개체 무결성 제약조건과 참조 무결성 제약조건이 있다.
개체 무결성 제약조건
개체 무결성 제약조건은 기본키를 구성하는 모든 속성은 널값을 가지면 안되는 규칙이다. 기본키를 구성하는 속성 전체나 일부가 널 값이 되면 투플의 유일성을 판단할 수 없어 기본키의 원래 목적을 상실하게 된다.
참조 무결성 제약조건
참조 무결성 제약조건은 외래키는 참조할 수 없는 값을 가질 수 없는 규칙이다. 외래키가 자신이 참조하는 릴레이션의 기본키와 상관이 없는 값을 가지게 되면 두 릴레이션을 연관시킬 수 없으므로 외래키 본래의 의미가 없어진다. 그렇기에 왜리키는 자신이 참조하는 릴레이션에 기본키 값으로 존재하는 값, 즉 참조 가능한 값만 가져야 한다.
출처
데이터베이스 개론 2판 - 한빛아카데미 출판, 김연희 저
'Summary' 카테고리의 다른 글
[데이터베이스 개론] 08장. 데이터베이스 설계 (0) | 2022.02.04 |
---|---|
[데이터베이스 개론] 07장. 데이터베이스 언어 SQL (0) | 2022.01.25 |
[데이터베이스 개론] 04장. 데이터 모델링 (0) | 2022.01.17 |
[데이터베이스 개론] 03장. 데이터베이스 시스템 (0) | 2022.01.16 |
[데이터베이스 개론] 02장. 데이터베이스 관리 시스템 (0) | 2022.01.16 |