Jinhwan
코딩랍스터🦞
Jinhwan
전체 방문자
오늘
어제
  • 분류 전체보기 (93)
    • 일상 (15)
      • 독후감 (9)
    • Computer Science (26)
      • 네트워크 (0)
      • 알고리즘 (0)
      • 데이터베이스 (4)
      • 객체지향 (3)
      • Security (4)
      • 멀티코어 (3)
      • 디자인패턴 (8)
    • 개발 (40)
      • 쿠버네티스 (2)
      • Oracle (15)
      • Spring (12)
      • Git (2)
      • MySQL (1)
      • C++ (1)
      • Neo4j (4)
      • 데이터 엔지니어링 (2)
    • 인공지능 (12)
      • 강화학습 (2)
      • Computer Vision (2)
      • 생성모델 (1)
      • 논문 (2)
      • LLM (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Spring Rest Docs
  • 자바
  • self rag
  • @Validation
  • SQL 종류
  • 남궁훈 고문
  • go
  • springsecurity
  • docker
  • SQL
  • LockFreeHash
  • LLM
  • SQL 연산자
  • GraphDB
  • EER Model
  • spring boot
  • 오브젝트
  • 강화학습
  • Database
  • Java
  • 객체지향
  • Spring
  • RAG
  • 독후감
  • 마음의 법칙
  • 데이터 베이스개론
  • 더 좋은 삶을 위한 철학
  • JUnit
  • CEO라는 직업
  • Neo4j

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Jinhwan

코딩랍스터🦞

Relational Model
Computer Science/데이터베이스

Relational Model

2022. 4. 4. 14:21

목차

  • Relation이란
  • Table표
  • Key
  • Relational Integrity Constraints

Relation이란

집합이 $$ \{ D_1, D_2, ... , D_n \} $$ 으로 정의 되어있을 때 부분집합들로 정의 될 수 있는 모든 서로소 관계에 있는 집합들이다.


Table표현

  • tuple의 순서는 상관 없다
  • 하지만 이들이 중복되서는 안된다.
  • Attribute 또한 중복되서는 안된다.
  • row와 column이 교차하는 지점에는 값이 1개만 존재해야한다. 물론 NULL값도 허용된다.

Key

Key의 종류

  • Super Key : tuple을 구분할 수 있는 모든 Attirbute의 조합
  • Key : Super Key에서 유일성에 기여하는 Attribute를 제외한 Attribute들
    • Simple Key : Attribute가 1개인 Key
    • Composite Key : Attribute가 2개 이상인 Key
  • Candidate Key : Key가 여러개인 경우 해당 Key들의 집합
  • Primary Key : Candidate Key에서 사용자가 임의로 정한 Key

좋은 PK란?

  • Stable : 값이 바뀌지 않는다.
  • Definitive : NULL값이 없다.
  • Numeric : 숫자형이다.
  • Minimal : 가장 적은 Attribute 수를 가진다.
  • Short : 너무 길지 않아야한다.
  • Security : 민감한 정보는 포함하지 않는다.

Relational Integrity Constraints

Key Integrity

Key값은 Table 내에서 유일해야한다.

Entity Integrity

PK에는 NULL 값이 허용되지 않는다.

Referential Integrity

참조하는 Tuple은 참조되는 Tuple의 PK값을 FK값으로 가지게 된다.

이때 FK 값은 참조되는 테이블에 반드시 존재하는 값이 되거나 NULL값이 된다.

이러한 Integrity를 위반할 수 있는 상황은 다음과 같이 2가지가 존재한다.

  1. 참조되는 관계에서 DELETE나 UPDATE가 발생하거나
  2. 참조하는 관계에서 INSERT가 발생하거나

이러한 경우 3가지 조건 방식으로 해당 Integrity를 처리할 수 있다.

  1. 해당 operation을 거부하고 사용자에게 이유를 설명한다.
  2. 해당 operation을 실행하되 수정하기를 요청한다.
  3. DBMS자체에서 추가적인 행동을 진행한다.(CASCADE, SET NULL, SET DEFAULT)

해당 내용은 성균관대학교 김응모 교수님 데이터 베이스 개론 수업을 듣고 정리한 것입니다.


긴 글 읽어주셔서 감사합니다.

 

틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.

 

📧 : may3210@g.skku.edu

🔗 : https://github.com/RicardoKim

​

저작자표시 비영리 (새창열림)

'Computer Science > 데이터베이스' 카테고리의 다른 글

EER Modeling  (0) 2022.04.02
ER Modeling  (0) 2022.03.31
데이터 베이스 Introduction  (0) 2022.03.28
    'Computer Science/데이터베이스' 카테고리의 다른 글
    • EER Modeling
    • ER Modeling
    • 데이터 베이스 Introduction
    Jinhwan
    Jinhwan
    잘 몰라서 하고 있는 블로그 입니다. 틀린 부분에 대해서 언제든지 댓글 달아주세요.

    티스토리툴바