Open kibitzing opened 1 month ago
1강, 오 엄청 알차다. 쭉 오버뷰 해주시는 느낌
여러 개념들을 머리에 때려박아 넣어주심..ㄷㄷㄷ
먼저 튜플 개념. 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
superkey: unique, minimum 은 아님, 전체 튜플은 슈퍼키 candidate key: minimal superkey, 그냥 key라고도 불림
오늘도 매우 유익하다..
여러 constraints & option
CHECK(start_date < end_date)
PRIMARYKEY(empl_id, proj_id) 이렇게도 됨
cascade
, set null
, restrict
, no action
, default
on delete OPTION on update OPTION
FOREIGN KEY (dept_id) references DEPARTMENT(id)
on delete SET NULL on update CASCADE,
CHECK(salary >= 5k)
constraint 에 이름 붙이기
age CONSTRAINT age_over_20 CHECK(age > 20)
ALTER TABLE department ADD FOREIGN KEY(leader_id)
REFERENCES employee(id)
on update CASCADE
on delete SET NULL;
이런식으로 테이블 스키마 변경할 때 사용
ADD
, RENAME COLUMN
, MODIFY COLUMN
, RENAME TO
, ... 물론 삭제도 가능테이블 삭제: DROP
Database를 배워보자 총 31강, 매일 하나씩 11월 15일 전 완강 목표!
https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe