Progettazione logica. Versione elettronica: proglogica.pdf

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progettazione logica. Versione elettronica: proglogica.pdf"

Transcript

1 Progettazione logica Versione elettronica: proglogica.pdf

2 Il secondo passo requisiti del Sistema informativo progettazione concettuale SCHEMA CONCETTUALE progettazione logica SCHEMA LOGICO progettazione fisica SCHEMA FISICO Progettazione logica 2

3 Progettazione logica Obiettivo della fase di progettazione logica è pervenire, a partire dallo schema concettuale, a uno schema logico che lo rappresenti in modo fedele e che sia, al tempo stesso, efficiente L efficienza è legata alle prestazioni, ma poiché queste non sono valutabili precisamente a livello concettuale e logico si ricorre a degli indicatori semplificati Progettazione logica 3

4 Fasi della progettazione logica La progettazione logica può articolarsi in due fasi principali: Ristrutturazione: eliminazione dallo schema E/R di tutti i costrutti che non possono essere direttamente rappresentati nel modello logico target (relazionale nel nostro caso): Eliminazione degli attributi multivalore Eliminazione delle generalizzazioni Partizionamento/accorpamento di entità e associazioni Scelta degli identificatori principali Traduzione: si mappano i costrutti residui in elementi del modello relazionale Partiamo vedendo prima che succede nel caso più semplice, ovvero quando non c è bisogno della fase di ristrutturazione Progettazione logica 4

5 Traduzione di schemi E/R semplici Consideriamo il caso più semplice in cui: Abbiamo entità e associazioni, ma non gerarchie Ogni entità ha un singolo identificatore, ed è interno Non abbiamo attributi ripetuti cognome nome voto data codice titolo anno matricola (0,1) Studenti (0,n) Esami (0,n) Corsi (1,1) dipartimento num_ord cognome nome Professori (1,n) Docenze Progettazione logica 5

6 Traduzione di base: entità Ogni entità è tradotta con una relazione con gli stessi attributi La chiave primaria coincide con l identificatore dell entità Se un attributo è opzionale permettiamo la presenza di valori nulli, e usiamo l asterisco (*) per indicare tale possibilità Studenti Matricola Cognome Nome * Bianchi Giorgio gbianchi@alma.unibo.it Rossi Anna Verdi Marco Neri Lucia lucia78@cs.ucsd.edu Corsi Professori Codice Titolo Anno Dip Num_ord Cognome Nome 483 Analisi 1 DEIS 12 Bolzano Bernhard 729 Analisi 1 DEIS 15 Codd Ted 815 Elettronica 2 DIE 12 Marconi Guglielmo 913 Sistemi Informativi 3 Progettazione logica 6

7 Traduzione di base: associazioni Ogni associazione è tradotta con una relazione con gli stessi attributi, cui si aggiungono gli identificatori di tutte le entità che essa collega gli identificatori delle entità collegate costituiscono una superchiave la chiave primaria dipende dalle cardinalità massime delle entità nell associazione Esami Matricola Codice Voto Data /06/ /07/ /06/ /09/2004 Docenze Codice Dip Num_ord DEIS DEIS DIE DEIS Progettazione logica 7

8 Nomi delle foreign key Non è ovviamente necessario mantenere per le foreign key gli stessi nomi delle primary key referenziate, conviene usare nomi più espressivi Esami(Matricola,CodCorso, Voto, Data) FK: Matricola REFERENCES Studenti FK: CodCorso REFERENCES Corsi Docenze(CodCorso, Dip, Num_ordine) FK: CodCorso REFERENCES Corsi FK: (Dip, Num_ordine) REFERENCES Professori Ovviamente se le entità collegate hanno un identificatore con lo stesso nome la ridenominazione è obbligatoria! Progettazione logica 8

9 Associazioni molti a molti La chiave primaria coincide con l unione degli identificatori delle entità collegate Esami(Matricola, CodCorso, Voto, Data) FK: Matricola REFERENCES Studenti FK: CodCorso REFERENCES Corsi Per le associazioni molti a molti la traduzione presentata, ovvero con una relazione a sé, è la sola alternativa possibile Progettazione logica 9

10 Associazioni uno a molti La chiave primaria coincide con l identificatore dell entità che partecipa con cardinalità massima 1 Docenze(CodCorso, Dip, Num_ordine) FK: CodCorso REFERENCES Corsi FK: (Dip, Num_ordine) REFERENCES Professori(Dip, Num_ord) Perché? Poiché ogni corso c ha al massimo 1 docente, allora c può comparire al massimo una volta in Docenze Progettazione logica 10

11 Associazioni uno a uno La chiave primaria è uno dei due identificatori, l altro diventa una chiave alternativa cognome nome data_inizio nome città cf Rettori R_U (1,1) (1,1) Università R_U(CF, NomeUniversità) FK: CF REFERENCES Rettori FK: NomeUniversità REFERENCES Università Unique(NomeUniversità) La scelta dipende dall importanza relativa delle chiavi Progettazione logica 11

12 Associazioni n-arie Valgono le considerazioni già fatte, ad esempio: Nome Partita IVA Quantità Genere Codice Fornitori (0,n) Forniture (1,n) Prodotti (1,n) Dipartimenti Progettazione logica 12 Nome Telefono Fornitori(PartitaIVA, Nome) Prodotti(Codice, Genere) Dipartimenti(Nome, Telefono) Forniture(Fornitore, Prodotto, Dipartimento, Quantità) FK:

13 Associazioni ad anello In questo caso i nomi delle foreign key si possono derivare dai ruoli presenti nei rami dell associazione Qtà Dipendenze Composizione (0,n) (0,1) (0,n) (0,n) Responsabile Impiegati Dipendente Composto Prodotti Componente Qualifica Nome Codice Costo Nome Codice Impiegati(Codice, Nome, Qualifica) Dipendenze(Dipendente, Responsabile) FK: Dipendente REFERENCES Impiegati FK: Responsabile REFERENCES Impiegati Prodotti(Codice, Nome, Costo) Composizione(Composto, Componente, Qtà) FK: Composto REFERENCES Prodotti FK: Componente REFERENCES Prodotti Progettazione logica 13

14 Associazioni uno a molti: alternative (1) Per le associazioni uno a molti è possibile considerare anche una traduzione più compatta, che ingloba l associazione nella relazione che traduce l entità partecipante con cardinalità massima 1 Corsi Docenze Codice Titolo Analisi Analisi Elettronica Sistemi Informativi Anno Codice Dip Num_ordine DEIS DEIS DIE DEIS Corsi Codice Titolo Anno Dip_docente Num_ordine_docente 483 Analisi 1 DEIS Analisi 1 DEIS Elettronica 2 DIE Sistemi Informativi 3 DEIS 15 Progettazione logica 14

15 Associazioni uno a molti: alternative (2) Il vantaggio che se ne trae si apprezza in fase di interrogazione: Si semplifica la scrittura di query SQL e, soprattutto, Si riduce il numero di join da eseguire (migliori prestazioni!) Nome e cognome degli insegnanti di Analisi SELECT P.Nome, P.Cognome FROM WHERE AND AND Corsi C, Docenze D, Professori P C.Codice = D.CodCorso D.Dip = P.Dip AND D.Num_ordine = P.Num_ord C.Titolo = Analisi SELECT P.Nome, P.Cognome FROM WHERE AND AND Corsi C, Professori P C.Dip_docente = P.Dip C.Num_ordine_docente = P.Num_ord C.Titolo = Analisi Progettazione logica 15

16 Associazioni uno a molti: alternative (3) Per contro, bisogna stare attenti se l entità che ingloba l associazione partecipa con cardinalità minima 0 Supponiamo che un corso possa anche non avere un docente codice titolo anno Corsi (0,1) Docenze Corsi Codice Titolo Anno Dip_docente Num_ordine_docente 483 Analisi 1 DEIS Analisi 1 DEIS Elettronica Sistemi Informativi 3 DEIS 15 Progettazione logica 16

17 Associazioni uno a molti: alternative (4) La presenza dei valori nulli può essere tollerata se questi sono relativamente pochi (dipende dai volumi dei dati in gioco), altrimenti si ha uno spreco inutile di spazio! Bisogna ovviamente garantire che i valori della foreign key siano o tutti definiti o tutti nulli Corsi(Codice, Titolo, Anno, Dip_docente*, Num_ordine_docente*) FK: (Dip_docente, Num_ordine_docente) REFERENCES Professori(Dip, Num_ord) CHECK ( ( (Dip_docente IS NOT NULL) AND (Num_ordine_docente IS NOT NULL) ) OR ( (Dip_docente IS NULL) AND (Num_ordine_docente IS NULL) ) ) Progettazione logica 17

18 Associazioni uno a molti ad anello Quanto visto si applica anche alle associazioni ad anello, ad esempio: Dipendenze (0,n) (0,1) Responsabile Impiegati Dipendente Qualifica Nome Codice Impiegati(Codice, Nome, Qualifica, CodiceResponsabile*) FK: CodiceResponsabile REFERENCES Impiegati Progettazione logica 18

19 Associazioni uno a uno: alternative (1) Si hanno a disposizione varie possibilità: cognome nome data_inizio nome città cf Rettori R_U (1,1) (1,1) Università Rettori(CF, Cognome, Stipendio, NomeUniversità, DataInizio) FK: NomeUniversità REFERENCES Università Unique(NomeUniversità) oppure Università(Nome, Città, CFRettore, DataInizio) FK: CFRettore REFERENCES Rettori Unique(CFRettori) Progettazione logica 19

20 Associazioni uno a uno: alternative (2) Se min-card(e,r) = 0, tradurre l associazione R inglobandola in E non è in generale una buona scelta (ancora, dipende dai volumi dei dati in gioco) Cognome Codice Data inizio Sede Nome Tel Stipendio Impiegati (0,1) (1,1) Direzione Reparti Impiegati(Codice, Cognome, Stipendio, Reparto*, DataInizio*) FK: Reparto REFERENCES Reparti Unique(Reparto) CHECK (((Reparto IS NOT NULL) AND (DataInizio IS NOT NULL)) OR ((Reparto IS NULL) AND (DataInizio IS NULL))) Reparto(Nome, Sede, Telefono) Progettazione logica 20 TROPPI VALORI NULLI!!

21 Associazioni uno a uno: alternative (3) E possibile anche operare una traduzione in cui le entità vengono accorpate (questo andrebbe meglio considerato in fase di ristrutturazione). In ogni caso: Se min-card(e1,r) = min-card(e2,r) = 1 si avranno due chiavi, entrambe senza valori nulli (la chiave primaria è la più importante ) Se min-card(e1,r) = 0 e min-card(e2,r) =1 la chiave derivante da E1 ammetterà valori nulli, e la chiave primaria si ottiene da E2 Se min-card(e1,r) = min-card(e2,r) = 0 entrambe le chiavi hanno valori nulli, quindi si rende necessario introdurre un codice Cognome Codice Data inizio Sede Nome Tel Stipendio Impiegati (0,1) (0,1) Direzione Reparti ImpRep(CodiceImpDip, CodiceImp*,, Reparto*,, DataInizio*) Progettazione logica 21

22 Associazioni uno a uno ad anello In questo caso è possibile ancora inglobare l associazione nell entità La traduzione è ancora problematica se entrambe le partecipazioni sono opzionali Marito (0,1) (0,1) Matrimonio Persone Moglie 1 relazione: Persone(Codice, CFUomo*, NomeUomo*, CFDonna*, NomeDonna*) 2 relazioni: Persone(CF, Nome) Matrimoni(Marito, Moglie) FK: Marito REFERENCES Persone FK: Moglie REFERENCES Persone Unique (Moglie) Nome CF Progettazione logica 22

23 Attributi composti Gli attributi composti vengono tradotti suddividendoli ricorsivamente nelle loro componenti In alternativa si possono mappare in un singolo attributo della relazione, il cui dominio va opportunamente definito, ma questa scelta ovviamente porta a un impoverimento della rappresentazione E consigliabile usare un prefisso comune per gli attributi che si ottengono nome cognome cod_fiscale Persone indirizzo via n.civico (0,1) città CAP Persone(CF, Cognome, Nome, Ind_Via, Ind_NCivico*, Ind_Città, Ind_CAP) Progettazione logica 23

24 Fase di ristrutturazione Serve a semplificare la traduzione e a ottimizzare le prestazioni Per confrontare tra loro diverse alternative bisogna conoscere, almeno in maniera approssimativa, il carico di lavoro, ovvero: Le principali operazioni che la BD dovrà supportare I volumi dei dati in gioco Gli indicatori che deriviamo considerano due aspetti spazio: numero di istanze previste tempo: numero di istanze (di entità e associazioni) visitate durante un operazione Progettazione logica 24

25 Schema di riferimento Cognome (0,1) Direzione (1,1) Telefono (1,n) Codice Impiegato Dipartimento Nome (0,n) (0,1) Afferenza (1,n) (1,1) Partecipazione Data (0,1) Composizione (1,n) (1,n) Progetto Via Sede Budget Nome CAP Indirizzo Città Progettazione logica 25

26 Tavola dei volumi Specifica il numero stimato di istanze per ogni entità (E) e associazione (R) dello schema I valori sono necessariamente approssimati, ma indicativi Concetto Tipo Volume Sede E 10 Dipartimento E 80 Impiegato E 2000 Progetto E 500 Composizione R 80 Afferenza R 1900 Direzione R 80 Partecipazione R 6000 Progettazione logica 26

27 Esempio di valutazione di costo trova tutti i dati di un impiegato, del dipartimento nel quale lavora e dei progetti ai quali partecipa Si costruisce una tavola degli accessi basata su uno schema di navigazione Lo schema di navigazione èla parte dello schema E/R interessata dall operazione, estesa con delle frecce che indicano in che modo l operazione naviga i dati Progettazione logica 27

28 Esempio di schema di navigazione Cognome Telefono (1,n) Codice Impiegato Dipartimento Nome (0,n) (0,1) Afferenza (1,n) (1,1) Partecipazione Data (0,1) (1,n) Progetto Aiuta anche a capire come dovranno essere formulate le query in SQL! Budget Nome Progettazione logica 28

29 Esempio di tavola degli accessi Per ogni entità e associazione interessata dall operazione, riporta il numero di istanze interessate, e il tipo di accesso (L: lettura; S: scrittura) Il numero delle istanze si ricava dalla tavola dei volumi mediante semplici operazioni (ad es: in media ogni impiegato partecipa a 6000/2000 = 3 progetti) Concetto Costrutto Accessi Tipo Impiegato Entità 1 L Afferenza Associazione 1 L Dipartimento Entità 1 L Partecipazione Associazione 3 L Progetto Entità 3 L Progettazione logica 29

30 Analisi delle ridondanze Una ridondanza in uno schema E-R è una informazione significativa ma derivabile da altre In questa fase si decide se eliminare le ridondanze eventualmente presenti o mantenerle (è quindi comunque importante averle individuate in fase di progettazione concettuale!) Se si mantiene una ridondanza si semplificano alcune interrogazioni, ma si appesantiscono gli aggiornamenti si occupa maggior spazio Le possibili ridondanze riguardano Attributi derivabili da altri attributi Associazioni derivabili dalla composizione di altre associazioni (presenza di cicli) Progettazione logica 30

31 Attributi derivabili Importo netto Prodotto IVA Importo lordo Importo totale Acquisto (1,N) (1,N) Composizione Prezzo Prodotto Progettazione logica 31

32 Associazioni ridondanti Studente (0,N) (1,N) Frequenza Corso Docenza (0,N) (1,1) (1,1) Insegnamento (1,N) Professore Progettazione logica 32

33 Esempio di analisi di una ridondanza Si considerano innanzitutto le operazioni influenzate dalla ridondanza, considerando anche le loro frequenze di esecuzione Concetto Tipo Volume Città E 200 Persona E Residenza R Numero abitanti Persona Residenza Città Operazione 1: memorizza una nuova persona con la relativa città di residenza (500 volte al giorno) Operazione 2: stampa tutti i dati di una città (incluso il numero di abitanti) (2 volte al giorno) Progettazione logica 33

34 In presenza di ridondanza Operazione 1 Concetto Costrutto Accessi Tipo Persona Entità 1 S Residenza Associazione 1 S Città Entità 1 L Città Entità 1 S Operazione 2 Concetto Costrutto Accessi Tipo Città Entità 1 L Progettazione logica Sistemi Informativi L-B 34

35 In assenza di ridondanza Operazione 1 Concetto Costrutto Accessi Tipo Persona Entità 1 S Residenza Associazione 1 S Operazione 2 Concetto Costrutto Accessi Tipo Città Entità 1 L Residenza Associazione 5000 L Progettazione logica Sistemi Informativi L-B 35

36 Mantenere o no la ridondanza? È importante considerare la frequenza delle operazioni: Con ridondanza: Operazione 1: 1500 accessi in scrittura e 500 accessi in lettura al giorno Operazione 2: 2 accessi in lettura al giorno Totale: 2002 accessi al giorno Senza ridondanza: Operazione 1: 1000 accessi in scrittura al giorno Operazione 2: accessi in lettura al giorno Totale: accessi al giorno Si decide pertanto di mantenere la ridondanza In generale si possono anche fare considerazioni sullo spazio in più richiesto Progettazione logica Sistemi Informativi L-B 36

37 Eliminazione delle gerarchie Il modello relazionale non può rappresentare direttamente le generalizzazioni Si eliminano perciò le gerarchie, sostituendole con entità e relazioni Vi sono 3 possibilità (più altre soluzioni intermedie): Accorpare le entità figlie nel genitore (collasso verso l alto) Accorpare il genitore nelle entità figlie (collasso verso il basso) Sostituire la generalizzazione con associazioni Progettazione logica Sistemi Informativi L-B 37

38 Schema di riferimento A01 A02 E0 R1 E3 E1 E2 R2 A11 A21 E4 Progettazione logica Sistemi Informativi L-B 38

39 A11 A21 1. Accorpare nel genitore (0,1) (0,1) A01 A02 E0 TIPO R1 (0,..) E3 R2 E4 Progettazione logica Sistemi Informativi L-B 39

40 1. Esempio Tit.Tesi Laureando Studente (p,e) Matr. Nome Tit.Stage Diplomando (1,1) (1,1) Tipo Tit.Tesi (0,1) Studente Tit.Stage (0,1) Matr. Nome Matr (1,n) Relatore (1,n) Azienda (0,1) (0,1) Denom. (1,n) (1,n) Matr Relatore Azienda Denom. Dom(Tipo)= {L,D,N} Progettazione logica Sistemi Informativi L-B 40

41 Collasso verso l alto: osservazioni Tipo è un attributo selettore che specifica se una singola istanza di E appartiene a una delle N sottoentità Copertura (0,1) A1 (0,1) A2 Tipo totale esclusiva: Tipo ha N valori, quante sono le sottoentità parziale esclusiva: Tipo ha N+1 valori; il valore in più serve per le istanze che non appartengono a nessuna sottoentità sovrapposta: occorrono tanti selettori quante sono le sottoentità, ciascuno a valore booleano Tipo_i, che è vero per ogni istanza di E che appartiene a E_i; se la copertura è parziale i selettori possono essere tutti falsi, oppure si può aggiungere un selettore Le eventuali associazioni connesse alle sottoentità si trasportano su E, le eventuali cardinalità minime diventano 0 E K A Progettazione logica Sistemi Informativi L-B 41

42 2. Accorpare nelle figlie R11 R12 E3 E1 E2 R2 A01 A11 A02 A01 A21 A02 E4 Progettazione logica Sistemi Informativi L-B 42

43 2. Esempio CF Nome Dipendente (t,e) 0,1 Contribuisce 1,n 0,1 Dirige Sindacato 1,n capacità Impiegato Operaio macchine 1,n Dirigente 1,n n_sottoposti capacità 1,n 0,n 0,1 Dir_I 0,1 Impiegato Contr_O Dir_O 0,1 0,1 Operaio 0,n 0,n Contr_I 0,n Contr_D 0,n Dir_D macchine 1,n 0,1 0,n Dirigente Sindacato n_sottoposti CF Nome CF Nome CF Nome Progettazione logica Sistemi Informativi L-B 43

44 Collasso verso il basso: osservazioni Se la copertura non è completa non si può fare non si saprebbe dove mettere le istanze di E che non sono né in E1, né in E2 Se la copertura non è esclusiva introduce ridondanza una certa istanza può essere sia in E1 che in E2, e quindi si rappresentano due volte gli attributi che provengono da E E1 E2 K A A1 A2 A K Progettazione logica Sistemi Informativi L-B 44

45 3. Sostituire con associazioni A01 A02 E0 R1 E3 RG1 (0,1) (1,1) (0,1) (1,1) RG2 E1 E2 R2 A11 A21 E4 Progettazione logica Sistemi Informativi L-B 45

46 3. Esempio Cod Desc Prog_sw Mesi uomo Progetto Prog_hw 1,n 0,n Comp_hw N_schede usa Cod Desc Prog_sw Mesi uomo 1,1 Progetto 0,1 0,1 1,1 Prog_hw 1,n 0,n Comp_hw N_schede usa Progettazione logica Sistemi Informativi L-B 46

47 Cosa conviene fare? La scelta fra le alternative si può fare con metodo simile a quello visto per l'analisi delle ridondanze, considerando oltre al numero degli accessi anche l occupazione di spazio È possibile seguire alcune semplici regole generali (ovvero: mantieni insieme ciò che viene usato insieme) 1. conviene se gli accessi al genitore e alle figlie sono contestuali 2. conviene se gli accessi alle figlie sono distinti (ma è possibile solo con generalizzazioni totali) 3. conviene se gli accessi alle entità figlie sono separati dagli accessi al padre Sono anche possibili soluzioni ibride, soprattutto in gerarchie a più livelli Progettazione logica Sistemi Informativi L-B 47

48 Una soluzione ibrida A01 A02 A11 (0,1) E0 R1 E3 TIPO (0,1) (1,1) RG2 E2 R2 A21 E4 Progettazione logica Sistemi Informativi L-B 48

49 Partizionamenti e accorpamenti È possibile ristrutturare lo schema accorpando o partizionando entità e associazioni Tali ristrutturazioni vengono effettuate per rendere più efficienti le operazioni in base al principio già visto, ovvero: Gli accessi si riducono: separando attributi di un concetto che vengono acceduti separatamente raggruppando attributi di concetti diversi acceduti insieme I casi principali sono: partizionamento verticale di entità partizionamento orizzontale di associazioni eliminazione di attributi multivalore Accorpamenti di entità e associazioni Progettazione logica Sistemi Informativi L-B 49

50 Partizionamento verticale di entità Si separano gli attributi in gruppi omogenei Cognome Indirizzo Codice Impiegato Livello Stipendio Cognome Dati anagrafici Data nascita Codice (1,1) (1,1) R Ritenute Stipendio Livello Dati lavorativi Indirizzo Data nascita Ritenute Progettazione logica Sistemi Informativi L-B 50

51 Eliminazione di attributi multivalore Si introduce una nuova entità le cui istanze sono identificate dai valori dell attributo L associazione può essere uno a molti o molti a molti Nome Agenzia Indirizzo Città Città Nome (1,N) Telefono Numero (1,N) (1,1) Agenzia Utenza Telefono Indirizzo Progettazione logica Sistemi Informativi L-B 51

52 Accorpamento di entità Cognome Codice fiscale Interno Indirizzo Persona (0,1) (1,1) Intestazione Appartamento Indirizzo Data nascita Cognome Codice fiscale Indirizzo Persona Interno (0,1) Data nascita Indirizzo (0,1) Progettazione logica Sistemi Informativi L-B 52

53 Partizionamento orizzontale di associazioni Ruolo Cognome Città Nome (1,N) (1,N) Giocatore Composizione Squadra Ruolo Data acquisto (0,1) Data acquisto Data cessione (1,1) Comp. (1,N) attuale Nome Giocatore Squadra Cognome (1,N) Data acquisto Comp. passata (1,N) Data cessione Città Progettazione logica Sistemi Informativi L-B 53

54 Scelta degli identificatori principali È un operazione indispensabile per la traduzione nel modello relazionale, che corrisponde alla scelta della chiave primaria I criteri da adottare sono: assenza di opzionalità (valori NULL) semplicità utilizzo nelle operazioni più frequenti o importanti Se nessuno degli identificatori soddisfa i requisiti si introducono dei nuovi attributi (dei codici ) allo scopo Progettazione logica Sistemi Informativi L-B 54

55 Identificatori principali: esempio L identificatore {Interno, Indirizzo} è opzionale, quindi non può essere scelto Tra Codice fiscale e Codice SSN la scelta dipende da quale è più frequentemente usato per accedere a una persona Codice fiscale Cognome Indirizzo Persona Interno (0,1) Data nascita Codice SSN Indirizzo (0,1) Progettazione logica Sistemi Informativi L-B 55

56 Entità con identificazione esterna Nel caso di entità identificata esternamente, si importa l identificatore della/e entità identificante/i. L associazione relativa risulta automaticamente tradotta Cognome Matricola Nome Città (1,1) (1,N) Studente Iscrizione Università AnnoDiCorso Indirizzo Studente(Matricola, Università, Cognome, AnnoDiCorso) FK: Università REFERENCES Università Università(Nome, Città, Indirizzo) Progettazione logica Sistemi Informativi L-B 56

57 Identificazioni esterne: una precisazione Nel caso generale, si possono avere identificazioni esterne in cascata Per operare correttamente occorre partire dalle entità non identificate esternamente e propagare gli identificatori che così si ottengono matricola codice nome Studente (1,1) (0,n) Iscritto Corso DiLaurea (1,1) (1,n) Di Università nome cognome denominazione indirizzo Università(Nome, Indirizzo) CorsoDiLaurea(Università, Codice, Denominazione) Studente(Università, CodiceCdL, Matricola, Cognome, Nome) Progettazione logica Sistemi Informativi L-B 57

58 Esempio di riferimento Cognome (0,1) Direzione (1,1) Telefono (1,n) Codice Impiegato Dipartimento Nome (0,n) (0,1) Afferenza (1,n) (1,1) Partecipazione Data (0,1) Composizione (1,n) (1,n) Progetto Via Sede Budget Nome CAP Indirizzo Città Progettazione logica Sistemi Informativi L-B 58

59 Schema logico relazionale Per le entità E che partecipano ad associazioni sempre con max-card(e,r) = n la traduzione è immediata: Sede(Città, Via, CAP) Progetto(Nome, Budget) Anche l associazione Partecipazione si traduce immediatamente: Partecipazione(Impiegato, Progetto) L entità Dipartimento si può tradurre importando l identificatore di Sede e inglobando l associazione Direzione Dipartimento(Nome, Città, Telefono, Direttore) Per tradurre l associazione Afferenza, assumendo che siano pochi gli impiegati che non afferiscono a nessun dipartimento, si opta per una rappresentazione compatta Impiegato(Codice, Cognome, Dipartimento*, Data*) Progettazione logica Sistemi Informativi L-B 59

60 Osservazioni finali La progettazione logica, pur potendosi avvalere di strumenti CASE, non va svolta alla cieca ; in presenza di diverse alternative occorre valutare: La presenza o meno di valori nulli, e la loro incidenza, che dipende dal volume dei dati Il modo con cui le operazioni navigano lo schema E/R, che poi si traduce in operazioni di join tra le relazioni che vengono create I casi visti non esauriscono l argomento e lasciano sempre lo spazio per soluzioni specifiche ad hoc Ad esempio, associazioni uno a molti con max-card(e2,r) = K, con K piccolo, possono al limite essere tradotte con 1 sola relazione, prevedendo K repliche degli attributi di E2 (es. tipico: numeri di telefono) Progettazione logica Sistemi Informativi L-B 60

61 Riassumiamo: La fase di progettazione logica ha lo scopo di derivare uno schema logico che sia il più fedele possibile rispetto allo schema E/R di partenza, e che sia al tempo spesso efficiente I confronti tra le diverse alternative vengono eseguiti considerando le principali operazioni interessate e i volumi dei dati in gioco La fase di ristrutturazione elimina dallo schema E/R tutti i costrutti che non possono essere direttamente rappresentati nel modello logico, e apporta modifiche strutturali sulla base di considerazioni di efficienza La fase di traduzione opera traducendo entità e associazioni. Le diverse alternative che si hanno a disposizione per tradurre le associazioni dipendono dalle cardinalità massime in gioco, le quali determinano anche le chiavi delle relazioni che si ottengono. Le cardinalità minime possono portare, in funzione della traduzione scelta, ad avere valori nulli Progettazione logica Sistemi Informativi L-B 61

Progettazione logica: criteri di ottimizzazione

Progettazione logica: criteri di ottimizzazione Progettazione logica: criteri di ottimizzazione Sistemi Informativi T Versione elettronica: 08.2.progLogica.ottimizzazione.pdf Criteri di ottimizzazione Per confrontare tra loro diverse alternative di

Dettagli

Progettazione logica: criteri di ottimizzazione

Progettazione logica: criteri di ottimizzazione Progettazione logica: criteri di ottimizzazione Sistemi Informativi T Versione elettronica: 08.2.progogica.ottimizzazione.pdf Criteri di ottimizzazione Per confrontare tra loro diverse alternative di traduzione

Dettagli

Progettazione logica

Progettazione logica Progettazione logica Obiettivo della fase di progettazione logica è pervenire, a partire dallo schema concettuale, a uno schema logico che lo rappresenti in modo fedele e che sia, al tempo stesso, efficiente

Dettagli

Progettazione Logica di Basi di Dati

Progettazione Logica di Basi di Dati Progettazione Logica di Basi di Dati Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Il secondo passo requisiti del Sistema informativo

Dettagli

Basi di dati. Progettazione logica

Basi di dati. Progettazione logica Basi di dati Progettazione logica Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico 2 Obiettivo della progettazione

Dettagli

Progettazione logica. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Obiettivo della progettazione logica

Progettazione logica. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Obiettivo della progettazione logica Requisiti della base di dati Progettazione logica Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico Obiettivo della progettazione logica

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica

E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica Requisiti della base di dati E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 8) Progettazione logica 05/10/2004 Progettazione concettuale

Dettagli

Basi di dati McGraw-Hill

Basi di dati McGraw-Hill Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill Hill,, 1999 Capitolo 7: Progettazione logica Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione logica Schema

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Obiettivo della progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999 Progettazione logica Obiettivo della progettazione logica "tradurre" lo schema concettuale in uno schema logico che rappresenti gli stessi

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati Atzeni, Ceri, Paraboschi, Torlone Basi di dati Capitolo 9 (I parte) Progettazione logica: ristrutturazione degli schemi E-RE Requisiti della base di dati Basi di dati - Modelli e linguaggi di interrogazione-

Dettagli

Requisiti della base di dati. Schema concettuale

Requisiti della base di dati. Schema concettuale Requisiti della base di dati Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Progettazione concettuale Schema concettuale Progettazione

Dettagli

Informatica Industriale

Informatica Industriale DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello informatico: Applicativo Progettazione logica Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione logica. Attenzione Atzeni, Ceri, Paraboschi, Torlone Basi di dati Capitolo 7: Progettazione logica Attenzione Nel seguito, come gia detto nella descrizione del modello E-R, con la dizione Relationship si intende la relazione

Dettagli

PROGETTO LOGICO DA SCHEMI E/R. progetto logico da E/R 1

PROGETTO LOGICO DA SCHEMI E/R. progetto logico da E/R 1 PROGETTO LOGICO DA SCHEMI E/R progetto logico da E/R 1 Nella lezione precedente Abbiamo visto il progetto integrato di dati con il modello E/R e di funzioni con il modello DATA FLOW Abbiamo usato DFD ed

Dettagli

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica Obiettivi della progettazione logica Parte VI Progettazione logica Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VI - 1 Tradurre lo schema concettuale (schema ER con vincoli) in uno schema logico

Dettagli

Traduzione dal modello E/R al modello relazionale

Traduzione dal modello E/R al modello relazionale Traduzione dal modello E/R al modello relazionale Obiettivo: tradurre lo schema concettuale in uno schema logico che rappresenti gli stessi dati in maniera corretta (ed efficiente) Schema E-R Ristrutturazione

Dettagli

LA PROGETTAZIONE LOGICA. Prima parte

LA PROGETTAZIONE LOGICA. Prima parte LA PROGETTAZIONE LOGICA Prima parte Argomenti della lezione Inquadramento del problema della progettazione logica Fasi della progettazione logica Ristrutturazione di schemi E-R Analisi delle prestazioni

Dettagli

adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill 1.1. Analisi delle ridondanze 1.2. Eliminazione delle generalizzazioni 1.3. Partizionamento/accorpamento di entità e relazioni 1.4. Scelta degli identificatori primari 2 Sono ristrutturazioni effettuate

Dettagli

Progettazione logica

Progettazione logica Progettazione logica Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E- R in modo corretto ed efficiente. Richiede

Dettagli

Partizionamento/accorpamento di concetti

Partizionamento/accorpamento di concetti Partizionamento/accorpamento di concetti Gli accessi possono essere ridotti separando gli attributi di uno stesso concetto cui fanno accesso operazioni diverse e raggruppando attributi di concetti diversi

Dettagli

Progettazione logica: regole di traduzione

Progettazione logica: regole di traduzione Progettazione logica: regole di traduzione Sistemi Informativi T Versione elettronica: 08.1.progLogica.traduzione.pdf Il secondo passo requisiti del Sistema Informativo progettazione concettuale cosa si

Dettagli

I prodotti della varie fasi sono schemi di alcuni modelli di dati:

I prodotti della varie fasi sono schemi di alcuni modelli di dati: Requisiti della base di dati Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli 17/10/2002 Progettazione concettuale

Dettagli

Ristrutturazione di schemi E-R. Ridondanze. Analisi delle ridondanze. Vantaggi semplificazione delle interrogazioni

Ristrutturazione di schemi E-R. Ridondanze. Analisi delle ridondanze. Vantaggi semplificazione delle interrogazioni Ristrutturazione di schemi E-R Ridondanze Può essere divisa in più passi successivi: Analisi delle ridondanze: si decide se mantenere o eliminare le eventuali ridondanze Eliminazione delle generalizzazioni:

Dettagli

Progettazione logica relazionale (1/2)

Progettazione logica relazionale (1/2) Progettazione di basi di dati D B M G (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore Eliminazione

Dettagli

Progettazione di basi di dati D B M G

Progettazione di basi di dati D B M G Progettazione di basi di dati D B M G Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi

Dettagli

PROGETTAZIONE LOGICA. Patrizio Dazzi a.a

PROGETTAZIONE LOGICA. Patrizio Dazzi a.a PROGETTAZIONE LOGICA Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna Progettazione logica Nessun ricevimento questo mercoledì PICCOLO RIASSUNTO DELLA PUNTATA PRECEDENTE Concetti di progettazione

Dettagli

Progettazione logica. Sistemi Informativi L-B. Home Page del corso: Versione elettronica: proglogica.

Progettazione logica. Sistemi Informativi L-B. Home Page del corso:  Versione elettronica: proglogica. Progettazione logica Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: proglogica.pdf Sistemi Informativi L-B Il secondo passo requisiti del

Dettagli

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5 (1/2) Progettazione di basi di dati Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore Eliminazione degli attributi

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione Logica Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Analisi dei requisiti e progettazione in dettaglio Studio/analisi dei requisiti Risultati SCHEMA CONCETTUALE

Dettagli

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica Progettazione logica Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore

Dettagli

Progettazione logica: regole di traduzione

Progettazione logica: regole di traduzione Progettazione logica: regole di traduzione Sistemi Informativi T Versione elettronica: 08.1.progLogica.traduzione.pdf Il secondo passo requisiti del Sistema Informativo progettazione concettuale cosa si

Dettagli

Progettazione. Realizzazione

Progettazione. Realizzazione È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in un contesto più generale: il ciclo di vita dei sistemi informativi: Insieme e sequenzializzazione delle attività

Dettagli

Basi di dati e programmazione web Lezione 4

Basi di dati e programmazione web Lezione 4 Basi di dati e programmazione web Lezione 4 Prof. Paolo Ciaccia paolo.ciaccia@unibo.it DEIS Università di Bologna Argomenti della lezione Progettazione di DB Concettuale modello E/R metodologia di progettazione

Dettagli

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita Progettazione di basi di dati Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata

Dettagli

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita

Progettazione di basi di dati. Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica. Fasi (tecniche) del ciclo di vita Progettazione di basi di dati Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata

Dettagli

Principi di Progettazione del Software a.a

Principi di Progettazione del Software a.a Principi di Progettazione del Software a.a. 2017-2018 Fondamenti di basi di dati: dal modello Entità-Relazioni al modello Relazionale Prof. Università del Salento Obiettivi della lezione Trasformare uno

Dettagli

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009 La progettazione logica Traduzione dal modello Entità-Associazione al modello Anno accademico 2008/2009 Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati Atzeni, Ceri, Paraboschi, Torlone Basi di dati Capitolo 9 (II parte): Progettazione logica: Dallo schema ER allo schema relazionale Traduzione verso il modello relazionale idea di base: le entità diventano

Dettagli

Un esempio di progettazione concettuale

Un esempio di progettazione concettuale Un esempio di progettazione concettuale Si vuole realizzare una base di dati per una società che eroga corsi, di cui vogliamo rappresentare i dati dei partecipanti ai corsi e dei docenti. Per i partecipanti

Dettagli

LA PROGETTAZIONE LOGICA. Terza parte

LA PROGETTAZIONE LOGICA. Terza parte LA PROGETTAZIONE LOGICA Terza parte Argomenti della lezione Traduzione nel modello relazionale Analisi dei vari casi di traduzione Traduzione di schemi complessi Un esempio di progettazione logica Traduzione

Dettagli

Modello Relazionale. Chiavi

Modello Relazionale. Chiavi Modello Relazionale RELAZIONE: dati n comini D 1, D 2,..., D n, (non necessariamente distinti), essa è un sottoinsieme del prodotto cartesiano D 1 x D 2 x... x D n n è detto grado di R; il numero di tuple

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2016/2017 9 - Progettazione Logica Tiziana Catarci Ultimo aggiornamento : 22/02/2017 Progetto di una base

Dettagli

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Progettazione Logica. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Progettazione Logica 1 Da concettuale a logico Traduzione di uno schema concettuale (E-R) in uno schema (relazionale) logico Fare attenzione ai vincoli di integrità! La prima ottimizzazione si basa sulla

Dettagli

La Progettazione Logica

La Progettazione Logica La Progettazione Logica Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia, Capitolo 9 La progettazione Logica Scopo: Costruire uno schema logico

Dettagli

Analisi dei requisiti

Analisi dei requisiti Analisi dei requisiti I requisiti devono innanzitutto essere acquisiti Le fonti possono essere molto diversificate tra loro: utenti, attraverso: interviste documentazione apposita documentazione esistente:

Dettagli

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Generalizzazione. Docente : Alfredo Cuzzocrea   Tel. : Informatica Università Magna Graecia di Catanzaro Informatica Generalizzazione Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Dettagli

PROGETTO LOGICO RELAZIONALE. progetto logico relazionale 1

PROGETTO LOGICO RELAZIONALE. progetto logico relazionale 1 PROGETTO LOGICO RELAZIONALE progetto logico relazionale 1 Nella lezione precedente Abbiamo visto la conversione degli schemi E/R in schemi logici relazionali questa attività, che va sotto il nome di progetto

Dettagli

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill

Progettazione logica Fase 2: Traduzione nel modello relazionale. adattato da Atzeni et al., Basi di dati, McGrawHill Progettazione logica Fase 2: Traduzione nel modello relazionale 2 Vedremo: 1. prima la regola di traduzione per le entita 2. poi la regola base per le relationship molti a molti (chiamata anche regola

Dettagli

Traduzione. Associazioni n-arie

Traduzione. Associazioni n-arie Una volta riorganizzato lo schema si può passare alla traduzione dal modello E-R a quello relazionale. di associazioni molti a molti Tipicamente, passando dal modello E-R a quello relazionale, si procede

Dettagli

La progettazione logica

La progettazione logica La progettazione logica Angelo Chianese,, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 3 (Paragrafo 3.5) Capitolo 4 (Paragrafi

Dettagli

Traduzione. Scelta degli identificatori principali

Traduzione. Scelta degli identificatori principali Scelta degli identificatori principali E molto importante per l importanza rivestita dalle chiavi nel modello relazionale Bisogna scegliere una chiave principale secondo i seguenti criteri: Escludere gli

Dettagli

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori IL MODELLO ENTITÀ- RELAZIONE Gli altri costruttori Sommario Cardinalità Identificatori Generalizzazioni Costruzione di schemi E-R E R con tutti i costruttori Cardinalità delle relazioni Coppia di valori

Dettagli

SCHEMA E/R DI UNA UNIVERSITA'

SCHEMA E/R DI UNA UNIVERSITA' UNIVERSITÀ: SCHEMA E/R & PROGETTO LOGICO Lo schema descrive i professori, gli studenti e i corsi di una università. I professori afferiscono ad un dipartimento e tengono dei corsi; gli studenti hanno nel

Dettagli

Strategie di proge-o. Strategia top down. Strategia bo-om up. Una metodologia. Schema finale. Basi di da' Specifiche Specifiche 1 Specifiche 2

Strategie di proge-o. Strategia top down. Strategia bo-om up. Una metodologia. Schema finale. Basi di da' Specifiche Specifiche 1 Specifiche 2 Basi di da' Proge-azione e Qualità di uno schema conce-uale 1 Strategie di proge-o Come procediamo con tante specifiche anche de-agliate? Come ci orizzon'amo? Strategie: top down: Lo schema conce-uale

Dettagli

LA PROGETTAZIONE LOGICA

LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA DALLO SCHEMA ER ALLO SCHEMA RELAZIONALE Da concettuale a logico! Traduzione di uno schema concettuale (ER) in uno schema (relazionale) logico! Fare attenzione ai vincoli di integrità!!

Dettagli

Corso di Laurea in Informatica Basi di Dati a.a

Corso di Laurea in Informatica Basi di Dati a.a Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Progetto Didattico Durante le lezioni saranno realizzate tutte le fasi

Dettagli

Progettazione logica di basi di dati La progettazione logica

Progettazione logica di basi di dati La progettazione logica Progettazione logica di basi di dati La progettazione logica Schema E Carico applicativo Modello logico Progettazione logica istrutturazione dello schema E Schema E ristrutturato Traduzione verso un modello

Dettagli

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale

Conversione Modello ER in Modello Relazionale. A.Bardine - Conversione Modello ER in Modello Relazionale Basi di Dati A.Bardine - Il Modello Relazionale che rappresenta la realtà di interesse può essere ricavato direttamente dal Modello ER attraverso una sequenza di operazioni di conversione. Entità: Una

Dettagli

D. Gubiani Progettazione 3

D. Gubiani Progettazione 3 Università degli Studi di Udine Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Sistemi di Elaborazione dell Informazione Progettazione D. Gubiani 3 novembre 2009

Dettagli

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione Informatica II Basi di Dati (08/09) Parte 1 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 2 - Metodologie e modelli per la progettazione di BD Introduzione

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER)

Progettazione concettuale usando il modello Entità-Relazione (ER) Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità

Dettagli

Basi di Dati. Progettazione Logica

Basi di Dati. Progettazione Logica Basi di Dati Progettazione Logica Concetti Fondamentali Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità Generalizzazione Linee Guida per la Modellazione

Dettagli

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata

Dettagli

Analisi di una ridondanze. Numero abitanti. (1,1) (0,N) Residenza

Analisi di una ridondanze. Numero abitanti. (1,1) (0,N) Residenza Analisi di una ridondanze Numero abitanti Persona (1,1) (0,N) Residenza Città Valutazione costi Si considerano le operazioni principali Costo complessivo C1 F1 + C2 F2 + + Cn Fn C1, C2, Cn costo (numero

Dettagli

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: Vincoli In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: ogni istanza di relazione deve riferirsi ad istanze di

Dettagli

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013 Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/2013 Riepilogo lezioni precedenti Modello relazionale Costrutti introdotti Domini di base: caratteri, stringhe

Dettagli

Controllo degli accessi

Controllo degli accessi Controllo degli accessi SQL prevede la definizione di utenti, a ciascuno dei quali sono assegnati privilegi diversi. Gli utenti possono essere gli stessi del sistema su cui è attivo il server SQL, oppure

Dettagli

Controllo degli accessi. Controllo degli accessi. Controllo degli accessi. Controllo degli accessi

Controllo degli accessi. Controllo degli accessi. Controllo degli accessi. Controllo degli accessi SQL prevede la definizione di utenti, a ciascuno dei quali sono assegnati privilegi diversi. Gli utenti possono essere gli stessi del sistema su cui è attivo il server SQL, oppure indipendenti dal sistema.

Dettagli

Modello Entità-Relazione

Modello Entità-Relazione Modello Entità-Relazione Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : Progettazione di basi di dati: Metodologie e modelli Altri costrutti del modello E-R Cardinalità di relationship di attributo Identificatore

Dettagli

Progettazione logica e normalizzazione (lucidi del corso)

Progettazione logica e normalizzazione (lucidi del corso) Progettazione logica e normalizzazione (lucidi del corso) Prof. Andrea Schaerf Corso di Basi di dati Facoltà di Ingegneria Università di Udine Anno Accademico 2012-13 Anno Accademico 2012-2013 Codice (0,1)

Dettagli

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati di basi di dati E. Giunchiglia Basi di dati 1 (trasparenze basate su Atzeni,, Ceri, Paraboschi, Torlone: : Basi di dati, Capitolo 6) di basi di dati: Metodologie e modelli 05/10/2004 È una delle attività

Dettagli

Errata Corrige dell edizione 2007

Errata Corrige dell edizione 2007 Errata Corrige dell edizione 2007 Aggiornata al 30/03/2011 pag 11 ASSOCIAZIONI card(studente,esame)=(0,n) pag 17 IDENTIFICATORI Un identificatore di un entità E è una collezione di attributi e/o di entità

Dettagli

Dr. C. d'amat LA PROGETTAZIONE LOGICA

Dr. C. d'amat LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA La progettazione logica Obiettivo: tradurre lo schema ER prodotto nella fase di progettazione concettuale in uno schema logico in grado di descrivere gli stessi dati in maniera

Dettagli

Basi di Dati. La Progettazione Logica. Sommario. Il Processo di Progetto della BD. Algoritmo di Progettazione Logica

Basi di Dati. La Progettazione Logica. Sommario. Il Processo di Progetto della BD. Algoritmo di Progettazione Logica Basi di Dati La Progettazione Logica Progettazione Logica >> Sommario Sommario Introduzione Il Processo di Progetto della BD Algoritmo di Progettazione Logica raduzione delle Classi raduzione delle Gerarchie

Dettagli

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica Entità Ogni entità ha un nome che la identifica univocamente nello schema: I nomi devono essere per quanto possibile espressivi Convenzioni Si usa il singolare Si rappresenta di solito con un rettangolo

Dettagli

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11

DOCENTE PROF. ALBERTO BELUSSI. Anno accademico 2010/11 Progettazione logica DOCENTE PROF. ALBERTO BELUSSI Anno accademico 2010/11 Riepilogo lezioni precedenti Modello relazionale l Costrutti introdotti 2 Domini di base: caratteri, stringhe di caratteri, interi,

Dettagli

Unità 3. Modello Relazionale

Unità 3. Modello Relazionale Unità 3 Modello Relazionale Modello Logico Modelli logico che deriva da concetti Matematici Permette di descrivere in modo corretto ed efficiente tutte le informazioni contenute nel modello E/R Meno astrato

Dettagli

Modello Entità-Relazione

Modello Entità-Relazione Modello Entità-Relazione Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse

Dettagli

Perché preoccuparci?

Perché preoccuparci? Perché preoccuparci? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo? rischiamo di perderci subito nei dettagli dobbiamo pensare subito

Dettagli

Il modello Entità-Relazioni (entity-relationship)

Il modello Entità-Relazioni (entity-relationship) Il modello Entità-Relazioni (entity-relationship) Introduzione alla progettazione Problema: progettare una base di dati a partire da requisiti sulla realtà di interesse Progettare=definire struttura caratteristiche

Dettagli

diagrammi entità-relazioni

diagrammi entità-relazioni diagrammi entità-relazioni laboraorio di basi di dati Pierluigi Pierini pierluigi.pierini@technolabs.it Entità Corso Nome_ Una entità rappresenta una classe di oggetti distinti ed autonomi all interno

Dettagli

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi Basi di Dati 1 Esercitazione 5 08/01/2013 Matteo Picozzi http://home.dei.polimi.it/picozzi {picozzi@elet.polimi.it} proprietà logiche prevalenti su efficienza tenere sulla stessa entità informazioni che

Dettagli

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città. Costrutti fondamentali del modello Entità-Relazione 3.1. dielementidibasididati Il modello Entita Relazione (72) Entità Attributi di entità Relazioni Attributi di relazione IS-A e Generalizzazioni Basi

Dettagli

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi Modello Entità-Relazione (E-R) Modello concettuale di dati. Fornisce una serie di strutture (costrutti) per descrivere un problema in modo chiaro e semplice. I costrutti vengono utilizzati per definire

Dettagli

Ma: progettazione dei dati progettazione delle applicazioni. Progettazione di basi di dati

Ma: progettazione dei dati progettazione delle applicazioni. Progettazione di basi di dati di basi di dati Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: di basi di dati: Metodologie e modelli 17/10/2002 È una delle attività del processo di sviluppo dei sistemi

Dettagli

Il modello Relazionale.

Il modello Relazionale. Il modello Relazionale c.vallati@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione

Dettagli

Basi di Dati. Modello Concettuale

Basi di Dati. Modello Concettuale Basi di Dati Modello Concettuale Dettagli e Approfondimenti Mod. Concettuale >> Sommario Dettagli e Approfondimenti Classi e identificatori Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercizi di progettazione concettuale e logica Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina,

Dettagli

Il modello Entita Relazioni. Costrutti

Il modello Entita Relazioni. Costrutti Il modello Entita Relazioni Costrutti Progetto DB relazionale con il modello E-R Progettazione concettuale Progettazione logica Progettazione fisica 2 La progettazione concettuale Nella fase della progettazione

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione Concettuale: Il Diagramma E-R Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Progettazione di DB Analisi dei requisiti e progettazione in dettaglio Studio/analisi

Dettagli

Progettazione Logica. ISProgLog 1

Progettazione Logica. ISProgLog 1 Progettazione Logica vaccaricarlo@gmail.com ISProgLog 1 Metodologia di progettazione Una metodologia di progettazione consiste generalmente in: Generare una decomposizione in passi successivi e indipendenti

Dettagli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli