Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoUberto Valle Modificato 9 anni fa
1
DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione (azienda o istituzione).
2
Dato <> Informazione l I dati sono registrazioni di descrizioni di una qualsiasi caratteristica della realtà, su un supporto che ne garantisca la conservazione, la comprensibilità e la reperibilità. l L’ informazione produce variazioni nel patrimonio conoscitivo di un soggetto. Proviene dai dati, ma i dati devono essere inseriti in un contesto interpretativo
3
DBMS (Database Management System) Obiettivo: gestione strutturata di dati, organizzati in modo omogeneo. Base di dati: l Collezione di dati organizzati in modo coerente (un insieme casuale di dati non è una base di dati !) l Modella alcuni aspetti del mondo reale l Costruito con funzionalità ben precise, note fin dall’inizio della progettazione.
4
Esempi di basi dati: l Rubrica telefonica personale l anagrafe l segreteria studenti dell’università l banca dati centrale del ministero delle finanze l archivio di una biblioteca, di un laboratorio d’analisi mediche, di un museo l banca dati di una carta di credito l banca dati delle prenotazioni dei voli di una compagnia aerea
5
Basi di dati: operazioni l Progetto: definizione della base di dati –quali informazioni rappresentare –quali relazioni tra le informazioni l Interazione: –inserimento di dati –cancellazione di dati –aggiornamento (update) –interrogazione l Gestione di operazioni da parte di utenti multipli l Protezione e sicurezza dei dati
6
Livelli di rappresentazione l Livello fisico: come i dati sono memorizzati e organizzati su uno o più supporti di memoria secondaria l Livello logico: come i dati sono organizzati secondo il modello logico adottato (relazionale, gerarchico, ad oggetti etc.) l Livello concettuale: come i dati sono organizzati secondo uno schema concettuale l Livello esterno: come i dati appaiono o vengono presentati all’utente (possono essere anche programmi)
7
Livelli di rappresentazione Vista 1Vista 2Vista n Livello logico Livello fisico Livello concettuale
8
Figure professionali (1) l DB designer: –schema concettuale (astratto) della base di dati –Traduzione dello schema concettuale in un modello dei dati: gerarchico relazionale object oriented...
9
Figure professionali (2) l DB programmer (realizzazione della base di dati) l DB administrator (gestione della base dati) l Users utenti esperti (usano un linguaggio di interrogazione) utenti naifs (interazioni predeterminate, forms) programmi
10
Esempio: Database di un Museo come rappresentare/strutturare queste informazioni? l Il museo contiene tre tipi di oggetti: reperti archeologici, materiale etnografico e opere d’arte (quadri, sculture) l Conseguentemente, il museo ha tre sezioni: Archeologica, Etnografica, Collezione (di opere) d’arte l Di tutti i pezzi del museo si vogliono mantenere le informazioni: numero di inventario, provenienza datazione, descrizione, misure, se ha subito restauri o no, sala ed eventualmente collocazione (scaffale, etc…) l Se un oggetto ha subito restauri, si vuole mantenere l’informazione riguardo presso quale centro è stato restaurato e quando
11
l Le opere d’arte hanno associata l’informazione sugli autori l Per i reperti archeologici si vuole mantenere l’informazione sulla data del ritrovamento l Gli oggetti della sezione etnografica sono divisi in tre tipologie: costumi, mobili, suppellettili l Ogni sezione comprende alcune sale. Le sale possono essere condivise da sezioni diverse e l’attribuzione di una sala ad una sezione puo’ cambiare nel tempo. Alle sale è associata altra informazione (che non verrà condiderata nell’esempio) l Le sezioni hanno un impiegato responsabile
12
Modello relazionale l I dati sono organizzati in relazioni l le relazioni possono essere interpretate/visualizzate come tabelle l un database è un insieme di relazioni
13
Rappresentazione tabellare dei dati: esempio Libro N.Inv Autore Titolo Anno_ed. Casa ed. Colloc.
14
Esempio rubrica COGNOMENOMETEL. TanziRosario095 89... FedericiSusanna011 55... De BernardiSilvio06 44...
15
Modello relazionale l Relazione su due insiemi A e B è un sottoinsieme del prodotto cartesiano A x B Esempio sposato_con Persone x Persone figlio_di Persone x Persone vive_a Persone x Città l Analogamente si possono considerare relazioni tra molti insiemi: A1 x ….xAn
16
Esempio di relazione l Persone= {Paolo, Luca,Mario} Città={Torino,Roma} l Persone x CittàVive_a Mario PersoneCittà Paolo Luca Torino Roma Città Persone Paolo Luca MarioRoma Torino
17
Figlio di (Persone x Persone) Persone Paolo Carla MarioFlavio Luca Anna Persone Anna Luca FlavioMario Carla Paolo Sono relazioni diverse!
18
Relazioni e Attributi Attributi: nomi che specificano un ruolo in una relazione, esempi: l sposato_con(Marito, Moglie) l figlio_di(Figlio, Genitore) l vive_a(Nome,Citta,Provincia) libro( N.Inv, Autore, Titolo, Anno_edizione, Casa_editrice, Collocazione) l Gli attributi devono avere nomi differenti
19
ESEMPIO DATABASE ESAMI l Prima idea: un’unica tabella: ESAME(Nome,Cognome,DataNascita, Matricola,Titolo, Docente,Voto,Lode)
20
Il database contiene informazione ridondante: l per ogni esame sostenuto si ripetono tutti i dati dello studente l per ogni corso si ripetono titolo e docente Organizzazione Inefficiente!
21
Organizzazione migliore: l STUDENTE(Nome,Cognome,Matricola,Data di Nascita) l CORSI(Titolo,Docente,Codice Corso) l ESAMI(Codice Corso,Voto,Lode,Matricola)
22
Studenti Corsi Esami
23
Terminologia l DOMINIO: insieme di valori degli attributi –es. Nomi di persona, Nomi di città, Numeri interi, stringhe di al più 80 caratteri l FORMATO: rappresentazione degli elementi di un dominio –es. tre cifre decimali per i reali
24
l SCHEMA DI RELAZIONE R(A 1, …, A_ n ) R relazione A i attributi l ISTANZA DI RELAZIONE (o semplicemente relazione) insieme di tuplet t= : n-tupla l I singoli valori v i appartengono al dominio dell’attributo A i
25
l Istanza di relazione = insieme di tuple – Non ci possono essere tuple ripetute – l’ordine delle tuple non conta l Database = insieme di istanze di relazioni Terminologia alternativa: – tuple: records – attributi: campi
26
La tabella rubrica Rubrica(Cognome,Nome,Tel) COGNOMENOMETEL. TanziRosario095 89... FedericiSusanna011 55... De BernardiSilvio06 44... schema nomi degli attributi tuple
27
Informazione incompleta: Valori Nulli Il valore speciale “null” aggiunto a tutti i domini, per indicare assenza di valore indica: l valore mancante, oppure l valore sconosciuto l Esempio PERSONE(Cognome,Nome,Indirizzo,Telefono) Il valore di Telefono potrebbe essere null.
28
Vincoli sulle Relazioni l I valori contenuti nelle tabelle possono essere soggetti a vari tipi di vincoli che dipendono dalla ‘realtà’ che si vuole rappresantare: l vincoli di dominio: valori dei singoli attributi l vincoli di tupla: valori di attributi correlati in una tupla l vincoli di integrità valori di attributi in tuple diverse (anche in relazioni diverse)
29
Vincoli di dominio vincoli sui valori dei singoli attributi (vincoli di dominio), es: l dato ESAMI(Studente,Voto, Lode,Corso) deve essere Voto >=18 AND Voto <=30 l Vincoli sul valore di un attributo data
30
Vincoli di tupla vincoli sui valori di attributi correlati, es: l Data la relazione ESAMI come prima deve essere not (Lode = Yes) OR Voto = 30 equivalente a Lode= No OR Voto = 30
31
Connettivi booleani: tavole di verità Negazione Congiunzione Disgiunzione
32
Relazioni boolene l not (A and B) = not (A) or not(B) l not (A or B) = not (A) and not(B) l La funzione imp (if) - implica A imp B = def not(A) or B l La funzione sse (iff) A sse B = def (A imp B) and (B imp A) l La funzione XOR -OR esclusivo A xor B = def (A or B) and not(A and B)
33
Implicazione Sono logicamente equivalenti: l Se A allora B l A solo se B l A implica B Esempio: l Se Mario viene alla festa allora Anna viene alla festa l Mario viene alla festa solo se Anna viene alla festa l Mario viene alla festa implica che Anna viene alla festa Tutte vengono rappresentate con not(A) or B o equivalentemente con A imp B
34
Altri esempi l Lode = SI implica voto=30 l Se lode= SI allora voto=30 l Lode=SI solo se voto=30
35
Esempio Vincolo (complesso) Supponiamo che STUDENTE contenga anche gli attributi l Borsa di Studio: valori {Yes, No} l Reddito (della famiglia): euro l Residente (nella città sede univ.): {Yes, No} Criterio per una borsa di Studio: –ha una media >= 27 e un reddito <= 20000, oppure – non è residente e ha una media >= 25 e un reddito <=25000
36
Codifica del Vincolo sia C il vincolo qui sotto: ((media >= 27) AND (reddito <= 20000)) OR ((residente = NO) AND (media >= 25) AND (reddito <=25000)) l Condizione necessaria: –BorsaDiStudio = YES implica C, tradotto in BorsaDiStudio = NO or C l Condizione sufficiente: –C implica BorsaDiStudio = YES tradotto in Not (C) or BorsaDiStudio= YES
37
Vincoli di chiave l superchiave: sottoinsieme SK di attributi di una relazione per cui se i j allora t i [SK] t j [SK] Una superchiave identifica un’entità in modo univoco in una relazione l CHIAVE PRIMARIA = superchiave minimale non ci possono essere righe diverse con la stessa chiave primaria (Indichiamo in modo sottolineato gli attributi che formano la chiave primaria)
38
VINCOLI DI INTEGRITA’ sull’entità : chiave primaria null l integrità referenziale: consistenza tra tuple di due relazioni l integrità semantica: vincoli che dipendono dalla realtà rappresentata (altro es. numero di libri in prestito a ciascun utente < 5, in una relazione in cui ogni prestito compaia come una tupla separata)
39
Vincoli di Integrità referenziali l In un database relazionale le tabelle sono collegate tra loro tramite i valori di attributi correlati (o comuni) l Esempio –Il collegamento tra la relazione ESAMI e STUDENTI puo’ essere espresso dall’attributo comune Matricola –Il collegamento tra la relazione CORSI e ESAMI puo’ essere espresso dall’attributo comune Codice Corso
40
l Un vincolo di integrità referenziale tra un attributo A di una relazione R1 e una relazione R2 è soddisfatto se: il valore di ciascuna tupla di R1 per l’attributo A esiste come valore della chiave primaria di una tupla di R2 l In questo caso si dice anche che A è una chiave esterna (foreign key) di R1 l La definizione si generalizza al caso di un insieme di attributi X anziche’ un singolo attributo A
41
ESEMPIO: Vincoli di Integrità referenziale l STUDENTE(Nome,Cognome,Matricola,Data di Nascita) l CORSI(Titolo,Docente,Codice Corso) l ESAMI(Codice Corso,Voto,Lode,Matricola) Vincolo referenziale: tra Matricola di ESAMI e STUDENTE: i valori di Matricola di Esami devono esistere come valori della chiave primaria (Matricola di STUDENTE)
42
Altro Esempio l Auto(Targa, Marca, Modello, Proprietario) l Proprietario(Nome,CodiceFiscale,Indirizzo) l Incidente(NumSinistro,Veicolo1,Veicolo2, Data,Luogo) Vincoli di Integrita’ Referenziale: –Tra Proprietario e CodiceFiscale –Tra Veicolo1 e Targa –Tra Veicolo2 e Targa
43
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare i vincoli! –Interrogazione l Access DBMS relazionale in ambiente Office
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.