Video: Relationsdatabase og forespørgsler 2025
Dit datalagringsmiljø eller en bestemt data mart, som din vigtigste Data warehouse vil feed kunne have en mission om at generere et begrænset og forudsigeligt sæt rapporter. Her er en tilgang til udformning af en relationsdatabase for at understøtte denne mission, bygget op omkring princippet om database denormalisering , eller bevidst overtræder gode relationelle database design principper for at opnå effektivitet.
Denormalisering er bedst egnet til hurtige løsninger, , hvor du skal få et lille skala relationelt datalager eller en data mart op og køre hurtigt. For eksempel kan du oprette en denormaliseret relationsdatabase til et specifikt charter for at producere et bestemt sæt rapporter, som ikke længere er tilgængelige som følge af en systematisk migrationsindsats.
Selv om denormalisering ikke er helt blind, skaber den en masse dobbelt data, og de databasestrukturer, du opretter, har ikke meget fleksibilitet. Derudover har du sandsynligvis begrænsede forespørgselsfunktioner (ud over dine standardrapporter), fordi disse funktioner er tæt knyttet til rapporteringsstrukturerne formaliseret i borddesign. Stadig vil du måske tjekke denne tilgang.
Et simpelt eksempel på denormalisering, som er vist i figuren, viser, hvordan kildedatabasetabellerne ligner i et program, der sporer salgsydelse, med de tabeller, der struktureres primært i overensstemmelse med standardbaserede databasedesignprincipper (de er normaliseret).
For at understøtte rapportformatet vist nederst på figuren, er kildestrukturerne kortlagt i et denormaliseret bord, hvorfra rapporten kan genereres uden at skulle tilmelde sig nogen tabeller. (For at sige det mere simpelt, kører din rapport meget hurtigt.)
Note : Et egentligt eksempel ville indebære mange flere tabeller (fra 10 til 50 eller mere) og mange flere rapporter end vist i figuren. Dette tal skal dog få ideen på tværs af.
Alternativt vil du måske følge principperne og teknikkerne for dimensionelt design. Fordi RDBMS'er nu har meget mindre problemer med at beskæftige sig med dimensionsorienterede strukturer end tidligere, vil du sandsynligvis få tilstrækkelig ydeevne til dine rapporteringsbehov og stadig have fleksibilitet til at understøtte et stort udvalg af ad hoc-multidimensionale forespørgsler.
For hurtig implementering, der er rapporteringsorienteret, men i det mindste overveje detormaliseringsbaseret design for relationelle data.