1 / 50

BASI DI DATI

BASI DI DATI. Sommario. Introduzione e obiettivi Il modello di dati relazionale SQL Software per la gestione di base di dati. Introduzione. Le informazioni rappresentano una delle risorse strategiche più importanti che ciascuna azienda deve gestire.

hawa
Download Presentation

BASI DI DATI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BASI DI DATI

  2. Sommario • Introduzione e obiettivi • Il modello di dati relazionale • SQL • Software per la gestione di base di dati

  3. Introduzione • Le informazioni rappresentano una delle risorse strategiche più importanti che ciascuna azienda deve gestire. • In questo modulo vedremo come le informazioni vengono archiviate in modo tale da consentire di essere ritrovate per una loro successiva elaborazione o distribuzione.

  4. Sistema informativo • Un sistema informativo è un sistema di supporto ai processi informativi di un’organizzazione • La porzione di sistema informativo che viene gestita in modo automatico mediante tecnologie informatiche prende il nome di sistema informatico.

  5. Sistema informatico • I sistemi informatici hanno il compito di : • organizzare le informazioni • conservare in modo permanente le informazioni • permettere di accedere alle informazioni • permettere di aggiornare le informazioni e riflettere rapidamente le loro variazioni

  6. Sistemi software per la gestione dell’informazione • Sistemi di archiviazione: consentono la memorizzazione e la ricerca di informazioni che sono invarianti nel tempo (sistemi statici) • Banche dati: consentono l’aggiunta di informazioni NON SONO IN GRADO DI GESTIRE AGGIORNAMENTI FREQUENTI DELLE INFORMAZIONI

  7. Basi di Dati • Una base di dati (o Database, DB) è una collezione di dati • condivisa tra applicazioni e utenti diversi • persistente: ha un tempo di vita superiore al tempo di esecuzione delle applicazioni che la utilizzano

  8. Database Management System • DBMS: sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti. Garantisce: • affidabilita’ • privatezza • efficacia ed efficienza

  9. Affidabilita’ • Capacita’ del sistema di conservare sostanzialmente intatto il contenuto della base di dati in caso di malfunzionamenti hardware o software. • Funzionalita’ di salvataggio e ripristino

  10. Privatezza • Ciascun utente e’ abilitato a svolgere solo determinate azioni sui dati, attraverso opportuni meccanismi di autorizzazione • Esempio: solo certi utenti sono abilitati a leggere certi dati

  11. Modello dei dati • Insieme dei concetti utilizzati per organizzare i dati e descriverne la struttura • Tipi di modelli • gerarchico • reticolare • relazionale • modello a oggetti

  12. Esempio Studenti Esami Corsi

  13. Schema e istanza • Schema della base di dati: parte del DB invariante nel tempo costituita dalle caratteristiche dei dati • Studente(Matricola, cognome, nome, data nascita) • Istanza o stato della base di dati: e’ costituita dai valori effettivi • 6545 Rossi Maria 15/10/1978 8678 Pinti Paola 13/12/1976 4567 Verdi Luigi 02/09/1979 3465 Rossi Mario 11/12/197

  14. Esempio Studenti Esami Corsi

  15. Indipendenza dei dati • Consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati. • Quindi e’ possibile modificare le strutture fisiche (ad esempio l’allocazione fisica dei file sui dispositivi di memorizzazione) senza influire sulle descrizioni dei dati e quindi sui programmi che utilizzano tali dati.

  16. Modello relazionale • proposto da Codd nel 1970 • basato sul concetto matematico di relazione • i riferimenti fra dati diversi sono realizzati usando unicamente valori (indipendenza fisica dei dati) Libri Autori

  17. Relazione • Nel senso delle basi di dati e’ una tabella nella quale e’ presente una prima riga contenente le intestrazioni di ogni colonna (ossia i nomi delgi attributi) e dove le altre righe contengono i valori. • I valori di una stessa colonna devono essere omogenei fra di loro.

  18. Relazione • Nel senso matematico una relazione r su n insiemi D1,…,Dn e’ definita come un qualsiasi sottoinsieme del prodotto cartesiano D1 x … x Dn. • Dati n isniemi D1,…,Dn il prodotto cartesiano D1 x … x Dn e’ l’insieme di tutte le sequenze ordinate di n valori (d1,…,dn) tali che d1 e’ un elemento di D1, …, dn e’ un elemento di Dn.

  19. Esempio di prodotto cartesiano • Insieme “Lettere” = {A,B} • Insieme “Numeri” = {1,2} • Prodotto cartesiano Lettere X Numeri = { (A,1), (A,2), (B,1), (B,2) }

  20. Definizioni formali • Schema di relazione: e’ costituito da un nome di relazione R e da un insieme di attributi A1, …,An e si indica con R(A1,…,An). • Ad ogni attributo e’ associato un insieme, detto dominio, che contiene tutti i possibili valori per tale attributo. • Uno schema e’ costituito dal nome della tabella e dalle intestazioni delle singole colonne.

  21. Definizioni formali • Una ennupla su un insieme di attributi A1,…,An e’ una funzione che associa a ciascun attributo un valore del dominio ad esso relativo. • Una ennupla e’ costituita da una riga della tabella.

  22. Definizioni formali • Un’ istanza di relazione su uno schema R(A1,…,An) e’ costituita da un insieme di ennuple su A1,…,An. • Un’istanza della tabella e’ costituita dall’insieme delle righe della tabella.

  23. Relazioni e tabelle • Una tabella rappresenta una relazione se sono verificate tutte le seguenti condizioni: • ogni colonna ha una diversa intestazione • i valori presenti in ogni colonna sono omogenei tra di loro • l’ordinamento delle righe e delle colonne e’ irrilevante • le righe sono diverse tra di loro

  24. Basi di dati: definizione formale • Schema della base di dati: uno schema di una base di dati e’ costituito da un insieme di schemi di relazione • Uno schema della base di dati e’ costituito da un insieme di schemi di tabelle

  25. Basi di dati: definizione formale • Istanza di base di dati: dato uno schema di una base di dati R, un’istanza di una base di dati su tale schema e’ costituita da un insieme di istanze di relazioni I. • Un’istanza di base di dati e’ costiutito da un insieme di tabelle.

  26. Vantaggi del modello relazionale • Indipendenza dalle strutture fisiche di memorizzazione • I dati sono trasportabili piu’ facilmente da un sistema all’altro • Si rappresenta solo cio’ che e’ rilevante dal punto di vista dell’applicazione

  27. Informazione incompleta Utenti Valore sconosciuto Valore inesistente Valore senza informazione Ogni attributo deve avere un valore!

  28. Valori nulli • Nel caso di informazione incompleta si usa un valore convenzionale: NULL Utenti

  29. Errori nei dati Esami

  30. Vincoli di integrita’ • Permettono di limitare l’immissione di dati non corretti. • Tipi di vincoli: • vincoli su valori (o di dominio) • vincoli di ennupla (o di riga) • vincoli di chiave • vincoli di integrita’ referenziale • I vincoli devono essere soddisfatti da tutte le istanze corrette dello schema

  31. Vincoli di dominio • Sono vincoli intrarelazionali • Esprimono delle condizioni sui valori di un singolo attributo di una singola ennupla • Esempio: 18 <= voto <= 30

  32. Vincoli di ennupla • Sono vincoli intrarelazionali • Esprimono delle condizioni sui valori di piu’ attributi di una singola ennupla • Esempio: Se Voto = 30 allora lode = {si/no}

  33. Vincoli di chiave • Una chiave e’ un insieme minimale di attributi che permette di identificare univocamente le righe di una tabella ossia le ennuple di una relazione • per ogni tabella esiste sempre una chiave • fra tutte le chiavi ne viene scelta una detta chiave primaria • sulla chiave primaria non sono permessi valori nulli. • Esempio: chiave primaria {Studende,Corso}

  34. Vincoli di integrita’ referenziale • vincoli interrelazionali • permettono di correlare i dati memorizzati in tabelle diverse • le informazioni sono correlate sulla base di valori comuni • impongono che i valori degli attributi di una relazione compaiano come valori della chiave primaria di un’altra relazione • Esempio: L’attributo “corso” della tabella esami deve essere chiave primaria di Corsi

  35. DDL e DML • La definizione di una base di dati comporta due aspetti: • Definizione dei dati • Definizione delle interrogazioni sui dati stessi

  36. DDL e DML • Data Definition Language (DDL): linguaggio che permette di definire le tabelle e le autorizzazioni per l’accesso alle stesse. • Data Manipulation Language (DML): linguaggio che permette di esprimere le interrogaizoni per accedere ai dati al fine di ottenere informazioni • Spesso DDL e DML coesistono nello stesso linguaggio

  37. Data Definition Language • Permettono di definire le tabelle che compongono lo schema della base di dati. • Molti DDL permettono di usare delle modalità grafiche per la definizione dei dati.

  38. Data Manipulation Language • Sono basati su un formalismo teorico detto algebra relazionale • L’algebra relazionale e’ costituita da un insieme di operatori che hanno come argomenti delle relazioni (ossia delle tabelle) e producono come risultati altre relazioni

  39. Costrutti principali • Operatori insiemistici (unione, intersezione, differenza) • Ridenominazione • Proiezione • Selezione • Join Un’interrogazione in un DML relazionale è riconducibile ad un’espressione ottenuta usando gli operatori elencati sopra.

  40. Operatori insiemistici

  41. Operatori insiemistici

  42. Proiezione • Operatore unario che effettuata una decomposizione verticale della tabella (toglie alcune delle colonne)

  43. Proiezione

  44. Selezione • Operatore unario che produce una decomposizione orizzontale della tabella (toglie alcune righe della tabella)

  45. Selezione

  46. Join • È l’operatore più importante • Permette di correlare i dati presenti in più tabelle diverse • Si tratta di un operatore binario, ossia ha due tabelle come argomenti e produce una tabella come risultato.

  47. Software per la gestione di basi di dati • prodotti software per la gestione di basi di dati di piccole dimensioni: • Microsoft Access XP • MySQL 4.0.

  48. Microsoft Access • è un software per la gestione di Database Management System (DBMS) • opera in ambiente Windows • è corredato da altre funzionalità che permettono la realizzazione di una interfaccia utente alla base di dati

  49. MySQL • è un DBMS che può essere eseguito su qualunque sistema operativo • può essere integralmente utilizzato sia con interfaccia a linea di comando che con interfaccia grafica. • MySQL è un prodotto Open Source che può essere scaricato e installato gratuitamente • l’utility grafica MySQL Control Center 0.9.3, va scaricata e installata separatamente.

More Related