Digitalisering for økonomer > Andre oppgaver > 6.4 Pizzabakeri

Pizzaspesialisten AS produserer og selger pizza, der hvert produkt er en pizzatype som har et nummer, navn, beskrivelse og pris pr. stykk. Hvert salg har et salgsnummer og en dato og kan omfatte flere produkter, slik at hver salgslinje inneholder én og bare én pizzatype samt antall pizzaer. Hvert produkt/pizzatype har sine råvarer, og hver råvare har en beskrivelse, måleenhet og pris pr. enhet. Pizzaspesialisten utvider stadig sitt sortiment, og har produkter som ennå ikke er solgt og råvarer som ikke brukes i noe produkt.

a) Utarbeid et ER-diagram for den delen av pizzabakeriets datamodell som er beskrevet ovenfor. Presisér eventuelle forutsetninger du tar.

b) Hva menes med normalisering av tabellene i en database og hva er formålet med normalisering? Forklar kort hva 1., 2. og 3. normalform innebærer.

c) Sett opp normaliserte tabelldefinisjoner med utgangspunkt i ER-diagrammet i punkt b).

 

a) ER-diagram

Oppgaveteksten gir lite/intet rom for andre entitetstyper og koblingstyper enn dem som er vist i løsningsforslaget. Det er anledning til men ikke påkrevd å utvide ER-diagrammet slik at den påkrevde koblingstabellen mellom produkt og råvare vises.

b) Normalisering av en database vil si å bringe tabellene på normalform som betyr å sikre at alle feltene i hver tabell er funksjonelt avhengige av hele primærnøkkelen og kun primærnøkkelen. N. skjer trinnvis ved å bringe tabellene på 1., så 2.osv. normalform. Formålet med N. er primært å hindre redundans, dvs. dobbeltlagring av data, at samme dataelement lagres i flere tabeller. Dette bidrar til å sikre at en database blir konsistent og enklere å vedlikeholde.

Kort forklaring av de tre første normalformene:

1NF: ikke gjentagende grupper, ikke flere verdier i ett felt.

2NF: gjelder kun sammensatt primærnøkkel. 1NF samt at ingen felt kan være avhengig av kun deler av den sammensatte primærnøkkelen.

3NF: 2NF samt at alle felt utenom primærnøkkelen i en tabell er innbyrdes uavhengige.

c)

Tabelldefinisjoner:

ER-diagrammet i a) og informasjonsbehovet i angitt i oppgaveteksten gir opphave til følgende fem tabeller:

Salg(SalgNr, Dato)
Produkt(PizzaNr, Navn, Beskrivelse, StkPris)
Salgslinje(*SalgNr, *PizzaNr, Antall)
Råvare(RåvareNr, Beskriv, Måleenh, EnhPris)
ProduktRåvare(*PizzaNr, *RåvareNr)