Leer alles over SQL

De 1e normaalvorm

| geschreven door SQL Tutorial.nl

Met de resultaten uit de 0NV kunnen we verder met de eerste normaalvorm (1NV).

Wat we doen bij het normaliseren van de 1e normaalvorm is:

  1. Procesmatige gegevens worden verwijderd, want deze worden automatisch gegenereerd bij het maken van de factuur.
  2. We gaan de hoofdgroep een sleutel geven, deze moet namelijk uniek zijn.
  3. Repeterende gegevens worden samengevoegd en hieraan wordt de hoofdsleutel gegeven, maar ook een nieuwe unieke sleutel

We pakken de gegevens die we hebben verkregen bij het normaliseren naar de 0e normaalvorm erbij:

  • 0NV
  • FACTUUR
  • Factuurnummer
  • Factuurdatum
  • Klantnummer
  • Klantnaam
  • adres
  • postcode
  • woonplaats
  • aantal
  • omschrijving
  • prijs
  • totaal

1. Verwijderen procesmatige gegevens

Het totaalbedrag wordt berekend aan de hand van de bestelde items. Dit is een proces en wordt daarom verwijderd.

2. Bepalen van unieke sleutel

Het factuurnummer dient uniek te zijn en wordt om deze reden als unieke sleutel aangegeven.

3. Aangeven van repeterende gegevens (RG)

De velden aantal, omschrijving en prijs zijn herhalende gegevens. Deze geven we aan.

  • 1NV
  • FACTUUR
  • Factuurnummer
  • Factuurdatum
  • Klantnummer
  • Klantnaam
  • adres
  • postcode
  • woonplaats
  • [RG] aantal
  • [RG] omschrijving
  • [RG] prijs
  • totaal

We hebben de repeterende gegevens aangegeven, maar deze moeten ook gegroepeerd worden. We verwijderen direct de gegevens uit de hoofdgroep
Aan de gegroepeerd gegevens geven we de hoofdsleutel van de groep FACTUUR mee, zodat er een verbinding ligt tussen deze twee. Tevens geven we een sleutel mee waarmee we deze gegevens herkennen.

  • 1NV
  • FACTUUR
  • Factuurnummer
  • Factuurdatum
  • Klantnummer
  • Klantnaam
  • adres
  • postcode
  • woonplaats
  • BESTELDE_PRODUCTEN
  • Factuurnummer
  • Productnummer
  • aantal
  • omschrijving
  • prijs

Zoals te zien is naast factuurnummer als sleutel ook productnummer als sleutel gegeven. Deze staat nergens op de factuur vermeld, om deze reden hebben we een sleutel gekozen die uniek is. We zijn uitgegaan van productnummer omdat we verwachten dat deze uniek is.
Naast dit alles hebben we deze groep de naam BESTELDE_PRODUCTEN gegeven