Tecnologie dell'informazione e della Comunicazione. Sistemi per la gestione di basi di Dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tecnologie dell'informazione e della Comunicazione. Sistemi per la gestione di basi di Dati"

Transcript

1 Tecnologie dell'informazione e della Comunicazione Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari gaspari@cs.unibo.it Rielaborazione delle slide del Dott. Matteo Magnani e dell Dott. Nicola Dragoni 1 1

2 Basi di Dati Progettazione concettuale L obiettivo della progettazione concettuale è quello di rappresentare la realtà di interesse ad un alto livello di astrazione. 2

3 Progettazione concettuale I modelli concettuali dei dati 3

4 I modelli concettuali dei dati Modello: l insieme delle regole e strutture che permettono la rappresentazione della realtà di interesse Schema: la rappresentazione di una specifica realtà secondo un determinato modello Regole di costruzione e di descrizione Realtà percepita Modello Il modello fornisce le regole per la costruzione della rappresentazione La rappresentazione è data da un insieme di simboli posti in corrispondenza con la realtà di interesse Rappresentazione (schema) La realtà di interesse è una porzione di mondo reale così come è percepita da chi costruisce la rappresentazione 4

5 I modelli concettuali dei dati Astrazione: è un procedimento mentale che si adotta quando si evidenziano alcune proprietà e caratteristiche di un insieme di oggetti altre proprietà, giudicate non rilevanti, vengono trascurate Primitive di astrazione comuni a tutti i modelli: classificazione generalizzazione aggregazione 5

6 I modelli concettuali dei dati Classificazione: astrazione che conduce alla definizione di una classe a partire da un insieme di oggetti caratterizzati da proprietà comuni Esempio: i membri della classe SETTIMANA sono Lunedì,... Giovedì,..., Domenica Relazione IS_MEMBER_OF: esiste tra un elemento della classe e la classe stessa (esempio: Giovedì IS_MEMBER_OF SETTIMANA) gli stessi oggetti possono essere classificati in modi diversi TAVOLO sedia nera x SEDIA MOBILE NERO sedia bianca y tavolo nero w MOBILE BIANCO tavolo bianco k 6

7 I modelli concettuali dei dati Generalizzazione: astrazione che definisce una relazione di sottoinsieme tra una classe (superclasse) e altre classi (sottoclassi) Esempio: la classe PERSONA è una generalizzazione delle classi UOMO e DONNA PERSONA UOMO DONNA La generalizzazione stabilisce una corrispondenza (mapping) tra gli elementi di una classe (superclasse) e gli elementi delle classi generalizzate (sottoclassi) Per tale mapping si definiscono delle proprietà di copertura 7

8 I modelli concettuali dei dati Copertura totale o parziale totale (t): ogni elemento della classe generica è in relazione con almeno un elemento delle classi generalizzate parziale (p): esistono alcuni elementi della classe generica che non sono in relazione con alcun elemento delle classi generalizate Copertura esclusiva o sovrapposta esclusiva (e): ogni elemento della classe generica è in relazione con al massimo un elemento delle classi generalizzate sovrapposta (o): esistono alcuni elementi della classe generica che sono in relazione con elementi di due o più classi generalizzate Animali Maschio Femmina Veicoli Auto Moto Persone Maschio Impiegato Giocatori Calciatori Tennisti totale, esclusiva parziale, esclusiva parziale, sovrappostatotale, sovrapposta 8

9 I modelli concettuali dei dati Aggregazione: astrazione mediante la quale si giunge alla definizione di un concetto a partire da altri concetti che ne rappresentano le parti componenti Esempio: il concetto BICICLETTA è la classe i cui componenti sono RUOTA, PEDALE e MANUBRIO Relazione IS_PART_OF: esiste tra un concetto componente e il concetto composto (es: PEDALE IS_PART_OF BICICLETTA) L aggregazione stabilisce una corrispondenza (mapping) tra gli elementi di una classe componente e gli elementi della classe composta Un associazione binaria tra classi PERSONA (e' un tipo di aggregazione): corrispondenza stabilita fra 2 classi p1 Esempio: p2 USA è un'associazione binaria delle classi PERSONA e CASA, che stabilisce un mapping tra gli elementi delle due classi p3 CASA c1 c2 USA c3 c4 9

10 Cardinalità delle associazioni Sia A una relazione tra C1 e C2 Cardinalità minima di C1 in A (min-card(c1, A)): è il minimo numero di corrispondenze nell'associazione A alle quali ogni membro di C1 deve partecipare Cardinalità massima di C1 in A (max-card(c1, A)): è il massimo numero di corrispondenze nell'associazione A alle quali ogni membro di C1 può partecipare Se min-card(c1, A) = m1 e max-card(c1, A) = M1, allora la cardinalità di C1 in A è (m1, M1), ovvero card(c1, A) = (m1, M1) Partecipazione opzionale (min-card(c1, A) = 0): alcuni elementi di C1 possono non essere aggregati tramite l'associazione A a elementi di C2 Partecipazione obbligatoria (min-card(c1, A) > 0): ad ogni elemento di C1 deve essere aggregato, tramite A, almeno un 10 elemento di C2

11 Cardinalità delle associazioni Uno a uno (one-to-one) Uno a molti (one-to-many) Molti a uno (many-to-one) Molti a molti (many-to-many) max-card(c1, A) = 1 max-card(c2, A) = 1 C1 C2 max-card(c1, A) = 1 max-card(c2, A) = n C1 C2 max-card(c1, A) = n max-card(c2, A) = 1 C1 C2 max-card(c1, A) = n max-card(c2, A) = n C1 C2 11

12 Esempio di associazione binaria PERSONA USA p1 p2 p3 CASA c1 c2 c3 c4 Ogni persona usa almeno una casa: min-card(persona, USA) = 1 Ogni persona può usare un generico numero di case: max-card(persona, USA) = n Alcuni case non sono abitate: min-card(casa, USA) = 0 Ogni casa può ospitare molte persone: max-card(casa, USA) = n Cardinalità di PERSONA in USA: card(persona, USA)= (1,n) Cardinalità di CASA in USA: card(casa, USA)= (0,n) 12

13 Altri esempi di associazioni binarie PERSONA POSSIEDE CASA Alcune persone non possiedono una casa: min-card(persona, POSSIEDE) =0 p1 p2 p3 c1 c2 c3 c4 Ogni persona può possedere un generico numero di case: max-card(persona, POSSIEDE) = n Ogni casa deve essere posseduta da una e una sola persona: min-card(casa, POSSIEDE) = 1 max-card(casa, POSSIEDE) = 1 Cardinalità di PERSONA in POSSIEDE: card(persona, POSSIEDE)= (0,n) Cardinalità di CASA in POSSIEDE: card(casa, POSSIEDE)= (1,1) 13

14 Progettazione concettuale Il modello Entity Relationship (E/R) 14

15 Elementi Base Entità: rappresenta un insieme di oggetti della realtà di cui si individuano proprietà comuni Rappresentazione grafica: Associazione: rappresenta un legame logico tra due o più entità Rappresentazione grafica: Attributo: rappresenta proprietà elementari di entità o associazioni Rappresentazione grafica: 15

16 Esempio STUDENTE e CORSO sono entità ESAME è un' associazione tra STUDENTE e CORSO N_MATRICOLA e NOME sono attributi di STUDENTE DATA e VOTO sono attributi di ESAME N_CORSO e TITOLO sono attributi di CORSO 16

17 Associazioni Le associazioni sono caratterizzate in termini di cardinalità Un corso può esistere Uno studente può aver sostenuto indipendentemente dal fatto che vi zero, uno o più esami. siano o meno studenti che abbiano già Con cardinalità minima 0 si afferma sostenuto esami relativi a quel corso che uno studente esiste anche se non ha sostenuto esami: min-card(studente, ESAME) = 0 max-card(studente, ESAME) = n min-card(corso, ESAME) = 0 max-card(corso, ESAME) = n card(corso, ESAME) = (0, n) card(studente, ESAME) = (0, n) 17

18 Anelli Un anello è un'associazione binaria tra un entità e se stessa Il ruolo di un entità è indicato tramite una label Esempio Ogni capo può dirigere (CAPO_DI) più dipendenti Ogni dipendente è direttamente SUBORDINATO_A un solo capo 18

19 Associazioni n-arie Un'associazione n-aria connette più di due entità Esempio SI_TIENE è una relazione ternaria che connette le entità CORSO, GIORNO e AULA, con le seguenti cardinalità:_ card(corso, SI_TIENE) = (1,3) card(giorno, SI_TIENE) = (0,n) card(aula, SI_TIENE) = (0,40) 19

20 Attributi Dominio dell attributo: insieme di valori legali per l attributo Un attributo è detto semplice se è definito su un solo dominio Sie E un entità o una relazione e A un attributo di E: Cardinalità minima: min-card(a,e) è il minimo numero di valori dell attributo associati a ogni istanza dell entità o relazione E Cardinalità massima: max-card(a,e) è il massimo numero di valori dell attributo associati a ogni istanza dell entità o relazione E 20

21 Attributi Opzionale: min-card(a,e) = 0 può essere non specificato il nome dell attributo Obbligatorio: min-card(a,e) = 1 almeno un valore dell attributo deve essere specificato Valore-singolo: max-card(a,e) = 1 Valore-multiplo: max-card(a,e) > 1 Una persona ha esattamente un nome Una persona può avere al massimo un indirizzo NB. Se non è specificato si sottointende (1,1) Una persona può avere più laure 21

22 Attributi composti Rappresentazione grafica: Un attributo composto è costituito da un gruppo di attributi che hanno affinità nel significato e nell uso. Esempio: INDIRIZZO denota il gruppo di attributi VIA, CITTA, REGIONE, NAZIONE e CAP. Con la cardinalità dell attributo composto INDIRIZZO si dice che una persona può avere più indirizzi, ciascuno dei quali composto da via, città, regione, nazione e cap (opzionale) Se invece si fossero usati 5 attributi semplici si poteva solo stabilire la cardinalità di ciascuno di essi indipendentemente da quella degli altri. 22

23 Gerarchie di Generalizzazione Un entità E è una generalizzazione di un gruppo di entità E1, E2,..., En se ogni oggetto delle classi E1, E2,..., En è anche un oggetto della classe E E E1 E2... En Proprietà di copertura della generalizzazione: totale ed esclusiva: (t, e) parziale ed esclusiva: (p, e) parziale e sovrapposta: (p, o) totale e sovrapposta: (t, o) 23

24 Esempio di generalizzazione La generalizzazione delle persone basate sul sesso è (t, e) Vi sono persone che non sono nè impiegati, nè segretari e nè manager: la generalizzazione basata sull impiego è (p, e) Gli impiegati possono avere più di un lavoro, anche diverso da quelli rappresentati in figura: tale generalizzazione è (p, o) Tutti i manager ricoprono il ruolo tecnico e/o amministrativo: la generalizzazione basata sul ruolo manageriale è (t, o) 24

25 Ereditarietà delle proprietà Nell astrazione di generalizzazione tutte le proprietà dell entità generica sono ereditate dalle entità generalizzate. Nel modello E/R ogni attributo, associazione e generalizzazione definita per l entità generica E è ereditata automaticamente da tutte le entità generalizzate E1, E2,..., En L attributo NOME della classe PERSONA è anche attributo delle classe STUDENTE e PROFESSORE, pertanto essi possono essere eliminati da tali classi ottenendo il secondo schema semplificato. 25

26 Subset Un subset è una gerarchia di generalizzazione con una sola entità generalizzata. La copertura di un subset è parziale. ESEMPIO STUDENTE ha, oltre agli attributi ereditati da PERSONA, l attributo addizionale MATRICOLA 26

27 Identificatori (chiave) Un identificatore (chiave) di un entità E è una collezione di attributi o di entità in associazione con E che individua in modo univoco tutte le istanze di E Sia E un entità A1,..., An: attributi a valore singolo ed obbligatori per E E1,.., Em: entità diverse da E e connesse ad E tramite associazioni binarie R1,..., Rm obbligatorie (min-card(e, Ri) = 1) e uno-a-uno o molti-a-uno (max-card(e, Ri) = 1) Possibili identificatori I = {A1,..., An, E1,..., Em}, ν 0, m 0, n+m 1. Valore dell identificatore di un istanza di E: l insieme di tutti i valori degli attributi Ai, i = 1,..., n e di tutte le istanze Ej, j= 1,..., m 27

28 ...continua I è un identificatore di E se: non ci sono due istanze di E con lo stesso valore dell identificatore eliminando un attributo Ai oppure un entità Ej da I, la proprietà a. non è più valida Classificazione degli identificatori semplice se n+m = 1 interno se m = 0 mixed se n > 0 e m > 0 composto se n+m > 1 esterno se n = 0 Ogni entità deve avere almeno un identificatore Gli identificatori interni sono preferibili rispetto a quelli esterni Gli identificatori semplici sono preferibili rispetto a quelli composti 28

29 Esempi di Identificatori Esempi di identificatori IDENTIFICATORE SEMPLICE ED INTERNO I = {NOME} IDENTIFICATORE COMPOSTO ED INTERNO I = {NOME, DATA_DI_NASCITA, NOME_GENITORE, RESIDENZA} (il nome dell identificatore ID_PERSONA è opzionale) 29

30 Esempi di Identificatori IDENTIFICATORE COMPOSTO E MIXED I = {NUM_IMPIEGATO_NEL_DIPARTIMENTO, DIPARTIMENTO} 30

31 Simboli Grafici del modello E/R 31

32 Progettazione concettuale Metodologie per il progetto concettuale 32

33 Metodologie per il progetto concettuale La costruzione di uno schema E/R è un processo incrementale: la nostra percezione della realtà è progressivamente raffinata e arricchita e lo schema concettuale è gradualmente sviluppato Primitive di raffinamento: trasformazioni che applicate allo schema iniziale producono lo schema finale Strategie di progetto: top-down bottom-up mixed Primitive di raffinamento + =Metodologie di progetto Strategie di progetto 33

34 Primitive per il progetto concettuale Il progetto di uno schema concettuale è un processo iterativo durante il quale, partendo da uno schema iniziale, si effettuano delle trasformazioni di schema per produrre lo schema finale Esempio Schema iniziale Schema finale Trasformazio ne 34

35 Caratteristiche delle trasformazioni dello schema Ogni trasformazione si applica ad uno schema iniziale e produce uno schema finale. Nell esempio lo schema iniziale è un entità (LUOGO) e lo schema finale è uno coppia di entità (CITTA e STATO) connesse da una relazione (VIVE_IN). Trasformazione Ogni trasformazione mappa nomi di concetti dello schema iniziale in nomi di concetti dello schema finale. Nell esempio al nome iniziale LUOGO corrisponde l insieme di nomi CITTA, IN, STATO. I concetti dello schema finale devono ereditare tutte le connessioni logiche definite per i concetti dello schema iniziale. Nell esempio l associazione VIVE_IN tra PERSONA e LUOGO è ereditata dall entità CITTA. 35

36 Trasformazioni Primitive Le trasformazioni primitive sono trasformazioni che non possono essere decomposte in altre più semplici Due tipologie: Primitive top-down Primitive bottom-up 36

37 Primitive top-down Hanno una struttura semplice: lo schema iniziale è un concetto semplice e lo schema finale consiste in un piccolo insieme di concetti Tutti i nomi sono raffinati in nuovi nomi che descrivono il concetto originale ad un livello di astrazione più basso Le connessioni logiche dovrebbero essere ereditate da un singolo concetto dello schema risultante. 37

38 Elenco delle Primitive Top-Down Un entità è trasformata in un'associazione tra due o più entità Esempio L entità LUOGO è raffinata nella relazione VIVE_IN tra le entità CITTA e STATO Un entità è trasformata in una gerarchia di generalizzazione o in un subset Esempio L entità PERSONA è trasformata in una generalizzazione che include MASCHIO e FEMMINA 38

39 Elenco delle Primitive top-down Un entità è trasformata in un insieme di entità indipendenti. L effetto di questa trasformazione è di introdurre nuove entità, non di stabilire associazioni o generalizzazioni tra di esse Esempio L entità PREMIO è divisa in due entità, PREMIO_NOBEL e OSCAR e nessuna associazione è stabilita tra di esse in quanto sono due modi indipendenti e differenti di classificare gli elementi di PREMIO 39

40 Elenco delle Primitive top-down Un associazione è trasformata in una o più associazioni tra le stesse entità Esempio L associazione VIVE_A tra PERSONA e CITTA è raffinata in due associazioni, VIVE_A e NATA_A, tra le stesse entità. 40

41 Elenco delle Primitive top-down Un associazione è trasformata in un cammino di entità e associazioni. Questo corrisponde a riconoscere che un associazione tra due entità deve essere espressa tramite una terza entità, che era nascosta nella prima rappresentazione. Esempio L associazione LAVORA_IN tra DIPENDENTE e DIPARTIMENTO è raffinata in un aggregazione più complessa che include l entità DIRIGENTE e due nuove associazioni. 41

42 Elenco delle primitive top-down Un entità o associazione è trasformata introducendo i suoi attributi Esempio Per l entità PERSONA sono introdotti gli attributi NOME, SESSO e ETA. Un entità o associazione è trasformata introducendo un attributo composto Esempio Per l entità PERSONA è introdotto l attributo composto INDIRIZZO. 42

43 Elenco delle primitive top-down Elenco delle primitive top-down Un attributo semplice è trasformato in un attributo composto o in un gruppo di attributi Esempio L attributo DATA è raffinato in un attributo composto dagli attributi GIORNO, MESE e ANNO. 43

44 Primitive bottom-up Introducono nuovi concetti e proprietà che non comparivano nelle precedenti versioni dello schema oppure modificano alcuni concetti esistenti Sono usate quando alcune caratteristiche del dominio di applicazione non sono rappresentate nelle versioni precedenti dello schema Sono applicate per integrare schemi differenti in uno schema globale più comprensivo (integrazione di schemi) 44

45 Elenco delle Primitive bottom-up Genera una nuova entità. E usata per introdurre un concetto nuovo nello schema. Genera una nuova associazione tra entità precedentemente definite. Esempio La nuova associazione VIVE_IN è stabilita fra le entità PERSONA e LUOGO. 45

46 Elenco delle Primitive bottom-up Genera una nuova entità come generalizzazione di entità esistenti Esempio Si forma una gerarchia di generalizzazione introducendo la classe PERSONA. Genera un nuovo attributo e lo connette ad un entità o associazione precedentemente definita Esempio Gli attributi CITTA e STATO sono connessi a LUOGO. 46

47 Elenco delle Primitive bottom-up Genera un attributo composto e lo connette ad un entità o associazione esistente Esempio L attributo composto INDIRIZZO è connesso a PERSONA. 47

48 Strategie per il Progetto Concettuale Top-down Lo schema è ottenuto applicando solo le primitive top-down. Il processo finisce quando tutti i requisiti sono stati rappresentati. Bottom-up Lo schema è ottenuto applicando solo le primitive bottom-up, iniziando da concetti elementari e costruendo concetti più complessi. I concetti vengono progressivamente integrati nello schema finale. Mixed Utilizzo sia delle strategie top-down che di quelle bottom-up. niziando da concetti elementari e costruendo concetti più complessi. I concetti vengono progressivamente integrati nello schema finale. 48

49 Esercizio Si vuole costruire una base di dati che rappresenta persone e luoghi. Requisiti: Per le persone sono considerate le seguenti proprietà: nome, cognome, sesso, età, luogo di nascita e di residenza, durata della residenza, posizione militare per gli uomini e il nome da nubile per le donne. Un luogo può essere uno stato ester o una città nazionale; ognuno di essi ha un nome e una popolazione. Per uno stato estero deve essere indicato il continente e per una città nazionale il nome della regione. 49

50 Tecnologie dell'informazione Progettazione logica relazionale Con il termine progettazione logica relazionale si intende la traduzione di uno schema disegnato tramite un modello concettuale (es. schema E/R) in uno schema disegnato tramite un modello relazionale. Dipende dal modello dei dati relazionale: basi di dati relazionali. Un modello dei dati alternativo e' quello ad oggetti. Esempi di basi di dati relazionali: mysql, access, postgress, openoffice database, etc... 50

51 Passi progettazione DB Progettazione concettuale Schema E/R: tecnica generale Progettazione logica. Specifica per diversi modelli dei dati Necessita ottimizzazioni Viste Interrogazioni Applicazioni 51

52 Il modello dei dati relazionale Una base di dati e' organizzata in relazioni dette anche tabelle. Si tratta del modello attualmente più utilizzato. Buoni meccanismi di ottimizzazione (forme normali). Interrogazioni espresse tramite un algebra relazionale. Linguaggio di interrogazione SQL (Structured Query Language) Supporto per transazioni: sequenze di operazioni sui dati che devono essere eseguite completamente per avere effetto, se una transazione non viene eseguita completamente l'effetto delle operazioni eseguite viene annullato. 52

53 Generazione dello Schema Relazionale Schema E/R Relazioni (tabelle)... 1.Eliminazione degli identificatori esterni 2.Eliminazione di attributi composti e/o ripetuti 3.Traduzione delle entità 4.Traduzione delle associazioni 53

54 Eliminazione degli Identificatori Esterni Se la chiave primaria di un entità E1 è data (completamente o parzialmente) dalla chiave primaria di E2, questa viene importata in E1. L associazione tra E1 e E2 viene così automaticamente tradotta e può essere eliminata. Esempi o 54

55 Eliminazione degli Attributi Composti Ci sono due alternative: Eliminare l attributo composto e considerare i suoi componenti come attributi semplici Eliminare i componenti e considerare l attributo come semplice Esempio 55

56 Traduzione Standard: Entità Ogni entità è tradotta con una relazione con gli stessi attributi La chiave primaria della relazione è quella dell entità stessa Esempio PERSONA(NOME, VIA, CITTA, NAZIONE) 56

57 Traduzione standard: associazioni Ogni associazione R tra le entità E1, E2,..., En è tradotta con una relazione con gli stessi attributi, cui si aggiungono le chiavi primarie di tutte le entità che essa collega ogni chiave primaria di un entità Ei tale che max-card(ei, R) = 1 è una chiave (candidata) della relazione R; altrimenti la chiave della relazione è composta dall insieme di tutte le chiavi primarie delle entità collegate le chiavi primarie delle entità collegate sono chiavi straniere (FK) riferite alle corrispondenti entità N.B.: La traduzione standard è praticamente l unica possibilità per le associazioni in cui tutte le entità partecipano con molteplicità maggiore di 1, ovvero max-card(ei, R) > 1, per ogni i 57

58 Esempio di traduzione standard Studente(Matricola, Nome) Corso(Codice, Denominazione) Esame(Matricola, Codice, Anno, Voto) FK: Matricola REFERENZIA Studente FK: Codice REFERENZIA Corso 58

59 Associazione binaria uno a uno tradotta con una relazione E12(K1, A1,..., K2, B1,..., C1,...) Vediamo alcuni casi particolari... 59

60 Associazione binaria uno a uno tradotta con un'associazione Se l associazione è obbligatoria per entrambe le entità la chiave primaria può essere indifferentemente K1 o K2 Direttore(Codice, Nome, Dipartimento, Tel, Data_inizio) FK: Dipartimento REFERENZIA DIPARTIMENTO 60

61 Associazione binaria uno a uno tradotta con una relazione Se l associazione è parziale per una entità obbligatoria per l altra (E2) la chiave deve essere K1 (E1) e Saranno possibili valori nulli per gli attributi di E2 e R Uomo(CF, Nome, Matricola, Corpo, Data) 61

62 Associazione binaria uno a uno tradotta con una relazione Se l associazione è parziale per entrambe, occorre che entrambe le entità abbiano lo stesso identificatore; la chiave può essere indifferentemente K1 o K2 Saranno possibili valori nulli per gli attributi di E1, di E2 e di R Persona(CF, Nome, CFConsorte) FK: CFConsorte REFERENZIA Persona 62

63 Associazione binaria uno a uno tradotta con due relazioni L associazione si può compattare in una delle entità, diciamo E1, includendo in E1 gli attributi di R e la chiava primaria di E2 come foreign key E1(K1, A1, A2,..., K2, C1, C2,...) FK: K2 REFERENZIA E2 E2(K2, B1, B2,...) 63

64 Associazione binaria uno a uno tradotta con due relazioni Per evitare i valori nulli, è preferibile compattare l associazione in un entità che partecipa obbligatoriamente op Uomo(CF, Nome) e r u Corpo, CF, Data) pservizio_militare(matricola, FK: CF REFERENZIA Uomo Uomo(CF, Nome, Matricola) FK: Matricola REFERENZIA Servizio_militare 64

65 Associazione binaria uno a uno tradotta con tre relazioni E preferibile se l associazione è parziale per entrambe le entità. Praticamente forzata se, oltre alla parzialità, le due chiavi primarie delle entità hanno domini distinti Tastiera(CodTas, Tipo) PC(CodPC, Descrizione) oppure Collega(CodTas, CodPC, Cavo) Collega(CodPC, CodTas, Cavo) FK: CodPC REFERENZIA PC FK: CodTas REFERENZIA Tastiera 65

66 Associazione binaria uno a molti: traduzione con due relazioni L associazione può essere compattata nell entità che partecipa con molteplicità unitaria, diciamo E1, includendo in E1 gli attributi di R e la chiave primaria di E2 come foreign key E2(K2, B1, B2,...) E1(K1, A1, A2,..., K2, C1, C2,...) Provincia(Nome-P, Regione) Persona(CF, Nome, Nome-p, Dal) FK: Nome-P REFERENZIA Provincia 66

67 Associazione binaria uno a molti: traduzione con tre relazioni Se la partecipazione di E1 è parziale, per evitare i valori nulli si pò optare per la traduzione standard con tre relazioni Venditore(Nome, Telefono) Ordine(Numero, Data) Scrive(Numero, Nome, Sconto) FK: Numero REFERENZIA Ordine FK: Nome REFERENZIA Venditore 67

68 Associazioni unarie Un associazione unaria può dar luogo ad una o due relazioni, dipendentemente dalle molteplicità in gioco Anello molti a molti Anello uno a molti 68

69 Associazioni unarie: anello molti a molti E tradotto con due relazioni, una per l entità e una per l associazione La chiave della relazione che modella l associazione è composta da due attributi, i cui nomi riflettono il diverso ruolo dell entità Ognuno di questi due attributi è anche foreign key Stato(Sigla, Nome) Confina(Sigla, Sigla-Confinante, Lung-Conf) FK: Sigla REFERENZIA Stato FK: Sigla-Confinante REFERENZIA Stato 69

70 Associazioni unarie: anello uno a molti E possibile tradurlo con 1 o 2 relazioni Una relazione Impiegato(Codice, Nome, Responsabile) FK: Responsabile REFERENZIA Impiegato Impiegato(Codice, Nome) Due relazioni Dipendenza(Dipendente, Responsabile) FK: Dipendente REFERENZIA Impiegato FK: Responsabile REFERENZIA Impiegato 70

71 Progettazione logica relazionale Associazione n-aria Segue la traduzione standard Prodotto(CodProd, Nome) Fornitore(CodForn, Telefono) Parte(CodPart, Descrizione) Fornitura(CodPart, CodProd, CodForn, Quantità) FK: CodPart REFERENZIA Parte FK: CodProd REFERENZIA Prodotto FK: CodForn REFERENZIA Fornitore 71

72 Progettazione logica relazionale Esempi o Proviamo a tradurre uno schema

73 Progettazione logica relazionale Studente(Matricola, Nome, Cognome) Corso(Codice, Nome) Frequenta(Matricola, CodiceCorso)

74 Progettazione logica relazionale Docente(Id, Nome, Cognome, Dipartimento) Corso(Codice, Nome, Docente)

75 Progettazione logica relazionale Esempio: schema finale Docente(Id, Nome, Cognome, Dipartimento) Corso(Codice, Nome, Docente) Studente(Matricola, Nome, Cognome) Frequenta(Matricola, CodiceCorso)

76 Progettazione logica relazionale Esempio Proviamo a tradurre uno schema complesso

77 Progettazione logica relazionale

78 Progettazione logica relazionale

79 Progettazione logica relazionale Impiegato(Codice, Cognome, Dipartimento, Data) Dipartimento(Nome, Città, Telefono, Direttore)

80 Esempio: schema finale Impiegato(Codice, Cognome, Dipartimento, Data) Dipartimento(Nome, Città, Telefono, Direttore) Sede(Città, Via, Cap) Progetto(Nome, Budget) Partecipazione(Impiegato, Progetto)

MODELLO ENTITY-RELATIONSHIP

MODELLO ENTITY-RELATIONSHIP MODELLO ENTITY-RELATIONSHIP Elementi di base Nome Significato Rappresentazione grafica ENTITË ASSOCIAZIONE insieme di oggetti della realtˆ di cui si individuano proprietˆ comuni. legame logico tra due

Dettagli

Informatica per l'impresa. Sistemi per la gestione di basi di Dati

Informatica per l'impresa. Sistemi per la gestione di basi di Dati Informatica per l'impresa Sistemi per la gestione di basi di Dati Prof. Mauro Gaspari gaspari@cs.unibo.it 1 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione

Dettagli

Elena Baralis, Claudio Demartini

Elena Baralis, Claudio Demartini Progetto concettuale Il progetto concettuale 1 Obiettivo: produrre lo schema concettuale Strumenti: meccanismi di astrazione forniti dal modello Entità-Relazione Specifiche iniziali: descrizioni in linguaggio

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

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

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

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

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

Il modello Entity-Relationship: elementi avanzati

Il modello Entity-Relationship: elementi avanzati Il modello Entity-Relationship: elementi avanzati Sistemi Informativi T Versione elettronica: 06.2.ER.avanzato.pdf Identificatori esterni Oltre a poter identificare un entità E mediante uno o più attributi

Dettagli

Progetto concettuale delle basi di dati

Progetto concettuale delle basi di dati Progetto concettuale delle basi di dati Gian Pietro Picco Dipartimento di Elettronica e Informazione, Italy picco@elet.polimi.it http://www.elet.polimi.it/~picco Il progetto dei dati Specifiche dei dati

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

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

Il modello Entity-Relationship: elementi avanzati

Il modello Entity-Relationship: elementi avanzati Il modello Entity-Relationship: elementi avanzati Sistemi Informativi T Versione elettronica: 06.2.ER.avanzato.pdf Identificatori esterni Oltre a poter identificare un entità E mediante uno o più attributi

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

Progettazione concettuale di una base di dati

Progettazione concettuale di una base di dati Progettazione concettuale di una base di dati Progettazione concettuale Analisi dei requisiti I requisiti devono innanzitutto essere acquisiti Le fonti possono essere molto diversificate tra loro: utenti,

Dettagli

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo

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 Entity-Relationship

Il Modello Entity-Relationship Il Modello Entity-Relationship Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Modello Entity-Relationship Uno standard de facto per

Dettagli

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Progettazione di basi di dati È una delle attività del

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

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

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

Modello Entità-Relazione (E-R)

Modello Entità-Relazione (E-R) Università Magna Graecia di Catanzaro Informatica Modello Entità-Relazione (E-R) Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Lucidi tratti da: Atzeni, Ceri, Paraboschi,

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

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

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

Le Basi di dati: progettazione concettuale

Le Basi di dati: progettazione concettuale Le Basi di dati: progettazione concettuale Progettazione di una base di dati requisitidel Sistema Informativo progettazione concettuale SCHEMA CONCETTUALE SCHEMA FISICO progettazione fisica progettazione

Dettagli

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 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

Basi di dati (Sistemi Informativi)

Basi di dati (Sistemi Informativi) Basi di dati (Sistemi Informativi) teoria e pratica con Microsoft Access Basi di dati Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche

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

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione ModelloEntity-Relationship. E-R E il modello concettuale più diffuso Fornisce costrutti per descrivere le

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

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. 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

Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione Anno accademico 2009/2010

Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione Anno accademico 2009/2010 Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione Anno accademico 2009/2010! Il problema: progettare una base di dati a partire da requisiti

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

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Gerarchia di Generalizzazione 22 Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Concetti Definizioni Esempi Mette in relazione (legami logici) una o più entità, E 2,...,

Dettagli

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati di basi di dati Modello Entità-Relazione concettuale logica Normalizzazione Sistemi informativi D B M G D B M G2 Modello Entità-Relazione di basi di dati di basi di dati Entità e relazioni Attributi Identificatori

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: il modello Entità-Relazioni Prof. Università del Salento Obiettivi della lezione Introdurre l argomento delle basi di dati

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

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli Basi di dati Progettazione di basi di dati: Metodologie e modelli Perché preoccuparci? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo?

Dettagli

Sistemi informativi D B M G

Sistemi informativi D B M G Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 Modello Entità-Relazione Ciclo di vita di un

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

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

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 1 Progettazione di basi di dati D B M G Modello

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

Il modello Entità/Relazioni (ER)

Il modello Entità/Relazioni (ER) Il modello Entità/Relazioni (ER) Basi di dati 1 Il modello Entità/Relazioni (ER) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il modello Entità/Relazioni (ER) Basi di dati

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

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

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

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

D B M G D B M G 2. Basi di dati. Progettazione di basi di dati. Elena Baralis 2007 Politecnico di Torino 1. Modello Entità-Relazione

D B M G D B M G 2. Basi di dati. Progettazione di basi di dati. Elena Baralis 2007 Politecnico di Torino 1. Modello Entità-Relazione D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 2007 Politecnico di Torino 1 Progettazione di basi di dati D B M

Dettagli

Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione

Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione Introduzione alla progettazione Metodologie e modelli per la progettazione di basi di dati Modello Entità-Associazione Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe

Dettagli

La progettazione concettuale

La progettazione concettuale PROGETTAZIONE La progettazione concettuale Sintesi tra la visione degli utenti e la visione dei progettisti. I progettisti devono essere certi di aver compreso esattamente e completamente le esigenze degli

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

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI Informatica Introduzione L astrazione permette di creare dei modelli su cui vengono costruite

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

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

Programmazione con Java

Programmazione con Java Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale

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

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle

Dettagli

Metodologie e Modelli di Progetto

Metodologie e Modelli di Progetto Metodologie e Modelli di Progetto Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

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

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA)

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA) 1 IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA) Obbiettivo: Introdurre la progettazione concettuale Definire il linguaggio E-R Discuterne i costrutti principali Esempi

Dettagli

Cap. 3 - Il modello ER

Cap. 3 - Il modello ER Cap. 3 - Il modello ER Introduzione Introduzione Il modello ER nella progettazione Il modello e la progettazione concettuale Progettazione logica Progetto applicazioni di basi di dati 33 Progetto DB relazionale

Dettagli

Il Il progetto concettuale

Il Il progetto concettuale Il Il progetto concettuale Sistemi Informativi e DB Sistema informativo (SI): insieme di funzioni che regolano la condivisione, la distribuzione e la registrazione delle informazioni necessarie alla vita

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

Progettare una base di dati. Progettare una base di dati

Progettare una base di dati. Progettare una base di dati Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Sistematizzare è meglio che improvvisare Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Il ciclo di vita

Dettagli

Introduzione alle basi di dati: Il modello concettuale

Introduzione alle basi di dati: Il modello concettuale Introduzione alle basi di dati: Il modello concettuale A cura del Prof. Claudio Traini algoritmi + strutture dati = programmi Niklaus Wirth 1 L approccio 2 L approccio alle basi di dati Fasi del processo

Dettagli

Progettazione Logica. Alice Pavarani

Progettazione Logica. Alice Pavarani Progettazione Logica Alice Pavarani Progettazione logica Obiettivo: Traduzione dello schema concettuale Descrivere il formato e l organizzazione dei dati Risultato: Modello logico (relazionale) Progettazion

Dettagli

Il Modello Entità Relazione (ER)

Il Modello Entità Relazione (ER) Il Modello Entità Relazione (ER) foglia@iet.unipi.it Sommario Il modello Entità Relazione per la progettazione concettuale delle basi di dati Progettazione della basi di dati È una delle attività del processo

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. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione Basi di Dati Perché i modelli concettuali? Tranne casi banali, passare direttamente dai requisiti allo schema logico della base di dati presenta diverse difficoltà. Da dove si parte? Si rischia di perdersi

Dettagli

Progettazione parte seconda

Progettazione parte seconda Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Progettazione parte seconda Tra il dire e il fare c èc di mezzo... Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 B2.1 - Progettazione concettuale 1 Prerequisiti Tecnica top-down Tecnica bottom-up Chiave primaria Relazione Generalizzazione e specializzazione 2 1 Introduzione Dopo lo

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 B2.3 - Dizionari 1 Prerequisiti Entità e attributi Diagrammi E-R 2 1 Introduzione Per la realizzazione del software tradizionale occorre affrontare diverse fasi di sviluppo:

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

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

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

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale Database Intro Tipi di entità Mapping ER/EER à Relazionale Ing. Lucia Vaira PhD Student @ University of Salento lucia.vaira@unisalento.it Cos è un database? 1 Cos è un database? È una struttura di dati

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

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Base di dati Requisiti progetto Struttura Caratteristiche Contenuto Metodologia in 3 fasi Progettazione concettuale Progettazione logica Progettazione fisica 1 Ciclo di vita

Dettagli

Scopo. Informatica. Sistema informativo. Sistema informatico

Scopo. Informatica. Sistema informativo. Sistema informatico BASI DI DATI 1 BASI DI DATI 2 Scopo Informatica Elaborazione di dati: Basi di dati Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in

Dettagli

Il Modello Concettuale Enità-Relazione (ER)

Il Modello Concettuale Enità-Relazione (ER) Il Modello Concettuale Enità-Relazione (ER) (Capitolo 5 della versione italiana) Obbiettivo: Introdurre la progettazione concettuale Definire il linguaggio E-R Discuterne i costrutti principali Esempi

Dettagli

A. Ferrari modello relazionale

A. Ferrari modello relazionale modello relazionale informatica progettazione logica relazionale o progettazione logica relazionale: o conversione di un diagramma E/R in un insieme di relazioni (tabelle), che costituisce lo 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

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

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

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

Il modello concettuale dei dati

Il modello concettuale dei dati Il modello concettuale dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Livelli di analisi Realtà Modello Concettuale Entità/Associazioni

Dettagli

IL MODELLO ENTITÀ-RELAZIONE

IL MODELLO ENTITÀ-RELAZIONE IL MODELLO ENTITÀ-RELAZIONE PROGETTAZIONE CONCETTUALE DI UNA BASE DI DATI FASI DELLA PROGETTAZIONE DI UNA BASE DI DATI Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti! Dati,

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

Cardinalità degli attributi

Cardinalità degli attributi Cardinalità degli attributi Descrive il numero minimo e massimo di valori dell attributo associati ad ogni occorrenza di entità o relazione. Di solito la cardinalità è (1,1) e viene omessa. A volte il

Dettagli

Progettazione di basi di dati: Metodologie e modelli

Progettazione di basi di dati: Metodologie e modelli Progettazione di basi di dati: Metodologie e modelli Progettazione di basi di dati Fino a questo punto si sono analizzate le modalità (modelli) di descrizione e di manipolazione di una base di dati supponendo

Dettagli