본문 바로가기

프로그래밍/mySQL

[mySQL] 정규화와 AS

제1정규화

같은 데이터가 여러 열에 반복되지 않게 하는 방법.


1) 첫 번째 방법

CREATE TABLE toy

(

  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,    //기본키 생성

  color VARCHAR(20)                //색 데이터 열

);

INSERT INTO toy (color)            // 정보를 담는다

  SELECT color FROM my_table    // 다른 테이블의 색 정보를 가져온다

  GROUP BY color                // 같은 데이터는 그룹화

  ORDER BY color;               // 정렬


2) 두 번째 방법

CREATE TABLE toy AS

  SELECT color FROM my_table    // 다른 테이블의 색 정보를 가져온다

  GROUP BY color                // 같은 데이터는 그룹화

  ORDER BY color;               // 정렬

ALTER TABLE toy
  ADD COLUMN id INT NOT NULL AUTO_INCREMENT FIRST,
  ADD PRIMARY KEY(id);


3) 세 번째 방법

CREATE TABLE toy

(

  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,    //기본키 생성

  color VARCHAR(20)                //색 데이터 열

) AS

  SELECT color FROM my_table    // 다른 테이블의 색 정보를 가져온다

  GROUP BY color                // 같은 데이터는 그룹화

  ORDER BY color;               // 정렬




별명 (AS)

SELECT last_name AS l_name

FROM my_table;

//이름을 임시 별명으로 지정하여 사용이 가능하다.

//임시 별명일 뿐 실제 이름은 변하지 않는다.

SELECT last_name l_name

FROM my_table;

// 생략해도 사용 가능