대학공부/데이터베이스

1. Relational Model

진진리 2025. 3. 18. 20:34

Background

  • Relational model is based on Set Theory and Predicate Logics (First Order Logics)
    • Predicate Logics (술어 논리): 개체, 속성, 관계를 표현하는 논리 체계
  • Relational DBMS

Basic Structure

  • sets D1, D2, ... Dn이 주어졌을 때 relation r은 D1 x D2 x ... x Dn의 부분 집합이다.
    • tuple은 unique해야 한다.
    • attribute 값은 atomic해야 한다.
    • 튜플이나 속성의 순서는 상관없다.

 

Attribute Types

- relation의 각 속성은 이름이 있다.

- 각 속성에 허용되는 값의 집합을 domain이라고 부른다.

- 각 속성의 값은 atomic해야 한다. -> composite x, multivalued x

- null은 모든 도메인에 포함된다.

atomic 하지 않은 값들

Relation Schema

  • A1, A2, ... An 이 속성들일 때 R = (A1, A2, ..., An)을 relation schema라고 한다.
  • r(R)은 relation schema R에 대한 relation이다.

 

Database

  • 데이터베이스는 여러 relations로 구성된다.
  • 잘못된 설계: 정보의 반복, null 값의 필요
  • 좋은 관계형 스키마를 설계하는 방법: Normalization theory

 

Keys

  • superkey K: K가 r(R)의 가능한 relation의 unique tuple을 식별하기에 충분할 때
  • K가 minimal하다면 candidate key
  • candidate key 중 하나를 primary key로 선택
  • Foreign key constraint: 참조하는 relation에 반드시 값이 존재해야 함.

 

Relational Database - integrity constraints

  • Entity integrity: 기본키 값은 null이면 안됨. -> null값인 경우 특정 튜플을 식별 불가능함
  • Referential integrity: 다른 릴레이션을 참조하는 한 릴레이션의 튜플은 다른 릴레이션에 존재해야 함. -> 두 릴레이션 간의 일관성을 유지
  • Domain integrity: 모든 릴레이션의 요소는 속성의 타입과 제약을 준수해야 함.
  • User Defined integrity: 비즈니스 측면에서 정의되는 규칙을 준수해야 함.

 

Relational Query Languages

  • Pure languages
    • Relational algebra -> procedural
    • Tuple relational calculus -> non-procedural
    • Domain relational calculus -> non-procedural
  • Ralation algebra

 

'대학공부 > 데이터베이스' 카테고리의 다른 글

6. Recovery System  (2) 2025.04.04
5. Transactions  (0) 2025.03.24
4. Relational Database Design (Normalization)  (0) 2025.03.23
3. Database Design and E-R Model  (0) 2025.03.19
2. SQL  (0) 2025.03.18