cho____sh 2020. 6. 4. 17:43
728x90

관계 모델(Relation Model)
관계라는 모델을 이용해 실세계의 데이터를 표현하는 모델이다.

관계모델에서 데이터를 표현하는 주된 구성자는 테이블로 표현되는 릴레이션이다.

릴레이션은 릴레이션 스키마와 릴레이션 인스턴스로 이뤄진다. 

릴레이션 인스턴스는 테이블이며, 스키마는 그 테이블의 필드들을 기술한다.

 

릴레이션 스키마

해당 릴레이션의 이름, 각 필드(열 또는 속성)의 이름과 도메인을 명시한다. 도메인은 관련되는 값들의 집합이다.

스키마의 예시로는 다음과 같다.

Students(sid: string, name: string, age: integer, gpa: real)

 

릴레이션 인스턴스

릴레이션 인스턴스는 레코드라고 하는 튜플들의 집합이다. 튜플은 테이블에서 한 행에 해당한다. 모든 튜플은 동일한 수의 속성들을 가지고 있다.

 

릴레이션의 차수(degree) : 필드들의 수

릴레이션 인스턴스의 카디날리티(cardinality) : 릴레이션에 원소로 있는 튜플들의 수.

 

관계 데이터베이스

서로 다른 릴레이션 이름을 가진 릴레이션들의 모임이다.

관계 데이터베이스 스키마는 그 데이터베이스에 속한 릴레이션들을 위한 스키마들의 모임이다.

 

무결성 제약조건(Integrity Constraint: IC) 

데이터베이스 스키마에 명시되는 조건으로, 데이터베이스 인스턴스에 저장될 수 있는 데이터를 제한한다.

 

키 제약조건

릴레이션에 속한 필드들의 어떤 최소 부분집합이 각 튜플에 대한 고유한 식별자라는 선언이다.

여기서 키란 인스턴스에서 서로 다른 두 튜플을 구분해주는 유일한 식별자이다. 키는 서로 중복될 수 없고 키를 구성하는 필드들의 어떠한 부분집합도 튜플에 대해 유일한 식별자가 될 수 없다.

예를들어 (name, age)가 키라고 한다면 name이나 age만으로 튜플들을 유일하게 식별할 수 없어야 한다는 뜻이다.

 

한 릴레이션은 여러 개의 후보키를 가질 수 있다. 모든 가능한 후보키들 중에서 기본키를 하나 지정할 수 있다.

수퍼키는 키를 포함하는 필드들의 집합이다.

 

외래키 : 다른 테이블의 기본키로 NULL이 될 수 없다.

728x90