티스토리 뷰

728x90
SMALL

관계 데이터 모델의 개념

관계 데이터 모델의 기본 용어

속성 : 릴레이션의 열

투플 : 릴레이션의 행

도메인 : 속성 하나가 가질 수 있는 모든 값의 집합

도메인을 정의해두면 사용자가 속성 값을 입력하거나 수정할 때 데이터베이스 시스템이 적합성을 판단하여 네 가지 이외의 값은 허용하지 않음으로써 항상 올바른 값만 유지할 수 있다는 장점이 있다.

그러나 도메인을 정확히 정의하기 어려운 경우가 대부분이라 일반적으로 데이터 타입으로 정의한다.

데이터 타입을 도메인, 변수를 속성으로 생각

널 값 : 릴레이션에 있는 특정 투플의 속성을 모르거나, 적합한 값이 없는 경우에는 널null을 사용할 수 잇다.

차수 : 하나의 릴레이션에서 속성의 전체 개수

카디널리티 : 하나의 릴레이션에서 투플의 전체 개수

릴레이션과 데이터베이스의 구성

관계 데이터 모델에서 릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 구성된다.

릴레이션 스키마 : 릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의하는 릴레이션의 논리적 구조다.

릴레이션 스키마는 DBMS가 내부적으로 데이터 정의어를 이용해 정의하지만, 다음과 같이 쉽게 표현한다.

릴레이션이름(속성이름1, 속성이름2, ····, 속성이름n)

자주 바뀌지 않는다.(정적)

릴레이션 인스턴스 : 어느 한 시점에 존재하는 투플들의 집합

DBMS가 내부적으로는 데이터 조작어를 이용해 릴레이션 인스턴스의 투플을 검색하거나, 삭제 수정을 수행한다. 릴레이션 인스턴스는 간단히 릴레이션이라 부르기도 한다.

자주 바뀐다.(동적)

데이터베이스 스키마와 데이터베이스 인스턴스

일반적으로 데이터베이스는 릴레이션 여러 개로 구성된다. 데이터베이스의 전체 구조를 의미하는 데이터베이스 스키마는 데이터베이스를 구성하는 릴레이션들의 스키마를 모아놓은 것이다.데이터 베이스 인스턴스는 어느 한 시점에서 데이터베이스에 저장된 데이터 내용의 전체 집합을 의미한다.

릴레이션의 특성

관계 데이터 모델의 릴레이션에는 네 가지 중요한 특성이 있다.

1. 투플의 유일성 : 하나의 릴레이션에는 동일한 투플이 존재할 수 없다.

투플을 유일하게 구별하기 위해 선정되는 속성(들)을 키key라고 부른다.

2. 투플의 무순서 : 하나의 릴레이션에서 투플 사이의 순서는 무의미하다.

3. 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다.

4. 속성의 원자성 : 속성 값으로 원자 값만 사용할 수 있다.

다시 말해 하나의 속성은 여러 개의 값, 즉 다중 값을 가질 수 없다.

키의 종류

투플을 유일하게 구별하기 위해 모든 속성을 이용하는 것보다 일부 속성만 이용하는 것이 효율성을 높일 수가 있다. 릴레이션에 포함된 투플들을 유일하게 구별해주는 역할은 속성 또는 속성들의 집합인 키가 담당한다. 키는 관계 데이터 모델에서 중요한 제약조건을 정의한다. 또한 투플을 처리하는 데 중요한 역할을 하므로 키의 개념을 정확히 이해할 필요가 있다. 관계 데이터 모델에서 키는 슈퍼키, 후보키, 기본키, 대체키, 외래키 다섯가지로 분류한다.

슈퍼키 : 유일성의 특성을 만족하는 속성 또는 속성들의 집합

즉, 키 값이 같은 투플은 존재할 수 없다.

ex) 고객아이디를 포함하는 속성 집합은 모두 슈퍼키가 될 수 있다.

(고객아이디, 고객이름)에서 꼭 필요한 속성의 집합만으로 투플을 유일하게 구별할 수 있도록 하는 또다른 키의 개념 필요 -- 후보키

후보키 : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합 

최소성은 꼭 필요한 최소한의 속성들로만 키를 구성하는 특성이다.

후보키는 투플을 유일하게 구별하기 위해 꼭 필요한 최소한의 속성들로만 이루어지므로 슈퍼키 중에서 최소성을 만족하는 것이 후보키가 된다.

ex) 고객아이디는 후보키 가능, (고객아이디, 고객이름)은 후보키 불가능

후보키가 되기 위해 만족해야 하는 유일성과 최소성의 특성은 새로운 투플이 삽입되거나 기존 투플의 속성 값이 바뀌어도 유지되어야 한다. 그리고 후보키를 선정할 때는 현재의 릴레이션 내용, 즉 릴레이션 인스턴스만 보고 유일성과 최소성을 판단해서는 안된다.

기본키

데이터베이스 설계자나 관리자는 여러 후보키 중에서 기본적으로 사용할 키를 반드시 선택해야 한다.

기본키를 선택할 때 고려하면 도움이 되는 기준

1. 널 값을 가질 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.

2. 값이 자주 변경될 수 있는 속성이 포함된 후보키는 기본키로 부적합하다.

3. 단순한 후보키를 기본키로 선택한다.

대체키 : 기본키로 선택되지 못한 후보키들이다.

외래키 : 어떤 릴레이션에 소속된 속성 또는 속성 집합이 다른 릴레이션의 기본키가 되는 키다.

참조하는 릴레이션 : 외래키를 가진 릴레이션

참조되는 릴레이션 : 기본키를 가진 릴레이션

외래키는 반드시 다른 릴레이션을 참조할 필요는 없다. 참조하는 릴레이션과 참조되는 릴레이션이 같아도 돼

외래키는 기본키를 참조하지만 기본키가 아니기 때문에 널 값을 가질 수 있다.

또 서로 다른 투플이 같은 값을 가질 수 있다.

관계 데이터 모델의 제약

관계 데이터 모델에서 정의하고 있는 기본 제약 사항은 키와 관련한 무결성 제약조건이다.

데이터베이스의 내부의 데이터를 보호한다는 관점에서 무결성은 보안과 유사하다. 하지만 보안이 권한이 없는 사용자로부터 데이터를 보호하는 것이라면, 무결성은 권한이 있는 사용자의 잘못된 요구에 의해 데이터가 부정확해지지 않도록 보호하는 것이다.

관계 데이터 모델이 기본으로 포함하고 있는 무결성 제약조건에는 개체 무결성 제약조건과 참조 무결성 제약조건 이있다. 데이터베이스의 상태를 일관성 있게 유지하기 위해서는 두 가지를 모두 만족시켜야 한다.

개체 무결성 제약조건 : 기본키를 구성하는 모든 속성은 널 값을 가질 수 없다.

참조 무결성 제약조건 : 외래키는 참조할 수 없는 값을 가질 수 없다.

 

 

728x90
LIST

' > 데이터베이스개론' 카테고리의 다른 글

7. 데이터베이스 언어 SQL  (0) 2020.12.05
6. 관계 데이터 연산  (0) 2020.12.04
4. 데이터 모델링  (0) 2020.12.03
3. 데이터베이스 시스템  (0) 2020.12.02
2. 데이터베이스 관리 시스템  (0) 2020.12.02
댓글
공지사항