Basi dati stampa

Click here to load reader

  • date post

    05-Jul-2015
  • Category

    Documents

  • view

    71
  • download

    0

Embed Size (px)

description

Breve introduzione alla creazione di una base di dati

Transcript of Basi dati stampa

  • 1. Basi di Dati Alan Giacomin Maggio 2009 Alan Giacomin Basi di Dati Maggio 2009 1 / 54

2. Basi di dati 1 Raccolta e analisi requisiti Raccolta requisiti Requisiti strutturati Schema ER 2 Ristrutturazione Generalizzazioni Ridondanze Schema ER ristrutturato Schema logico 3 Implementazione SQL Creazione tabelle Interrogazioni Alan Giacomin Basi di Dati Maggio 2009 2 / 54 3. Raccolta e analisi requisiti Raccolta requisiti Raccolta requisiti Mini-mondo Colloqui Questionari Dati raccolti a livello informale Sinonimi Concetti non chiari Alan Giacomin Basi di Dati Maggio 2009 4 / 54 4. Raccolta e analisi requisiti Raccolta requisiti Esempio - Raccolta requisiti Una societ vuole gestire lattivit di videonoleggio. I video noleg- giabili possono essere cd o dvd e sono identicabili attraverso un codice, oltre ad avere un proprio titolo e dati relativi alla durata e qualit. Possono noleggiare lm solamente i possessori di tessera ricaricabile dalla quale alla con- segna viene scalato un importo in base al tempo passato dal ritiro. Le tessere sono personali dellu- tente che ne richiede una. Dei clienti si desidera tenere traccia dei suoi dati anagraci (cf, cogno- me, nome). Di ciascun video no- leggiato memorizziamo un codi- ce, lutente noleggiante e limpor- to pagato. Per tutti i video si vuo- le conoscere il numero di noleg- gi effettuati. Un video non pu essere noleggiato da pi utenti contemporaneamente. Alan Giacomin Basi di Dati Maggio 2009 5 / 54 5. Raccolta e analisi requisiti Requisiti strutturati Requisiti strutturati Suddivisione per concetti Raggruppamento per frasi Struttura frasi standard Per rappresentiamo ... Alan Giacomin Basi di Dati Maggio 2009 7 / 54 6. Raccolta e analisi requisiti Requisiti strutturati Esempio - Requisiti strutturati Per video rappresentiamo un codice identicatore, titolo, durata e qualit. Si vuole conoscere anche il numero di volte che stato noleggiato. Possono essere cd o dvd. Pi utenti non possono noleggiare lo stesso video assieme. Per utente rappresentiamo cf, cognome, nome. Ogni utente ha una tessera. Per noleggio rappresentiamo un codice, il video, lutente, data e ora del ritiro e consegna. Per tessera rappresentiamo un codice identicativo, lutente possessore ed il credito residuo. Alan Giacomin Basi di Dati Maggio 2009 8 / 54 7. Raccolta e analisi requisiti Schema ER Schema ER Spiegazione generale Dai concetti alle entit Buon punto di inizio Prime associazioni Immediate Cardinalit ricavate dai requisiti Analizzare bene i requisiti strutturati e terminare lo schema Documentare quanto non rappresentabile Vincoli Derivazioni/ridondanze Documentare scelte per punti non espressi nei requisiti Attenersi a quel che viene richiesto, non si aggiunge niente (ad esempio gestione ricariche) Alan Giacomin Basi di Dati Maggio 2009 10 / 54 8. Raccolta e analisi requisiti Schema ER Esempio - Schema ER (1) Per video rappresentiamo un codice identicatore, titolo, durata e qualit. Si vuole conoscere anche il numero di volte che stato noleggiato. Possono essere cd o dvd. Alan Giacomin Basi di Dati Maggio 2009 11 / 54 9. Raccolta e analisi requisiti Schema ER Esempio - Schema ER (2) Per utente rappresentiamo cf, cognome, nome. Ogni utente ha una tessera. Per tessera rappresentiamo un codice identicativo, lutente possessore ed il credito residuo. Alan Giacomin Basi di Dati Maggio 2009 12 / 54 10. Raccolta e analisi requisiti Schema ER Esempio - Schema ER (3) Per noleggio rappresentiamo un codice, il video, lutente, data e ora del ritiro e consegna. Alan Giacomin Basi di Dati Maggio 2009 13 / 54 11. Raccolta e analisi requisiti Schema ER Esempio - Schema ER (4) Non specicato ma si suppone che nel tempo lo stesso video viene noleggiato pi volte. Analogamente si suppone che un utente effettui pi noleggi. Alan Giacomin Basi di Dati Maggio 2009 14 / 54 12. Raccolta e analisi requisiti Schema ER Esempio - Schema ER (5) Alan Giacomin Basi di Dati Maggio 2009 15 / 54 13. Raccolta e analisi requisiti Schema ER Esempio - Schema ER (6) Regole di vincolo Un video non deve essere noleggiato se un utente lo ha gi noleggiato ed ancora non consegnato Regole di derivazione Il numero di noleggi per un video si ottiene contando il numero di occorrenze di Noleggio a cui Video partecipa. Alan Giacomin Basi di Dati Maggio 2009 16 / 54 14. Ristrutturazione Generalizzazioni Generalizzazioni Ristrutturazione necessaria in quanto non sono traducibili a livello logico Si possono rimuovere adottando pi tecniche Accorpamento entit glie nel padre Accorpamento entit padre nelle glie Sostituzione generalizzazione con associazioni Composizione delle precedenti Alan Giacomin Basi di Dati Maggio 2009 18 / 54 15. Ristrutturazione Generalizzazioni Generalizzazioni Alan Giacomin Basi di Dati Maggio 2009 19 / 54 16. Ristrutturazione Generalizzazioni Generalizzazioni (Figlie -> Padre) Si sceglie quando lapplicazione accede maggiormente al concetto generale anzich ai singoli sottotipi + minor numero di accessi - presenza di valori nulli - aggiunta attributo (tipo) - aggiunta regola di vincolo Alan Giacomin Basi di Dati Maggio 2009 20 / 54 17. Ristrutturazione Generalizzazioni Generalizzazioni (Figlie -> Padre) Alan Giacomin Basi di Dati Maggio 2009 21 / 54 18. Ristrutturazione Generalizzazioni Generalizzazioni (Padre -> Figlie) Si sceglie quando si accede spesso ad un dettaglio rispetto allintero concetto Porre attenzione se la generalizzazione non totale + assenza valori nulli + minor numero di accessi - duplicazione associazioni legate al padre Alan Giacomin Basi di Dati Maggio 2009 22 / 54 19. Ristrutturazione Generalizzazioni Generalizzazioni (Padre -> Figlie) Alan Giacomin Basi di Dati Maggio 2009 23 / 54 20. Ristrutturazione Generalizzazioni Generalizzazioni (Associazioni) Si sceglie quando lapplicazione accede equamente al padre ed alle glie + assenza valori nulli - maggior numero di accessi - aggiunta attributo (tipo) - aggiunta regola di vincolo Alan Giacomin Basi di Dati Maggio 2009 24 / 54 21. Ristrutturazione Generalizzazioni Generalizzazioni (Associazioni) Alan Giacomin Basi di Dati Maggio 2009 25 / 54 22. Ristrutturazione Generalizzazioni Generalizzazioni (Composizione) Si sceglie per combinare pro e contro di tecniche differenti Ad esempio accorpare una glia nel padre e creare unassociazione tra la seconda glia ed il padre Alan Giacomin Basi di Dati Maggio 2009 26 / 54 23. Ristrutturazione Generalizzazioni Generalizzazioni (Composizione) Alan Giacomin Basi di Dati Maggio 2009 27 / 54 24. Ristrutturazione Generalizzazioni Esempio - Generalizzazione Nel nostro esempio abbiamo una generalizzazione di Video che si suddivide in cd e dvd Le entit glie non sono particolarmente interessate dallapplicazione Le entit glie non hanno attributi propri Si sceglie quindi di accorpare le glie nel padre Alan Giacomin Basi di Dati Maggio 2009 28 / 54 25. Ristrutturazione Generalizzazioni Esempio - Generalizzazione Alan Giacomin Basi di Dati Maggio 2009 29 / 54 26. Ristrutturazione Ridondanze Ridondanze Sono utili perch in fase di visualizzazione un dato facilmente accessibile senza tanti conti In fase di inserimento dati necessario ricordare di aggiornare tali valori Tenere o lasciare le ridondanze? Alan Giacomin Basi di Dati Maggio 2009 31 / 54 27. Ristrutturazione Ridondanze Tavole volumi Stima grandezza base di dati Aiutano lanalisi Entit Volume AAA 10 BBB 20 CCC 15 Alan Giacomin Basi di Dati Maggio 2009 32 / 54 28. Ristrutturazione Ridondanze Esempio - Tavole volumi Supponiamo di avere 500 video disponibili e 200 utenti. Ogni utente noleggia una media di 5 video. Entit Volume Utente 200 Video 500 Tessera 200 Noleggio 1000 Alan Giacomin Basi di Dati Maggio 2009 33 / 54 29. Ristrutturazione Ridondanze Tavole delle operazioni Evidenzia le operazioni pi frequenti Permette di trovare le operazioni che incidono sulle ridondanze Descrizione Frequenza OP1 Memorizzare un dato in AAA 1/giorno OP2 Visualizzare tutti i dati di BBB 1/mese Alan Giacomin Basi di Dati Maggio 2009 34 / 54 30. Ristrutturazione Ridondanze Esempio - Tavole delle operazioni Nel nostro esempio possiamo ipotizzare le seguenti operazioni. Descrizione Frequenza OP1 Inserire nuovo utente 1/giorno OP2 Inserire nuovo video 1/mese OP3 Noleggiare un video 3/giorno OP4 Visualizzare info video 1/mese Alan Giacomin Basi di Dati Maggio 2009 35 / 54 31. Ristrutturazione Ridondanze Tavola degli accessi Utili nelle analisi delle ridondanze nelle singole operazioni Vengono utilizzate per ricavare il numero totale di accessi Gli accessi in scrittura vengono contati doppi Alan Giacomin Basi di Dati Maggio 2009 36 / 54 32. Ristrutturazione Ridondanze Tavola degli accessi Ipotizziamo un inserimento in AAA con un codice preso in BBB (20 elementi, 3/giorno) Concetto Tipo Accessi BBB L 1 AAA S 20 Operazione: 41 Totale: 123/giorno Alan Giacomin Basi di Dati Maggio 2009 37 / 54 33. Ristrutturazione Ridondanze Esempio - Tavole degli accessi Tra le nostre operazioni solo due agisono sulla ridondanza presente Descrizione Frequenza OP3 Noleggiare un video 3/giorno OP4 Visualizzare info video 1/mese Alan Giacomin Basi di Dati Maggio 2009 38 / 54 34. Ristrutturazione Ridondanze Esempio - Tavole degli accessi OP3 con ridondanza OP3 senza ridondanza Concetto Tipo Accessi Video L 1 Utente L 1 Noleggio S 1 Video S 1 Operazione: 6 Totale: 6570/anno Concetto Tipo Accessi Video L 1 Utente L 1 Noleggio S 1 Operazione: 4 Totale: 4380/anno Alan Giacomin Basi di Dati Maggio 2009 39 / 54 35. Ristrutturazione Ridondanze Esempio - Tavole degli accessi OP4 con ridondanza OP4 senza ridondanza Concetto Tipo Accessi Video L 500 Operazione: 500 Totale: 6000/anno Concetto Tipo Accessi Video L 500 Noleggio L 1000 Operazione: 1500 Totale: 18000/anno Alan Giacomin Basi di Dati Maggio 2009 40 / 54 36. Ristrutturazione Ridondanze Esempio - Tavole degli accessi Riassumendo... Con ridondanza Senza ridondanza OP3 6570 OP4 600