La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.

Presentazioni simili


Presentazione sul tema: "DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione."— Transcript della presentazione:

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


Scaricare ppt "DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione."

Presentazioni simili


Annunci Google