Pojęcia

Schemat

Szczegółowy schemat bazy danych jest traktowany przez wielu specjalistów jak ontologia (reprezentacja pewnej dziedziny wiedzy, na którą składa się zapis zbiorów pojęć) opisująca pojęcia (encje i atrybuty) oraz związki mini-świata będącego wybranym fragmentem rzeczywistości.

Relacja

W relacyjnym modelu bazy danych jest to zbiór krotek

Krotka

Zbiór związanych ze sobą krótkich informacji (np. Imię, nazwisko, adres pracownika). W bazie danych jest to wiersz tabeli/rekord zawierający uporządkowane atrybuty.

Atrybut

Zawartość encji, która opisuje jej szczegółowe właściwości. Jest to część krotki (np. imię pracownika w encji pracownicy). W konkretnej encji każdy atrybut będzie przechowywał jedną wartość.

Encja

Byt ze świata rzeczywistego, którego istnienie nie jest zależne od innych elementów (np. fizycznie istniejący obiekt - samochód, konkretna osoba lub obiekt, którego istnienie ma charakter koncepcyjny - firma, praca czy przedmiot wykładany na uniwersytecie).

Tabela

Wydzielony logicznie zbiór danych, zorganizowanych w formie tabeli składających się z wierszy podzielonych na kolumny.

Wiersz

Pozioma część tabeli, inaczej krotka

Kolumna

Pionowa część tabeli. Zwykle stanowią atrybuty jakiegoś obiektu. Dane zawarte w kolumnach najczęściej mają jeden określony typ.

Baza danych

Zbiór danych oraz narzędzi SZBD przeznaczonych do zarządzania bazą danych oraz gromadzenia, przekształcania i wyszukiwania danych.
Jest to zbiór danych, który dotyczy rzeczywistości - a konkretnie określonego jej fragmentu, który reprezentuje.

Iloczyn kartezjański

Zbiór zawierający pary elementów należących od wszystkich branych pod uwagę zbiorów.

Schemat relacji

Informacja o strukturze i atrybutach, które opisują daną relację.

Zbiór

W informatyce jest to abstrakcyjny typ danych, który może przechowywać unikalne wartości bez określonej kolejności.

Podzbiór

Pewna "część" danego zbioru, składająca się z pewnej ilości jego elementów (np. wszystkich - podzbiór niewłaściwy, żadnego - podzbiór pusty, jednego - singleton/podzbiór jednoelementowy)

Klucz

Podstawowa koncepcja w teorii relacyjnych baz danych. Zapewnia tabelom możliwość skorelowania ze sobą dwóch lub więcej tabel. Może też pozwalać na identyfikację danego rekordu

Klucz główny (Primary key)

Wybrany minimalny zestaw atrybutów relacji, jednoznacznie identyfikujący każdy rekord tej relacji. Musi przyjmować wyłącznie wartości niepowtarzalne i nie może być wartością pustą (null). Każda relacja może mieć najwyżej jeden klucz główny. Klucz główny może być także kluczem kandydującym

Cechy klucza głównego

  • Trwałość - pole kluczowe nie może być puste i nie może zawierać wartości NULL
  • Unikatowość - dane w polu kluczowym nie mogą się powtarzać
  • Stabilność - dane w polu kluczowym nie mogą się zmienić; dla kolumn kluczowych nie powinno się przypisywać danych nietrwałych, tj. np. nr telefonu
  • Nieredukowalność - nie może mieć żadnych kolumn usuniętych z niego bez utraty unikalnej właściwości identyfikacyjnej

Klucz obcy (Foreign key)

Kombinacja jednego lub wielu atrybutów tabeli, które wyrażają się w dwóch lub większej liczbie relacji (tabel). Wykorzystywany do tworzenia powiązania pomiędzy tabelami, gdzie w jednej tabeli zbiór atrybutów jest kluczem obcym, a w drugiej kluczem głównym.
Przykład klucza obcego przedstawionego w języku SQL:

FOREIGN KEY (WYDZP) REFERENCES WYDZIALY(NAZWAW)

Klucz kandydujący

Minimalny zestaw atrybutów relacji, jednoznacznie identyfikujący każdą krotkę w tej relacji.

W relacji może znajdować się wiele kluczy potencjalnych (zwanych czasem kandydującymi). Spośród kluczy potencjalnych wybiera się zazwyczaj jeden klucz, zwany kluczem głównym.

Klucz prosty

Klucz jednoelementowy - oparty na jednej kolumnie

Klucz złożony

Klucz wieloelementowy - oparty na wielu kolumnach

Superklucz (Superkey)

Kolumna lub zestaw kolumn jednoznacznie identyfikujących każdą krotkę w tabeli

Atrybut kluczowy

Tabela może zawierać więcej niż jeden klucz, ale tylko jeden klucz główny. Atrybutami kluczowymi nazywa się te, które należą do któregoś z kluczy.

Atrybut niekluczowy

Atrybuty, które nie należą do żadnego z kluczy.

Normalizacja bazy danych

Metoda projektowania dobrych relacyjnych baz danych, wprowadzona przez Edgarda F. Codda w latach 70-tych. Jeśli baza spełnia daną postać normalną, nie jest podatna na pewne modyfikacje, które wpłyną na integralność danych. Wadą spełniania takiego zestawu kryteriów jest zwykle to, że tworzenie zapytań do niektórych danych może być utrudnione.

Postać normalna

Zestaw kryteriów umożliwiający ustandaryzowanie bazy danych w celu eliminacji podatności na pewne modyfikacje, które mogą wpłynąć na integralność danych.

Pierwsza postać normalna

Relacja jest w pierwszej postaci normalnej, gdy:

  • opisuje jeden obiekt, wartości atrybutów są niepodzielne (atomowe/elementarne/skalarne) - każda kolumna jest wartością niepodzielną, a nie macierzą, listą lub czymś podobnym posiadającym własną strukturę
  • nie zawiera powtarzających się grup informacji (tzw. kolekcji)
  • kolejność wierszy może być dowolna (znaczenie danych nie zależy od kolejności wierszy)

Potocznie:
Wszystkie elementy są atomowe i żadne wiersze się nie powtarzają

Przed normalizacją do I postaci normalnej:

Płeć Imię
K Anna, Maria
M Jan, Piotr, Zenon

Po:

Płeć Imię
K Anna
M Jan
K Maria
M Piotr
M Zenon

Druga postać normalna

Relacja musi spełniać pierwszą postać normalną oraz wszystkie jej atrybuty niekluczowe muszą być w pełni zależne od każdego z kluczy kandydujących (jeśli w tabeli występują klucze złożone, to atrybuty niekluczowe muszą być zależne od całych kluczy, a nie tylko ich części)

Inaczej:

  • Każdy atrybut musi być w pełni zależny od klucza głównego/potencjalnego każdego wiersza
  • Kolumny, które nie sią powiązane z każdą inną kolumną i kluczem głównym są usuwane lub przenoszone do nowych tabel

Przed normalizacją do II postaci normalnej:

Płeć Imię Nazwisko Stanowisko Stawka za godzinę
K Anna Anonim Sekretarka 20 zł
M Jan Niezbędny Informatyk 22 zł
K Maria Enigma Sprzątaczka 15 zł
M Piotr Niewiadomy Informatyk 22 zł

Kolumny "Imię" i "Nazwisko" stanowią klucze potencjalne, a płeć jest zależna tylko od jednego z nich - kolumny "Imię"

Po:

Imię Nazwisko Stanowisko Stawka za godzinę
Anna Anonim Sekretarka 20 zł
Jan Niezbędny Informatyk 22 zł
Maria Enigma Sprzątaczka 15 zł
Piotr Niewiadomy Informatyk 22 zł

Oraz nowa tabela

Płeć Imię
K Anna
M Jan
K Maria
M Piotr

Stanowisko oraz stawka za godzinę (atrybuty powtarzalne, niekluczowe) są w pełni zależne od imienia i nazwiska pracownika (atrybuty kluczowe).

Trzecia postać normalna

Relacja spełnia drugą postać normalną oraz wszystkie atrybuty niekluczowe zależą od klucza wyłącznie bezpośrednio (nie przechodnio)

Przed normalizacją:

Imię Nazwisko Stanowisko Stawka za godzinę
Anna Anonim Sekretarka 20 zł
Jan Niezbędny Informatyk 22 zł
Maria Enigma Sprzątaczka 15 zł
Piotr Niewiadomy Informatyk 22 zł

Stawki godzinowe są zależne od stanowisk, niekoniecznie od imienia i nazwiska pracownika.

Po:

Imię Nazwisko Stanowisko
Anna Anonim Sekretarka
Jan Niezbędny Informatyk
Maria Enigma Sprzątaczka
Piotr Niewiadomy Informatyk

Oraz nowa tabela:

Stanowisko Stawka za godzinę
Sekretarka 20 zł
Informatyk 22 zł
Sprzątaczka 15 zł