skanuj0332 (3)

skanuj0332 (3)



Rozdział 12. ♦ Tworzenie bazy w praktyce 347

oznaczać to będzie, że Jan Kowalski, Andrzej Nowak i Adam Malinowski to w rzeczywistości ten sam autor, publikujący pod różnymi pseudonimami. Możemy też przyjąć dodatkowo założenie, że pierwsza kolumna odzwierciedla dane autorów, a druga — pseudonimów. Wtedy będziemy w stanie powiedzieć również, że Jan Kowalski to prawdziwe imię i nazwisko autora publikującego pod pseudonimami Andrzej Nowak i Adam Malinowski. Musimy się jednak dobrze zastanowić, czy na pewno zawsze będzie można wysnuć taki wniosek. Istnieje bowiem możliwość, że autor o nieznanym nam prawdziwym imieniu i nazwisku będzie publikował pod dwoma różnymi pseudonimami. W takim wypadku dodatkowe założenie, że pierwsza kolumna zawsze przedstawia faktyczne dane autora, nie będzie już prawdziwe. Niezależnie jednak od tego, którą z powyższych opcji przyjmiemy, taka konstrukcja tabeli Autorzy Pseudonimy zawsze pozwoli nam odnaleźć książki jednego autora publikującego pod różnymi nazwiskami, a takie było właśnie nasze pierwotne założenie. Instrukcja SQL tworząca tę tabelę będzie miała postać:

CREATE TABIE AutorzyPseudonimyt 'AutorId1' INTEGER NOT NULL.

'AutorId2" INTEGER NOT NULL.

PRIMARY KEYCAutorldl'. 'AutorId2')

Pełny kod tworzący podstawową strukturę tabel został przedstawiony na listingu 12.1, natomiast szczegółowy diagram tabel zawierający zapis ich struktury jest widoczny na rysunku 12.5.

Listing 12.1. Kod tworzący tabele bazy obsługującej księgarnię_

CREATE TABLE Książki(

'Id' INTEGER AUTO INCREMENT PRIMARY KEY. 'Wydawnictwold' INTEGER NOT NULL.

'Tytuł' VARCHAR<45) NOT NULL.

'ISBN' VARCHAR(10),

'Rok wydania' YEAR.

'Opis' TEXT,

'Cena' DECIMAL(5.2)

CREATE TABLE Autorzyt 'Id' INTEGER AUTOJNCREMENT PRIMARY KEY. 'Nazwa' VARCHAR(45) NOT NULL

CREATE TABLE KsiążkiAutorzyt 'Książkald' INTEGER NOT NULL. 'Autorld' INTEGER NOT NULL.

PRIMARY KEY('KsiążkaId', 'Autorld')

CREATE TABLE Wydawnictwat 'Id' INTEGER AUTOJNCREMENT PRIMARY KEY. 'Nazwa' VARCHAR(45) NOT NULL.

'Adres' VARCHAR(60)


Wyszukiwarka

Podobne podstrony:
skanuj0328 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 343 Żadnego problemu nie sprawi nam również
skanuj0330 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 345 CREATE TABLE Zamówienie( Id INTEGER AU
skanuj0334 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 349 Rysunek 12.5. Szczegółowy diagram tabel
skanuj0336 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 351 oraz dwa klucze obce: ALTER TA8LE Książk
skanuj0342 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 357 SELECT Zamówieni a.Id. Tytuł . Ilość
59281 skanuj0326 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 341 Relacja między klientami a zamówie
13879 skanuj0340 (3) Rozdział 12. ♦ Tworzenie bazy w praktyce 355 (9. 4. 2006-05-22’. NULL. 0). (10
77552 skanuj0338 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 353 ALTER TABIE Książki ADO INDEX Ksi
52297 skanuj0324 (2) Rozdział 12. ♦ Tworzenie bazy w praktyce 339 ♦    Książki — prze

więcej podobnych podstron