T'SPACE

다채로운 에디터들의 이야기

컴퓨터공학/데이터베이스 DB

관계형 데이터베이스 모델, Relational Data Models

Tonny Kang 2024. 10. 13. 13:56
반응형

데이터 모델


데이터의 제약 조건 (Constraints)


  • 데이터가 될 수 있는 것의 한계를 설명
  • 데이터의 정확성(데이터 무결성, Data Integrity) 보장

예) 나이 > 0, 학생 ID는 고유함

  • 도메인 제약 조건
  • 무결성 제약 조건

데이터 연산


  • 쿼리 언어 사용 (예: SQL)
  • SQL - Standard Query Language
    • 두 종류의 연산
      • 정보를 검색하는 연산
      • 데이터베이스를 변경하는 연산
    • 선언적(Declarative) 언어 (↔ 절차적 (Procedural)언어) → 일반 프로그래밍 언어
      • 찾는 방법이 아닌 무엇을 찾을지 설명

관계형 데이터 모델

테이블의 집합

관계? Relations

  • 행 내의 값들 간의 관계
  • 테이블 간의 관계

다른 모델들

  • 키-값 모델

https://blog.skby.net/wp-content/uploads/2018/11/1-80.png

  • 반구조화 모델

https://media.springernature.com/lw685/springer-static/image/prt%3A978-0-387-39940-9%2F19/MediaObjects/978-0-387-39940-9_19_Part_Fig1-337_HTML.jpg

 

반응형

관계형 모델의 기초


구조

관계형 데이터베이스는 관계의 집합 → 행과 열이 있는 테이블

  • 차수 = 속성의 수
  • 관계의 카디널리티 = 행의 수

스키마 Schema

관계 스키마

  • 관계의 이름
  • 관계의 속성 집합
  • 각 속성의 도메인
Student(sid int, sname, varchar(10), age int, gpa float)

 

데이터베이스 스키마

  • 데이터베이스의 관계 스키마 집합

도메인 Domain

각 속성은 도메인을 가짐

  • 텍스트: CHAR(20), VARCHAR(20) -> 변동 가능한 char 숫자
  • 정수: INT, SMALLINT -> 16 bit, 2byte 작은 크기의 정수형
  • 실수: DOUBLE, FLOAT, NUMERIC(3,2)

관계의 속성

관계는 튜플의 집합

→ 튜플의 순서는 중요하지 않음

→ 각 튜플은 고유해야 함

속성 값은 일반적으로 원자적이어야 함


Q. "행"의 다른 표현은?

튜플, 레코드

Q. "열"의 다른 표현은?

필드, 속성

Q. "테이블"의 다른 표현은?

관계

728x90

인스턴스


특정 시점의 DB 내 데이터 내용을 나타냄

프로그래밍 언어와 비교하면, 인스턴스는 특정 순간의 변수 값을 의미

데이터는 유효해야 함

모든 인스턴스는 자체 스키마에 따라 유효해야 함


제약 조건

Key 키

  • 관계는 튜플의 집합
  • 여러 관계는 속성으로 연결됨

제약 조건은 키로 정의될 수 있음

  1. 슈퍼키 Superkey
  2. 후보 키 Candidate key
  3. 기본 키 Primary key
  4. 외래 키 Foreign Key

 

  • Super key: 슈퍼키는 관계에서 튜플을 고유하게 식별할 수 있게 해주는 하나 이상의 속성 집합입니다 → 튜플의 유일성!
    • K가 관계의 슈퍼키라면, K ⊂ K_1인 K1도 슈퍼키입니다.
    • 하지만 그 반대는 성립하지 않습니다.
  • Candidate Key: Minimum 슈퍼키입니다. 단순히 크기만의 문제가 아니라, 슈퍼키에서 어떤 필드도 생략할 수 없다면 그것이 후보 키입니다.
  • Primary Key: 후보 키들은 기본 키의 후보들입니다. 데이터베이스 설계자에 의해 하나가 선택됩니다.
    • 관계의 튜플을 식별하는 후보 키입니다.
    • 다른 테이블에서 튜플을 참조하는 데 사용됩니다 → 외래 키
    • null 값을 허용하지 않습니다. 일반적으로 가장 작은 후보 키가 기본 키로 선택됩니다.
      Foreign Key: 관련 테이블의 기본 키 값과 일치하는 속성의 집합입니다. 값은 참조되는 관계의 기본 키에 존재하는 값을 반드시 참조해야 합니다.

 

 


무결성 제약 조건 Integrity Constraints

엔티티 Entity 무결성 제약 조건

기본 키 값은 null이 될 수 없음

참조 Referential 무결성 제약 조건

참조하는 관계의 특정 속성에 나타나는 값은 참조되는 관계의 특정 속성에 적어도 하나의 튜플에 나타나야 함

반응형