일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- insomnia
- 게임 서버 아키텍처
- PROJECT
- router
- Express.js
- Keys
- MySQL
- ERD
- 그래프 탐색
- localstorage
- html5
- ddl(data definition language)
- MongoDB
- HTTP
- pm2
- 그리디
- 이분 탐색
- 자바스크립트
- Next
- branch
- DP
- JavaScript
- trie
- dcl(data control language)
- Prisma
- Github
- map
- 트라이
- string
- ccw 알고리즘
Archives
- Today
- Total
dh_0e
[Database] 관계형 데이터 모델 (2장) 본문
관계형 데이터 모델
- Introdeuced by E.F. Codd (1970)
- Strong theoretical foundations (강력한 기초 이론) & very simple
- Numerous commercial systems (수많은 상업 시스템에 이용됨)
- A collection of relations and integrity constraints (관계와 무결성 제약의 묶음)
- Relations are unordered & Order of tuples is irrelevant (관계 간에 순서나 상하관계 X)


Attributes(속성)
- 각 속성은 속성 값으로 허용할 수 있는 값의 집합인 domain(도메인)을 가짐
- 속성 도메인에 속하는 값은 분할할 수 없는 atomic(원소성)을 지닌 값을 가짐
- 도메인이 없는 것은 null값을 default로 가짐
- Integer(실수), real, char, varchar, decimal(소수), date, time, timestamp 등을 원자 값으로 분류
- set, bag(multiset), list등의 Multi-valued 속성은 원자 값이 아님
Keys
- Key는 하나 이상의 속성(attribute)의 집합으로 구성되어, 튜플(행)을 유일하게 식별하는 역할을 한다.
- Super Key (슈퍼키):
튜플을 유일하게 식별할 수 있는 속성들의 집합이다. 유일성은 가지지만, 최소성(minimality)은 요구하지 않기 때문에 불필요한 속성을 포함할 수도 있다.
ex: (student_id), (student_id, name), (national_id, student_id) 등 - Candidate Key (후보키):
- 슈퍼키 중에서 속성 수가 최소인 키
- 더 이상 속성을 제거하면 유일성이 깨짐
- 하나의 테이블에 여러 개 존재 가능
- ex: (student_id), (national_id)
(각각만으로도 학생을 유일하게 식별 가능하고, 더 줄일 수 없음 → 후보키)
- Primary Key (기본키 / 주키):
- 후보키들 중에서 대표로 선택된 하나
- 테이블의 기본 식별자 역할
- NULL 값과 중복을 허용하지 않음
- 한 테이블에는 오직 하나의 기본키만 존재함
- Super Key (슈퍼키):
후보키는 여러 개 존재할 수 있지만, 기본키는 하나만 지정 가능하다.
나머지 후보키는 필요에 따라 대체키(Alternate Key)로 사용되기도 함
Referential Integrity Constraint (참조 무결성)
- 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되는 것을 의미
- 특정 속성에 나타나는 모든 값은 반드시 다른 속성에도 나타나야 한다는 것을 의미
- 참조 받는 속성은 반드시 그 테이블의 primary key(주 키)이어야 함
Data dictionary (데이터 사전)
- system catalog라고도 불리며 metadata(data about data)를 저장함
- DB system이 내부적으로 관리하는 데이터 장소
- 사용자가 만드는 것이 아닌 data를 저장하면 DBMS가 자동으로 만들어줌
Relational Algebra (관계 대수)
- Procedural language(절차적 언어)
- 관계, 제약사항에 대한 연산을 제공

- 이를 조합하여 확장 연산자를 만들 수 있음


# 자연 조인
R(A, B) ⋈ S(B, C)
→ 결과: (A, B, C) ← 중복된 B는 하나만 남음
# 등가 조인
R(A, B) ⨝ R.B = S.B S(B, C)
→ 결과: (A, R.B, S.B, C) ← B 속성이 중복으로 유지됨



'Database' 카테고리의 다른 글
[Database] SQL I, II (3, 5장) (0) | 2025.04.13 |
---|---|
[Database] Database 소개 (1장) (1) | 2025.03.14 |