1 / 83

Basi di Dati e Sistemi Informativi

Basi di Dati e Sistemi Informativi. Il Modello Relazionale Home page del corso : http:// www.cs.unibo.it /~ difelice / dbsi /. Livelli di astrazione. In gran parte dei DBMS moderni , i dati sono articolati su tre livelli di astrazione :

gina
Télécharger la présentation

Basi di Dati e Sistemi Informativi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Basi di Dati e SistemiInformativi Il ModelloRelazionale Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

  2. Livelli di astrazione • In gran parte dei DBMS moderni, idatisonoarticolatisutrelivellidi astrazione: • Schema Esterno  descrive come idatiappaiono per un utente o un gruppo di utenti. • Schema Logico descrivel’organizzazionelogicadeidati (dettagli a breve …) • Schema Fisico  descrive come idatisonomemorizzatisumemoriasecondaria.

  3. Livelli di astrazione • Proprieta’ (auspicabili) deilivelli in un DBMS: • Indipendenzafisica interagire con ilmodellologicoin modoindipendentedallo schema fisico. • Indipendenzalogica  interagire con illivelloesterno in modoindipendentedallo schema logicodeidati.

  4. Livelli di astrazione • In gran parte dei DBMS moderni, idatisonoarticolatisutrelivellidi astrazione: • Schema Esterno  descrive come idatiappaiono per un utente o un gruppo di utenti. • Schema Logico descrivel’organizzazionelogicadeidati (dettagli a breve …) • Schema Fisico  descrive come idatisonomemorizzatisumemoriasecondaria.

  5. ModelloLogico • In cosaconsiste in praticailModellologico? • Insieme di concetti per strutturare/organizzareidatirelativi ad un certodominiod’interesse. • Insieme di regole per modellareeventualivincolie restrizioni sui dati. • Regole e Concettigenerali Indipendenti dal dominiod’interessechesistaconsiderando …

  6. ModelloRelazionale: overview • Propostonel 1970 da E.F. Codd, ricercatoredell’IBM di San Jose, CA. • Attualmente, ilpiu’ utilizzato, ma non l’unicomodellodisponibileper le basi di dati. • Intuitivo, e basatosunozioni di algebra di base. • DBMS basatisulmodellorelazionale RDBMS (es. Oracle, MySQL, DB2, etc)

  7. ModelloRelazionale: overview DEF. informale ModelloRelazionale idatisonoorganizzati in record di dimensionefissa, e divisi in tabelle (relazioni). • Colonnedellatabella(Proprieta’ di interesse) Attributi • Intestazionedellatabella (i.e. nometabella + nomeattributi)  Schemadellarelazione • Righedellatabella Istanzedellarelazione

  8. ModelloRelazionale: overview CORSI • Nome dellarelazione: CORSI • Attributi: Nome, Codice del Corso, Nome Docente • Schema dellarelazione: • CORSI(Nome, Codice del Corso, Nome Docente) • Istanzedellarelazione: • <Basi di dati, 0121, M. Di Felice>

  9. ModelloRelazionale: overview CORSI • Ogniattributodispone di undominiochedefiniscel’insieme di valorivalidiper quelll’attributo. • Es. dom(Corso) = string • E’ possibileaveredominiripetutinellastessarelazione!

  10. ModelloRelazionale: overview CORSI • VINCOLIsull’ordinedeidati: • L’ordinamentodellerighe e’ irrilevante • L’ordinamentodellecolonne e’ irrilevante.

  11. ModelloRelazionale: overview (1) CORSI (3) (2) • VINCOLI sui datidellarelazione • Non possonoesistereattributiuguali(1). • Non possonoesistererigheuguali(2). • I datidi unacolonnadevonoessereomogenei (3).

  12. ModelloRelazionale: overview E’ possibileavereuno schema di relazionisenzainstanze(es. in fase di creazione del DB) … CORSI Il viceversa e’ impossibile …

  13. ModelloRelazionale: overview In pratica, unabase di datipuo’ esserecostituita da moltetabelle… CORSI ESAMI STUDENTI

  14. ModelloRelazionale: overview Nelmodellorelazionale, iriferimentitradati in relazionidifferentisonoespressimediantevalori. CORSI ESAMI STUDENTI

  15. ModelloRelazionale: overview • Oltre al modellorelazionale (propostonegliannisettanta), esistonoaltrimodellilogicidi organizzazionedeidati: • Modellogerarchico • Modelloreticolare • Modelload oggetti • ModelloXML-based • …

  16. ModelloRelazionale: overview In moltimodelli (es. gerarchico, reticolare, oggetti), iriferimentitratabellesonodefinitimediantepuntatori. CORSI ESAMI STUDENTI

  17. ModelloRelazionale: overview • Vantaggi del modellorelazionale: • Indipendenzafisica: vengonorappresentati solo idati, e non le informazioniaggiuntivesudove idatisonomemorizzati (es. puntatori ad aree di memoria). • Portabilita’ del modellotrapiattaformedifferenti. • Gestionesemplificata di operazioni di modifica. • Svantaggi del modellorelazionale: • - Maggiore complessita’ nell’implementazionedel modello da parte del DBMS.

  18. ModelloRelazionale: overview • Nellapratica,quandosiinizia a progettareuna base di dati di un certodominiod’interesse, le informazioni NON sonogia’ tradotte in dati del modellorelazionale… • Es. Realizzazione di un sistemainformativo per gestireidati di unasocieta’ immobiliare. • Qualidatidevonoesseregestiti? • Quali/quantetabelleusare?

  19. ModelloRelazionale: overview Es. Realizzazione di un sistemainformativo per gestireidati di unasocieta’ immobiliare. } • Qualidatidevonoesseregestiti? • Quali/quantetabelleusare? ACQUIRENTI PROPRIETARI IMMOBILI PROGETTISTA ACQUIRENTI

  20. ModelloRelazionale: overview Q: Perche’ sichiamamodellorelazionale? A: Unarelazione sui datipuo’ essere vista come unarelazionematematica! (con unaleggeravariazione). Q2:… Come e’ definitaunarelazionematematica (nellateoriadegliinsiemi)?

  21. ModelloRelazionale: overview DEF. DatininsiemiD1, D2, … Dn, unarelazionematematicasugliinsiemiD1, D2, … Dne’ definita come un sottoinsieme del prodottocartesiano D1x D2x … x Dn. DEF.Il prodottocartesianodegliinsiemiD1, D2, … Dne’ definito come l’insiemedelle tuple ordinate (d1, d2, … dn), con diDi,

  22. ModelloRelazionale: overview Esempi di relazione (n=2): A={a,b,c,d,e}, B={1,2,3} Prod. Cartesiano={(a,1),(a,2),(a,3),(b,1),(b,2),(b,3), (c,1), (c,2), (c,3), (d,1), (d,2), (d,3), (e,1), (e,2), (e,3)} Relazione = {(a,1),(a,2),(a,3)} Relazione = {(a,2),(b,1),(d,3),(e,3)} Relazione= {(d,2)}

  23. ModelloRelazionale: overview Se usassimo la definizioneclassica di relazionematematicanelmodellorelazionaledeidati: CORSI Problema: Ordinamentodelle tuple in unarelazione … In generale:

  24. ModelloRelazionale: overview Dal punto di vista deidati, i due schemisonouguali, ma non lo sono se consideriamo la definizione di relazionematematica! Soluzione: UsarerappresentazioneNON posizionale, mediantegliattributi …

  25. ModelloRelazionale: overview Volendofornireunadefinizionerigorosadi relazionenelmodellorelazionale… • Schema di relazione:  un nomeR con un insieme di attributiA1, ..., An: • R (A1,..., An) Schema di relazione: CORSI(Corso, Codice, Docente)

  26. ModelloRelazionale: overview Volendofornireunadefinizionerigorosadi relazionenelmodellorelazionale… • Unaennuplasu un insieme di attributi X èunafunzionecheassocia a ciascunattributo A in X un valore del dominio di A. • t[A]denotailvaloredellaennupla t sull'attributo A. • Istanza di relazionesuuno schema R(X):insiemer di ennuplesuX.

  27. ModelloRelazionale: overview Volendofornireunadefinizionerigorosadi relazionenelmodellorelazionale… t1 t2 t3 t1[Corso] = “Basi di dati” t1[Codice]=“2121” t3[Docente]=“D. Sangiorgi” Istanza di CORSI(Corso, Codice, Docente)= {t1,t2,t3}

  28. ModelloRelazionale: overview Generalizzandonelcaso di basi di daticomposte da piu’ relazioni: • Schema di base di dati:  • insiemedi schemi di relazione: R = {R1(X1), ..., Rk(Xk)} • Istanza di base di datisuuno schema R = {R1(X1), ..., Rk(Xk)}: insieme di istanze di relazioni r = {r1,..., rn} (con rirelazionesullo schema Ri)

  29. ModelloRelazionale: overview Unarelazionesi dice in Prima Forma Normale (PFN) se tuttigliattributisonodefinitisudominiatomici e non sudominicomplessi. CORSI Relazione NON in Prima Forma Normale!

  30. ModelloRelazionale: overview Unarelazionesi dice in Prima Forma Normale (PFN) se tuttigliattributisonodefinitisudominiatomici e non sudominicomplessi. RelazioneNormalizzata (PFN) CORSI Relazionevalida … … ma non ben progettata!

  31. ModelloRelazionale: overview • Altrecomponenti del modellorelazionale: • Informazioniincomplete • Vincoli di integrita’ • Vincoliintra-relazionali • Vincoliinter-relazionali

  32. ModelloRelazionale: overview In unarelazione, le ennuple di datidevonoessereomogenee (ossiaaveretutte le stessastruttura). PROBLEMA (1):Cheaccade se ilvalore di un attributo per unacertaennuplanon e’ noto? IMPIEGATI

  33. ModelloRelazionale: overview In unarelazione, le ennuple di datidevonoessereomogenee (ossiaaveretutte le stessastruttura). PROBLEMA (2):Cheaccade se ilvalore di un attributo per unacertaennuplae’ inesistente? ESAMI

  34. ModelloRelazionale: overview In unarelazione, le ennuple di datidevonoessereomogenee (ossiaaveretutte le stessastruttura). PROBLEMA (3):Cheaccade se ilvalore di un attributo per unacertaennuplae’ senzainformazione? • Il valoredell’attributonon esiste. (CASO2) • Esiste ma non e’ notoal momentodellacreazionedellaennupla. (CASO1)

  35. ModelloRelazionale: overview Unapossibilesoluzione per tutti e treicasipotrebbeesserequella di colmare le informazionimancantiusando “valorispeciali”. • Si richiedonovalorispeciali per ogniattributo. • Si richiede di conoscere la semanticadeivalori “speciali” da parte delleapplicazioni.

  36. ModelloRelazionale: overview • In alternativa: le informazionimancantisonoetichettate con ilvalore NULL. • t[A], per ogniattributo A, èunvalore del dominiodom(A)oppureilvaloreNULL. • Tramitevalori NULL, e’ possibilegestirei 3 casivisti in precedenza(valori non noti, inesistenti o senzainformazione), senzanecessita’ di operaredistinzionetraglistessi.

  37. ModelloRelazionale: overview • Valore di attributonon noto: IMPIEGATI • Valore di attributoinesistente: ESAMI

  38. ModelloRelazionale: overview • E’ fondamentalelimitareilnumero di valori NULL in unarelazione … perche’? STIPENDI

  39. ModelloRelazionale: overview • Per definizione, NULL <> NULL Righedistinte, no duplicati! STIPENDI Righedistinte, no duplicati!

  40. ModelloRelazionale: overview • Altrecomponenti del modellorelazionale: • Informazioniincomplete • Vincoli di integrita’ • Vincoliintra-relazionali • Vincoliinter-relazionali

  41. ModelloRelazionale: overview Non tutte le istanze di unarelazione (o di una base di dati) possonoconsiderarsilecite! CORSI ESAMI STUDENTI

  42. ModelloRelazionale: overview Non tutte le istanze di unarelazione (o di una base di dati) possonoconsiderarsilecite! CORSI ESAMI STUDENTI

  43. ModelloRelazionale: overview Non tutte le istanze di unarelazione (o di una base di dati) possonoconsiderarsilecite! CORSI ESAMI STUDENTI

  44. ModelloRelazionale: overview • Un vincolo e’ unafunzionebooleana, cheassocia ad unaistanzar di una base di datidefinitasuuno schema R = {R1(X1), ..., Rk(Xk)} un valore di verita’ (true/false). • Istanzalecita Instanzachesoddisfatuttiivincoli. • Vincoliintra-relazionali(suciascunarelazione) • Vincoli di ennupla • Vincoli di chiave • Vincoliinter-relazionali(trarelazioni diverse)

  45. ModelloRelazionale: overview • Altrecomponenti del modellorelazionale: • Informazioniincomplete • Vincoli di integrita’ • Vincoliintra-relazionali • Vincoli di ennupla • Vincoli di chiave • Vincoliinter-relazionali

  46. ModelloRelazionale: overview I vincoli di ennuplaesprimonocondizionisuciascunaennupla, consideratasingolarmente. Possonoessereespressimedianteespressionialgebriche o espressionibooleane. C1: C2:

  47. ModelloRelazionale: overview I vincoli di ennuplaesprimonocondizionisuciascunaennupla, consideratasingolarmente. C1:

  48. ModelloRelazionale: overview I vincoli di ennuplaesprimonocondizionisuciascunaennupla, consideratasingolarmente. • Come esprimere la condizionecheilsaldo di • un giornosiadipendente dal saldo del giornoprecedente … Non possofarlo con ivincoli di ennuplavisti fin qui!

  49. ModelloRelazionale: overview • Altrecomponenti del modellorelazionale: • Informazioniincomplete • Vincoli di integrita’ • Vincoliintra-relazionali • Vincoli di ennupla • Vincoli di chiave • Vincoliinter-relazionali

  50. ModelloRelazionale: overview (Def. Informale) Unachiave e’ un insieme di attributicheconsente di identificare in manieraunivocale ennuple di unarelazione. STUDENTI • Non esistono due studenti con la stessamatricola. • Data la matricola di unostudente, e’ possibilerisalire a tuttiisuoidati (cognome/nome/data di nascita).

More Related