관계형 데이터 베이스의 구조

릴레이션 relation

관계형 데이터베이스는 행렬 형태를 갖는 테이블들의 모임으로 구성된다. 이러한 형태의 테이블을 릴레이션이라 부른다.

속성 attribute

릴레이션에서 각 필드(열)를 속성이라고 하고 한 릴레이션이 갖는 속성의 수를 arity라 부른다.

속성 도메인

속성이 가질 수 있는 값의 범위를 도메인(attribute domail)이라 부른다.

튜플 Tuple

릴레이션을 이루는 속성의 순서에따라 부여된 값으로 이루어진 하나의 행을 튜플 이라 부른다.

Cardinality

한 릴레이션에 속한 튜플의 수를 그 릴레이션의 Cardinality라 부른다.

카테션 곱

카테션 곱에 대해 잘 정리해 놓은 글

키 KEY

수퍼키 Super key

튜플들을 유일하게 구분시켜주는 하나 이상의 속성들의 집합이다.

후보키 Candidate key

속성의 수를 가장 적게 갖는 수퍼키가 바로 후보키가 된다.

주키 Primary key

후보키들은 모두 주키가 될 수 있는 자격이 있으나 그중에 오직 하나만 선택하여 주키로 선정한다.

외래키 Foreign key

한 릴레이션의 키로서 외부 릴레이션에 속한 키로 부터 가져온 것을 말한다.

무결성 제약 조건

데이터 무결성 Data integrity란 데이터 베이스에 논리적 또는 물리적 결함이 없는 성질을 의미한다.

개념적 세계에 존재하는 엔티티 세트들 사이에 존재하는 종속 관계와 속성들 사이에 존재하는 종속 관계가 논리적 데이터 베이스에 반영되지 못함으로서 주로 발생한다. _무결성 제약 조건_은 사용자에 의한 데이터 베이스변경이 데이터 일관성에 손상을 주지 않도록 하는 수단을 제공한다.

도메인 제약조건

속성이 취할 수 있는 값의 범위를 제한함으로써 제한된 값 범위 이외의 값이나 다른 타입의 값이 데이터 베이스 내부로 입력되는 것을 막는다.

참조 무결성

릴레이션간의 관계, 외래키에 대한 무결성

  • 삽입연산

    외래키값도 없는데 함부로 삽입하면 안된다.

  • 삭제연산

    다른 릴레이션이 참조하고 있는 튜플을 함부로 삭제하면 안된다.

  • 갱신연산

    삭제와 삽입을 차례로 고려한다.

SQL의 참조 무결성

create table 학과(
  대학코드 char(4) not null,
  학과코드 char(3) not null,
  학과명 char(10) not null,
  학생인원 integer,
  Primary key(대학코드, 학과코드),
  Foreign key(대학코드) references 대학,
  check(학생인원 >= 40)
  )

on delete cascade는 참조 무결성을 일시적으로 위반 하더라도 그 연산을 허락한다. 대신 키를 참조하는 릴레이션의 튜플들을 연쇄적으로 삭제한다.

on update cascade는 튜플의 변경이 참조 무결성을 일시적을 위반 하더라고 그 연산을 허락하며 대신 참조 무결성을 유지하기 위해 변경 이전 튜플을 참조하는 릴레이션 튜플들의 외래키 값을 변경 후 최신 값으로 연쇄적으로 갱신한다.

Trigger

데이터베이스의 변경에 수반되어 DBMS에 의해 자동적으로 실행되는 statement를 말한다.