Generiska databaser
En generisk databas är en tabell vars fältnamn lagrats som fältvärden i en kolumn och vars fältvärden lagrats i en andra kolumn. Generiska databaser används vanligtvis för olika objekts egenskaper.
Titta på GenericTable-exemplet nedan. Det är en generisk databas som innehåller två föremål, en boll och en låda. Uppenbarligen är egenskaper som färg och vikt gemensamma för föremålen, medan egenskaper som diameter, höjd, längd och bredd inte är det.
object | attribute | value |
---|---|---|
ball | color | red |
ball | diameter | 10 cm |
ball | weight | 100 g |
box | color | black |
box | height | 16 cm |
box | length | 20 cm |
box | weight | 500 g |
box | width | 10 cm |
Å ena sidan vore det svårhanterligt att lagra data så att varje egenskap fick en kolumn, eftersom många av egenskaperna inte är relevanta för alla föremål.
Å andra sidan skulle det se rörigt ut att visa data på ett sätt som blandade olika föremåls längd, färg och vikt.
Om den här databasen är inläst i QlikView på det standardmässiga sättet och visar data i en tabell så ser den ut så här:
Om tabellen däremot läses in som en generisk databas, delas kolumnerna två och tre upp i olika tabeller, en för varje unikt värde i den andra kolumnen:
Syntaxen för att göra detta är enkel:
Exempel:
Generic SELECT* from GenericTable;
Det spelar ingen roll om man använder en LOAD- eller en SELECT-sats för att ladda den generiska databasen.