Wpis ten został podzielony na dwie części. Jak doskonale wiecie uważam, że długie wpisy potrafią zmęczyć Czytelnika. Wrażenie takie jest potęgowane, gdy uczymy się nowych rzeczych. W pierwszej cześci omówimy:
krótką historię systemów zarządzania relacyjnymi bazami danych;
wyjaśnimy pojęcie tabeli, pola, rekodu oraz kolumny;
zdefiniujemy 'wartość' NULL.
Druga część to zagadnienia nieco bardziej skomplikowane:
ograniczenia;
integralność danych;
normalizacja baz danych.
RDBMS
Tak jak wspomniałem w poprzednim wpisie RDBMS to skrót od Relational Database Management System - system zarządzania relacyjną bazą danych. Opiera się on na modelu relacyjnym wprowadzonym przez E.F. Codd’a, który uznawany jest za 'ojca' relacyjnych baz danych.
Spójrzmy jeszcze nieco w przeszłość patrząc na kluczowe daty:
1970 – wspomiany wcześniej Dr. Edgar F. Codd pracujący dla IBM opisuje relacyjny model baz danych;
1974 – język SQL ujrzał światło dziennie;
1978 – na rynku ukazuje się produkt o nazwie System/R - jest to efekt rozwijania przez IBM pomysłów ‘ojca baz danych’;
1979 - Relational Software, znany dzisiaj jako Oracle, wypuszcza na rynek(produkt komercyjny) pierwszy system zarządzania relacyjnymi bazami danych;
1986 – SQL staje się standardem.
Tabele
Table są obiektami w bazie danych, które służą do przechowywania danych. Składają się z powiązanych ze sobą kolumn i wierszy. Jest to również najprostsza forma przechowywania danych w relacyjnej bazie danych. Spójrzcie na poniższy przykład:
Rekord jest poziomą jednostką danych zawartych w tabeli. Kolumna jest odwrotnością, stanowi pionową jednostkę danych zawartych w tabeli. W przypadku naszej tabeli kolumna MODEL zawiera informacje o wszystkich modelach aut zdefiniowanych w naszej tabeli:
Przejdźmy teraz do wyjaśnienia znaczenia 'wartości' NULL, którą mogliście zobaczyć w jednym z powyższych rekordów. NULL oznacza, że dane pole jest polem BEZ WARTOŚCI.
Pole NULL jest polem, które zostało pozostawione puste podczas tworzenia. Wartość tego pola jest inna niż wartość zerowa lub pole zawierające jedynie spacje.