[관계 데이터 모델]

 

* 용어 정리

 

  - 릴레이션(Relation) : 행과 열로 구성된 테이블

  - 관계 (Relationship)

     1. 릴레이션 내에서 생성되는 관계

     2. 릴레이션 간에 생성되는 관계

  - 릴레이션의 구성요소

    1. 스키마 : 관계 데이터베이스의 릴레이션이 어떻게 구성되는지 어떤 정보를 담고 있는지에 대한 기본적인 구조를 정의

    2. 인스턴스 : 정의된 스키마에 따라 테이블에 실제로 저장되는 데이터의 집합

  - 릴레이션 스키마 : 릴레이션에 어떤 정보가 담길지를 정의

  - 릴레이션 인스턴스 : 릴레이션 스키마에 실제로 저장된 데이터의 집합

  - 속성(Attribute) : 릴레이션 스키마의 열

  - 도메인(Domain) : 속성이 가질 수 있는 값의 집합

  - 차수(Degree) : 속성의 개수

  - 투플(Tuple) : 릴레이션의 행

  - 카디날리티(Cardinality) : 투플의 수

  - 관계 데이터 모델 : 데이터를 2차원 테이블 형태인 릴레이션으로 표현하며, 릴레이션에 대한 제약조건과 관계 연산을 위한 관계대수를 정의

 

※ 테이블과 릴레이션은 같은 의미이지만, 테이블은 데이터베이스 상에서 쓰이는 용어이며, 릴레이션은 우리가 이론적으로 말할 때 쓰는 용어임.

 

* 릴레이션의 특징

 

  - 속성은 단일 값을 가짐.

  - 속성은 서로 다른 이름을 가짐

  - 한 속성의 값은 모두 같은 도메인 값을 가짐.

  - 속성의 순서는 상관없음.

  - 릴레이션 내의 중복된 투플은 허용하지 않음

  - 투플의 순서는 상관없음.

 

* 키의 종류

 

  - 슈퍼키 : 투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합.

  - 후보키 : 투플을 유일하게 식별할 수 있는 속성의 최소 집합.

  - 기본키 : 여러 후보키 중 하나를 선정하여 대표로 삼는 키 (유일성과 최소성을 만족해야 함.).

  - 대리키 : 가상의 속성을 만들어 기본키로 삼는 경우 이러한 키를 대리키라고 함.

  - 대체키 : 기본키로 선정되지 않은 후보키.

  - 외래키 : 다른 릴레이션의 기본키를 참조하는 속성.

 

 

 

* 외래키의 특징

 

  - 관계데이터모델의 릴레이션 간의 관계를 표현함.

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

  - 참조하고(외래키) 참조되는(기본키) 양쪽 릴레이션의 도메인은 서로 같아야 함.

  - 참조되는(기본키) 값이 변경되면 참조하는(외래키) 값도 변경됨.

  - NULL 값과 중복 값 등이 허용됨.

  - 자기 자신의 기본키를 참조하는 외래키도 가능함.

  - 외래키가 기본키의 일부가 될 수 있음.

 

* 무결성 제약조건

 

  1. 데이터 무결성(Integrity)

     : 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것.

  2. 도메인 무결성 제약조건(Domain Integrity Constraint)

     : 릴레이션 내의 투플들이 각 속성의 도메인에 지정된 값만을 가져야 한다는 조건.

  3.  개체 무결성 제약조건(Entity Integrity Constraint)

     : 릴레이션은 기본키를 지정하고 그에 따른 무결성 원칙 즉, 기본키는 NULL 값을 가져서는 안되며 릴레이션 내에 오직 하나의 값만 존재해야 한다는 조건.

  4. 참조 무결성 제약조건(Referential Integrity Constraint)

     : 외래키 제약이라고도 하며, 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 동일해야 하며, 자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다는 것.

 

* 외래키 옵션

 

  - RESTRICTED : 자식 릴레이션에서 참조하고 있을 경우 부모 릴레이션의 삭제 작업을 거부함.

  - CASCADE : 자식 릴레이션의 관련 투플을 같이 삭제함.

  - DEFAULT : 자식 릴레이션의 관련 투플을 미리 설정해둔 값을 변경함.

  - NULL : 자식 릴레이션의 관련 투플을 NULL 값으로 설정함 (NULL 값을 허용한 경우)

 

+ Recent posts