Nesne-veri eşlemesini iyileştirme
Small Business Development Center client tablosu daha önce, müşteri için bir irtibat kişisi bilgisi olmadan tanımlanmıştı. Veritabanı ekibinin ilk düşüncesi, client tablosuna basitçe contact_name ve contact_email sütunlarını eklemekti. Ancak, doğru veri organizasyonu konusundaki içgüdülerine dayanarak bu plana itiraz ediyorsun. Gelecekte, bir irtibat kişisine birden fazla tabloda referans verilebilir. Bu egzersizde, client ve contact nesnelerini daha iyi ayıran, müşteri ve irtibat bilgileri için tablo yapıları tanımlayacaksın.
client tablosunun önceki tanımını hatırla:
CREATE TABLE client (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
site_url VARCHAR(50),
num_employees SMALLINT,
num_customers INTEGER
);
Bu egzersiz
PostgreSQL Veritabanları Oluşturma
kursunun bir parçasıdırEgzersiz talimatları
id(bir birincil anahtar),name(en fazla 50), veemail(en fazla 50) sütunlarına sahip bircontacttablosu oluştur.clienttablosuna bir yabancı anahtar olarakcontact_idsütunu ekleyerek tabloyu değiştir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- 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);