Dispense basi di dati

hee136
ciao

avete dispense fatte bene da consigliarmi su cui studiare la TEORIA DELLA NORMALIZZAZIONE e il capitolo sui VINCOLI DI INTEGRITA'?

Grazie!

Risposte
xsl
Come libro ti consiglio: Basi Di Dati - Modelli E Linguaggi Di Interrogazione - Seconda Edizione (P Atzeni, S Ceri, S Paraboschi, R Torlone)
Casa editrice: McGraw-Hill

hamming_burst
Guarda caso ho inserito in questi giorni nell'apposita sezione di Informatica, di dispense in giro per la Rete, un topic sulla Teoria delle Basi di dati, guarda qua:

https://www.matematicamente.it/forum/pos ... tml#480433

Spero sia utile :-)

cmq il libro consigliato da "xls" lo consiglio pure io.
Da stare attenti alla versione, perchè nella terza edizione comprende la teoria della concorrenza.
Nella seconda edizione, la concorrenza, è nel secondo volume.

hee136
Grazie per le risposte.

Non capisco ancora una cosa.

Quali sono i vincoli di integrità sintattici?

Perchè se non sbaglio, i vincoli sul dominio, sulle ennuple e le dipendenze funzionali sono vincoli di integrità semantici.

hamming_burst
dipende dall'argomento che stai studiando.
La definizione di "vincoli di integrità" esiste sia nella teoria delle dipendenze funzionali, che nell'applicabilità di un linguaggio tipo SQL con i suoi costrutti. Te intendi tipo "primary key" unique key nella definizione dei tipi di una tupla?

hee136
Te intendi tipo "primary key" unique key nella definizione dei tipi di una tupla?


Sì intendo questi: primary key, unique, not null, check, references e foreign key. Sono vincoli di integrità di tipo sintattico o semantico?
Sugli appunti ho scritto di tipo sintattico, però per esempio la check e la not null mi sembrano di tipo semantico.
Gli altri invece mi sembrano di tipo sintattico.

"ham_burst":
dipende dall'argomento che stai studiando.
La definizione di "vincoli di integrità" esiste sia nella teoria delle dipendenze funzionali, che nell'applicabilità di un linguaggio tipo SQL con i suoi costrutti.


Intendevo le dipendenze funzionali che si studiano nella teoria della normalizzazione.
Sugli appunti ho scritto che sono vincoli di integrità di tipo semantico. Chiedevo solo conferma.
A me pareva sensato perchè a seconda del contesto possono variare. Per due contesti diversi posso utilizzare uno stesso schema logico ma con dipendenze funzionali diverse.

Grazie ancora. :-)

hamming_burst
Si si correttissimo quello che dici.

ma la parola "vincolo di integrità" si può usare a due livelli diversi, con il significato similie:

- nell'astrazione matematica di questi concetti, perciò stesso livello degli Assiomi di Amstrong, BCNF, ecc per intenderci.
- nel linguaggio di un DB, tipo SQL, che sta ad indicare ciò che hai scritto.

Quello che dici te è una questione di ogni linguaggio di programmazione, non solo per i "vincoli di integrità":

- i valori sintattici: la parola senza significato, come un elenco di parole che accostiamo ad una dichiarazione di una tabella (es i vincoli)
- i valori semantici: la parola acquisisce un significato, che siamo noi a dare.

tipo stai creando uno Tabella, e la suddividi nelle relazioni che hanno un tipo, ogni relazione può avere dei vincoli.
Quando scrivi tali vincoli, solo te sai cosa vogliano dire, sono parole mentre scrivi.
Quando compilerai, quando eseguirai la tua configuarazione del DB solo allora, quelle parole (sintattiche) assumereranno un significato (semantico), e se utilizzi parole tipo "check" tale significato semantico collegato alla funzione "check", sarà implicato dal "valore" semantico memorizzato nella tupla che analizza.

L'unica cosa che volevo farti capire, è che non è solo prerogativa dei DB avere significati "sintattici" e "semantici" ma ogni linguaggio. :-)

hee136
a cosa servono la chiusura e la copertura canonica?

grazie

hamming_burst
allora:

- copertura canonica (canonical cover): è un algoritmo per eliminare le ridondanze in un insieme di dipendenze funzionali, si utilizza per fare un decomposizioni lossless e nella forma normale 3-NF.

- chiusura: dipende che chiusura, chiusura di un insieme di dipendenze funzionali o chiusura di attributi. E' sempre un algoritmo per minimizzare/scovare le ridondanze, dei due tipi il primo è davvero poco usato, se si applica manualmente è una cosa mostruosa.

se cerchi nelle dispense, che ho messo nella sezione Dispense, ricordo che sono spiegate molto bene. :-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.