Покращення відображення об'єктів у дані
Таблицю 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);