vuoi
o PayPal
tutte le volte che vuoi
MOTIVAZIONI PER IL MODELLO RELAZIONALE
Richiedono una sostanziale caratteristica, che consente il funzionamento quanto più efficiente possibile: l'indipendenza tra strato fisico e logico. Nel passato erano stati adottati modelli di gestione (come il modello gerarchico o il modello a reticolo) che non favorivano questo importante requisito, tenendo pressoché legati i vari livelli e non adoperando una vera e propria scissione. La rivoluzione però avvenne con l'avvento dei sistemi che si basavano su un innovativo concetto: la RELAZIONE, che supportato da un'opportuna e rigorosa formalizzazione matematica e dalla traduzione di questa in una struttura semplice ed intuitiva come la tabella, decretò il successo del modello relazionale.'
L'ALGEBRA DEL MODELLO RELAZIONALE
Per spiegare il modello relazionale, bisogna rifarci alla matematica e partire dal concetto di prodotto cartesiano. ∈∈A×B={(a,b)|Aa,Bb}. Vale a dire, presi due insiemi A e B,
dicesi PRODOTTO CARTESIANO l'insieme delle coppie ordinate tale che il primo elemento della coppia appartiene al primo insieme e il secondo elemento al secondo insieme. Ovviamente questa definizione è suscettibile di generalizzazione:A = A×A×…×A={(a,a,…,a)|Aa,Aa,…,Aa}∈∈∈ 12n12n1122nn
Gli elementi di questo insieme sono tipicamente e assumono il nome di ENNUPLE ed appartengono all'insieme A.(a,a,…,a). Per il modello relazionale, dobbiamo fare due 12n ipotesi: gli insiemi su cui andiamo ad agire sono FINITI e gli elementi contenuti all'interno degli insiemi sono ATOMICI, cioè non ulteriormente decomponibili.
PROPRIETÀ ENNUPLE:
1) tra le ennuple non è possibile ritrovare una relazione d'ordine;
2) ogni ennupla, per la stessa definizione matematica di prodotto cartesiano, è unica;
3) vi è un ordine di tipo posizionale all'interno della ennupla, come da definizione di prodotto.
cartesiano;4)è possibile che uno o più insiemi di dominio si ripetano piùvolte.
RELAZIONE MATEMATICA: è un insieme di ennuple (inquesto caso di tipo stringa × numero × numero) e come ogniennupla contiene dati che sono tra loro correlati, stabilendoun legame.
ORDINAMENTO TRA I DOMINI: di una relazione,corrisponde ad una caratteristica del tutto insoddisfacenterispetto all’organizzazione e l’utilizzo dei dati. Per tanto ènecessario trovare un meccanismo, che renda le relazionilibere, privilegiando così notazioni di tipo non posizionale.
RELAZIONI ED ATTRIBUTI: le ennuple possono essererappresentate, a livello informatico, mediante dei recordomogenei. Vale a dire che per ovviare al limite imposto dalleposizioni è stato introdotto il concetto diATTRIBUTO: cioè ogni campo (colonna) ha un nome, chedescrive il ruolo del dominio stesso. In tal modo l’ordine concui le colonne sono posizionate risulta totalmente
irrilevante.Formalizzando i concetti possiamo dire che, dato un insieme Xa cui appartengono tutti gli attributi della relazione e sia Dl'insieme di tutti i domini, esiste una funzione dom, che adogni attributo assegna un dominio: dom:X→DVi è poi una funzione t che associa a ciascun attributo un valore del dominio. Pertanto se A è un attributo e quindi è un elemento di X, allora gli verrà assegnato un valore del dominio dom(A) da qui una relazione può altresì essere definita come un insieme di tuple su X.Possiamo allora riscrivere una generica tupla (equivalente americano per ennupla) sotto la forma: ii1i1inint=(v,A,…,v,A)RELAZIONI E BASI DI DATI: La rappresentazione logica dei dati, in questo modo, non fa alcun riferimento a quella fisica, che può mutare nel tempo. Il modello relazionale garantisce la totale indipendenza tra il livello logico ed il livello fisico ed inoltre, essendo tutta l'informazione contenuta nei valori e
i legami tra essi all'interno degli attributi, è semplice trasferire i dati da un contesto ad un altro.
RELAZIONE: il termine viene ora usato per indicare una relazione matematica, data nella teoria degli insiemi, o secondo la definizione del modello relazionale;
SCHEMA DI RELAZIONE: è costituito dal simbolo R, detto nome della relazione e da un insieme di attributi, indicati generalmente con X = {A , … , A } e il tutto è denotato con la notazione R(X);
SCHEMA DI BASI DI DATI: è un insieme di relazioni con nomi diversi R = {R (X ),… R (X )};
ISTANZA DI RELAZIONE: R(X) è un insieme r di tuple su X;
ISTANZA DI BASI DI DATI: su uno schema fissato R ={R (X ),… R (X )} è un insieme di relazioni r = (r ,…,r ) dove ogni r è una relazione sullo schema.
NOMI DELLE RELAZIONI: sono indicati generalmente con le lettere maiuscole, diversamente gli ATTRIBUTI sono indicati con lettere minuscole.
CAPITOLO
4: Il modello entità Relazione Esteso
SUPERCLASSE: è un'entità che include uno o più sottinsiemi distinti di singole entità dette SOTTOCLASSI, cioè una superclasse è un'entità che contiene delle sottoclassi distinte.
RELAZIONE is_a: dire che segretaria è una sottoclasse di impiegato, vuol dire che una segretaria è un impiegato.
EREDITARIETÀ DEGLI ATTRIBUTI: Superclasse=Personale, Sottoclasse=Tecnico; per questa proprietà Tecnico ha tutti gli attributi di Personale.
ATTRIBUTI LOCALI: sono specifici dell'entità
EREDITÀ DELLE ASSOCIAZIONI: Una sottoclasse eredita da una superclasse anche le associazioni a cui la superclasse partecipa.
ASSOCIAZIONI SPECIFICHE O LOCALI: Una sottoclasse può partecipare ad associazioni specifiche o locali a cui la superclasse non partecipa.
COSTRUTTO SPECIALIZZAZIONE: consente di definire un insieme di sottoclassi E , E cioè una o più
entità sottoclassi1 2dette anche ENTITà FIGLIE sono messe in relazione conun’entità superclasse E detta padre che le comprende.
GENERALIZZAZIONE: E generalizzazione di E1,E2
SPECIALIZZAZIONE: E1, E2 sono specializzazioni di E0.
ASSOCIAZIONE SUPERCLASSE/SOTTOCLASSE: legame tra superclasse e sottoclasse, dove ogni membro di una sottoclasse è anche membro della superclasse, anche se può avere ruoli diversi.
VINCOLI DI COPERTURA: determinano se le singole entità di una sottoclasse includono tutte le singole entità della superclasse.
GENERALIZZAZIONE TOTALE: se ogni occorrenza del padre è occorrenza di almeno una delle entità figlie
GENERALIZZAZIONE PARZIALE: se ogni occorrenza del padre non è occorrenza di almeno una delle entità figlie
VINCOLI DI DISGIUNZIONE: determinano se due sottoclassi diverse possono contenere la stessa singola entità.
GENERALIZZAZIONE DISGIUNTA: se ogni
occorrenza dell'entità padre è occorrenza dell'entità figlie, cioè non esiste un'occorrenza del padre che sia occorrenza di più entità figlie.
CLASSIFICAZIONE GENERALIZZAZIONI: Le generalizzazioni sono classificate sulla base di due proprietà contrapposte:
- Generalizzazione Totale/Parziale: È totale se ogni occorrenza della classe padre è occorrenza di almeno un'entità figlia. È parziale in caso contrario.
- Generalizzazione Esclusiva/Sovrapposta: È esclusiva se ogni occorrenza della classe padre è al più un'occorrenza di un'entità figlia; è sovrapposta in caso contrario.
GENERALIZZAZIONE SOVRAPPOSTA: se ogni occorrenza dell'entità padre non è occorrenza dell'entità figlie, cioè esiste un'occorrenza del padre che sia occorrenza di più entità figlie.
RISTRUTTURAZIONE DELLE GERARCHIE AL MODELLO LOGICO
RELAZIONALE:
- ACCORPAMENTO DELLA SUPERCLASSE NELLE SOTTOCLASSI: eliminazione dell'entità padre, le proprietà sono ereditate dalle entità figlie. Si avranno vincoli totale-disgiunta.
- ACCORPAMENTO DELLE SOTTOCLASSI NELLA SUPERCLASSE: prevede l'eliminazione delle sottoclassi e l'aggiunta alla superclasse di tutti gli attributi e le associazioni cui le sottoclassi partecipavano. Alla superclasse viene aggiunto un attributo per distinguere il tipo d'occorrenza. Si avranno vincoli totale-sovrapposta.
- SOSTITUZIONE DELLA GENERALIZZAZIONE CON ASSOCIAZIONI: prevede la sostituzione della generalizzazione con associazioni uno ad uno tra sottoclassi e superclasse. Le sottoclassi saranno identificate dalla superclasse. Si avranno vincoli parziale-disgiunta.
- SOSTITUZIONE MISTA: prevede la sostituzione delle sottoclassi con un'unica classe in associazione uno ad uno con la superclasse. La sottoclasse sarà identificata dalla superclasse. Consigliabile per