본문 바로가기
백엔드(Back-End)/DB

02. 관계 데이터 모델

by 기딩 2023. 10. 18.
728x90

Section 01. 관계 데이터 모델의 개념

릴레이션(relation)

행, 열로 구성된 테이블

 

관계(relationship)

릴레이션 내의 관계

릴레이션 간의 관계

릴레이션 스키마

스키마의 요소

  • 속성(attribute) : 릴레이션 스키마의 column
  • 도메인(domain) : 속성이 가질 수 있는 값의 집합
  • 차수(degree): 속성의 개수

인스턴스 요소

튜플(tuple) : 릴레이션의 행

카디날리티(cardinality) : 튜플의 수

 

릴레이션의 특징

속성은 단일 값 : 도메인에 정의된 값만! & 단일값

속성은 서로 다른 이름

한 속성은 모두 같은 도메인 값

속성, 튜플의 순서는 무관

릴레이션 내 튜플 중복 x

 

관계 데이터 모델

데이터를 2차원 테이블 형태인 릴레이션으로 표현


Section 02. 무결성 제약조건

특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합

릴레이션 간의 관계를 맺는 데도 사용

 

슈퍼키

유일성(튜플을 유일하게 식별) 있는 키 릴레이션 내 튜플을 식별할 수 있는 속성의 집합

 

후보키

유일성 + 최소성 있는 키

(2개 이상의 속성으로 이루어진 키를 복합키 composite key)

 

기본키

여러 후보키 중 하나를 선정하여 대표키

릴레이션 스키마 표현 시 밑줄 그어 기본키 표시

기본키 고려 사항

  • 튜플 식별할 고유한 값 가져야 함
  • NULL 허용x
  • 키 값의 변동x
  • 최대한 적은 수의 속성
  • 향후 키 사용에 문제 발생 소지x

대리키

기본키 대신 일련번호 같은 가상의 속성을 만들어 기본키로 삼음

대리키 = 인조키

DBMS나 관련 SW에서 임의로 생성하는 값 → 사용자가 직관적으로 값 의미 알 수 x

💡 잘 쓰지 않음

 

대체키

후보키 - 기본키

 

외래키

다른 릴레이션의 기본키를 참조하는 속성

So, 릴레이션 간의 관계를 표현

외래키의 특징

  • 참조하고(외래키) 참조되는(기본키) 양쪽 릴레이션의 도메인 동일!
  • 참조되는(기본키) 값 변경되면 참조하는(외래키) 값도 변경됨
  • NULL과 중복 값 o
  • 외래키가 기본키 일부일 수 o
  • 꼭 다른 릴레이션 참조는 아니어도 o → 자신의 기본키 참조하는 외래키도 o

 

무결성 제약조건

데이터 무결성(integrity)

데이터베이스에 저장된 데이터의 일관성과 정확성 지키는 것

 

도메인 무결성 제약조건

 

개체 무결성 제약조건

기본키 not null, unique

 

참조 무결성 제약조건

자식의 외래키와 부모의 기본키가 동일해야 함

옵션

RESTRICTED 자식에서 참조하고 있으면 삭제 거부

CASCADE 관련 튜플 삭제

DEFAULT 미리 설정해둔 값으로 변경

NULL null 값으로 변경


Section 03. 관계대수

릴레이션에서 원하는 결과 얻기 위해 대수 연산을 이용하여 질의 방법 기수

 

관계 대수

어떤 데이터를 어떻게 찾는지 처리 절차 명시하는 절차적인 언어

DBMS 내부의 처리

 

관계 해석

어떤 데이터를 찾는지만 명시하는 선언적인 언어

관계대수와 함께 관계 DBMS의 표준 언어인 SQL 이론적인 기반 제공

 

관계대수 연산자

 

728x90

'백엔드(Back-End) > DB' 카테고리의 다른 글

[DB] 05. 데이터베이스 프로그래밍  (2) 2023.10.19
04. SQL 고급  (1) 2023.10.18
03. SQL 기초  (0) 2023.10.18
01. Database  (0) 2023.10.18