kibitzing / EnGrow

Let Engineers Grow!
0 stars 0 forks source link

Database #1

Open kibitzing opened 1 week ago

kibitzing commented 1 week ago

Database를 배워보자 총 31강, 매일 하나씩 11월 15일 전 완강 목표!

https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe

kibitzing commented 1 week ago

1강, 오 엄청 알차다. 쭉 오버뷰 해주시는 느낌

kibitzing commented 1 week ago

2강

여러 개념들을 머리에 때려박아 넣어주심..ㄷㄷㄷ

먼저 튜플 개념. cartesian product 쉽게 생각해서 DB의 한 행 (row)는 하나하나가 다 tuple이다. relation = set of tuple set 이니까 당연히 중복 안됨, 순서 중요하지 않음 수학에서 관계를 어떻게 표현하지? 생각해보면 가장 쉽고 간단한게 한데 묶어놓는 것일 거 같다.

relational data model은 이 relation이라는 개념을 가지고 데이터를 모델링한 것

주요 개념들

domain: set of atomic values

domain name: domain 의 이름 attribute: 도메인이 하는 (relation에서 맡은) 역할 (목적), 역할의 이름 = attribute 이름 tuple: 각 attribute 값들로 이뤄진 리스트 relation = set of tuple relation name

relation scheme: relation name + attribute list e.g. STUDENT(id, name, grade, ...)

degree of relation = len(attribute list)

relational DB: relational data model에 기반으로 구조화된 DB, 여러개의 relation으로 구성됨

RDB = relation scheme + integrity constraints set

relation은 set이므로 중복 불가, 각 tuple은 unique

Key

superkey: unique, minimum 은 아님, 전체 튜플은 슈퍼키 candidate key: minimal superkey, 그냥 key라고도 불림

Constraints