Tabela (bazy danych)
Z Wikipedii
ISBN | tytuł |
---|---|
1-234-56787-0 | Zmyślona książka |
1-234-56788-0 | Zmyślona opowieść |
1-234-56789-0 | Zmyślona historia |
Tabela w bazach danych jest wydzielonym logicznie zbiorem danych, zorganizowanych w formie tabeli składającej się z wierszy dzielonych na kolumny. Jest to obiekt teoretyczny i nie należy go mylić z jej graficzną reprezentacją, czy miejscem zajmowanym w pamięci komputera. W zależności od typu bazy danych wewnętrzna organizacja podziału danych na kolumny i wiersze jest różna i często umowna.
Pojedyncza tabela może być reprezentacją pewnej encji (np. książek, mieszkań, ludzi), relacji między nimi, albo może stanowić zawartość całej bazy danych. Pojedynczy wiersz tabeli nazywany jest rekordem i stanowi najczęściej zbiór danych o pojedynczym obiekcie (ew. grupie obiektów).
W relacyjnym modelu baz danych i podobnych, kolumny stanowią zwykle atrybuty jakiegoś obiektu (np. wielkość, grubość, tytuł, nazwisko) i stąd dane zawarte w kolumnach mają najczęściej jeden określony typ. Dodatkowo w bazach obsługiwanych przez język SQL kolumnom nadawane są nazwy, także poza etapem projektowym i nazwy te są unikatowe w obrębie jednej tabeli.
Do identyfikacji wierszy stosuje klucz główny (ang. primary key), czyli jedną z kolumn lub ich grupę, których wartości są unikatowe w całej tabeli (dzięki czemu jednoznacznie identyfikują wiersz).
Klucz główny może być:
- ukrytym przed użytkownikami identyfikatorem, który jest nadawany automatycznie przez system obsługujący bazę danych; w szczególności wiersz może być wówczas identyfikowany poprzez położenie w zbiorze danych (stosowane zwykle wtedy, gdy wszystkie rekordy mają stałą, tak samą wielkość);
- jawnym numerycznym kluczem, wybranym w procesie projektowania bazy danych, a w trakcie jej używania automatycznie zwiększanym przez system obsługujący bazę danych;
- jawnym kluczem składającym się z pojedynczej lub wielu kolumn; taka kolumna (kolumny) może być teoretycznie dowolnego typu, czy to numerycznego, czy tekstowego, czy nawet binarnego, niektóre systemy bazodanowe narzucają jednak pewne ograniczenia, wynikające z tego, że klucze te są indeksowane.
id | ISBN | tytuł |
---|---|---|
1 | 1-234-56787-0 | Zmyślona książka |
2 | 1-234-56788-0 | Zmyślona opowieść |
3 | 1-234-56789-0 | Zmyślona historia |
4 | brak | O planie wprowadzania ISBN, czy warto? |
W tradycyjnym, relacyjnym modelu baz danych, zalecano by klucz główny składał się z kolumn (kolumny), których wartości nie są sztucznie wprowadzone. W pierwszym przykładzie (na górze), mógłby to być ISBN. W praktyce trudno jest znaleźć kolumnę, której wartości będą unikatowe (przykład. 2. – po prawej). W takim przypadku należałoby rozszerzyć klucz głównym, jednak w zastosowaniu praktycznym klucz główny nie powinien składać się z paru kolumn (ze względu na powolniejszy dostęp do danych). Zamiast tego stosuje się dodatkową, sztuczną wartość numeryczną (najczęściej kolejne liczby naturalne). Wprowadzona dodatkowa kolumna zazwyczaj nie może być zmieniana i jest nadawana automatycznie przez system zarządzania bazą danych. Poza ułatwieniem dla programisty, tak stworzony klucz przyśpiesza także indeksowanie i łączenie tabel oraz ułatwi rozwój bazy danych.