НачатьНачать бесплатно

Устранение избыточности данных

Один из бывших сотрудников Администрации по делам малого бизнеса разработал начальную версию базы данных. Сведения о местоположении используются повсеместно — для заёмщиков, банков и проектов. В каждой из соответствующих таблиц присутствуют столбцы city, state и zip_code, что приводит к дублированию данных. Ваша задача — нормализовать эти данные о местоположении. Вам предстоит применить знания нормализации на практике: создать таблицу place, которая объединит все данные о местоположении в одном месте.

Это упражнение является частью курса

Создание баз данных PostgreSQL

Посмотреть курс

Инструкции к упражнению

  • Создайте таблицу place, в которой zip_code — пятисимвольный PRIMARY KEY типа CHAR, city — текстовый столбец длиной до 50 символов, а state — двухсимвольный столбец.
  • Удалите столбцы city, state и zip_code из определения таблицы borrower, убрав соответствующий SQL-код.
  • Добавьте в таблицу borrower столбец place_id (внешний ключ), ссылающийся на столбец zip_code таблицы place.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

-- 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
  ___ ___(___) ___ ___(___)
);
Редактировать и запускать код