1 / 58

Basi di Dati e Sistemi Informativi

Basi di Dati e Sistemi Informativi. Progettazione Logica Home page del corso : http:// www.cs.unibo.it /~ difelice / dbsi /. Progettazione logica. Analisi dei requisiti e progettazione in dettaglio …. Studio/ analisi dei requisiti. Fasi della p rogettazione. Risultati. SCHEMA

Download Presentation

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 ProgettazioneLogica Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

  2. Progettazionelogica Analisideirequisitie progettazionein dettaglio … Studio/analisideirequisiti Fasidellaprogettazione Risultati SCHEMA CONCETTUALE Progettazioneconcettuale SCHEMA LOGICO Progettazionelogica SCHEMA FISICO Progettazionefisica

  3. Progettazionelogica L’obiettivodellaprogettazionelogicae’ la realizzazione del modellologico (es. relazionale) a partiredalleinformazioni del modello E-R. DIAGRAMMA E-R TAVOLA VOLUMI ANALISI COSTI PROGETTAZIONE LOGICA ModelloRelazionale

  4. Progettazionelogica Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Sviluppatore Tecnico MesiUomo (1,1) Release Skill Numero Programmatore Analista Data

  5. Progettazionelogica Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto DIPENDENTE(Nome, AnnoAssunzione, Skill, Tipo) PROGETTO(Titolo, Budget, NomeDirettore) RELEASE(Numero, TitoloProgetto, Data) PARTECIPAZIONE(NomeDipendente, NomeProgetto, MesiUomo) (0,N) Partecipazione (0,N) (1,N) Versioni Sviluppatore Tecnico MesiUomo (1,1) Release Skill Numero Programmatore Analista Data

  6. Progettazionelogica • Unapossibilita’ (sconsigliata, ma veloce) e’ quella di tradurreognientita’ edognirelazione del modello E-R con unatabellacorrispondente… • PROBLEMI: • Efficienza  Quantetabellesono generate? Efficienzadelleoperazioni sui dati? • Correttezza  Come tradurre le generalizzazioni? Non esiste un costruttoequivalentenelmodello E-R …

  7. Progettazionelogica • Per garantire la qualita’ dello schema prodotto, la progettazionelogicatipicamente include due step: • Ristrutturazione del modelloconcettuale modificare lo schema E-R per semplificare la traduzioneedottimizzareilprogetto. • Traduzionenelmodellologico traduzionedeicostrutti del modello E-R neicostrutti del modellorelazionale …

  8. Progettazionelogica • Per garantire la qualita’ dello schema prodotto, la progettazionelogicatipicamente include due step: • Ristrutturazione del modelloconcettuale modificare lo schema E-R per semplificare la traduzioneedottimizzareilprogetto. • Traduzionenelmodellologico traduzionedeicostrutti del modello E-R neicostrutti del modellorelazionale …

  9. Progettazionelogica • Prima di tradurreilmodello E-R, e’ necessarioristrutturarlo per motivi di correttezza/efficienza: • Analisidelleridondanze • Eliminazionedellegeneralizzazioni • Eliminazionedegliattributi multi-valore • Partizionamento/accorpamento di concetti • Sceltadegliidentificatori

  10. Progettazionelogica • Nelmodello E-R, potrebberoesserepresentiridondanze sui dati, ossiainformazionisignificative ma derivabilida altregia’ presentinelmodello E-R. • Vantaggidelleridondanze: • Operazioni sui dati(spesso) piu’ efficienti • Svantaggidelleridondanze: • Maggiore occupazione di memoria • Maggiore complessita’ degli aggiornamenti

  11. Progettazionelogica Le ridondanze in un diagramma E-R possonopresentarsi in varieforme: ATTRIBUTI DERIVABILI Lordo Netto Tasse Lo stipendionettosipuo’ ricavaredal lordo e dalletasse. STIPENDIO Il NumeroAbitantisipuo’ ricavarecontando le Persone Codice Fiscale Nome Numero Abitanti Codice Descrizione RESIDENTI (1,N) (1,1) PERSONA CITTA

  12. Progettazionelogica In questafase, e’ necessariovalutarecosa fare delleridondanze … Il NumeroAbitantisipuo’ ricavarecontando le Persone Codice Fiscale Nome Numero Abitanti Codice Descrizione RESIDENTI (1,N) (1,1) PERSONA CITTA SOLUZIONE1: Eliminarel’attributoNumeroAbitanti SOLUZIONE2: Conservarel’attributonello schema.

  13. Progettazionelogica Per sceglierecosa fare di un attributoridondante, sipuo’ utilizzarel’analisi del modello E-R cheabbiamovistonellaprogettazioneconcettuale. Sia S lo schema E-R senzaridondanze SiaSrid lo schema E-R con ridondanze Si calcolanoilcosto e l’occupazione di memoria di entrambiglischemi: <c(S),m(S)> e <c(Srid), m(Srid)> Si confrontano c(S)/c(Srid) e |m(s) – m(Srid)|

  14. Progettazionelogica • Per effettuarel’analisidel modello E-R, e’ necessariodisporredelletavoledeivolumi e delleoperazioni. • Operazione1: Memorizzaunanuova persona con la relativacitta’ d’appartenza(200 volte/giorno). • Operazione2: Visualizzatuttiidati di unacitta’, inclusoilnumero di abitanti (5 volte/giorno) TAVOLA delle OPERAZIONI

  15. Progettazionelogica Per effettuarel’analisidel modello E-R, e’ necessariodisporredelletavoledeivolumi e delleoperazioni. TAVOLA dei VOLUMI Assumiamoche le informazioni sui volumisiano contenutenellespecifichedeidati …

  16. Progettazionelogica Analisidello schema Srid(caso con ridondanza): Operazione 1: frequenza 200 volte/giorno TAVOLA DEGLI ACCESSI wI=1, wB=1 a=2 c(Op1)= 200*1*(3*2 +1)=1400

  17. Progettazionelogica Analisidello schema Srid(caso con ridondanza): Operazione 2: frequenza 5 volte/giorno TAVOLA DEGLI ACCESSI wI=1, wB=1 a=2 c(Op2)= 5*1*(0*2 +1)=5

  18. Progettazionelogica Analisidello schema S(casosenzaridondanza): Operazione 1: frequenza 200 volte/giorno TAVOLA DEGLI ACCESSI wI=1, wB=1 a=2 c(Op1)= 200*1*(2*2 +0)=800

  19. Progettazionelogica Analisidello schema S(casosenzaridondanza): Operazione 2: frequenza 5 volte/giorno TAVOLA DEGLI ACCESSI wI=1, wB=1 a=2 c(Op2)= 5*1*(0*2 +5001)=25005

  20. Progettazionelogica • Riassumendo: • c(Srid) = c(Op1) + c(Op2) = 1400 + 5 ~ 1400 • c(S) = c(Op1) + c(Op2) = 800 + 25005 ~ 26000 • Vediamooral’occupazione di memoria: • m(S) = X (byte) • m(Srid) = X + 100 *4 = X+ 400 (byte) Il campo aggiuntivorichiede 4 byte Volume dell’entita’ Citta

  21. Progettazionelogica • Riassumendo, la presenzadellaridondanza: • Introduce un overhead di memoria di 400 byte • Migliora lo speedup delleoperazioni di un fattore 26000/1400 ~ 18! • Risultatodell’analisidelleridondanze In questocaso, e’ convenienteconservare (o nelcasointrodurre) l’attributoNumeroAbitanti!

  22. Progettazionelogica • Prima di tradurreilmodello E-R, e’ necessarioristrutturarlo per motivi di correttezza/efficienza: • Analisidelleridondanze • Eliminazionedellegeneralizzazioni • Eliminazionedegliattributi multi-valore • Partizionamento/accorpamento di concetti • Sceltadegliidentificatori

  23. Progettazionelogica A01 A02 A01 A02 E0 E0 ATIPO E1 E2 A11 A21 Attributoaggiunto … A21 A11 SOLUZIONE 1: Accorpamentodelleentita’ figlienell’entita’ genitore (con relativiattributi/relazione)…

  24. Progettazionelogica A01 A02 R1 R1 R1 E0 A01 A01 A02 A02 E1 E2 E1 E2 A21 A11 A21 A11 SOLUZIONE 2: Accorpamentodelleentita’ genitorenelleentita’ figlie (con relativiattributi/relazione)…

  25. Progettazionelogica A01 A01 A02 A02 R1 R1 (0,1) E0 E0 (0,1) R02 R01 (1,1) (1,1) E1 E2 E1 E2 A21 A21 A11 A11 SOLUZIONE 3: Sostituzionedellegeneralizzazione con relazionitraentita’ genitoreedentita’ figlie…

  26. Progettazionelogica • Quale traduzioneutilizzare? Dipende … • SOL1 introduce valorinulli, ed un attributoaggiuntivo, ma e’ convenientequando non ci sonotroppedistinzionitra E0, E1 ed E2 … • SOL2 e’ possibile solo la generalizzazione e’ totale, introduce valorinulli, e’ convenientequando ci sonooperazionichecoinvolgono solo E1 ed E2 ma non l’entita’ genitore E0 …

  27. Progettazionelogica • SOL3 non introduce valorinulli, ede’ utile quando ci sonooperazionichesiriferiscono solo ad entita’ di E1, E2 ed E0, ma ha necessita’ di introdurredeivincoli: • Un’occorrenza di E0 non puo’ partecipare in contemporanea ad R01 ed R02 • Se la generalizzazione e’ totale, ognioccorrenza di E0 deveappartenere ad R01 o R02 …

  28. Progettazionelogica Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Skill Tipo Versioni Sviluppatore Tecnico MesiUomo (1,1) Release Skill Numero Programmatore Analista Data

  29. Progettazionelogica • Prima di tradurreilmodello E-R, e’ necessarioristrutturarlo per motivi di correttezza/efficienza: • Analisidelleridondanze • Eliminazionedellegeneralizzazioni • Eliminazionedegliattributi multi-valore • Partizionamento/accorpamento di concetti • Sceltadegliidentificatori

  30. Progettazionelogica Gliattributimultivalorenon sonopresentinelmodello logico, ma possonoesseresostituitiintroducendo unarelazioneuno-a-molti… A01 A02 A03 Non introduce valorinulli, ma aumentailnumero di entita’ presentinelsistema … E0 (1,N) A01 A02 (1,N) (1,1) R E0 A03

  31. Progettazionelogica Gliattributimultivalorenon sonopresentinelmodello logico, ma possonoesseresostituitiintroducendo unarelazioneuno-a-molti… Nome Cognome Telefono PERSONA (1,N) Nome Cognome (1,N) (1,1) R PERSONA TELEFONO

  32. Progettazionelogica • Prima di tradurreilmodello E-R, e’ necessarioristrutturarlo per motivi di correttezza/efficienza: • Analisidelleridondanze • Eliminazionedellegeneralizzazioni • Eliminazionedegliattributi multi-valore • Partizionamento/accorpamento di concetti • Sceltadegliidentificatori

  33. Progettazionelogica • Per unadatomodello E-R, e’ possibileridurreilnumero di accessi: • separandoattributi di un concettochevengonoaccedutiseparatamente partizionamenti • raggruppandoattributi di concettidiversiaccedutiinsieme accorpamenti • Necessarioavereindicazionisul volume deidati per effettuarepartizionamenti/accorpamenti …

  34. Progettazionelogica Gliaccorpamenti di entita’ riguardano in genereassociazioniuno-ad-uno… Nome Codice Cognome Interno Indirizzo PROPRIETA’ (0,1) (1,1) PERSONA ABITAZIONE Gliaccessiall’entita’ Persona riguardanosempreidatidell’Abitazione … Nome Codice Cognome Indirizzo PERSONA Interno

  35. Progettazionelogica Partizionamentoverticale di un’entita’ sulla base deisuoiattributi … CF Nome Cognome Le operazionicheriguardano idatianagrafici non riguardanoidati universitari… Matricola STUDENTE Corso di Laurea Nome CF Cognome Corso di Laurea Matricola DATI (1,1) (1,1) STUDENTE DATI UNIVERSITA

  36. Progettazionelogica • Neicasi di entita’ con piu’ identificatori, e’ necessariosceglierneuno: • Evitareattributi con valorinulli. • Scegliere l’ identificatoreminimale. • Preferireidentificatoriinterniad identificatoriesternichecoinvolgonomolteentita’. • Preferireidentificatoriutilizzati da molteoperazioniper l’accessoall’entita’.

  37. Progettazionelogica • Per garantire la qualita’ dello schema prodotto, la progettazionelogicatipicamente include due step: • Ristrutturazione del modelloconcettuale modificare lo schema E-R per semplificare la traduzioneedottimizzareilprogetto. • Traduzionenelmodellologico traduzionedeicostrutti del modello E-R neicostrutti del modellorelazionale …

  38. Progettazionelogica • La progettazionelogicadevetradurreicostrutti del modello E-Rneicostrutti del modellorelazionale, garantendol’equivalenzadeimodelli … • In pratica: • Le entitàdiventanorelazionisuglistessiattributi • Le relationship diventanorelazionisugliidentificatoridelleentitàcoinvolte (piùgliattributipropri)

  39. Progettazionelogica Traduzione di entita’ con identificatoreinterno Matricola Nome Cognome IMPIEGATO(Matricola, Nome, Cognome, DataNascita) IMPIEGATO Data Nascita Le entita’ del modello E-R sitraducono in relazioni del modellorelazionale. L’identificatore del modello E-R diventala chiaveprimariadellarelazione.

  40. Progettazionelogica Traduzione di entita’ con identificatoreesterno Nome Cognome Matricola Indirizzo Nome Citta (1,N) (1,1) STUDENTE UNIVERSITA Le entita’ con identificatoreesternositraducono in unarelazioneche include tra le chiavigliidentificatoridell’entita’ esterna.

  41. Progettazionelogica Traduzione di entita’ con identificatoreesterno Nome Cognome Matricola Indirizzo Nome Citta (1,N) (1,1) STUDENTE UNIVERSITA STUDENTE(Matricola, NomeUniversita, Nome, Cognome) UNIVERSITA(Nome, Citta, Indirizzo)

  42. Progettazionelogica Traduzione di relazionimolti-a-molti Matricola Cognome Budget Codice Descrizione Data LAVORO (0,N) (0,N) IMPIEGATO PROGETTO • Ognientita’ diventaunatabellacon lo stessonome, stessi • attributi e per chiaveilsuoidentificatore. • Ognirelazionediventaunatabella, con glistessiattributi e • come chiavegliidentificatoridelleentita’ coinvolte.

  43. Progettazionelogica Traduzione di relazionimolti-a-molti Matricola Cognome Budget Codice Descrizione Data LAVORO (0,N) (0,N) IMPIEGATO PROGETTO IMPIEGATO(Matricola, Cognome) PROGETTO(Codice, Descrizione, Budget) LAVORO(Matricola,Codice, Data) Vincoli di integrita’ tragliattributi

  44. Progettazionelogica Traduzione di relazionimolti-a-molti Matricola Cognome Budget Codice Descrizione Data LAVORO (0,N) (0,N) IMPIEGATO PROGETTO E’ possibileridenonimaregliattributidellarelazione IMPIEGATO(Matricola, Cognome) PROGETTO(Codice, Descrizione, Budget) LAVORO(MatImpiegato,CodProgetto, Data)

  45. Progettazionelogica Traduzione di relazioniuno-a-molti Cognome Nome Sede Ruolo Nome Citta’ Ingaggio CONTRATTO (0,N) (1,1) GIOCATORE SQUADRA Sonopossibilidue traduzioni: Traducendo la relazione come unatabellaseparata(come nelcasodellerelazionimolti-a-molti). Inglobandola relazionenell’entita’ con card. massima 1.

  46. Progettazionelogica Traduzione di relazioniuno-a-molti Cognome Nome Sede Ruolo Nome Citta’ Ingaggio CONTRATTO (0,N) (1,1) GIOCATORE SQUADRA TRADUZIONE 1 GIOCATORE(Nome, Cognome, Ruolo) SQUADRA(Nome, Citta’, Sede) CONTRATTO(Nome, Cognome, NomeSquadra,Ingaggio)

  47. Progettazionelogica Traduzione di relazioniuno-a-molti Cognome Nome Sede Ruolo Nome Citta’ Ingaggio CONTRATTO (0,N) (1,1) GIOCATORE SQUADRA TRADUZIONE 2 GIOCATORE(Nome, Cognome, Ruolo, NomeSquadra, Ingaggio) SQUADRA(Nome, Citta’, Sede)

  48. Progettazionelogica Traduzione di relazioniuno-a-molti Cognome Nome Sede Ruolo Nome Citta’ Ingaggio CONTRATTO (0,N) (_,1) GIOCATORE SQUADRA • Cosaaccade se vario la cardinalita’ min. di GIOCATORE? • cardMin=0  Soluzione 1preferibile • cardMin=1  Soluzione 2preferibile

  49. Progettazionelogica Traduzione di relazioniuno-a-uno Cognome Nome Sede Stipendio Nome Citta’ Data DIREZIONE (_,1) (_,1) IMPIEGATO UFFICIO Sonopossibili3 diverse alternative, in base allacardinalita’minimadelle due entita’ in gioco …

  50. Progettazionelogica Traduzione di relazioniuno-a-uno Cognome Nome Sede Stipendio Nome Citta’ Data DIREZIONE (1,1) (1,1) IMPIEGATO UFFICIO Caso 1: Cardinalita’ obbligatorie per entrambe le entita’ Si traduce ilmodelloinglobando la relazione in unadelle due entita’ (in pratica, ci sono due traduzionisimmetriche).

More Related