diff --git "a/week10/10\354\243\274\354\260\250.md" "b/week10/10\354\243\274\354\260\250.md"
deleted file mode 100644
index 867b71b..0000000
--- "a/week10/10\354\243\274\354\260\250.md"
+++ /dev/null
@@ -1,18 +0,0 @@
-# 10주차 학습 PR
-
-이번 주는 살짝 쉬어가는 느낌으로 실습 PR은 별도로 없고,
-H2 Database를 설치해오시면 좋을 것 같습니다!
-
-## Indexing이란?
-(clustering index, secondary index)
-
-
-## DB의 Relationship(1:1, 1:m, n:m)
-
-
-
-## JPA 엔티티의 생명 주기
-
-
-
-## @Id, @GeneratedValue
\ No newline at end of file
diff --git "a/week10/\355\231\215\354\240\225\354\232\260.md" "b/week10/\355\231\215\354\240\225\354\232\260.md"
new file mode 100644
index 0000000..626c3d8
--- /dev/null
+++ "b/week10/\355\231\215\354\240\225\354\232\260.md"
@@ -0,0 +1,155 @@
+# Cow - Week9
+
+## Indexing
+
+- 데이터베이스 분야에 있어서 테이블에 대한 동작 속도를 높여주는 자료구조
+- 테이블 내의 1개의 컬럼, 혹은 여러 개의 컬럼을 이용하여 생성될 수 있다.
+- 고속의 검색 속도, 레코드 접근과 관련 효율적인 순서 매김 동작에 대한 기초를 제공
+- 인덱스를 저장하는 데 필요한 디스크 공간은 보통 테이블을 저장하는 데 필요한 디스크 공간보다 작다.
+ - 보통의 인덱스는 키 - 필드만 가지고 있고, 테이블이 다른 세부 항목들은 가지고 있지 않기 때문
+- 관계형 데이터베이스에서는 인덱스는 테이블 부분에 대한 하나의 사본이다.
+
+### Clustered
+
+
+
+- 클러스터 형 인덱스는 데이터가 테이블에 물리적으로 저장되는 순서를 정의한다. 즉, 클러스터 형 인덱스는 특정 컬럼을 기준으로 데이터들을 정렬시킨다.
+- 테이블 데이터는 오직 한 가지의 방법으로만 정렬되기 때문에 오직 테이블 당 하나의 클러스터 형 인덱스만 존재할 수 있다.
+- primary key의 제약 조건은 클러스터 된 인덱스를 자동으로 생성하기 때문에 우리가 일반적으로 테이블을 생성할 때 특정 컬럼에 primary key를 지정했다면, 자료가 자동으로 정렬된다.
+- 장점 : 검색 속도를 향상 시킨다.
+- 단점 : 새로운 데이터를 삽입할 때는 많은 비용이 소모된다.
+
+### Secondary Index
+
+
+
+- Primary key 이외의 필요한 정렬 기준이 있을 경우 사용한다.
+- 테이블 당 여러 개를 가질 수 있다.
+- Data Record가 정렬되어 있지 않다.
+- Index가 Data Record의 모든 주소 값을 가지고 있어야 한다.
+- unique 하지 않아도 된다.
+- 데이터 레코드가 Index 순서대로 정렬되어 있지 않기 때문에 범위 조건으로 검색하게 되면 많은 I/O가 발생할 수 있다.
+
+## Relationship
+
+- 관계는 엔터티 간의 관련성을 의미한다.
+
+### 관계 차수
+
+- Relation Cardinality는 두 개의 엔터티 간 관계에 참여하는 수를 의미
+
+### 1:1 관계
+
+- 완전 1:1
+ - 하나의 엔터티에 관계되는 엔터티의 관계가 하나 있는 경우
+ - 반드시 존재
+- 선택적 1:1
+ - 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다.
+
+### 1:M 관계
+
+- 엔터티에 행이 하나 있을 때 다른 엔터티의 값이 여러 개 있는 관게
+
+### N:M 관계
+
+- 두 개의 엔터티가 서로 여러 개의 관계를 갖고 있는 것
+- 이러한 경우 JOIN 시에 문제가 발생할 수 있다. 따라서 1:M OR N:1로 바꿔줘야 한다.
+
+## JPA 엔터티의 생명 주기
+
+### 비영속
+
+- 영속성 컨텍스트와 전혀 관계가 없는 상태
+- 객체를 생성’만’한 상태
+
+```java
+// 객체를 생성한 상태 (비영속)
+Member member = new Member();
+member.setId("member1");
+member.setUsername("회원1");
+```
+
+### 영속
+
+- 영속성 컨텍스트에 저장된 상태
+- 엔터티가 영속성 컨텍스트에 의해 관리되는 상태
+- 영속 상태가 된다고 바로 DB에 쿼리가 날라가지 않는다. 트랜잭션의 commit시점에 영속성 컨텍스트에 있는 정보들이 DB에 쿼리로 날라간다.
+
+```java
+// 객체를 생성한 상태 (비영속)
+Member member = new Member();
+member.setId("member1");
+member.setUsername("회원1");
+EntityManager entityManager = entityManagerFactory.createEntityManager();
+entityManager.getTransaction().begin();
+// 객체를 저장한 상태 (영속)
+entityManager.persist(member);
+```
+
+### 준영속
+
+- 영속성 컨텍스트에 저장되었다가 분리된 상태
+- 영속성 컨텍스트에서 지운 상태
+
+```java
+// 회원 엔티티를 영속성 컨텍스트에서 분리, 준영속 상태
+entityManager.detach(member);
+```
+
+### 삭제
+
+- 실제 DB 삭제를 요청한 상태
+
+```java
+// 객체를 삭제한 상태
+entityManager.remove(member);
+```
+
+## @Id / @GeneratedValue
+
+### @Id
+
+- PK를 나타내기 위하여 @Id 어노테이션을 사용
+- @Id 어노테이션은 기본타입, 기본 래퍼런스 유형, String, java.util.Date, java.sql.Date, java.math.BingDecimal, java.math.BigInteger 중 하나여야 한다. @Column 어노테이션을 지정하지 않으면 열 이름은 기본 키 속성 또는 필드의 이름으로 가정한다.
+
+```java
+package com.example.jwptodolist.todo.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "todos")
+public class Todo {
+
+ @Id
+ private Long id;
+
+ protected Todo() {
+ }
+
+ public Todo(final Long id) {
+ this.id = id;
+ }
+
+ public Long getId() {
+ return id;
+ }
+}
+```
+
+### @GeneratedValue
+
+엔터티의 기본키 생성 전략
+
+- **TABLE**
+ - 데이터베이스에 키 생성 전용 테이블을 하나 만들고 이를 사용하여 기본키를 생성
+- **SEQUENCE**
+ - 데이터베이스의 특별한 오브젝트인 시퀸스를 사용하여 기본키를 생성
+ - Sequence란 유일한 값을 순서대로 생성하는 특별한 데이터베이스 오브젝트
+- **IDENTITY**
+ - 기본키 생성을 데이터베이스에 위임한다.
+ - 예를 들어 MySQL의 경우 AUTO_INCREMENT를 사용하여 기본키를 생성한다.
+- **AUTO**
+ - JPA 구현체가 자동으로 생성 전략을 결정한다.