KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2010

PYTANIE NR 9.
Proces optymalizacji relacyjnej bazy danych, mający na celu eliminację powtarzających się danych, to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Normalizacja to proces projektowania relacyjnej bazy danych polegający na takim podziale i uporządkowaniu tabel, aby ograniczyć redundancję (powtarzanie danych) i zmniejszyć ryzyko anomalii wstawiania, modyfikacji oraz usuwania. Pozostałe określenia nie są nazwą tego procesu w teorii baz danych.

Pełne wyjaśnienie:

Proces eliminowania powtarzających się danych w relacyjnej bazie danych nazywa się normalizacją. Polega on na porządkowaniu schematu: dzieleniu dużych, "przeładowanych" tabel na mniejsze oraz ustalaniu poprawnych zależności między nimi tak, aby każdy fakt był zapisany możliwie w jednym miejscu.

Normalizacja jest opisywana kolejnymi postaciami normalnymi (m.in. 1NF, 2NF, 3NF). W praktyce bardzo często dąży się do 3NF, bo zwykle daje dobrą równowagę między porządkiem danych a złożonością zapytań.

Dlaczego to jest ważne? Nadmiarowe (zdublowane) dane sprzyjają błędom: jeśli ta sama informacja występuje w kilku miejscach, łatwo zaktualizować tylko jedno z nich i utracić spójność. Normalizacja ogranicza też anomalię wstawiania (problem z dopisaniem danych), anomalię modyfikacji (niespójne aktualizacje) oraz anomalię usuwania (utrata informacji "przy okazji" skasowania rekordu).

Odpowiedź "planowanie" jest zbyt ogólna i nie jest terminem opisującym formalny proces projektowania schematu tabel. Odpowiedź "redukcja" może kojarzyć się z ograniczaniem danych, ale w bazach danych nie oznacza konkretnego, zdefiniowanego procesu postaci normalnych. Odpowiedź "relacja" to podstawowe pojęcie modelu relacyjnego (tabela/związek), a nie nazwa procesu optymalizującego strukturę pod kątem redundancji.

Warto pamiętać też o praktycznym wyjątku: czasem stosuje się kontrolowaną denormalizację dla wydajności odczytu, ale jest to świadome odejście od zasad normalizacji, a nie jej zamiennik.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Normalizacja to sposób projektowania relacyjnej bazy danych, w którym porządkuje się tabele tak, aby ograniczyć powtarzanie tych samych informacji i poprawić spójność danych. Najczęściej robi się to przez podział tabel i poprawne powiązania kluczami.
Bo dąży do tego, aby jeden fakt był zapisany w jednym miejscu, a nie kopiowany do wielu wierszy lub tabel. Zamiast duplikować dane, przechowuje się je w osobnej tabeli i łączy relacjami, co zmniejsza liczbę powtórzeń.
Redundancja to niepotrzebne powtarzanie tej samej informacji (np. adresu klienta) w wielu rekordach. Skutkiem mogą być błędy aktualizacji, większe zużycie miejsca i trudniejsza kontrola spójności danych, zwłaszcza przy modyfikacjach.
Najczęściej wskazuje się anomalię wstawiania, modyfikacji i usuwania. Chodzi o sytuacje, gdy przez złą strukturę tabel nie da się dopisać danych bez "pustych" pól, aktualizacja wymaga zmian w wielu miejscach albo usunięcie rekordu kasuje też potrzebną informację.
To kolejne etapy porządkowania tabel. 1NF usuwa grupy powtarzające się i wymaga atomowych wartości. 2NF eliminuje zależności częściowe od klucza złożonego. 3NF usuwa zależności przechodnie, aby atrybuty nie zależały od innych atrybutów niekluczowych.
Często na etapie 3NF, bo zwykle daje dobrą spójność i ogranicza anomalie, a jednocześnie nie wymusza nadmiernej liczby złączeń JOIN. To typowy kompromis: dane są uporządkowane, ale zapytania nadal da się pisać i wykonywać wydajnie.
Nie zawsze. Normalizacja poprawia jakość i spójność danych, ale może zwiększyć liczbę tabel i potrzebę złączeń JOIN, co bywa kosztowne. Dlatego czasem stosuje się kontrolowaną denormalizację lub inne techniki (np. indeksy), zależnie od obciążenia systemu.
Normalizacja dotyczy struktury danych (jak podzielone są tabele i zależności), a indeksowanie dotyczy przyspieszania dostępu do danych w już zaprojektowanych tabelach. Indeksy nie usuwają redundancji; poprawiają głównie czas wyszukiwania i sortowania.
W modelu relacyjnym relacja to formalnie tabela (zbiór krotek/wierszy o określonych atrybutach/kolumnach) lub związek między encjami zależnie od kontekstu nauczania. To pojęcie opisuje element modelu, a nie proces projektowy taki jak normalizacja.
Szukaj sformułowań: "eliminacja powtarzających się danych", "redundancja", "anomalia wstawiania/modyfikacji/usuwania", "postacie normalne", "dekompozycja tabel". Te hasła zwykle wskazują na normalizację, a nie na indeksy, kopie zapasowe czy planowanie.
info

Około 59% zdających odpowiada poprawnie na to pytanie. średnie

Specjaliści zwracają uwagę: "Pozostałe określenia nie są nazwą tego procesu w teorii baz danych."

Źródła:

  • E. F. Codd, "A Relational Model of Data for Large Shared Data Banks", Communications of the ACM, Vol. 13, No. 6, 1970
  • Abraham Silberschatz, Henry F. Korth, S. Sudarshan, "Database System Concepts", rozdziały o projektowaniu relacyjnym i normalizacji (wydania współczesne)
  • Ramez Elmasri, Shamkant B. Navathe, "Fundamentals of Database Systems", rozdział o modelu relacyjnym i normalizacji (wydania współczesne)

Materiały:

  • Rozdziały o normalizacji i postaciach normalnych w podręczniku do baz danych
  • Notatki/ściąga z definicjami 1NF, 2NF, 3NF oraz przykładami anomalii
  • Ćwiczenia projektowe: dekompozycja jednej tabeli do kilku tabel w 3NF

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego