#8 Foreign Keys
#8.1 Data Normalization
#8.2 Entities
CREATE TABLE dogs (
dog_id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
breed_name VARCHAR(50) NOT NULL,
breed_size_category ENUM('small', 'medium', 'big') DEFAULT 'small',
breed_typical_lifespan TINYINT,
date_of_birth DATE,
weight DECIMAL(5,2),
owner_name VARCHAR(50) NOT NULL,
owner_email VARCHAR(100) UNIQUE,
owner_phone VARCHAR(20),
owner_address TINYTEXT
);
-- DOG / BREED / OWNER 3개의 entity로 구분 가능
CREATE TABLE dogs (
dog_id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
date_of_birth DATE,
weight DECIMAL(5,2),
owner_id BIGINT UNSIGNED,
breed_id BIGINT UNSIGNED
);
CREATE TABLE owners (
owner_id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
owner_name VARCHAR(50) NOT NULL,
owner_email VARCHAR(100) UNIQUE,
owner_phone VARCHAR(20),
owner_address TINYTEXT
);
CREATE TABLE breeds (
breed_id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
breed_name VARCHAR(50) NOT NULL,
breed_size_category ENUM('small', 'medium', 'big') DEFAULT 'small',
breed_typical_lifespan TINYINT
);#8.3 Foreign Keys
#8.4 ON DELETE
#8.5 One-To-Many and One-To-One


#8.6 Many-To-Many

Last updated