Skip to main content

Podstawy normalizacji baz danych

Microsoft Access szkolenie normalizacja baz danych #7 (Kwiecień 2024)

Microsoft Access szkolenie normalizacja baz danych #7 (Kwiecień 2024)
Anonim

Jeśli pracujesz z bazami danych przez jakiś czas, prawdopodobnie znasz już termin "normalizacja". Być może ktoś cię zapytał "Czy ta baza danych jest znormalizowana?" lub "Czy to w BCNF?" Normalizacja jest często odsunięta na bok jako luksus, na który tylko naukowcy mają czas. Jednak znajomość zasad normalizacji i zastosowanie ich do codziennych zadań związanych z projektowaniem baz danych nie jest wcale tak skomplikowana i może radykalnie poprawić wydajność systemu DBMS.

W tym artykule przedstawimy koncepcję normalizacji i krótko spojrzymy na najczęstsze normalne formy.

Czym jest normalizacja?

Normalizacja to proces sprawnego organizowania danych w bazie danych. Istnieją dwa cele procesu normalizacji: eliminacja zbędnych danych (na przykład przechowywanie tych samych danych w więcej niż jednej tabeli) i zapewnienie zgodności z danymi (tylko przechowywanie powiązanych danych w tabeli). Obie te wartości są godnymi celami, ponieważ zmniejszają ilość miejsca, które zajmuje baza danych i zapewniają logiczne przechowywanie danych.

Normalne formy

Społeczność baz danych opracowała serię wytycznych dla zapewnienia normalizacji baz danych. Są one nazywane normalnymi postaciami i są ponumerowane od jednej (najniższa forma normalizacji, określanej jako pierwsza normalna forma lub 1NF) do pięciu (piąta normalna forma lub 5NF). W praktycznych zastosowaniach często widzisz 1NF, 2NF i 3NF razem ze sporadycznymi 4NF. Piąta normalna forma jest bardzo rzadko spotykana i nie będzie omawiana w tym artykule.

Zanim rozpoczniemy dyskusję na temat normalnych formularzy, należy podkreślić, że są one jedynie wytycznymi i wytycznymi. Czasami konieczne staje się odejście od nich w celu spełnienia praktycznych wymagań biznesowych. Jednak, gdy mają miejsce zmiany, niezwykle ważne jest, aby ocenić ewentualne konsekwencje, jakie mogą one mieć w systemie i uwzględnić ewentualne niespójności. To powiedziawszy, zbadajmy normalne formy.

Pierwsza normalna forma (1NF)

Pierwsza normalna forma (1NF) określa bardzo podstawowe reguły dla zorganizowanej bazy danych:

  • Wyeliminuj powtarzające się kolumny z tej samej tabeli.
  • Twórz oddzielne tabele dla każdej grupy powiązanych danych i identyfikuj każdy wiersz za pomocą unikalnej kolumny lub zestawu kolumn (klucz podstawowy).

Druga postać normalna (2NF)

Druga normalna forma (2NF) dodatkowo rozwiązuje problem usuwania powtarzających się danych:

  • Spełnij wszystkie wymagania pierwszej normalnej formy.
  • Usuń podzbiory danych, które dotyczą wielu wierszy tabeli i umieść je w osobnych tabelach.
  • Twórz relacje między tymi nowymi tabelami a ich poprzednikami za pomocą obcych kluczy.

Trzecia postać normalna (3NF)

Trzecia normalna forma (3NF) idzie o jeden krok dalej:

  • Spełnij wszystkie wymagania drugiej normalnej formy.
  • Usuń kolumny, które nie są zależne od klucza podstawowego.

Normalna forma Boyce'a-Codda (BCNF lub 3.5NF)

Normalna forma Boyce'a-Codda, określana również jako "trzecia i druga (3.5) normalna forma", dodaje jeszcze jeden wymóg:

  • Spełnij wszystkie wymagania trzeciej normalnej formy.
  • Każda determinanta musi być kluczem kandydującym.

Czwarta postać normalna (4NF)

Wreszcie czwarta normalna forma (4NF) ma jedno dodatkowe wymaganie:

  • Spełnij wszystkie wymagania trzeciej normalnej formy.
  • Relacja jest w 4NF, jeśli nie ma zależności wielowartościowych.

Pamiętaj, że te wytyczne dotyczące normalizacji są kumulatywne. Aby baza danych była w 2NF, musi najpierw spełnić wszystkie kryteria bazy danych 1NF.

Czy powinienem normalizować?

Chociaż normalizacja baz danych często jest dobrym pomysłem, nie jest to bezwzględne wymaganie. W rzeczywistości istnieją przypadki, w których dobrowolną praktyką jest celowe łamanie zasad normalizacji. Aby uzyskać więcej informacji na ten temat, przeczytaj artykuł Czy normalizować moją bazę danych?

Jeśli chcesz upewnić się, że twoja baza danych jest znormalizowana, zacznij od nauki, jak umieścić swoją bazę danych w pierwszej normalnej formie.