관계 데이터 모델 정리(시험용)

2020. 6. 20. 19:50BasicKnowledge/DataBase

관계 데이터 모델

사용자는 원하는 데이터(what)만 명시하고, 어떻게 이 데이터를 찾을 것인가(how)는 명시할 필요가 없음

기본적인 용어

  • 릴레이션(relation): 2차원의 테이블(스프레드 시트와 유사)
  • 레코드(record): 릴레이션의 각 행
  • 투플(tuple): 레코드를 좀더 공식적으로 부르는 용어
  • 애트리뷰트(attribute): 릴레이션에서 이름을 가진 하나의 열

도메인(domain)

  • 한 애트리뷰트에 나타날 수 있는 값들의 집합
  • 각 애트리뷰트의 도메인의 값들은 원자값
  • 프로그래밍 언어의 데이터 타입과 유사함
  • 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있음
  • 복합 애트리뷰트나 다치 애트리뷰트는 허용되지 않음

차수(degree)와 카디날리티(cardinality)

  • 차수: 한 릴레이션에 들어 있는 애트리뷰트들의 수
  • 카디날리티: 릴레이션의 투플 수

널값(null value) : 알려지지 않음’ 또는 ‘적용할 수 없음’을 나타내기 위해 널값을 사용

릴레이션 스키마(relation schema) : 릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합,내포(intension)라고 함

릴레이션 인스턴스(relation instance) : 릴레이션에 어느 시점에 들어 있는 투플들의 집합. 시간의 흐름에 따라 계속 변함. 일반적으로 릴레이션에는 현재의 인스턴스만 저장됨, 외연(extension)이라고 함

릴레이션

투플들의 집합

릴레이션의 특성

  • 각 릴레이션은 오직 하나의 레코드 타입만 포함
  • 한 애트리뷰트 내의 값들은 모두 같은 유형
  • 애트리뷰트들의 순서는 중요하지 않음

릴레이션의 키

  • 수퍼키 : 한 릴레이션 내의 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합
  • 기본키 : 한 릴레이션에 후보 키가 두 개 이상 있으면 설계자 또는 데이터베이스 관리자가 이들 중에서 하나를 기본 키로 선정함
  • 후보키 : 기본키를 제외한 나머지 유니크한 키, 복합키로 가능
  • 대체키 : 기본키가 아닌 나머지 키들
  • 외래키 : 한 릴레이션을 참조할 수 있는 키, 한 릴레이션의 기본키의 값과 같다.

데이터 무결성(data integrity) : 데이터의 정확성 또는 유효성을 의미하며, 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적으로 또는 명시적으로 정의함

도메인 제약조건(domain constraint)

  • 각 애트리뷰트 값이 반드시 원자값이어야 함
  • 애트리뷰트 값의 디폴트 값, 가능한 값들의 범위 등을 지정할 수 있음
  • 데이터 형식을 통해 값들의 유형을 제한하고, CHECK 제약 조건을 통해 값들의 범위를 제한할 수 있음

키 제약조건(key constraint)

키 애트리뷰트에 중복된 값이 존재해서는 안됨

기본 키와 엔티티 무결성 제약조건(entity integrity constraint)

  • 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없음
  • 대체 키에는 적용되지 않음
  • 사용자는 릴레이션을 생성하는 데이터 정의문에서 어떤 애트리뷰트가 릴레이션의 기본 키의 구성요소인가를 DBMS에게 알려줌

참조 무결성 제약조건(referential integrity constraint)

  • 참조 무결성 제약조건은 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는데 사용됨
  • 관계 데이터베이스가 릴레이션들로만 이루어지고, 릴레이션 사이의 관계들이 다른 릴레이션의 기본 키를 참조하는 것을 기반으로 하여 묵시적으로 표현되기 때문에 외래 키의 개념이 중요

'BasicKnowledge > DataBase' 카테고리의 다른 글

데이터베이스 시스템 정리(시험용)  (0) 2020.06.20