더북(TheBook)

코드 3-1과 같이 CustomerSales 테이블에 서로 다른 뷰를 만들 수 있다.

코드 3-1 역정규화된 테이블을 정규화하는 뷰

CREATE VIEW vCustomers AS

SELECT DISTINCT cs.CustFirstName, cs.CustLastName, cs.Address,

  cs.City, cs.Phone

FROM CustomerSales AS cs;

 

CREATE VIEW vAutomobileModels AS

SELECT DISTINCT cs.ModelYear, cs.Model

FROM CustomerSales AS cs;

 

CREATE VIEW vEmployees AS

SELECT DISTINCT cs.SalesPerson

FROM CustomerSales AS cs;


 

그림 3-1과 같이 vCustomers 뷰에는 Tom Frank 로우가 두 개 들어 있는데, 원본 테이블에 이 사람의 주소가 두 개 있기 때문이다. 하지만 더 작은 데이터 집합으로 작업하는 것이 좋다. CustFirstNameCustLastName으로 정렬하면 중복된 데이터를 쉽게 찾을 수 있고, CustomerSales 테이블에 있는 데이터를 올바르게 수정할 수 있다.

119

▲ 그림 3-1 vCustomers 뷰 데이터

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.