skanuj0244 (3)

skanuj0244 (3)



Rozdział 9. ♦ Podstawy MySQL 257

Pomiędzy tymi tabelami, a ściślej danymi w tych tabelach, występują wiążące je relacje. Jak wygląda pojedyncza tabela z danymi? Każdy, kto widział kiedykolwiek dowolny arkusz kalkulacyjny, może ją sobie z łatwością wyobrazić. Tabela składa się z wierszy i kolumn. Każdy wiersz opisuje jeden rekord, a kolumna — właściwości danego rekordu. Załóżmy na przykład, że chcielibyśmy przechować w bazie dane dotyczące osób. Interesuje nas zapamiętanie imion, nazwisk oraz dat urodzenia. Należałoby zatem utworzyć tabelę zawierającą trzy kolumny. W pierwszej kolumnie byłyby zapisywane dane dotyczące imion, w drugiej — nazwisk, a w trzeciej — dat urodzenia osób. Taką przykładową tabelę obrazuje rysunek 9.17. Zawiera ona trzy wiersze z danymi dotyczącymi trzech różnych osób.

Imię

Nazwisko

Data urodzenia

Jan

Andrzej

Anna

Kowalski

Nowak

Jabłońska

1970- 01-01

1971- 02-02

1972- 03-03


Rysunek 9.17.

[ Przykładowa tabela zawierająca dane | dotyczące osób

Klucze

Jeśli zastanowimy się nad strukturą tabeli przedstawionej na rysunku 9.17, zapewne dostrzeżemy, że ma ona poważną wadę. Otóż nie pozwala na jednoznaczną identyfikacje konkretnej osoby. Może się przecież zdarzyć, że w bazie trzeba będzie zapisać dane dwóch Janów Kowalskich urodzonych pierwszego stycznia 1970 roku. Użycie struktury z rysunku 9.17 spowodowałoby powstanie dwóch rekordów o takich samych danych, których nie można byłoby rozróżnić (sytuacja taka została przedstawiona na rysunku 9.18).

Imię

Nazwisko

Data urodzenia

Jan

Kowalski

1970-01-01

Jan

Kowalski

1970-01-01

Andrzej

Nowak

1971-02-02

Anna

Jabłońska

1972-03-03


Rysunek 9.18.

I Nieprawidłowa struktura tabeli nie pozwala aa rozróżnienie m~*~których rekordów

Oczywiście w praktyce nie wolno do takiej sytuacji dopuścić, a zatem już podczas projektowania tabeli musimy stworzyć taką strukturę kolumn, aby każdy rekord mógł być jednoznacznie zidentyfikowany. W przypadku tabeli przechowującej dane osób moglibyśmy np. wprowadzić dodatkową kolumnę zawierającą PESEL danej osoby, który przynajmniej teoretycznie jest unikalny i niepowtarzalny. Najczęściej jednak do tabeli wprowadza się dodatkowe, abstrakcyjne (niemające odzwierciedlenie w rzeczywistych danych) pole identyfikujące każdy wiersz; mogłoby się ono nazywać np. Osobald. Tabela zawierająca takie pole została przedstawiona na rysunku 9.19. Jak widać, tym razem bez problemów możemy rozróżnić dwóch Janów Kowalskich, mimo że obaj urodzili się w tym samym dniu.

Taka kolumna, zawierająca wartość jednoznacznie identyfikującą każdy rekord, nazywana jest kluczem podstawowym (ang. primary key). Ogólnie rzecz biorąc kluczem możemy nazwać dowolnie wybrany zestaw kolumn, czyli np. Irai e. Nazwi sko to również klucz, niemniej klucz podstawowy powinien zawsze jednoznacznie identyfikować każdy


Wyszukiwarka

Podobne podstrony:
skanuj0232 (3) Rozdział 9. ♦ Podstawy MySQL 245 W przypadku wyboru instalacji standardowej lub pełne
skanuj0252 (3) Rozdział 9. ♦ Podstawy MySQL 265 „Klucze”. Najczęściej wprowadzamy w tym celu do tabe
skanuj0254 (3) Rozdział 9. ♦ Podstawy MySQL 267Zarządzanie kontami użytkownikówNadawanie praw Podcza

więcej podobnych podstron