1. Nauka
  2. /
  3. Kursy
  4. /
  5. Tworzenie baz danych w PostgreSQL

Connected

ćwiczenie

Za dużo normalizacji

Przypomnij sobie definicję tabeli loan.

CREATE TABLE loan (
    borrower_id INTEGER REFERENCES borrower(id),
    bank_id INTEGER REFERENCES bank(id),
    approval_date DATE NOT NULL DEFAULT CURRENT_DATE,
    gross_approval DECIMAL(9, 2) NOT NULL,
    term_in_months SMALLINT NOT NULL,
    revolver_status BOOLEAN NOT NULL DEFAULT FALSE,
    initial_interest_rate DECIMAL(4, 2) NOT NULL
);

Zaproponowano nową strukturę tej tabeli, która ma spełniać wymagania 1NF. W zmienionej definicji kolumna approval_date została zastąpiona trzema kolumnami: approval_month, approval_day oraz approval_year:

CREATE TABLE loan (
    ...
    approval_month SMALLINT,
    approval_day SMALLINT,
    approval_year SMALLINT,
    ...
);

To ćwiczenie pokazuje, jak nadmierna normalizacja może umożliwić wstawienie do tabeli nieprawidłowych danych.

Instrukcje

100 XP
  • Usuń polecenie INSERT INTO, którego wykonanie spowodowałoby wstawienie do tabeli nieprawidłowych danych.