2. Relational Data Model - introduction

Yona·2021년 10월 26일
0

🌙 CS_DataBase

목록 보기
3/10

Index

  • relational data model
  • relational algebra
  • additinoal relational algebra

2.1 Relational Data Model

용어 정리

위의 경우 1개의 relation(=table), 7개의 속성(=attribute, column), 5개의 튜플(=tuple, record, row)

relational data modelnetwork data model / hierarchical data model
relationtable
tuplerecord, row
attributecolumn

둘 간 엄격하게 분리해서 쓰지 않고 적당히 혼용해서 사용한다.

Attributes(속성)

  • Domain
    - 각 atttribute에서 attribute값으로 허용할 수 있는 값의 집합

    • 특정 attribute값은 해당 domain의 원소이다.
    • 보통 attribute에 대한 데이터 타입 정의로부터 domain 유추
  • atomic
    - attribute domain에 속하는 값은 atomic (=indivisible)해아함.

    • 속성 값이 원자값이라는 건 관계형 모델의 중요한 성질
  • NULL
    - 여러 인후로 속성값이 입력되지 않으면 이를 NULL로 표시한다.

데이터타입

atomic typesint, real, char, varchr, decimal, date, time, timestamp, etc.
non-atomic typesmulti-valued(set), bag, list
  • ⚠️ 의외로 문자열은 atomic type

  • set : 원소간 순서 X, 중복 허용 X

  • bag : 원소간 순서 X, 중복 허용 O

  • list : 원소간 순서 O, 중복 허용 O

  • 예시
    - 집합 {a,b}와 집합 {b,a}는 동일한 집합이다.
    - {a,b,a}는 집합은 아니나, 백은 될 수 있다.
    - 백 {a,b,a}와 백 {a,a,b}는 동일한 백이다. (원소 순서에 무관하므로)
    - 리스트 [a,b,a,c]와 리스트 [a,a,b,c]는 상이한 리스트이다

Relational DB

  • DB는 [관계 + 제약조건] 으로 구성된다고 정의
  • 무결성 제약조건(intergrity constraints)
    - key constraint : 주 키는 중복된 값을 가지지 못하게함
    • entity constraint : 주 키는 NULL 값을 가지지 못하게 함
    • referential intergrity constraint
  • 관계 스키마
    - 관계 이름과 속성명 (+ 각 속성 데이터타입, 관계에 관련되는 무결성 제약 등)
  • 관계 인스턴스
    - 관계 스키마에 적합한 값의 조합
    • 도메인의 cartesian product (카타시안곱)의 부분집합 (=수학적 'relation' 뜻함)
  • ⚠️ 순서는 중요하지 않다! (=order is immaterial)
    - 관계간 순서/상하관계 없음
    - 관계 내 튜플에서도 순서/상하관계 없음
    • relational DB model의 중요한 특징

Key

  • key는 attribute의 집합
  • super key
    - tuple을 유일하게 식별할 수 있는 속성의 집합
  • candidate key
    - superkey이되(유일성), minimal 함
    • minimal 함이란?
      • attribute 갯수의 속성이 가장 작은 것 X
        • 유일성을 유지하되, 가장 적은 속성
  • primary key
    - relation에 하나 이상의 candidate key가 존재시 D설계자가 그 중 하나를 primary key로 지정
    • ⚠️ 모든 테이블에 primary key는 반드시 한개만 가질 수 있다
  • 예시
    -

referential intergrity constraint(참조무결성 제약)

  • relational data model 에만 존재하는 제약
  • 특성 속성에 나오는 보든 값은 다른 속성 값의 일부분이어야한다.
  • 화살표로 표시

예시

- major 속성값은 아무 제약없이 임의의 값 가지지 못함
- major 속성값은 dID 속성값 중에서 나와야함
- foreign key(외래키)
- major은 dID를 참조하는 외래키이다!
- student table은 referencing table, departement table은 referenced table
- ⚠️ 참조받는 속성은 반드시 그 테이블의 주 키어야 한다

profile
Sometimes you win, sometimes you learn 🏃‍♀️

0개의 댓글