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

Улучшение сопоставления объектов с данными

Таблица client Центра развития малого бизнеса изначально была создана без указания контактного лица для клиента. Команда разработчиков базы данных предложила просто добавить столбцы contact_name и contact_email в таблицу клиентов. Однако вы возражаете против этого плана, руководствуясь принципами правильной организации данных: в будущем контактное лицо может быть связано сразу с несколькими таблицами. В этом упражнении вы определите структуры таблиц для информации о клиентах и контактных лицах, чтобы чётко разделить объекты client и contact.

Вспомним предыдущее определение таблицы client:

CREATE TABLE client (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    site_url VARCHAR(50),
    num_employees SMALLINT,
    num_customers INTEGER
);

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

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

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

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

  • Создайте таблицу contact со столбцами id (первичный ключ), name (максимальная длина 50) и email (максимальная длина 50).
  • Измените таблицу client, добавив столбец contact_id в качестве внешнего ключа.

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

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

-- Create the contact table
___ ___ ___ (
  	-- Define the id primary key column
	___ SERIAL ___ ___,
  	-- Define the name column
  	___ ___(50) NOT NULL,
    -- Define the email column
  	___ VARCHAR(___) NOT NULL
);

-- Add contact_id to the client table
ALTER TABLE ___ ADD ___ INTEGER NOT NULL;

-- Add a FOREIGN KEY constraint to the client table
ALTER TABLE ___ ADD CONSTRAINT fk_c_id FOREIGN KEY (___) REFERENCES ___(id);
Редактировать и запускать код