Har I behov for SQL programmering, databaseopbygning, en Windows form til indtastning af data, etc, så kontakt: support@seniorconsult.dk
DATABASE DESIGN – NORMALISERING OG GENERALISERING
I undervisning indenfor databaseteori indgår begrebet “normalisering” som et grundlæggende element når vi taler om at planlægge tabelstrukturer.
Normalisering indenfor databaseteori (begrebet benyttes i mange andre sammenhænge), betyder groft sagt, at man arbejder på at fjerne redundante (multiple gengangere af samme) data.
Selve begrebet bliver dog ofte kun beskrevet i forhold til tabeller, hvor man da arbejder på, at man ikke har samme data stående i mange rækker.
I det efterfølgende link til en PDF fil der introducerer og nærmere forklarer disse begreber i detaljer, bliver der dog beskrevet 3 typer af normalisering:
- Felt normalisering (fjernelse af redundante data på felt-niveau)
- Tabel normalisering (fjernelse af redundante data på tabel niveau) – Beskrivelse af de forskellige normalformer.
- Database normalisering (generalisering – fjernelse af redundante data der går igen mellem tabeller).
Nærmere detaljeret beskrivelse kan findes i følgende 24 siders PDF fil ved at klikke
SQL-SCRIPTS
Dan Kalender:
Nedenstående billede viser et eksempel, hvor der automatisk er dannet en kalender tabel i MS SQL-Server ved hjælp af SQL script. Der er reelt flere kolonner i tabellen, hvor der bl.a. angives om en dato er en weekend, helligdag, eller en af delene, eller om det er en arbejdsdag etc. Så nedenstående er blot et eksempel på nogle af de kolonner og rækker der dannes i tabellen.
Der benyttes ofte en sådan tabel indenfor Business Intelligence, hvor man arbejder med en multidimensional database, hvor Tidsdimensionen blot er en af mange, men ofte vigtig komponent. Tabellen kan dog også benyttes i en almindelig relationel database, hvor man da kan benytte infomationen til at summere data på forskellige niveauer. Eksempelvis summering per uge uge, per dag, eller kvartal etc. Denne tabel er oprettet med ugenumrene som benyttes i Danmark og øvrige Europa, og som er defineret i ISO 8601 standarden.
Eksempel på en automatisk dannet tabel med tidsinformation:

(Klik på billede for at se det i større format)
MS Transact-SQL koden til dannelse af ovenstående ligger i en 24-siders PDF fil, som du kan se:
Koden kan kopieres direkte inkl. kommentarer som bliver som kommentarer i SQL server, og placeres i et SQL script som efterfølgende kan eksekveres, hvorved tabellen dannes i den database som man har angivet som aktiv.
Hvis man ønsker, at give tabellen et andet navn, er der 3 steder dette skal rettes i koden (2 gange i anden sidste script (tabel dannelse), og 1 gang i sidste script hvor man indsætter rækker med dage. Hvis man ønsker andre fra-til datoer, skal disse 2 datoer rettes i sidste script.