데이터란 컴퓨터 안에 기록되어 있는 숫자를 의미하며, 이러한 데이터의 집합을 데이터베이스라고 지칭. (특정 데이터를 확인하고 싶을 때 간단하게 찾아낼 수 있도록 정리된 데이터의 집합)
02. Database Management System (DBMS)
DBMS 는 데이터베이스를 효율적으로 관리하는 소프트웨어.
Database 와 DBMS를 사용하는 이유?
03. 관계형 데이터베이스 (RDBMS)
데이터 사이의 관계에 기초를 둔 데이터베이스 시스템을 지칭.
row 와 column 을 가지고 2차원 table 형식의 데이터를 저장한다.
SQL 을 사용할 수 있는 유일한 데이터베이스
table 의 각 row는 저만의 primary key(고유 키) 를 가지고 있다.(하나의 가로줄 대표)
Primary Key를 통해 특정 row 를 찾거나, reference 할 수 있음.
관계의 유형
1) One-to-one
하나의 A 테이블 데이터는 오로지 하나의 B 테이블 데이터와 연결됨.
FK stands for Foreign Key.
1:1 은 두 테이블이 서로가 서로의 오로지 한 로우에만 연결
2) One-to-many
하나의 A 테이블 데이터는 B테이블의 여러 데이터와 연결됨.
--> 유저 하나가 강아지 두마리를 키우는 경우, 냥돌이, 스위티 두마리가 김코드의 user_id 인 1을 Foreign Key 로 가진다.
1:N 은 한 테이블의 로우 하나에 다른 테이블의 로우 여러개가 연결 가능.
3) Many-to-many
하나의 A 테이블 데이터는 B 테이블의 여러 데이터와 연결될 수 있음. --> BAD EXAMPLE ---> ANOTHER BAD EXAMPLE
이러한 이유로 Normalization(정규화) 을 필요로 한다. ---> 정규화한 데이터베이스
중복이 일어나는 데이터(i.e 작가명, 책제목)들의 id 값으로 중간 테이블을 생성.
RDBMS offers TRANSACTION
ACID (Atomicity, Consistency, Isolation, Durability) 를 보장하면서 일련의 작업들이 마치 하나의 작업처럼 취급되어서 모두 다 성공하거나 아니면 모두 다 실패하는 것을 의미.