Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale
|
|
|
- Rosangela Lelia Porta
- 9 anni fa
- Просмотров:
Транскрипт
1 Database Intro Tipi di entità Mapping ER/EER à Relazionale Ing. Lucia Vaira PhD University of Salento [email protected] Cos è un database? 1
2 Cos è un database? È una struttura di dati composta da una serie di matrici chiamate tabelle a loro volta composte da campi Nasce quindi il concetto di record: insieme di dati composto da tutti i campi di una tabella Es. sistema di gestione di una libreria Una prima tabella necessaria al database è sicuramente quella relativa agli autori dei libri disponibili Id Autore 1 E. A. Poe 2 J. R. R. Tolkien 3 B. Stocker Abbiamo una tabella i cui campi sono id e autore e abbiamo tre record con tre nomi di autori differenti Concetti principali Database: collezione di dati eterogenei ma correlati tra loro Dato: è un fatto che può essere memorizzato e che ha un significato implicito per qualcuno Minimondo: parte del mondo reale in cui è contestualizzato il dato DBMS (DataBase Management System) è un software che supporta la creazione e la gestione dei database Microsoft Access Microsoft SQL Server MySQL Oracle 2
3 Architettura a tre livelli La progettazione di un database avviene su tre livelli: Livello concettuale: di alto livello, semantico, non riporta dettagli di livello fisico o implementativo, serve per intendersi con il committente Livello logico: rappresentazione che considera i dettagli tecnici relativi al modo in cui i dati sono memorizzati Livello fisico: fornisce concetti che possono essere compresi dagli utenti finali ma che sono troppo lontani dal modo in cui i dati sono organizzati nel database Architettura a tre livelli Per ogni livello si costruisce un modello che contiene le informazioni da rappresentare e che è rivolto agli attori che partecipano alla progettazione 3
4 La rappresentazione dei dati Il modello dei dati à schemi concettuali o schemi logici Modello concettuale: diagrammi ER (Entity/Relationship) Rappresentazione grafica degli oggetti gestiti dal sistema e delle relazioni tra di essi Modello logico: modello relazionale Rappresentazione dei dati tramite la descrizione della loro organizzazione (che in questo caso è tabellare) Il modello Entità-Relazione Il modello ER è uno dei più diffusi modelli concettuali I costrutti principali del modello ER sono: Entità Relazioni Attributi Identificatori Specializzazioni 4
5 Un classico diagramma ER I rettangoli rappresentano un tipo di entità, i rombi un tipo di relazione Ad entrambi sono associati specifici attributi Entità Entità Classe di oggetti (reali o concettuali) che hanno proprietà comuni ed esistenza autonoma Es. Studente, Docente, Corso, Facoltà, Istanza di un entità: oggetto contenuto nel tipo di entità Es. Facoltà di Ingegneria Ogni entità ha un nome e un attributo che la identifica univocamente nello schema concettuale Uso di nomi significativi ed espressivi Rispetto di alcune convenzioni (es. usare il singolare) 5
6 Entità deboli Entità debole Sono tipi di entità che non hanno propri attributi chiave Un entità debole è tale perché la sua esistenza dipende da un altra entità, si tratta cioè di entità che contengono istanze la cui presenza nel sistema è accettata solo se sono presenti determinate istanze di entità da cui queste dipendono Es: reparto di un negozio, non ha un esistenza indipendente dal negozio nel quale è contenuto In caso di eliminazione dell istanza di riferimento, le istanze di entità deboli collegate devono essere eliminate Entità deboli Entità debole Un tipo di entità debole ha sempre un vincolo di partecipazione totale (dipendenza di esistenza) relativo alla sua relazione identificante, perché essa non può essere identificata senza un entità proprietaria Altro es: familiari a carico di un impiegato IMPIEGATO SSN Nascita Indirizzo Tipo_lavoro 1 N PERSONA A Persone a carico di CARICO Data_nascita Sesso Parentela Chiave parziale 6
7 Entità deboli Entità debole Chiave parziale: non si tratta di una chiave primaria di un tipo di entità forte, ma di un attributo usato come distintivo all interno della classe di appartenenza à dovrà esserci unicità all interno della classe di appartenenza, al di fuori invece, può esserci anche ridondanza Quando ad essere doppiamente cerchiato non è soltanto il ramo di collegamento ma anche il tipo di relazione e il tipo di entità, si dice che persona a carico è un tipo di entità debole che viene univocamente identificata non in modo assoluto con la chiave primaria, ma in relazione all appartenenza ad un tipo entità forte, che è detta proprietario del tipo di entità debole. Vincolo di partecipazione Specifica se l esistenza di un entità dipende dal suo essere correlata a un altra entità attraverso una relazione Può essere parziale o totale Es. totale: la politica di un azienda stabilisce che ogni impiegato deve lavorare per un dipartimento Impiegato N lavora 1 per Dipar8mento L entità impiegato può esistere solo se partecipa a un istanza di relazione lavora per à la partecipazione dell impiegato alla relazione lavora per è detta partecipazione totale 7
8 Vincolo di partecipazione Es. parziale: la politica di un azienda stabilisce che per ogni dipartimento ci sia uno e un solo direttore Impiegato 1 dirige 1 Dipar8mento La partecipazione dell entità impiegato al tipo di relazione dirige è parziale, nel senso che alcune tuple dell entità impiegato sono correlate a un entità dipartimento attraverso la relazione dirige, ma non tutte Relazione Relazione Legame logico fra due o più entità con uno specifico significato Grado della relazione: numero dei tipi di entità che vi partecipano (relazioni binarie, ternarie, quaternarie, ) Istanza di relazione: n-upla di istanze di entità, una per ciascuna entità coinvolta. La coppia (Mario Rossi, Basi di Dati) è un istanza della relazione Esame se: Mario Rossi è un istanza dell entità Studente Basi di Dati è un istanza dell entità Corso 8
9 Relazioni ricorsive Una relazione può essere ricorsiva, ovvero una relazione fra un entità e se stessa Ruoli di partecipazione N dipendente IMPIEGATO 1 dirige dirigente Se la relazione non è simmetrica, occorre definire i due ruoli dell entità Il nome di ruolo indica il ruolo che un entità partecipante facente parte del tipo di entità, recita in ciascuna istanza della relazione e aiuta a spiegare cosa indica quella relazione Attributi Descrivono proprietà elementari di entità e relazioni Ogni attributo associa a ciascuna istanza un valore appartenente al dominio dell attributo IMPIEGATO SSN Data_nascita Indirizzo Tipo_lavoro Attributi: Semplice (es. nome, cognome, ) Multivalore (es. telefono, ) Composto (es. indirizzo, ) Calcolato (es. incasso totale, ) 9
10 Cardinalità delle relazioni Per ogni partecipazione di un entità ad una relazione si specificano il numero minimo e il massimo cui un istanza dell entità può partecipare Rappresenta un vincolo (m, M) (p, P) E1 R E2 Ogni istanza di E1 partecipa ad almeno m e al più a M istanze di R Ogni istanza di E2 partecipa ad almeno p e al più P istanze di R Esempio di cardinalità (1, 5) (0,50) IMPIEGATO assegnazione INCARICO Ad ogni impiegato è assegnato almeno 1 incarico Ogni impiegato ha al più 5 incarichi Un incarico può anche non essere ricoperto Ad un incarico possono essere assegnati al massimo 50 impiegati 10
11 Tipi di cardinalità Cardinalità minima 0 la partecipazione alla relazione è opzionale (parziale) 1 la partecipazione alla relazione è obbligatoria (totale) Cardinalità massima 1 rappresenta una funzione che associa una sola istanza dell altra entità N rappresenta un associazione con un numero arbitrario di istanze dell altra entità Notazione alternativa 1:1 à (0,1) : (1,1) 1:N à (1,1) : (0,N) N:1 à (0,N) : (1,1) N:M à (1,N) : (0,M) 11
12 Identificatori delle entità Permettono di identificare in modo univoco le istanze di entità Identificatore interno (chiave primaria) Si tratta di una chiave su cui sono vietati i valori nulli Si può utilizzare un attributo dell entità come chiave primaria o essa può essere generata in modo automatico all atto dell inserimento (es. codice progressivo) Ogni entità deve avere almeno un identificatore Vincolo di chiave esterna Date due relazioni: A con chiave primaria a1 B con chiave primaria b1 il vincolo di integrità referenziale b3 ad a1 indica che b3 può assumere solo valori compresi nel dominio degli elementi di a1 A a1 a2 a3 B b1 b2 b3 12
13 Vincolo di chiave esterna Più in generale, il vincolo di integrità referenziale è specificato tra due relazioni ed è usato per mantenere la consistenza fra tuple delle due relazioni Informalmente il vincolo di integrità referenziale stabilisce che una tupla in una relazione cha fa riferimento a un altra relazione deve far riferimento a una tupla esistente in quella relazione Specializzazione IMPIEGATO dc C SEGRETARIO TECNICO INGEGNERE d: disjoint, vincolo di specializzazione, o l una o l altra o: overlapping (sovrapposizione), l una e/o l altra C: simbolo di inclusione che rappresenta il fatto che l entità sottostante è inclusa in quella sovrastante e quindi oltre a possedere i suoi attributi, eredita anche quelli dell entità sovrastante 13
14 Il modello relazionale Adottato dalla maggior parte dei DBMS in commercio Definisce come sono organizzati i dati e non come sono poi memorizzati e gestiti dal sistema informatico Mapping ER à Relazionale Si traduce lo schema ER in uno schema relazionale Traduzione di tipi di entità I tipi di entità si trasformano in una relazione (tabella) che contiene come colonne tutti gli attributi semplici del tipo di entità e come chiave primaria una delle chiavi candidate. IMPIEGATO SSN Data_nascita Indirizzo Tipo_lavoro Impiegato SSN Data_nascita indirizzo Tipo_lavoro 14
15 Traduzione di tipi di entità debole Per ogni tipo di entità debole si costruisce una tabella avente gli attributi dell entità debole e quelli della relazione di possesso. La chiave primaria sarà la combinazione della chiave parziale del tipo di entità debole e la chiave primaria del tipo di entità proprietario. IMPIEGATO SSN Nascita Indirizzo Tipo_lavoro 1 N Persone a carico di PERSONA A CARICO Data_nascita Sesso Parentela Impiegato SSN Nascita indirizzo Tipo_lavoro Persona a carico SSN_I Data_nascita Sesso Parentela Traduzione di relazioni 1:1 Ci sono tre possibili approcci: 1. Approccio basato su chiavi esterne: si sceglie una delle due relazioni (quella con partecipazione totale) e si mette la chiave esterna di una nell altra IMPIEGATO 1 1 dirige DIPARTIMENTO SSN Nascita Indirizzo Tipo_lavoro Numero Sede Impiegato SSN Nascita Indirizzo Tipo_lavoro num_dip Dipartimento Numero Sede 15
16 Traduzione di relazioni 1:1 2. Approccio basato sull unica relazione fusione: si fondono due tipi di entità e la relazione in una sola relazione (quando entrambe le partecipazioni sono totali) 3. Approccio basato su relazione associazione: si crea una relazione che contiene sia la chiave esterna della relazione di dx sia quella della relazione di sx (quando ci sono poche istanze della relazione 1:1 perché la partecipazione non è totale né a dx né a sx) Traduzione di relazioni 1:N Vengono inglobate dal lato N e si inserisce come chiave esterna la chiave primaria della relazione dal lato 1 REGISTA 1 N dirige FILM SSN Cognome Indirizzo Codice Titolo Anno_prod Genere Regista SSN Cognome Indirizzo Film Codice Titolo Anno_prod Genere ID_Reg 16
17 Traduzione di relazioni N:M Si costruisce una relazione avente come chiavi esterne le chiavi primarie delle relazioni che rappresentano i tipi di entità partecipanti IMPIEGATO N Lavora su M PROGETTO Impiegato SSN Nascita Indirizzo Tipo_lavoro SSN Nascita Indirizzo Tipo_lavoro Lavora su SSN_I Num_Pro Ore Ore Codice Sede Progetto Codice Sede Traduzione di relazioni ternarie Si costruisce una nuova relazione avente come chiave esterna le chiavi primarie delle relazioni che rappresentano i tipi di entità partecipanti. FORNITORE fornisce PROGETTO N P PARTE Quantità M Num_parte _prog Fornitore Progetto Parte _prog Num_parte Fornisce _F _P Num_P Quantità 17
18 Traduzione di specializzazione Vi sono 4 possibilità distinte IMPIEGATO d SSN Data_nascita Indirizzo Tipo_lavoro C C SEGRETARIO TECNICO INGEGNERE tipo velocità_dattilografica grado Traduzione di specializzazione 1. L informazione è divisa in 4 tabelle e come chiave primaria delle tabelle relative alla specializzazione c è la chiave primaria di impiegato Impiegato SSN Data_nascita indirizzo Tipo_lavoro Segretario SSN velocità_dattilografica Tecnico SSN grado Ingegnere SSN tipo 18
19 Traduzione di specializzazione 2. L informazione è divisa in 3 tabelle aventi come chiave primaria quella di impiegato e come attributi sia i propri sia quelli di impiegato Segretario SSN Data_nascita indirizzo Tipo_lavoro velocità_dattilografica Tecnico SSN Data_nascita indirizzo Tipo_lavoro grado Ingegnere SSN Data_nascita indirizzo Tipo_lavoro tipo Traduzione di specializzazione 3. Unica tabella impiegato avente oltre ai suoi attributi anche quelli delle entità figlie Impiegato SSN Data_nascita indirizzo Tipo_lavoro grado tipo velocità_dattilografica In questo modo però potrebbero esserci molti valori pari a NULL! Però c è solo una tabella à migliori performance 19
20 Traduzione di specializzazione 4. Unica tabella impiegato avente oltre ai suoi attributi anche quelli delle entità figlie e un flag che specifica il tipo di sottoclasse a cui si riferisce Impiegato SSN Flag T grado Flag I tipo Flag S velocità_dattilografica 20
Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014
Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche
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
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 [email protected], 0116706782 2 - Metodologie e modelli per la progettazione di BD Introduzione
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
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
Progettazione di basi di dati
IL MODELLO E-R Modellazione concettuale e progettazione della Base di Dati 2 Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in
Modello Entità-Relazione (E-R)
Università Magna Graecia di Catanzaro Informatica Modello Entità-Relazione (E-R) Docente : Alfredo Cuzzocrea e-mail : [email protected] Tel. : 0984 831730 Lucidi tratti da: Atzeni, Ceri, Paraboschi,
I database. Introduzione alla teoria delle basi di dati
I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database
Introduzione alle basi di dati e ai DBMS
Introduzione alle basi di dati e ai DBMS Eugenio Omodeo Università degli Studi di Trieste. Trieste, 27/10/2016 Citazione del giorno Una base di dati ( database ) è una collezione di dati correlati creata
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à
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 [email protected] www.diiga.univpm.it/~spalazzi/
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
Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni
Basi di Dati e Sistemi Informativi Progettazione Concettuale: Il modello Entità-Relazioni Corso di Laurea in Ing. Inform. e dell Autom. Ing. Gestionale Magistrale Introduzione Sistema Informativo: sistema
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,
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
BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono
BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un
Il modello relazionale
Il modello relazionale Il modello relazionale Modello logico dei dati Basato sul concetto di relazione o tabella Relazione: da teoria degli insiemi 2 Il modello relazionale Garantisce indipendenza fisica
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
Modello Relazionale. Insiemi. Relazione. Prodotto cartesiano. Terminologia e signifcato. Terminologia e signifcato
Insiemi Esempio A = {alberto, liliana, mattia} B = {Punto, Lupo, 500} Modello Relazionale A e B sono esempi di insiemi rispettivamente l insieme dei proprietari e l insieme delle automobili 1 / 33 2 /
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
Traduzione. Associazioni n-arie
Una volta riorganizzato lo schema si può passare alla traduzione dal modello E-R a quello relazionale. di associazioni molti a molti Tipicamente, passando dal modello E-R a quello relazionale, si procede
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
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
V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1
Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,
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
Il modello logico dei dati
Il modello logico dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Come organizzare i dati Realtà Modello Concettuale Modello Logico
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione [email protected] Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides
LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione
LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione ALCUNE PRECISAZIONI Il modello logico «relazionale» si occupa dello studio delle «Relazioni matematiche».
Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per
