Wskaż poprawną kolejność etapów projektowania relacyjnej bazy danych.
A. Selekcja, Określenie relacji, Określenie kluczy podstawowych tabel, Określenie zbioru danych.
Źle. Selekcja wymaga zebranych danych, a relacje - kluczy, więc kolejność jest odwrócona.
B. Określenie kluczy podstawowych tabel, Określenie zbioru danych, Selekcja, Określenie relacji.
Źle. Kluczy nie da się ustalić, zanim wiadomo, jakie dane i tabele będą w bazie.
C. Określenie relacji, Określenie kluczy podstawowych tabel, Selekcja, Określenie zbioru danych.
Źle. Relacje łączą klucze, więc nie mogą powstać jako pierwszy etap.
D. Określenie zbioru danych, Selekcja, Określenie kluczy podstawowych tabel, Określenie relacji.
Dobrze. Dane, podział na tabele, klucze podstawowe, a na końcu relacje.
Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).
Projektowanie relacyjnej bazy zaczyna się od pytania, jakie dane trzeba przechowywać. Najpierw określa się zbiór danych, czyli wszystkie informacje, którymi aplikacja będzie się posługiwać. Potem następuje selekcja: dane dzieli się na grupy opisujące osobne obiekty, z których powstaną tabele, na przykład klienci, zamówienia, produkty. Gdy tabele są już znane, każdej nadaje się klucz podstawowy (główny), który jednoznacznie identyfikuje wiersz. Na końcu określa się relacje, bo do połączenia tabel potrzebne są klucze - klucz obcy w jednej tabeli wskazuje klucz podstawowy w drugiej. Do zapamiętania: dane, tabele, klucze, relacje. Ta kolejność jest logiczna, bo każdy etap korzysta z wyniku poprzedniego.
Problem z tym zadaniem najczęściej wynika z tego, że wszystkie listy zawierają te same cztery etapy i trzeba sprawdzić tylko zależności między nimi. Kluczy podstawowych nie da się wyznaczyć, zanim wiadomo, jakie dane i jakie tabele będą w bazie, więc zaczynanie od kluczy nie ma sensu. Relacji nie można zaprojektować przed kluczami, bo właśnie klucze łączą tabele - relacja to powiązanie klucza obcego z kluczem podstawowym. Selekcja, czyli podział danych na tabele, wymaga z kolei wcześniejszego określenia zbioru danych: nie da się pogrupować czegoś, czego jeszcze nie zebrano. Kolejność stojąca na nogach to: określenie zbioru danych, selekcja, określenie kluczy podstawowych tabel i dopiero na końcu określenie relacji. W praktyce po tych etapach przychodzi jeszcze normalizacja i wybór typów danych dla kolumn.