Relational Database : 테이블을 사용하는 구조화된 데이터
사전에 정의된 테이블을 relation이라고도 부른다
- 데이터 : 각 항목에 저장되는 값
- 테이블(relation) : 사전에 정의된 행과 열로 구성되어 있는 체계화된 데이터
- 필드(column) : 테이블의 열
- 레코드(tuple) : 테이블의 한행에 저장된 정보
- 키 : 테이블의 각 레코드를 구분할 수 있는 값 / 각 레코드마다 고유값이어야 하며 기본키(primary key)와 외래키(foreign key) 등이 있다
테이블의 레코드 하나당 다른 테이블의 한 레코드와 연결되어 있는 경우
테이블의 레코드 하나당 여러개의 레코드와 연결되어 있는 경우
한명의 유저가 여러개의 전화번호를 가질 수 있다(반대는 불가)
여러 개의 레코드가 여러 개의 레코드를 가지는 관계
양방향에서 다수를 가질 수 있는 경우
✅ Example
CUSTOMER_TABLE = """CREATE TABLE Customer(
customer_id INT NOT NULL PRIMARY KEY,
customer_name VARCHAR(32) NOT NULL,
customer_age INT);"""
PACKAGE_TABLE = """CREATE TABLE Package(
package_id INT NOT NULL PRIMARY KEY,
package_name VARCHAR(32) NOT NULL,
package_date DATE);"""
CUSTOMER_PACKAGE_TABLE = """CREATE TABLE Customer_Package(
cp_id INT NOT NULL PRIMARY KEY,
customer_id INT,
package_id INT,
FOREIGN KEY(customer_id) REFERENCES Customer(customer_id)
FOREIGN KEY(package_id) REFERENCES Package(package_id));"""
# 대문자로 해야 오류가 없다