BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.

Slides:



Advertisements
Presentazioni simili
Abilità Informatiche Avanzate CDL Magistrale In Marketing Granieri Giuseppe.
Advertisements

BASE DI DATI BIBLIOTECA PERSONALE
Modulo 5 DataBase ACCESS.
Punto 1 Nel progettare il database previsto dal punto 1, si è resa necessaria lindividuazione di 3 entità:AMICI, LIBRI e PRESTITI. AMICI è una entità che.
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DB - Modello relazionale dei dati
DBMS (DataBase Management System)
Normalizzazione Forme Normali.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
DOCUMENTAZIONE DI SCHEMI E/R
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
La Normalizzazione. 27 January, slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
DBMS ( Database Management System)
Esercitazione di Basi di Dati
Progettazione di un database
Compito di Laura Lorusso (565547) Abilità informatiche avanzate CdLM in Marketing.
Secondo compito Progettazione di un DataBase - Progettazione di un database: gestione dei prestiti di una biblioteca personale gestione dei prestiti di.
PROGETTAZIONE DI UN DATABASE
Si vuole progettare un database per la gestione dei prestiti di una biblioteca personale. La progettazione deve tenere conto di quanto emerso in fase di.
Progettazione di un Data Base
Progettazione di database
COMPITO 2 CELESTE BONANNO MATR CDL: SDFA.
1.Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione.
Compito 2 Progettazione DataBase Nicola Stornelli Statistica per le decisioni finanz. ed attuar
ROCCANOVA DONATO ECONOMIA E MANAGEMENT A.A. 2010/ Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo.
1)PROGETTAZIONE DI UN DATABASE
Si vuole automatizzare la gestione dei prestiti di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI Il fine.
SECONDO COMPITO: PRESENTAZIONE DI UN DATABASE
PROGETTAZIONE DI UN DATA BASE TURCO MERY MAT CPA
Secondo compito: Progettazione di un Data Base Francesco Musmanno –
Progettazione di un DataBase. Dominio applicativo: biblioteca personale; Fine ultimo:ricavare le informazioni relative ai prestiti di libri effettuati.
ABILITA INFORMATICHE CORSO AVANZATO Anno accademico 2010/11 Prof. A.Marengo Grazia Maselli Matricola:
Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
MODELLO LOGICO DEI DATI
Progettare un database
Introduzione a Oracle 9i
Sistemi di Elaborazione delle Informazioni Mod.I.
La Normalizzazione. 2 May, slide 2 Le nuove tecnologie Software Normalizzazione Normalizzazione è il processo di semplificazione di un data base.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
SECONDO COMPITO:. ANALISI DEI REQUISITI Si vuole automatizzare la gestione dei prestiti di una biblioteca di un determinato soggetto (biblioteca personale).
Database: Personal Library 2°Compito Abilità Informatiche Av. Docente: Prof. A.Marengo Studente: Leonardo Ciriello Matr Università Degli Studi.
Progettazione di Database
Progettazione di un DataBase SECONDO COMPITO ABILITA’ INFORMATICHE Michele Lovecchio
PROGETTAZIONE DI UN DATA BASE PERAGINE MARIANTONELLA MATRICOLA
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Sistemi di Elaborazione delle Informazioni
Progettazione database a cura di Roberta Mancini – matr CdLM in Marketing.
2° COMPITO VANIA PASCALE MATRICOLA GESTIONE DEI PRESTITI DI UNA BIBLIOTECA PERSONALE DOMINIO APPLICATIVO : il dominio applicativo è rappresentato.
Eprogram informatica V anno.
Cloud informatica V anno.
PROGETTAZIONE DI UN DATABASE SARA A. L. DI GAETANO.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Le basi di dati.
Basi di Dati e Sistemi Informativi Esempi & Esercizi Il Modello Relazionale Home page del corso:
Roccanova Rocca Angela ECONOMIA E MANAGEMENT A.A. 2010/ Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma,
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151

Il modello relazionale  Il modello relazionale fu introdotto da Codd (1970) e si basa su una semplice ed uniforme struttura dati chiamata relazione, ed ha una solida base teorica  La relazione del modello relazionale NON è la relazione degli schemi E/R  Si introduce tale modello in quanto la maggior parte dei DBMS sono relazionali (e.g. Oracle, Access, MySQL) Lezione IIIb - AA 2014/20152

Concetti fondamentali Lezione IIIb - AA 2014/20153  Il modello relazionale rappresenta una base di dati come un insieme di relazioni  Informalmente,  una relazione è (praticamente) una tabella  ciascuna riga della relazione è detta tupla  l’intestazione di una colonna della tabella è chiamata attributo  il tipo di dato che mi specifica ciò che può apparire in ciascuna colonna è detto dominio  Per semplicità (e per non fare confusione) useremo il termine (improprio) tabella al posto del termine (corretto) relazione

Dallo schema E/R allo schema relazionale  A partire dallo schema E/R, è possibile costruire la base di dati sotto forma di relazioni  Quali e quante relazioni creare? Lezione IIIb - AA 2014/20154

Algoritmo di conversione E/R in relazionale Lezione IIIb - AA 2014/20155 Algoritmo per realizzare lo schema relazionale a partire dallo schema E/R: 1. Per ogni entità E dello schema E/R, crea una relazione R che include tutti gli attributi di E

Algoritmo di conversione E/R in relazionale Lezione IIIb - AA 2014/ Per ogni relazione 1:1 dello schema E/R esistente fra le due entità E1 ed E2, trasforma le due relazioni R1 e R2 (di E1 ed E2) in una unica relazione R12 unendone tutti gli attributi preferendo una chiave primaria sull’altra

Algoritmo di conversione E/R in relazionale Lezione IIIb - AA 2014/ Per ogni relazione 1:n dello schema E/R esistente fra le due entità E1 ed E2, aggiungi la chiave primaria della relazione E2 come attributo nella relazione E1 (chiave esterna)

Algoritmo di conversione E/R in relazionale Lezione IIIb - AA 2014/ Per ogni relazione n:m dello schema E/R, crea una relazione R i cui attributi sono le chiavi primarie dell’entità in relazione (chiavi esterne)

Lo schema relazionale del questionario  Sulla base del passo (1) del precedente algoritmo, ottengo le due relazioni (notate l’uso del plurale) 1. studenti(matricola, sesso, eta) 2. questionari (r1, r2, r3, r4, r5, r6, r7, r8, r9)  Il passo (2) ci impone – siccome le due entità sono in relazione 1:1 – di unirle in una unica relazione 1. questionari_studenti(matricola, sesso, eta, r1, r2, r3, r4, r5, r6, r7, r8, r9) Lezione IIIb - AA 2014/20159

Lo schema relazionale dello studio ambientale  Passo (1) 1. patologie(codice,DRG, diagnosi principale) 2. pazienti(numero, eta, sesso) 3. sedi_elettorali (numero, distanza, votanti) Lezione IIIb - AA 2014/201510

Lo schema relazionale dello studio ambientale  Passo (2) : Non c’è nessuna relazione di tipo 1:1 Lezione IIIb - AA 2014/201511

Lo schema relazionale dello studio ambientale  Passo (3) : C’è una unica relazione di tipo 1:n (e.g. risiede) 1. pazienti(numero, eta, sesso, numero_sede_elettorale) Lezione IIIb - AA 2014/201512

Lo schema relazionale dello studio ambientale  Passo (4) : C’è una unica relazione di tipo n:m (e.g. soffre) 1. soffre(codice patologia, numero_paziente) Lezione IIIb - AA 2014/201513

Lo schema relazionale dello studio ambientale  Si ottiene quindi 1. patologie(codice,DRG, diagnosi principale) 2. sedi_elettorali (numero, distanza, votanti) 3. pazienti(numero, età, sesso, numero_sede_elettorale) 4. soffre(codice patologia, numero paziente) Lezione IIIb - AA 2014/201514

Dallo schema E/R allo schema relazionale Lezione IIIb - AA 2014/  A partire dallo schema E/R, è possibile costruire la base di dati sotto forma di tabelle, utilizzando un algoritmo «grafico»  Dallo schema E/R, si creano gruppi di entità e/o relazioni come segue:  A partire da una entità o relazione dello schema E/R, si aggregano nel gruppo tutte le relazioni/entità legate con cardinalità unaria massima  Ogni entità o relazione non aggregata deve diventare un nuovo gruppo  I gruppi individuati corrispondono alle tabelle da creare  Gli attributi di ciascuna tabella variano a seconda del «contenuto» del gruppo

Algoritmo «grafico» (1)  Partiamo da una qualunque entità e incorporiamo le relazioni/entità quando la cardinalità è di tipo (1,1) Lezione IIIb - AA 2014/201516

Algoritmo «grafico» (2)  Anche l’altra entità e la relazione stessa è stata “inglobata” ottenendo un’unica relazione 1. questionari_studenti(matricola, sesso, eta, r1, r2, r3, r4, r5, r6, r7, r8, r9) Lezione IIIb - AA 2014/201517

Algoritmo «grafico» (3) Lezione IIIb - AA 2014/  Per completare questo passo, è inoltre importante specificare il tipo di dato che verrà usato per memorizzare le istanze dei vari attributi  questionari_studenti(matricola; sesso; eta; r1; r2; r3; r4; r5; r6; r7; r8; r9)  matricola: int  sesso: char(1)  eta: int  r1... r9: int

Algoritmo «grafico»: analisi geografica  Partiamo dall’entità «paziente» e procediamo con le relazioni... Lezione IIIb - AA 2014/201519

Algoritmo «grafico» analisi geografica  La relazione «risiede» è stata aggregata all’entità «paziente» in un gruppo Lezione IIIb - AA 2014/201520

Primo blocco  Entità patologia  Relazione patologie(codice, drg, diagnosi_principale) Lezione IIIb - AA 2014/201521

Secondo blocco  Entità sede_elettorale  Relazione: sedi_elettorali (numero, distanza, votanti) Lezione IIIb - AA 2014/201522

Quarto blocco  Relazione soffre  soffre(numero_paziente,codice_patologia) Lezione IIIb - AA 2014/201523

Conversioni delle entità singole  Per le entità singole patologia e sede elettorale, si creano due relazioni 1. patologie(codice, drg, diagnosi principale) 2. sedi_elettorali (numero, distanza, votanti) Lezione IIIb - AA 2014/201524

Conversioni dei gruppi  Per l’entità paziente e la relazione risiede, si crea una relazione 1. pazienti(numero, sesso, eta, numero_sede_elettorale) dove numero_sede_elettorale è una chiave esterna Lezione IIIb - AA 2014/201525

Conversioni delle relazioni singole  Per la relazione singola soffre, si crea una relazione 1. soffre(codice patologia, numero paziente) dove la coppia_codice patologia e numero_paziente è la chiave primaria Lezione IIIb - AA 2014/201526

Lo schema relazionale Lezione IIIb - AA 2014/  Abbiamo identificato quindi quattro tabelle: 1. patologie(codice; drg; diagnosi principale)  codice: int  drg: char(3)  diagnosi_principale: char(50) 2. sedi_elettorali (numero; distanza; votanti)  numero: int  distanza: float  votanti: int 3. pazienti(numero; sesso; eta; numero_sede_elettorale)  numero: int  sesso: char(1)  eta: int  numero_sede_elettorale: int (stesso tipo di sedi_elettorali.numero) 4. soffre(codice patologia; numero paziente)  codice patologia: int (stesso tipo di patologie.codice)  numero paziente: int (stesso tipo di pazienti.numero)

Lo schema relazionale  Abbiamo identificato quindi quattro relazioni: 1. patologie(codice, drg, diagnosi principale) 2. sedi_elettorali (numero, distanza, votanti) 3. soffre(codice patologia, numero paziente) 4. pazienti(numero, sesso, eta, numero sede elettorale)  Sono ovviamente le stesse che abbiamo trovato utilizzando l’algoritmo non grafico. Lezione IIIb - AA 2014/201528

Esercizio Lezione IIIb - AA 2014/ Si desidera modellare la gestione di un ospedale. La base di dati dovrà memorizzare informazioni relative ai pazienti, al ricovero dei pazienti nei reparti ospedalieri, ai trattamenti cui sono sottoposti i pazienti ed alla loro dimissione. Di ogni paziente, vengono registrati il nome, l'indirizzo, il sesso, il numero di carta di identità, il numero della tessera sanitaria, il reparto ove è ricoverato e il letto occupato (reparto e letto possono cambiare durante il periodo di degenza). Di ogni reparto, vengono memorizzati il nome, la localizzazione, il nome del primario responsabile, il nome degli (eventuali) altri medici presenti, il numero delle stanze, il numero di letti presenti per stanza e il numero di letti occupati per stanza. Si vuole inoltre tener traccia delle date di ricovero, di (eventuale) trasferimento da un reparto all'altro e di dimissione dei pazienti. Ogni paziente può essere sottoposto a più trattamenti durante il periodo di degenza ospedaliera. Di ogni trattamento, vengono conservate informazioni relative al nome, alla durata e alle possibili reazioni del paziente.

Esercizi Lezione IIIb - AA 2014/  Realizzare il database che permette di memorizzare i codici ICD-10  I codici ICD-10 sono organizzati in capitoli, blocchi e patologie. I capitoli hanno una numerazione con numeri romani, i blocchi e le patologie hanno una numerazione alfanumerica  Realizzare il database di una biblioteca  Voglio memorizzare la collocazione di ogni volume. Per ogni volume voglio sapere il tipo (libro, rivista, proceedings, etc.), la casa editrice, e voglio memorizzarne gli autori  Realizzare il database (semplificato) che permette di calcolare le spese – in termini di DRG – all’interno di un ospedale  Voglio memorizzare, per ciascun reparto, i pazienti, la patologia (usando i codici ICD-9-CM), e il DRG assegnato

Esempi Lezione IIIb - AA 2014/  Si convertano in schema relazionale gli esempi di schemi E/Rintrodotti precedentemente  Codici ICD-10  Biblioteca  Calcolo delle spese - in termini di DRG - all'interno di un ospedale  Valutazione dei servizi ospedalieri  Analisi delle acque

Definizioni formali (1) Lezione IIIb - AA 2014/201532

Definizioni formali (2) Lezione IIIb - AA 2014/201533

Definizioni formali (3) Lezione IIIb - AA 2014/201534

Vincoli su schemi relazionali  Un vincolo è una proprietà che deve essere soddisfatta dalle istanze di una base di dati. Ogni vincolo può essere visto come un predicato che può assumere il valore vero o falso: se il predicato assume il valore vero diciamo che l’istanza soddisfa il vincolo. Lezione IIIb - AA 2014/201535

Vincoli su schemi relazionali Lezione IIIb - AA 2014/201536

Vincoli su schemi relazionali Lezione IIIb - AA 2014/201537

Vincoli su schemi relazionali  Un vincolo di integrità referenziale esplicita l’esistenza di una relazione (in terminologia E/R) fra differenti entità  Violare un vincolo di integrità referenziale significa provocare problemi di consistenza, e.g.  L’attributo ICD10 rappresenta la patologia di un paziente ed è chiave esterna verso la tabella delle patologie  Il codice J01.10 non è presente nella tabella delle patologie e viola la seconda proprietà delle chiavi esterne Lezione IIIb - AA 2014/201538

Operazioni sulla base di dati e vincoli (1) Lezione IIIb - AA 2014/  Inserimento L'inserimento di una tupla in una relazione può violare tutti i tipi di vincoli  Il vincolo di dominio se un valore non e nel dominio del corrispondente attributo  Il vincolo di chiave se il valore della chiave primaria è già presente nella relazione  Il vincolo di integrità di chiave se il valore della chiave primaria e nullo  Il vincolo di integrità referenziale se il valore della chiave esterna non e presente nella relazione referenziata

Operazioni sulla base di dati e vincoli (2) Lezione IIIb - AA 2014/  Cancellazione La cancellazione di una tupla da una relazione può violare solo il vincolo di integrità referenziale  Si viola il vincolo di integrità referenziale se viene eliminata una riga che e referenziata tramite una chiave esterna di una differente relazione  Modica La modica può essere vista come una operazione di cancellazione seguita da un inserimento  Si fa notare che la modica di attributi che non siano ne chiave primaria ne chiave esterna non provocano problemi

Dipendenze funzionali Lezione IIIb - AA 2014/201541

Dipendenze funzionali e problemi di consistenza Lezione IIIb - AA 2014/  La risoluzione di problemi potenzialmente causabili dall'esistenza di dipendenze funzionali devono essere risolte normalizzando la base di dati  Normalizzazione. La normalizzazione è il processo per cui schemi relazionali non soddisfacenti vengono decomposti, dividendone gli attributi in dipendenza funzionale, e creando schemi relazionali più piccoli dotati delle proprietà richieste

Seconda forma normale (2NF) Lezione IIIb - AA 2014/  Uno schema relazionale è in seconda forma normale (2NF) se nessun attributo A e in dipendenza funzionale con la chiave primaria PK  Prendiamo l'esempio di una relazione che mi rappresenta i pazienti curati dai medici di un reparto

Normalizzazione in seconda forma normale Lezione IIIb - AA 2014/  Per normalizzare una relazione in 2NF, è necessario rimuovere dalla relazione tutti gli attributi in dipendenza funzionale e posizionarli in una relazione separata

Terza forma normale (3NF) Lezione IIIb - AA 2014/201545

Terza forma normale (3NF) Lezione IIIb - AA 2014/201546