목록mySQL (2)
눈덩이의 테크블로그

CREATE TABLE `account` ( `account_id` INT(12) NOT NULL AUTO_INCREMENT, `user_name` VARCHAR(20) NOT NULL, `user_id` VARCHAR(20) NOT NULL, `password` VARCHAR(20) NOT NULL, `email` VARCHAR(24)NOT NULL UNIQUE, `phonenumber` INT(14) NOT NULL UNIQUE, `account_created_date` DATETIMENOT NULL, PRIMARY KEY (account_id) ); CREATE TABLE `post` ( `post_id`INT(12)NOT NULL AUTO_INCREMENT, `account_id`INT(12)NO..

정규화(Normalization)의 목표 테이블 간에 중복된 데이타를 허용하지 않는다는 것이다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지 할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 제1 정규화란 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것. 제2 정규화란 제1 정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것이다. 여기서 완전 함수 종속이라는 것은 기본키의 부분집합이 결정자가 되어선 안된다는 것을 의미한다. 제3 정규화란 제2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것이다. 여기서 이행적 종속이라는 것은 A -> B, B -> C가 성립할 때 A -> C가..