262080081

262080081



CREATE TABLE Wydawnictwo ( ID INT PRIMARY KEY,

Nazwa VARCHAR(45),

Adres VARCHAR<45)

I);

Następnym krokiem tworzenia relacji jest utworzenie tabeli Ksiazka, w której zostanie dodana dodatkowa kolumna, mająca własności klucza obcego. W tym przypadku będzie to kolumna o nazwie W_ID, która będzie się odnosi się do numeru ID w tabeli Wydawnictwo. Dlatego typ kolumny W ID to INT, gdyż taki typ posiada kolumna ID (będąca PK) w tabeli Książka. Stąd zapytanie SQL tworzące tabelę Ksiazka ma postać CREATE TABLE Ksiazka (

ID INT PRIMARY KEY,

Tytuł VARCHAR(45), iLiczbaStr tinyint,

W_ID INT

!> L    I

Ostatnim elementem tworzenia relacji jest dodanie do tabeli Ksiazka ograniczenia klucza obcego. Schemat takiego zapytania ma postać ALTER TABLE tabelaA ADD CONSTRAINT nazwa_ograniczenia FOREIGN KEY (kolumnaFK)

REFERENCES tabelaB(kolumnaPK)[ON DELETE CASCADE ON UPDATE CASCADE]

gdzie nazwa ograniczenia to nazwa identyfikujące ograniczenia a tabelaA to nazwa tabeli która zawiera kolumnę klucza obcego kolumnaFK. Występujące w zapytaniu tabelaB i kolumnaPK to odpowiednio nazwa tabeli której wartości klucza głównego znajdą się w kolumnie kolumnaFK oraz nazwa kolumny klucza głównego tabeli tworzącej relacje (tj. tabeli o nazwie tabelaB). Opcjonalne słowa kluczowe ON DELETE CASCADE i ON UPDATE CASCADE zapewniają integralność relacji.

W omawianym przypadku, zapytanie SQL dodające ograniczenia klucza obcego ma postać

iALTER TABLE ksiazka ADD constraint ks_FK_w FOREIGN KEY (W_ID)

REFERENCES wydawnictwo(ID) ON DELETE CASCADE ON UPDATE CASCADE

Alternatywą do dodawania referencji po utworzeniu obydwu tabel jest utworzenie referencji w momencie tworzenia tabeli książki



Wyszukiwarka

Podobne podstrony:
CREATE TABLE Ksiazka ( ID INT PRIMARY KEY, Tytuł VARCHAR(45), LiczbaStr tinyint, W_ID INT, CONSTRAIN
Problem jajka i kury Rozważmy deklaracje create table Kura( id int primary key, j aj k o_ i d int re
skanuj0315 (2) 330 PHP i MySQL dla każdego CREATE TABLE Autorzy( Id INTEGER PRIMARY KEY. Imię VARCHA
wbach=> CREATE TA3LE wypożyczenie( IdWypozyczenia int PRIMARY KEY, DataWypozyczenia
Problem jajka i kury Musimy utworzyć tabele Jajko i Kura bez deklaracji kluczy obcych:create table K
SQL Statement: CREATE TABLE Heroes (id int, name varchar(25), siblings int); Edit the SQL Statement,
Content CREATE TABLE App.Settings ( SessionID int PRIMARY KEY, WindowSettings xml
Document CREATE TABLE App.Settings ( SessionID int PRIMARY KEY, WindowSettings xml
Document CREATE TABLE App.Settings ( SessionID int PRIMARY KEY, WindowSettings xml
CREATE TABLE Droga ( nazwa VARCHAR(20) PRIMARY KEY, szczyt VARCHAR(15) REFERENCES Szczyt, trudn
39212 skanuj0333 (3) 348 PHP i MySQL dla każdegc CREATE TABLE Klienci! Id INTEGER AUTO INCREMENT P
skanuj0330 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 345 CREATE TABLE Zamówienie( Id INTEGER AU
Klucze obce Klucze obce deklarujemy jako create table Malzenstwaj maz int references Osoby(id), 

więcej podobnych podstron