목표
1. 관계 데이터 모델에 대해 알아본다.
2.릴레이션(테이블)의 특성과 키에 대해 알아본다.
3.무결성 제약 조건에 대해 알아본다.
관계 데이터 모델
관계 데이터 모델은 현재까지 제안된 데이터 모델 중 가장 단순한 개념의 모델이며 가장 널리 쓰이고 있다. 바탕이 되는 데이터 구조로서 간단한 테이블을 사용하고 중첩된 구조가 없다. 숙련되지 않은 사용자도 쉽게 접근할 수 있으며 관계 데이터베이스 설계와 효율적인 질의 처리 면에서 장점을 가지기 때문이다. 조금 더 살펴보자.
-동일한 구조(테이블) 관점에서 모든 데이터를 논리적으로 구성한다.
-선언적 질의를 통해 데이터에 접근한다.
-응용 프로그램과 데이터베이스 내의 레코드의 순서는 무관하다.
-사용자는 원하는 데이터(what)만 명시하고 어떻게 찾을 것인가(how)에 대한 것은 명시할 필요가 없다.
-논리적 데이터를 연결하기 위해 링크나 포인터를 사용하지 않는다.
릴레이션 스키마 : 릴레이션 이름과 애트리뷰트들의 집합. 기본키에는 밑줄로 표시하며 내포(intension)이라고 부른다.
릴레이션 인스턴스 : 릴레이션의 어느 시점에 들어있는 튜플의 집합. 외연(extension)이라고 한다.
릴레이션의 특성
-각 릴레이션은 오직 하나의 레코드 타입만 포함.
-한 애트리뷰트의 값 유형은 모두 같으며 애트리뷰트의 순서는 중요치 않다.
-키가 존재하므로 중복 튜플이 존재할 수 없다.
-한 튜플의 해당 애트리뷰트 값은 원자값(하나의 값)만을 가진다.
-애트리뷰트 이름은 릴레이션 내에서 고유하다.
릴레이션의 키는 튜플들을 고유하게 식별하거나 하나 이상의 애트리뷰트들의 모임이다.
슈퍼키(Super Key)
한 릴리이션 내에서 튜플을 고유하게 식별할 수 있는 하나의 애트리뷰트 또는 애트리뷰트의 집합. 예를 들어 신용카드 회사의 고객 릴레이션에서 슈퍼키는 (신용카드번호,주소) , (주민등록번호, 이름) , (주민등록번호) 이다.
튜플들을 고유하게 식별하는데 꼭 필요하지 않은 애트리뷰트도 포함할 수 있다.
후보키(Candidate Key)
각 튜플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임. 예를 들어 (신용카드번호, 주소)는 후보키가 아니지만, (신용카드번호)는 후보키이다.
모든 릴레이션에는 최소한 하나 이상의 후보키가 존재한다. 후보키도 하나 이상의 애트리뷰트로 이루어 질 수 있으며 이 경우 복합키(Composite key)라 부른다.
여기서 (학번,과목번호)는 후보키이고 복합키이다.
기본키(Primary Key)
한 릴레이션에서 후보키가 둘 이상일 경우, 데이터베이스 설계자가 이들 중 하나를 기본키로 선정한다. 만약 자연스러운 기본키를 찾을 수 없을경우 인위적인 키 애트리뷰트 (레코드 번호 따위)를 기본키로 설정할 수도 있다.
대체키(Substitute Key)
기본키가 아닌 후보키.
외래키(Foreign Key)
어떤 릴레이션의 기본키를 '참조'하는 애트리뷰트이다. 관계 데이터베이스에서 릴레이션 간의 관계를 표현하기 위해 사용된다. 외래 키는 참조되는 릴레이션의 기본 키와 동일한 도메인(자료형)을 가져야 한다. 자신이 속한 릴레이션의 기본키의 구성요소가 될 수도, 안 될 수도 있다. 외래키의 여러 유형을 그림으로 살펴보자.
유형1) 다른 릴레이션의 기본키를 참조하는 외래키
'컴퓨터공학 > 데이터베이스' 카테고리의 다른 글
트랜잭션 (0) | 2018.10.31 |
---|---|
뷰(VIEW) (0) | 2018.10.31 |
데이터베이스 정규화 (0) | 2018.10.30 |
데이터베이스의 인덱스 (0) | 2018.10.28 |
SQL (0) | 2018.10.28 |
데이터베이스 시스템 개요 (0) | 2018.10.27 |