티스토리 뷰

공부/MYSQL

[MySQL] 테이블 정규화

cldy 2018. 8. 6. 19:24

정규화

1. 원자적 데이터

>> 열의 데이터가 필요한 가장 작은 조각으로 나뉘어져 있는 것.


2. 제 1 정규형(INF)

>> 각 열의 데이터가 원자적 값이고 유일무이한 식별자를 가지고 있어야 함.


3. 원자적 데이터 규칙 1,2

>> 1. 원자적 데이터로 구성된 열은 그 열에 같은 타입의 데이터를 여러개 가질 수 없다.

>> 2. 원자적 데이터로 구성된 테이블은 같은 타입의 데이터를 여러 열에 가질 수 없다.


4. 기본키

>> 테이블에서 행을 유일무이하게 식별하는 열 하나 혹은 열의 집합


CREATE 코드 보기

SHOW CREATE TABLE doughnut_list;

>> CREATE TABLE `doughnut_list` (   `doughnut_name` varchar(10) DEFAULT NULL,   `doughnut_type` varchar(6) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

(하늘색 부분과 백틱(‘’)은 제거해도 됨.) ‘코드 보기’로 결과를 복사하여 새 테이블을 쉽게 만들 수 있음. 기본키와 원자적 값으로 변경할때 등 사용.

PRIMARY KEY (contact_id) <- 기본키 지정.


AUTO_INCREMENT 키워드

member_id INT NOT NULL AUTO_INCREMENT,...

> 1에서 시작해서 새로운 열을 추가할 때마다 1씩 추가함.


ALTER

ALTER TABLE doughnut_list
ADD COLUMN contact_id INT NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY(contact_id);

>> Table을 새로 만들지 않고 ALTER문을 사용하여 추가할 수 있음.

'공부 > MYSQL' 카테고리의 다른 글

[MySQL] 스키마, 참조키  (0) 2018.08.17
[MySQL] Workbench Can't connect to MySQL server on 'localhost' (10061) 오류  (2) 2018.08.16
[MySQL] 고급 SELECT 문  (0) 2018.08.07
[MYSQL] UPDATE,DELETE 1175 에러  (0) 2018.08.06
[MYSQL] MySQL기본  (0) 2018.08.06
댓글