La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Un Modello logico di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello.

Presentazioni simili


Presentazione sul tema: "Un Modello logico di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello."— Transcript della presentazione:

1

2 Un Modello logico di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello reticolare - Codasyl (Conference on Data System Language) Modello relazionale - Egdar F. Codd anni 70 Modello a oggetti - anni Ogni modello comprende entità, attributi, relazioni fra i dati

3 Non esiste un preciso modello gerarchico riconosciuto dalle case costruttrici di DBMS. Lo schema del modello gerarchico è caratterizzato dal possedere una struttura ad albero detto ALBERO DI DEFINIZIONE. Ciascun nodo di un albero di definizione rappresenta una Categoria di dati. Da un punto di vista estensionale un nodo è costituito da una sequenza di record di uno stesso tipo. Lalbero di definizione è ordinato (lordine dei figli di un nodo è rilevante) Ogni arco dellalbero rappresenta unassociazione surgettiva di tipo 1:N, diretta dal nodo padre (dominio, owner) al nodo figlio (codominio, member). E difficile la traduzione di uno schema concettuale in uno schema gerarchico (mapping) equivalente. Si adatta bene er quei dati che tendono naturalmente ad una suddivisione in sottocategorie. Per rappresentare una relazione molti-a-molti occorrono due uno a- molti e un segmento addizionale

4

5 Gli schemi generabili secondo questo modello hanno la caratteristica di presentarsi come grafi orientati in cui gli archi rappresentano associazioni 1:N. Esistono oggi diversi sistemi reticolari che implementano una parte più o meno ampia della proposta Codasyl (IDS/II Honeywell; DBMS-10 Digital). il modello reticolare rimuove molti dei limiti imposti dal modello gerarchico. Il mapping di uno schema concettuale in uno schema reticolare è pressoché immediato, per contro la navigazione è complessa e difficilmente implementabile.

6 Il modello relazionale è stato introdotto da Codd nel 1970 ed è basato sul concetto matematico di relazione fra insiemi. Ciò ha consentito una formulazione del modello completamente libera da considerazioni di tipo pratico pertinenti, ad esempio, lefficienza dellimplementazione DEFINZIONE : Una relazione R su una sequenza di insiemi D 1, D 2,..., D n (non necessariamente distinti) è un sottoinsieme finito del prodotto cartesiano D 1 xD 2... xD n. Il numero n ( n > 1) è detto grado della relazione. D 1, D 2,..., D n = domini Gli elementi di R sono n-uple (d 1, d 2,..., d n ) con d 1 ЄD 1, d 2 Є D 2,..., d n Є D n. Si usa di più il termine tupla. Una relazione non può contenere tuple uguali. A differenza delle relazioni matematiche, le relazioni nel modello relazionale sono variabili nel tempo : le tuple possono essere inserite, aggiornate, cancellate. Il numero di tuple presenti in un dato istante si dice cardinalità della relazione.

7 Da un punto di vista intensionale una relazione è caratterizzata da un nome e dalla lista dei suoi attributi : ( :t 1, :t 2,......, :t n ) Da un punto di vista estensionale si può rappresentare una relazione mediante una tabella di m righe ed n colonne, dove ogni riga rappresenta una tupla ed ogni colonna rappresenta la sequenza dei valori assunti corrispondentemente da un attributo. Lordine delle righe e colonne non è significativo. Tutte le definizioni del modello relazionale prevedono di specificare come vincolo quello relativo alla presenza di una chiave primaria per ogni relazione. PERSONA(NOME:STRING*20; ETA:INTEGER; SEX:CHAR) PERSONA(NOME,ETA,SEX) NOMEETASEX

8 Ci soffermeremo sulle operazioni che consentono di interrogare una base di dati relazionale poiché quelle di aggiornamento (inserimento, cancellazione, modifica) non differiscono concettualmente da quelle già note per gli archivi. Sono stati proposti diversi linguaggi per linterrogazione dei DB relazionali, tutti in genere NON PROCEDURALI. I linguaggi non procedurali hanno operatori indipendenti dal concetto di posizione di un record, ma trattano invece i dati in modo collettivo. Uno dei linguaggi non procedurali più usati è quello dellAlgebra Relazionale : impiega operatori dellalgebra relazionale che vengono composti fra loro per produrre il risultato desiderato. Si formula linterrogazione specificando una composizione di operatori da applicare alle relazioni del DB per fornire la relazione desiderata. Occorre scegliere un insieme di operatori funzionalmente completo cioè che consenta di ottenere tutti i risultati ottenibili con altri linguaggi relazionali

9 Si può dimostrare che un insieme funzionalmente completo è composto dalle seguenti operazioni : 1. Unione di relazioni (UNION) : Dette R ed S 2 relazioni compatibili (cioè aventi lo stesso numero di attributi ordinatamente dello stesso tipo, lunione di R con S è la relazione ottenuta dallunione insiemistica delle relazioni: UNION(R,S) = R U S = {t / tЄR or tЄS} 2. Differenza di relazioni(DIFFERENCE) : Dette R ed S 2 relazioni compatibili la differenza fra R ed S è la relazione ottenuta dalla differenza insiemistica fra le relazioni: DIFFERENCE(R,S) = R - S = {t / tЄR and tЄS}

10 3. Prodotto cartesiano : Date R ed S 2 relazioni qualunque di grado rispettivamente n1 ed n2 e cardinalità m1 ed m2, il prodotto R x S è la relazioni di grado n1+n2 e cardinalità m1 x m2 le cui tuple si ottengono concatenando ogni tupla di R con ogni tupla di S. r = { a 1,a 2,...a n1 }s = { b 1,b 2,...b n2 } r conc s = { a 1,a 2,...a n1, b 1,b 2,...b n2 } R X S = {t / t = r conc s, r ЄR and sЄS} 4. Proiezione di una relazione (PROJECT) : Data una relazione R ed un suo sottoinsieme B = {A 1,A 2,..,A k } dei suoi attributi, si definisce proiezione di R su B la relazione di grado k che si ottiene da R ignorando le colonne relative agli attributi non contenuti in B ed eliminando le eventuali tuple duplicate. PROJECT R ON A 1,A 2,..,A k oppure π A1,A2,..,Ak R

11 5. Restrizione di una relazione (RESTRICT) : Data una relazione R ed un predicato P semplice o composto sui suoi attributi, loperazione di restrizione di R a P è la relazione costituita dalla tuple di R che soddisfano P. Restrict R where P = {t / t ЄR and P(t)} oppure σ P(t) R Esistono poi 2 operatori derivati molto usati : 6. Intersezione di 2 relazioni (INTERSECT) : Date R ed S 2 relazioni compatibili, lintersezione di R d S restituisce la relazione costituita da tutte le tuple presenti sia in R che in S. INTERSECT(R,S) = R S ={t / t ЄR and t ЄS}

12 7. Giunzione naturale (JOIN) : Sia data una relazione R di grado n1 ed una relazione S di grado n2; loperazione di giunzione naturale di R ed S su un attributo A di R e un attributo B di S (aventi lo stesso tipo) restituisce una relazione di grado n1+n2-1 le cui tuple si ottengono con il seguente procedimento : si calcola R x S su tale relazione si effettua una restrizione volta a selezionare le tuple aventi lo stesso valore degli attributi A e B ottenendo così una relazione con le colonne A e B uguali eliminando una di queste 2 colonne si ottiene la giunzione naturale R S A=B


Scaricare ppt "Un Modello logico di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello."

Presentazioni simili


Annunci Google