Kom igångKom igång gratis

Förbättra mappningen mellan objekt och data

Tabellen client för Small Business Development Center definierades tidigare utan en kontaktperson för klienten. Databasteamets första tanke var att helt enkelt lägga till kolumnerna contact_name och contact_email i klienttabellen. Du invänder dock mot det förslaget, eftersom du instinktivt känner att data bör organiseras på ett mer strukturerat sätt. I framtiden kan en kontakt komma att refereras till i flera tabeller. I den här övningen ska du definiera tabellstrukturer för klient- och kontaktinformation som tydligare separerar objekten client och contact.

Här är den tidigare definitionen av tabellen client:

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

Den här övningen är en del av kursen

Skapa PostgreSQL-databaser

Visa kurs

Övningsinstruktioner

  • Skapa en tabell contact med kolumnerna id (en primärnyckel), name (max 50 tecken) och email (max 50 tecken).
  • Ändra tabellen client genom att lägga till kolumnen contact_id som en främmande nyckel.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- 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);
Redigera och kör kod