diff --git a/docs/chapter4/Ch04Keyword.md b/docs/chapter4/Ch04Keyword.md
new file mode 100644
index 0000000..c634919
--- /dev/null
+++ b/docs/chapter4/Ch04Keyword.md
@@ -0,0 +1,152 @@
+# **Chapter 4. DATABASE 설계 & AWS RDS 설정**
+4주차 워크북 - Database, AWS RDS
+
+
+
+# **외래키**
+외부 키, foreign key
+
+서로 다른 두 테이블을 연관지을 때 사용한다.
+
+
+
+**FK의 특징**
+1. FK는 참조되는 테이블의 PK만 참조한다.
+2. FK를 생성하기 전에 PK를 먼저 생성해야 한다.
+
+**FK 정의하는 코드**
+
+```sql
+Create table deptName(
+ deptName varchar(20) primary key,
+ building varchar(20)
+)
+
+Create table course(
+ cID char(5) primary key,
+ title varchar(20),
+ deptName varchar(20),
+ credit integer,
+ foreign key (deptName) references department);
+```
+
+
+
+
+# **기본키**
+기본 키, primary key
+
+테이블 내 모든 레코드를 각각 식별할 수 있는 고유 번호이다.
+
+**PK의 특징**
+1. 테이블 내에서 PK는 중복될 수 없다.
+2. PK는 NULL값이 될 수 없다.
+3. 모든 테이블에 PK가 존재할 필요는 없다.
+
+
+
+
+# **수퍼키**
+수퍼키, super key
+
+테이블에서 tuple을 유일하게 식별할 수 있는 속성의 집합을 의미한다.
+
+![](./img/superkey.png)
+
+
+
+
+# **후보키**
+후보 키, candidate key
+
+수퍼키의 유일성을 유지하면서 minimal 속성으로 구성된 키이다. minimal이란 **유일성을 유지**하면서 개수가 가장 적은 속성을 의미한다.
+
+![](./img/candidate.png)
+
+
+
+
+# **ER 다이어그램**
+ERD: Entity Relation Diagram
+데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 표현(모델링)하는 도구이다. ER 다이어그램의 표기법은 매우 다양하기 때문에 동일한 다이어그램도 다른 모습으로 표현할 수 있다.
+
+사각형은 개체(도메인) 집합, 마름모는 관계성 집합, 밑줄은 PK 속성을 의미한다.
+
+![](./img/ER%20diagram.png)
+
+
+
+
+# **복합키**
+테이블은 다수 개의 attribute를 PK로 가질 수 있다.
+```sql
+-- e.g.) takes 테이블: 학생이 수강하는 강의 정보
+Create table takes(
+ sID char(5),
+ cID char(5),
+ semester char(6),
+ year numeric(4, 0),
+ grade char(2)),
+ constraint takes_PK primary key(sID, cID, semester, year);
+```
+takes 테이블은 sID, cID, semester, year 4개의 attribute를 PK로 가진다. 이것은 'sID+cID+semester+year'인 하나의 문자열을 PK로 여긴다고 봐도 좋다. 만약 takes 테이블에
+
+```
+// pk만 모아보기
+sID cID semester year
+1 30 spring 2022
+1 30 winter 2022
+```
+첫 번째 행은 1번 학생이 강의번호 30번을 2022년 봄학기에 수강했다는 의미이고, 두 번째 행은 1번 학생이 강의번호 30번을 2022년 겨울학기에 수강했다는 의미이다. 위와 같은 두 행이 있을 때, 이 둘은 sID, cID, year가 같더라도 semester가 다르기 때문에 완전히 다른 행이다.
+
+
+
+
+# **연관관계**
+- 1:1 일대일
+
+각 국가에는 수도가 하나이고 각 수도는 한 국가에만 속한다. 국가-수도의 관계처럼 정확히 일대일 매칭되는 관계가 1:1 관계이다.
+
+- N:1 다대일 (Many-to-one)
+
+보통 교수 한 명은 학생 여러 명을 상담하고, 학생 한 명은 교수님 한 명에게만 상담을 받는다. 이러한 관계성을 N:1 (student가 N) 관계라고 한다.
+
+![](./img/N1.png)
+
+- N:M 다대다 (Many-to-many)
+
+학생 한 명은 여러 개의 과목을 수강하고, 하나의 과목에는 여러 명의 학생이 수업을 수강한다. 이러한 관계성을 N:M 관계라고 한다.
+
+![](./img/NN.png)
+
+
+
+
+# **정규화**
+정규화란 데이터 중복을 최소화하기 위한 방법으로 데이터를 분해하는 과정이다.
+제1정규형, 제2정규형, 제3정규형, BCNF, 제4정규형, 제5정규형이 있다.
+
+- 제1정규형 (1NF)
+
+관계형 데이터모델은 속성 값으로 원자값(atomic value)만 허용한다. 즉, 도메인의 모든 값이 원자값이어야 한다. 만약 한 칸에 값이 여러 개 있다면 그것을 각각의 tuple로 분리한다.
+
+원자값이란 더 이상 논리적으로 분해할 수 없는 값이며, 다중값을 가질 수 없음을 의미한다.
+원자값이 아닌 값으로 집합, 리스트 등이 있다.
+
+- 제2정규형 (2NF)
+
+PK가 아닌 모든 attribute가 PK에 완전 종속인 정규형이다.
+
+- 제3정규형 (3NF)
+
+ PK가 아닌 attribute가 PK가 아닌 다른 attribute에 종속인 정규형이다. 종속 관계에 따라 속성들을 서로 다른 테이블로 분리한다.
+
+
+
+
+
+# **반 정규화**
+데이터베이스의 성능을 향상시키기 위해 데이터 중복을 허용하고 join 과정을 줄이는 방법이다.
+
+
+
\ No newline at end of file
diff --git a/docs/chapter4/img/ER diagram.png b/docs/chapter4/img/ER diagram.png
new file mode 100644
index 0000000..733bd5f
Binary files /dev/null and b/docs/chapter4/img/ER diagram.png differ
diff --git a/docs/chapter4/img/N1.png b/docs/chapter4/img/N1.png
new file mode 100644
index 0000000..2a3e818
Binary files /dev/null and b/docs/chapter4/img/N1.png differ
diff --git a/docs/chapter4/img/NN.png b/docs/chapter4/img/NN.png
new file mode 100644
index 0000000..4d7d1ed
Binary files /dev/null and b/docs/chapter4/img/NN.png differ
diff --git a/docs/chapter4/img/candidate.png b/docs/chapter4/img/candidate.png
new file mode 100644
index 0000000..24ba717
Binary files /dev/null and b/docs/chapter4/img/candidate.png differ
diff --git a/docs/chapter4/img/superkey.png b/docs/chapter4/img/superkey.png
new file mode 100644
index 0000000..4f05f49
Binary files /dev/null and b/docs/chapter4/img/superkey.png differ
diff --git a/src/mission/chapter4/ERD.png b/src/mission/chapter4/ERD.png
new file mode 100644
index 0000000..1a029f1
Binary files /dev/null and b/src/mission/chapter4/ERD.png differ