T-Sql

Applicazione pratica dei database temporali

Davide Mauri

Introduzione

L’utilizzo dei principi che stanno alla base dell’idea dei database temporali è una pratica che può essere di grande aiuto anche per la risoluzione di problemi legati alla presenza di informazioni temporale nei database ordierni.

In questo articolo si dimostrerà come richieste apparentemente non riconducibili alle regole definite dai concetti legati ai database temporali siano, invece, completamente risolvibili applicanto in toto tali principi. L’applicazione di questi ultimi è necessaria in quanto porta due fondamentali vantaggi:

Primary Key e Clusterd-Index di una tabella coincidono sempre?

Davide Mauri

No necessariamente. Infatti l’indice clustered e la chiave primaria di una tabella sono due cose nettamente distinte fra loro: - la chiave primaria è un vincolo che assicura l’univocità di ogni riga della tabella - un indice clustered è un struttura B+Tree che determina un ordinamento specifico dei dati della tabella nelle pagine di dati. Di fatto, però, SQL Server implementa il vincolo di chiave primaria attraverso un ‘unique index’ di tipo ‘clustered’, a meno che venga prima creata la tabella priva di chiave primaria, quindi aggiunto l’indice clusterd, infine aggiunto il vincolo di chiave primaria che sarà quindi implementata attraverso un ‘unique index’ di tipo ’non-clustered’