Video: Nieuwe versie: Relatietypes en verbindingen aanmaken 2024
Uw datawarehousing-omgeving of een specifieke datamart die uw belangrijkste is Datawarehouse-feed kan de missie hebben om een eindige en voorspelbare reeks rapporten te genereren. Hier is een benadering voor het ontwerpen van een relationele database om die missie te ondersteunen, gebouwd rond het principe van database denormalisatie , of opzettelijk in strijd met goede relationele databaseontwerpprincipes in het belang van prestatie-efficiëntie.
Denormalisatie is het meest geschikt voor snelhelden, waarin u een kleinschalig relationeel gegevensmagazijn of een datamart snel op moet starten. U kunt bijvoorbeeld een gederormaliseerde relationele database maken voor een specifiek charter om een bepaalde reeks rapporten te produceren die niet langer beschikbaar zijn als gevolg van een legacy-poging tot systeemmigratie.
Hoewel denormalisatie geen doodlopende weg is, creëert het wel veel dubbele gegevens en hebben de databasestructuren die u maakt niet veel flexibiliteit. Daarnaast hebt u waarschijnlijk beperkte querymogelijkheden (naast uw standaardrapporten) omdat deze mogelijkheden nauw verbonden zijn met de rapportagestructuren die zijn geformaliseerd in het tabelontwerp. Toch zou je deze benadering eens willen bekijken.
Een eenvoudig voorbeeld van denormalisatie, getoond in de figuur, laat zien hoe de brondatabatatabellen eruit zien in een applicatie die verkoopprestaties volgt, waarbij die tabellen primair gestructureerd zijn volgens standaard ontwerpprincipes van relationele databases (zij zijn genormaliseerd).
Ter ondersteuning van de rapportindeling die wordt weergegeven aan de onderzijde van de figuur, worden de bronstructuren toegewezen aan een gedenormaliseerde tabel waaruit het rapport kan worden gegenereerd zonder aan tabellen te hoeven deelnemen. (Kort gezegd werkt uw rapport erg snel.)
Opmerking : Een realistisch voorbeeld zou veel meer tabellen omvatten (van 10 tot 50 of meer) en veel meer rapporten dan in de figuur worden getoond. Dit cijfer moet echter het idee overbrengen.
U kunt ook de principes en technieken van dimensioneel ontwerp volgen. Omdat RDBMS's nu veel minder problemen hebben met het omgaan met dimensionaal georiënteerde structuren dan in het verleden, zult u waarschijnlijk voldoende prestaties krijgen voor uw rapportagebehoeften en nog steeds de flexibiliteit hebben om een grote verscheidenheid aan ad-hoc, multidimensionale query's te ondersteunen.
Voor snelle implementatie die rapportagericht is, moet u echter op zijn minst overwegen op basis van denormalisatie voor relationele gegevens.