데이터 중복 줄이기
Small Business Administration의 이전 직원이 데이터베이스의 초기 버전을 만들었어요. 대출자, 은행, 프로젝트 전반에서 위치 정보가 사용되고 있습니다. 각각의 테이블이 city, state, zip_code 열을 가지고 있어 데이터가 중복되고 있어요. 이제 이 위치 데이터를 정규화하는 것이 여러분의 책임이에요. 위치 데이터를 통합하기 위해 place 테이블을 생성하면서 데이터 정규화 지식을 직접 적용해 보세요.
이 연습은 강의의 일부입니다
PostgreSQL 데이터베이스 만들기
연습 안내
zip_code를 다섯 글자 문자의PRIMARY KEY로,city를 최대 50자까지의 텍스트형으로,state를 두 글자 열로 하여place테이블을 생성하세요.borrower테이블 정의에서city,state,zip_code열을 정의하는 SQL 코드를 삭제하여 해당 열들을 제거하세요.borrower테이블에 외래 키인place_id열을 추가하고, 이 열이place테이블의zip_code열을 참조하도록 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- Create the place table
___ ___ ___ (
-- Define zip_code column
___ ___(___) ___ KEY,
-- Define city column
___ ___(___) NOT NULL,
-- Define state column
___ ___(___) NOT NULL
);
CREATE TABLE borrower (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
approved BOOLEAN DEFAULT NULL,
-- Remove zip_code column (defined below)
zip_code CHAR(5) NOT NULL,
-- Remove city column (defined below)
city VARCHAR(50) NOT NULL,
-- Remove state column (defined below)
state CHAR(2) NOT NULL,
-- Add column referencing place table
___ ___(___) ___ ___(___)
);