sql

MYSQL - 외래키(Foreign Key)

yun.seul 2023. 1. 12. 14:16
외래키(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