La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione ESEMPI DI ARCHIVI DI DATI Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni – aerei ……….

Presentazioni simili


Presentazione sul tema: "Introduzione ESEMPI DI ARCHIVI DI DATI Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni – aerei ………."— Transcript della presentazione:

1 Introduzione ESEMPI DI ARCHIVI DI DATI Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni – aerei ……….

2 Introduzione Più utenti con ognuno il proprio archivio da gestire. Riportare le modifiche (inserimenti, aggiornamenti, cancellazioni, interrogazioni,…) in ogni archivio Rischio di: –Dimenticanze –Controlli incrociati per evitare inconsistenze –Sovraccarico (duplicazione) inutile di lavoro –Difficoltà nel condurre ricerche sui dati La soluzione è un archivio (base di dati) centralizzato e condiviso

3 Ferie

4

5

6

7

8

9 Che cosa è una Base di dati? Base di Dati (data base): una collezione di informazioni, generalmente non omogenee, organizzate in una struttura che ne rende efficiente la ricerca e l'accesso automatici. Caratteristiche di un DB: la persistenza della memorizzazione dei dati, usualmente suddivisi su più file e memorizzati su dispositivi di memoria secondaria di grandi capacità funzioni per il recupero delle informazioni (data retrieval), per l'introduzione di nuove informazioni (data entry) e per l'aggiornamento o modifica di quelle già presenti (data editing).

10 Il DBMS Le funzionalità di un DB sono realizzate da un sistema software chiamato Data Base Management System (DBMS), che integra al suo interno più moduli: - alcuni destinati ad interagire con gli utenti - altri alla definizione ed al mantenimento della struttura - altri alla elaborazione delle informazioni - altri ancora al coordinamento con il sistema di gestione dei file ovvero col sistema operativo che ospita il DBMS.

11 I tre livelli di un DB livello fisico: riguarda lorganizzazione delle informazioni nei file; livello logico: è il modo in cui il sistema rappresenta linsieme delle informazioni che contiene livello esterno (viste): è il modo in cui la struttura concettuale del DB appare agli utenti.

12 Struttura di un DB: i tre livelli di astrazione Livello fisico Livello logicoLivello esterno (viste)

13 Il livello fisico per lOS Fisicamente un DB è una collezione di file, memorizzati in dispositivi di memoria di massa (dischi, nastri, ecc.). Questi dispositivi organizzano le informazioni secondo una struttura che dipende dalla loro tipologia. Nel caso dei dischi si parla di record fisici per indicare i settori in cui sono suddivise le tracce. Questo livello non è di pertinenza del DB ma del sistema operativo.

14 Il livello fisico per il DB Logicamente ciascun file è suddiviso in record e campi: record: una collezione finita di campi campo: una coppia nome-valore Vi sono record con campi di lunghezza fissa, meno compatti ma più facili da indirizzare, e con campi di lunghezza variabile che richiedono opportune tecniche di indirizzamento.

15 Campi, record e file Cognome Nome Indirizzo tel n. sedute Scheda socio record campi file

16 Il livello logico Al livello logico si situa il modo in cui il sistema rappresenta l'universo delle informazioni che contiene o che potrà contenere. Questo livello viene definito in fase progettuale, stabilendo lo schema concettuale di cui le informazioni concrete sono istanza. Un metodo largamente impiegato per descrivere questo livello è il cosiddetto modello ENTITÀ/RELAZIONE.

17 Il modello ENTITÀ/RELAZIONE Consiste in una descrizione diagrammatica i cui concetti base sono: ENTITÀ RELAZIONE attributi Classi di oggetti omogenei Classi di fatti omogenei che correlano istanze di ENTITÀ Proprietà di ENTITÀ o RELAZIONE

18 Esempio di modello ENTITÀ-RELAZIONE studente sostiene esame Nome Cognome Matricola Materia Docente CorsoVoto Data

19 RELAZIONE molti-a-uno Una RELAZIONE si dice molti-a-uno se ad ogni istanza della seconda ENTITÀ corrispondono una o più istanze della prima. 1,11,n Residentepersona minimo massimo città

20 RELAZIONE uno-a-uno 0,1 uomosposatodonna Una RELAZIONE è uno-a-uno se ad ogni istanza della prima ENTITÀ corrisponde esattamente unistanza della seconda e viceversa

21 RELAZIONE molti-a-molti Una RELAZIONE si dice molti-a-molti se per ogni istanza di una delle ENTITÀ coinvolte possono esservi più di unistanza dellaltra. 0,n studentesostieneesame

22 I modelli dei dati Una specifica basata su ENTITÀ e RELAZIONE è astratta e deve essere realizzata utilizzando una struttura dati. Ve ne sono di diversi tipi: gerarchico: molto usato per i DB di tipo testuale reticolare: si interrga navigando; oggi riscoperto come orientato agli oggetti relazionale: basato sul concetto di relazione (tabella).

23 NOTAZIONE Con il termine RELAZIONE denotiamo il concetto di relazione nel modello ENTITÀ/RELAZIONE mentre con il termine relazione (tutto in minuscolo) denoteremo il concetto di relazione insiemistica.

24 Il modello relazionale Dati due insiemi A e B (esempio: A=Nomi, B=numeri telefonici) il prodotto cartesiano A B di A e B è linsieme: A B = { | a A, b B} es. Nomi NumTel = {,, ….} Una relazione insiemistica R su A e B è un sottoinsieme di A B Un data-base di tipo relazionale è una collezione di relazioni insiemistiche. Queste relazioni si rappresentano come tabelle.

25 Una tabella COGNOMENOMETEL. TanziRosario FedericiSusanna De BernardiSilvio schema nomi dei campi tuple

26 Implementazione Modello logico ENTITÀ-RELAZIONEDB relazionale ENTITÀtabella attributo campo RELAZIONE campi in comune Studente Nome Corso Matricola Esame Materia Data Voto Matricola schemi

27 studente sostiene esame Nome Cognome Matricola Materia Docente CorsoVoto Data

28 Nota: la RELAZIONE sostiene è implementata mediante la ripetizione del campo Matricola

29 Vincoli di integrità I vincoli di integrità sono condizioni che debbono essere soddisfatte dalle istanze di una relazione (dagli elementi di una tabella) per evitare incoerenze e prevenire errori. Iscrizioni StudenteMatricolaEtà Verdi Prodi Salemi valore fuori dominio replica scorretta

30 Le chiavi Conoscenti CognomeNome IndirizzoTelefono Una chiave è un insieme di attributi i cui valori identificano univocamente le tuple (le righe di una tabella). CognomeNomeTel ….. Rossi Andrea Rossi Paolo Sorbi Andrea Una relazione (tabella) può avere più chiavi; una chiave i cui valori non siano mai nulli e quindi individuino tutte le tuple si dice primaria. Valentini ø

31 Operazioni sulle relazioni (tabelle) Il recupero dei dati e le operazioni di incrocio con cui un linguaggio di interrogazione permette di rispondere alle richieste dellutente si basano su operazioni sulle relazioni (tabelle), tra le quali consideriamo: la proiezione ( ) la selezione ( ) il join naturale (incrocio)

32 Proiezione La proiezione di una tabella è una tabella con un sottoinsieme delle colonne della prima. A B C a b c A C a c Proiezione su A, C T A,C (T)

33 Selezione La selezione P (T) costruisce una nuova tabella scegliendo le tuple della tabella T che soddisfano il criterio (predicato) P. A B N a b 3 a b 4 A B N a b 3 a b 9 P = N multiplo di 3 P (T) T

34 Criteri non atomici Un criterio è un predicato sui valori degli attributi: questo predicato può essere atomico: Nome = Pippo oppure essere composto di parti atomiche collegate con operatori booleani: Nome = Pippo OR Cognome = Rossi Nome = Pippo AND Cognome = Rossi

35 Connettivi booleani: tavole di verità Negazione Congiunzione Disgiunzione

36 Join naturale Il join naturale di due relazioni (tabelle) che abbiano coordinate (nomi dei campi) in comune e una relazione (tabella) le cui coordinate sono lunione delle coordinate delle relazioni (tabelle) date, e le cui tuple sono quelle i cui valori nelle coordinate comuni sono eguali A B C A B B C b c a b a b c

37 Le interrogazioni (query) Le interrogazioni sono espresse in una forma opportuna: attraverso un linguaggio di interrgazione, ad es. SQL: attraverso schemi di risposta (query by example), come ad esempio in Access. In entrambi i casi il modulo di esecuzione della query compone opportunamente le operazioni proprie del DB su cui lavora (es. proiezione, selezione, join,…) per calcolare la risposta. SELECT COGNOME,ANNO FROM GIOCATO IN WHERE GOL>30 AND SQUADRA = JUVENTUS

38 Interrogazioni su DB relazionali Interrogazione tabelle risultato


Scaricare ppt "Introduzione ESEMPI DI ARCHIVI DI DATI Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni – aerei ………."

Presentazioni simili


Annunci Google