Progettazione logica. Versione elettronica: proglogica.pdf
|
|
- Carmelo Lamberti
- 5 anni fa
- Visualizzazioni
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 Sistemi Informativi T Versione elettronica: 08.2.progLogica.ottimizzazione.pdf Criteri di ottimizzazione Per confrontare tra loro diverse alternative di
DettagliProgettazione 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
DettagliProgettazione 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
DettagliProgettazione 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
DettagliBasi 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
DettagliProgettazione 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
DettagliAtzeni, 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
DettagliE. 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
DettagliBasi 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
DettagliAtzeni, 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
DettagliAtzeni, 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
DettagliAtzeni, 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-
DettagliRequisiti 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
DettagliInformatica 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/
DettagliAtzeni, 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
DettagliPROGETTO 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
DettagliObiettivi 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
DettagliTraduzione 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
DettagliLA 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
Dettagliadattato 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
DettagliProgettazione 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
DettagliPartizionamento/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
DettagliProgettazione 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
DettagliI 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
DettagliRistrutturazione 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:
DettagliProgettazione 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
DettagliProgettazione 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
DettagliPROGETTAZIONE 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
DettagliProgettazione 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
DettagliProgettazione 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
DettagliCorso 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
DettagliProgettazione 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
DettagliProgettazione 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
DettagliProgettazione. 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à
DettagliBasi 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
DettagliProgettazione 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
DettagliProgettazione 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
DettagliPrincipi 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
DettagliLa 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
DettagliAtzeni, 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
DettagliUn 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
DettagliLA 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
DettagliModello 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
DettagliCorso 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
DettagliProgettazione 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
DettagliLa 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
DettagliAnalisi 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:
DettagliGeneralizzazione. 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,
DettagliPROGETTO 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
DettagliProgettazione 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
DettagliTraduzione. 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
DettagliLa 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
DettagliTraduzione. 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
DettagliIL 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
DettagliSCHEMA 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
DettagliStrategie 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
DettagliLA 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à!!
DettagliCorso 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
DettagliProgettazione 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
DettagliConversione 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
DettagliD. 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
Dettagli2 - 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
DettagliProgettazione 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à
DettagliBasi 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
DettagliProgettazione 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
DettagliAnalisi 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
DettagliVincoli. 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
DettagliProgettazione 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
DettagliControllo 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
DettagliControllo 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.
DettagliModello 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
DettagliAtzeni, 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
DettagliProgettazione 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)
DettagliMa: 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à
DettagliErrata 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à
DettagliDr. 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
DettagliBasi 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
DettagliEntità. 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
DettagliDOCENTE 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,
DettagliUnità 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
DettagliModello 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
DettagliPerché 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
DettagliIl 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
Dettaglidiagrammi 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
DettagliBasi 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
DettagliInformatica 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/
Dettagli3.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
DettagliEntità. 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
DettagliMa: 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
DettagliIl 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
DettagliBasi 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
DettagliLaboratorio 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,
DettagliIl 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
DettagliCorso 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
DettagliProgettazione 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
DettagliStrategie 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