외래키(Foreign Key)
CREATE TABLE Department(
name VARCHAR(5) PRIMARY KEY
, number CHAR(8) NOT NULL
);
CREATE TABLE employees(
id int primary key auto_increment
, lastname varchar(10) NOT NULL
, firstname varchar(10) NOT NULL
, email varchar(60)
, departname varchar(5)
, CONSTRAINT FOREIGN KEY (departname) references department (name)
);
INSERT INTO department (name,number)
VALUES ('IT','333-4444'),
('물류','333-8282'),
('회계','333-7942');
INSERT INTO employees (lastname,firstname,email,departname)
VALUES ('브루스','웨인','batman@com.com','IT'),
('클락','켄트','super@com.com','IT'),
('브루스','리','lee@com.com','물류'),
('폴','피닉스','paul@com.com','회계');
외래키는 다른 기존 테이블의 기본키를 참조하는 것으로 외래키를 사용하게 되면 관계형 데이터베이스로 만들어 중복제거와 테이블간의 관계를 더 직관적으로 볼 수 있게 된다.
부서테이블(Department)과 직원테이블(employees)을 만들었다 쳤을 때, 부서테이블에 name이라는 필드에 기본키를 설정하고 직원 테이블에 departname이라는 필드에 외래키로 설정을 해주면 부서 테이블과 직원테이블이 관계형 데이터베이스가 된다.
이로써 연결되어 있는 정보를 테이블 조회에서 바로 얻어 낼 수 있게 된다.
'sql' 카테고리의 다른 글
MYSQL - 서브쿼리(Subquery) (0) | 2023.01.12 |
---|---|
MYSQL - 합/평균/최대값/최솟값 (0) | 2023.01.12 |
MYSQL - 테이블 생성/삭제/수정 (0) | 2023.01.12 |
MYSQL - ORDER BY/ LIKE 연산자 (0) | 2023.01.11 |
MYSQL - SELECT/WHERE/AS문 (0) | 2023.01.11 |