Rozdział 12. ♦ Tworzenie bazy w praktyce 343
Żadnego problemu nie sprawi nam również tabela KsiazkiAutorzy łącząca wpisy z tabel Książki i Autorzy; będzie ona zawierała jedynie dwie kolumny:
Książkald — typu INTEGER, zawierającą identyfikatory książek,
Autorld — typu INTEGER, zawierającą identyfikatory autorów.
W tej tabeli nie musimy wprowadzać dodatkowego pola Id (choć jest to oczywiście możliwe), jako że obie wymienione kolumny jednoznacznie identyfikują każdy rekord i tworzą w rzeczywistości klucz podstawowy. Instrukcja tworząca tabelę KsiazkiAutorzy będzie zatem miała postać:
CREATE TABLE KsiazkiAutorzy(
'Książkald' INTEGER NOT NULL.
'Autorld' INTEGER NOT NULI.
PRIMARY KEYCKsiąźkald'. 'Autorld')
W tabeli Wydawnictwa będziemy przechowywali informacje o nazwach i adresach wydawnictw. Musimy zdecydować, czy dane adresowe przechowamy w jednej czy kilku kolumnach. Ponieważ jest mało prawdopodobne, abyśmy mieli wyszukiwać wydawnictwa znajdujące się na jednej ulicy czy w jednym mieście, zapiszemy te dane w jednej kolumnie. W związku z tym w tabeli znajdą się następujące kolumny:
♦ Id — typu INTEGER, przechowująca unikalny identyfikator wydawnictwa;
♦ Nazwa — typu VARCHAR, przechowująca nazwę wydawnictwa. Przyjmiemy, że maksymalna długość tej kolumny to 45 znaków;
♦ Adres — typu VARCHAR, przechowująca adres wydawnictwa. Przyjmiemy, że maksymalna długość tej kolumny to 60 znaków;
Tabelę Wydawnictwa utworzymy zatem za pomocą instrukcji:
CREATE TABLE Wydawnictwa!
'Id' INTEGER AUTOJNCREMENT PRIMARY KEY.
'Nazwa' VARCHAR(45) NOT NULL.
'Adres' VARCHAR(60)
Tabela KI ienci będzie miała większą liczbę kolumn niż dotychczas powstałe. Adres każdego klienta będzie rozbity na poszczególne składowe, tak abyśmy mogli w łatwy sposób wyszukiwać klientów w danych regionach kraju, miastach, czy nawet na konkretnej ulicy. Użyjemy następujących kolumn:
♦ Id — typu INTEGER, przechowującą unikalny identyfikator klienta;
♦ Imię — typu VARCHAR, przechowującą imię klienta. Przyjmiemy, że maksymalna długość tej kolumny to 45 znaków;
♦ Nazwisko — typu VARCHAR, przechowującą nazwisko klienta. Przyjmiemy, że maksymalna długość tej kolumny to 45 znaków;
♦ Ulica — typu VARCHAR, przechowującą nazwę ulicy. Przyjmiemy, że maksymalna długość tej kolumny to 45 znaków;