Skip to main content
Dat 2nd Sem Fall 2025
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Normalisering

Opgave i normalisering og modellering

Tabellen nedenfor indeholder oplysninger fra revisionsfirmaet “Tørre Tal” omkring deres virksomhedskunder og en masse fake data om kunderne til brug for regnskabet. Data mangler en ordentlig struktur, så nu skal det lægges ned i en relationel database med en række tabeller.

Der er selvfølgelig en række problemer med den form data forefindes i. Data er bestemt ikke på hverken 1., 2. eller 3. normalform. Det er heller ikke klart hvordan data skal forstås. Du får nok brug for at stille nogle spørgsmål for at få afklaret nogle af sammenhængene. F.eks. har revisionsfirmaet en række kunder, som også har kunder. Det er jo noget rod rent begrebsmæssigt. Så vi vil anbefale, at man ser bort fra selve revisionsfirmaet, og tænker modellen som en samling af firmaer, der har nogle afdelinger, som igen har et antal kunder. At firmaerne så er revisionsfirmaets kunder er så en anden snak.

  1. Dan jer selv et overordnet billede af data ved at skitsere en domænemodel med relationer.
  2. Lav et ERD udfra domænemodellen. Det vil sige, at I skal tilføje primær og fremmednøgler, samt andre felter og deres datatyper.
  3. Beskriv hvad der skal gøres for at bringe data på 1NF, og lav det på modellen
  4. Beskriv hvad der skal gøres for at bringe data på 2NF, og lav det på modellen
  5. Beskriv hvad der evt. skal gøres for at bringe data på 3NF, og lav det på modellen
  6. Begynd at lave et ER diagram i Postgres og opret tabellerne via værktøjet.
  7. Fyld lidt data i tabellerne
  8. Lav et par simple sql forespørgsler:
    • Vis alle virksomhederne i databasen (vis kun navnet på virksomhederne)
    • Vis alle ansatte og deres mobiltelefonnummer
    • Vis alle ansatte som bor i 2200 Kbh N
    • Vis alle aktuelle kunder for Holte Vins afdeling på Kalvebod Brygge
    • Lav selv flere og evt mere avancerede forespørgsler
Virksomheds IDVirksomhedsnavnAfdelingsnummerAfdelingsadresseAfdelingslederAfdelingsleder mobilAnsatAnsat mobilAnsat hjemmenrAnsat adresseAdgang til firmabilFirmabil max passagererAnsættelsesdatoAktuelle kunder
32303098Holte Vin1Nedervænget 22, 3000 HelsingørMartin Duus49884432Frederik Hansen2298355440992843Ledregade 32, 2200 Kbh NAJ 32 98832011/01/31Nordea, ISS, Mærsk data,
32303098Holte Vin1Nedervænget 22, 3000 HelsingørMartin Duus49884432Birthe Jensen4983503955939500Vejsensgade 9, 2200 NørrebroAJ 32 98832013/10/23Nordea, Mærsk data, Honglins grill
32303098Holte Vin2Kalvebodbrygge 3, 1402 KbhAllan Malling32342565Hassan Al Midi4499380549993805Nørregade 3, 1504 KbhDD 59 30052017/08/09Støvsuger

Hvis du hellere vil se tabellen i Excel format, så download den her

Du kan læse om de forskellige data typer i Postgres her.

Her er den samlede dokumentation for Postgres.