Algoritmo per denormalizzare il database

4

Ho creato un generatore di script QlikView (QVS), che può essere utilizzato per generare file di script di grandi dimensioni per l'importazione di dati da SQL Server a QlikView .

A QlikView non piacciono le strutture di database 'completamente' normalizzate (loop tra più tabelle): ad esempio, tre tabelle A , B , C in SQL Server possono avere tre collegamenti PK / FK; in QlikView ne servono solo due. Quindi, ora devo "denormalizzare" o rimuovere i loop tra le tabelle ...

Attualmente sto creando una "tabella di esclusione", che attraverso con un ciclo forato quad-embedded, per isolare e rimuovere i vincoli nella struttura del DB prima di generare il file di script. Sembra funzionare, ma richiede troppo tempo perché il numero di tabelle può essere grande.

C'è un altro modo in cui posso ottenere ciò che voglio più economicamente?

    
posta MoonKnight 16.01.2013 - 16:48
fonte

1 risposta

1

Algoritmo standard per denormalizzazione:

  1. Prendiamo che le righe delle tabelle A, B, C siano collegate in mn: n: 1 proporzione.

  2. Crea tre cicli inseriti per ogni C per ogni B appropriato per ogni A. appropriato

  3. Per ogni riga del ciclo interno crea una nuova riga della tabella dei risultati.

risposta data 16.01.2013 - 17:22
fonte

Leggi altre domande sui tag