Wskaż prawidłową kolejność tworzenia bazy danych.
Pytanie z egzaminu CKE, wrzesień 2014 (arkusz E.14-X-14.08).
Według klucza CKE kolejność jest taka: określenie celu, stworzenie tabel, utworzenie relacji, normalizacja. Najpierw trzeba wiedzieć, jakie dane i po co baza ma przechowywać. Potem powstają tabele z kolumnami. Relację da się zdefiniować dopiero między istniejącymi tabelami, bo klucz obcy wskazuje kolumnę innej tabeli. Na końcu projekt sprawdza się pod kątem postaci normalnych i usuwa powtórzenia danych.
W praktyce normalizacja często wraca kilka razy, bo po podziale tabeli trzeba dodać nową relację. Zasada do zapamiętania: relacja zawsze łączy tabele, które już istnieją, więc nie może jej poprzedzać. Przykład z MySQL: najpierw CREATE TABLE klasy (...) i CREATE TABLE uczniowie (...), dopiero potem klucz obcy FOREIGN KEY (id_klasy) REFERENCES klasy (id).
Najczęstszy błąd w tym pytaniu to ustawienie relacji przed tabelami. Relacja to powiązanie kolumny jednej tabeli z kluczem drugiej, więc bez tabel nie ma czego łączyć. Ten sam problem mają oba ciągi, w których utworzenie relacji stoi przed stworzeniem tabel.
Kolejność z normalizacją tuż po określeniu celu wygląda rozsądnie, bo w teorii projektowania normalizuje się schemat jeszcze na papierze. Klucz CKE przyjmuje jednak model pracy, w którym normalizację wykonuje się na gotowych tabelach i relacjach: sprawdza się, czy nie powtarzają się dane, i w razie potrzeby dzieli tabele. Dlatego poprawny jest ciąg: określenie celu, stworzenie tabel, utworzenie relacji, normalizacja. Ciąg, w którym tabele powstają po normalizacji, a relacje na końcu, pomija tę zależność od istniejących tabel tylko pozornie, bo stawia normalizację przed tabelami, które ma ocenić.