본문 바로가기
IT Basic/Data

[DB] 3장, 관계형 데이터 모델

by HouseDust 2022. 4. 20.
반응형

교재 ↓

 

데이터베이스의 정석 - 교보문고

누구를 위한 책인가?ㆍ 데이터베이스의 핵심 개념과 용어를 빠른 시간에 학습하고자 하는 경우ㆍ 데이터베이스 모델링/설계 과정을 체계적으로 습득하고자 하는 경우ㆍ MySQL DBMS의 활용 방법과

www.kyobobook.co.kr

 

제 3장, 관계형 데이터 모델

데이터 모델의 구성 요소

: 데이터구조, 연산, 제약조건

 

관계형 데이터 구조

 

▶ 릴레이션
: 관계형 데이터베이스의 테이블

  • 속성(attribute)
    테이블의 열(column)
    데이터를 표현하는 가장 작은 논리적 단위
  • 튜플(tuple)
    테이블의 행(row)
    현실세계의 개체(entity)

▶ 도메인(domain)

속성이 취할 수 있는 값의 범주

도메인을 통해 속성이 어떤 데이터값을 가질 수 있는 지 확인

 

▶ 카디널리티(cardinality)

릴레이션 안의 전체 투플의 개수

입력, 수정, 삭제 등을 통해 계속 변화

동적 특성

 

▶ 차수(degree)

릴레이션을 구성하는 전체 속성의 개수

각 투플이 가지는 속성 값의 개수는 릴레이션의 차수와 같음

정적 특성

DB SQL R
Relation Table data frame
tuple record 관측치
attribute column 변수

 

▶ 릴레이션 스키마
: 특정 릴레이션의 논리적 구조

릴레이션의 이름과 릴레이션에 포함된 모든 속성의 이름들로 정의

테이블의 첫 번째 행인 헤더부분에 표현

릴레이션 내포(relation intension)라고도 부름

시간이 경과해도 좀처럼 변경되지 않는 정적인 특성

 

▶ 릴레이션 인스턴스

: 어느 한 시점에 릴레이션에 존재하는 튜플들의 집합

보통 테이블의 첫번째 행인 헤더부분을 제외한 나머지 모든 행들의 집합

릴레이션 외연(relation extension)이라고도 부름

시간에 따라 변하는 동적인 특성

 

 데이터베이스 스키마(database schema)

데이터베이스의 모든 릴레이션 스키마들을 모은 것

정적 특성

 

 데이터베이스 인스턴스(database instance)

특정 시점에서의 모든 릴레이션 인스턴스들을 모은 것

동적 특성

 

릴레이션의 특징

  1. 튜플의 유일성
  2. 튜플의 무순서성
  3. 속성의 무순서성
  4. 속성의 원자성

 

릴레이션의 키(Key)

: 각 튜플을 유일하게 식별할 수 있는 하나 이상의 속성 집합

모든 릴레이션은 키를 갖는다

키는 릴레이션이 단순한 테이블이 아님을 보여주는 대표적인 개념

여러 무결성 조건과 관련하여 중요한 역할을 함

 

키 선정 방법

: 현재 릴레이션 데이터 값으로만 결정하지 않아야 함.

릴레이션 인스턴스는 계속 변화하므로, 미래의 입력 값까지를 포함한 속성의 본질적인 의미를 고려하여 키 지정 여부를 결정한다.

 

키 종류

  • 후보키(CK : Candidate Key)
    튜플을 유일하게 식별할 수 있는 속성들의 최소 집합
    유일성(Uniqueness)과 최소성(Minimality) 조건을 모두 만족
    키 속성 중에 속성을 하나라도 생략하면 튜플을 유일하게 식별할 수 없게 되는, 꼭 필요한 최소한의 속성만으로 구성된 키
    모든 릴레이션은 최소 하나 이상의 후보키를 가진다

  • 슈퍼키(SK : Super Key)
    튜플을 유일하게 식별할 수 있는 속성 집합
    식별을 위해 꼭 필요한 속성이 아니어도 포함할 수 있다

  • 기본키(PK : Primary Key)
    튜플을 대표하도록 선정된 후보키

    ※ 기본키 선정 기준 ↓
    • 후보키가 하나일 경우, 바로 기본키가 된다
    • 후보키가 여러개일 경우 
      값이 자주 변경되지 않는 정적인 속성으로 구성된 후보키
      Null값을 가질 수 없는 속성으로 구성된 후보키
      속성 개수가 작은 후보키
      속성 값의 물리적 크기가 작은 후보키
  • 대체키(AK : Alternate Key)
    후보키가 여러 개 있을 때, 기본키로 선정되지 못한 후보키

  • 외래키(FK : Foreign Key)
    특정 릴레이션의 기본키를 참조하는 속성 집합
    외래키는 반드시 기본키를 포함하고 있는 또다른 릴레이션을 이용하는 것
    참조하는 릴레이션 : 자식 릴레이션

    참조되는 릴레이션 : 부모 릴레이션

 

제약 조건

  • 개체 무결성 제약 조건(entity integrity constraint) : 기본키로 지정한 모든 속성은 널 값을 가질 수 없고 릴레이션 안에서 중복되지 않는 유일한 값을 가져야 한다
  • 참조 무결성 제약 조건(referential integrity constraint) : 외래키로 지정한 속성은 참조하는 릴레이션의 기본키 속성 값과 일치하는 값이나 널 값을 가져야 한다
  • 도메인 무결성 제약 조건(domain integrity constraint) : 투플의 모든 속성 값이 각 속성의 도메인에 속한 값만을 취해야 한다
  • 유일성 제약 조건(uniqueness constraint) : 모든 키 속성 값이 서로 중복되지 않고 유일해야 한다

 

관계 연산(relation operation)

  • 관계 대수(relational algebra)
    : 사용자가 필요로 하는 데이터를 획득하는 절차 즉, 연산들의 적용 순서를 명세 실행 순서를 순차적으로 명세하는 절차적(procedural) 표현 방법
    How 에 중점
  • 관계 해석(relational calculus)
    : 사용자가 필요한 데이터가 무엇인지, 연산들의 최종 결과만을 명세 선언적(declarative) 표현 방법으로 비절차적(nonprocedural) 표현방법
    What 에 중점

참고자료

박성진, My SQL과 모바일 웹으로 만나는 데이터베이스의 정석, 배움터(2019), p64-p94

반응형

댓글