Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoZita Maggi Modificato 10 anni fa
1
Introduzione alle Basi di Dati
2
Overview
3
Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo e il suo indice (magari solo capitoli numerati) Informazione strutturata Molta struttura, contenuto rigidamente codificato I sistemi informativi delle organizzazioni, le basi di dati
4
DBMS (database management system) Obiettivo: gestione strutturata di dati, organizzati in modo omogeneo. Base di dati: Collezione di dati organizzati in modo coerente (un insieme casuale di dati non è una base di dati !) Modella alcuni aspetti del mondo reale Costruito con funzionalità ben precise, note fin dallinizio della progettazione.
5
Basi di dati: operazioni Definizione della base di dati quali informazioni (struttura) quali relazioni tra le informazioni Manipolazione inserimento di dati cancellazione di dati aggiornamento (update) interrogazione Protezione e sicurezza dei dati
6
Esempio di Tabella NomeCognomeTelefono… MarioRossi050 90…… LuigiBianchi06 499…… GuidoLa Vespa02 009…… Nomi di Attributi Schema tuple Notazione: La tabella Rubrica è anche indicata con la notazione: Rubrica (Nome, Cognome, Telefono, …)
7
In ogni modello esistono Lo schema: la descrizione della struttura stabile nel tempo Listanza: i valori (cioè i dati) variabile nel tempo MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/1978 8765NeriPaolo03/11/1976 3456RossiMaria01/02/1978 9283VerdiLuisa12/11/1979 studenti
8
MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/1978 8765NeriPaolo03/11/1976 3456RossiMaria01/02/1978 9283VerdiLuisa12/11/1979 studenti CodiceTitoloDocente 01AnalisiSempronio 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso 34563004 34562402 92832801 esami 65542601 Relazioni e Attributi: esempio
9
Relazioni e Attributi: esempio…
10
Modello relazionale
11
Modello relazionale dei dati i dati sono organizzati in tabelle la tabella è un insieme di record (ennuple) con un insieme di attributi di tipi opportuni (numeri, stringhe, date …) i dati in tabelle diverse sono correlati sulla base dei valori (chiavi)
12
Modello relazionale Relazione su due insiemi A e B sottoinsieme del prodotto cartesiano A x B Esempio sposato_con incluso in Persone x Persone figlio_di incluso in Persone x Persone vive_a incluso in Persone x Città
13
Esempio di relazione Persone= {Paolo, Luca,Mario} Città={Torino,Roma} PersoneCittà PaoloTorino LucaRoma PersonexCittà Vive_a PersoneCittà PaoloTorino PaoloRoma LucaTorino LucaRoma
14
Relazioni e Attributi Attributi: nomi che specificano un ruolo in una relazione, esempi: sposato_con(Marito, Moglie) figlio_di(Figlio, Genitore) vive_a(Nome,Citta,Provincia) libro(N.Inv, Autore, Titolo, Anno_edizione, Casa_editrice, Collocazione) Gli attributi devono avere nomi differenti
15
Vincoli
16
Vincoli sulle relazioni I valori contenuti nelle tabelle possono essere soggetti a vari tipi di vincoli che dipendono dalla realtà che si vuole rappresantare: vincoli di dominio: valori dei singoli Attributi vincoli di tupla: valori di attributi correlati in una tupla vincoli di integrità valori di attributi in tuple diverse (anche in relazioni diverse)
17
Vincoli di dominio vincoli sui valori dei singoli attributi (vincoli di dominio), es: dato ESAMI(Studente,Voto, Lode,Corso) deve essere: Voto >=18 AND Voto <=30 Vincoli sul valore di un attributo data
18
Vincoli di tupla vincoli sui valori di attributi correlati, es Data la relazione ESAMI come prima deve essere: not (Lode = Yes) OR Voto = 30 equivalente a Lode= No OR Voto = 30 Data la relazione PAGAMENTI(Data,Importo,Ritenute,Netto) deve essere: Netto = Importo - Ritenute
19
Esempio complesso di vincoli Supponiamo che STUDENTE contenga anche gli attributi Borsa di Studio: valori {Yes, No} Reddito (della famiglia): euro Residente (nella città sede univ.): {Yes, No} Uno studente ha diritto ad una borsa se: ha una media >= 27 e un reddito <= 20000, Oppure non è residente e ha una media >= 25 e un reddito <=25000
20
Relazioni tra tabelle In una base di dati relazionale le tabelle sono collegate tra loro tramite attributi comuni Esempio: Il collegamento tra la relazione LIBRI e la relazione CASE_EDITRICI può essere espressa mediante l attributo Numero di inventario. Uso di chiavi primarie per evitare replicazione di dati. Tabelle organizzate per contenere dati omogenei di entità di informazioni ritenute interessanti (Persone, Comuni…).
21
Funzionalità DBMS
22
Funzioni per: definizione della base di dati inserimento / rimozione /aggiornamento di informazioni deve soddisfare i vincoli! Interrogazione
23
Creazione tabelle: Chiavi primarie CREATE TABLE Studenti ( Matricola integer, Cognome string, Nome string, Data di nascita integer, Primary Key (Matricola); );
24
MatricolaCognomeNomeData di nascitastudenti Creazione Tabelle Chiavi primarie: esempio
25
Creazione tabelle: Chiavi primarie CREATE TABLE Corsi ( Codice integer, Titolo string, Docente string, Primary Key (Codice); );
26
MatricolaCognomeNomeData di nascitastudenti CodiceTitoloDocentecorsi Creazione Tabelle Chiavi primarie: esempio
27
Creazione tabelle: Chiavi primarie e chiavi esterne CREATE TABLE Esami ( ID integer, Studente integer, Voto integer, Corso integer, Primary Key (ID), Foreign Key (Studente) references Studenti(Matricola), Foreign Key (Corso) references Corsi(Codice)); );
28
MatricolaCognomeNomeData di nascitastudenti CodiceTitoloDocentecorsi StudenteVotoCorso esami Creazione Tabelle Chiavi esterne: esempio Id
29
MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/1978 8765NeriPaolo03/11/1976 3456RossiMaria01/02/1978 9283VerdiLuisa12/11/1979 studenti CodiceTitoloDocente 01AnalisiSempronio 02ChimicaBruni 04ChimicaVerdi corsi StudenteVotoCorso 34563004 34562402 92832801 esami 65542601 Inserzione dati: esempio Id 1135622 1135623 1135624 1135623
30
Interrogazioni Linguaggio SQL Produce come risultato una tabella Agisce su insiemi (di tuple) e restituisce insiemi (di tuple). Per tale motivo le interrogazioni possono essere annidate. Clausola Base SELECT Lista di attributi FROM Elenco relazioni WHERE Condizione
31
Esempi di query SELECT Docente FROM Corsi WHERE Titolo=Chimica Docente 01AnalisiSempronio Bruni CodiceTitolo 02Chimica 04Chimica Verdi corsi Quale il nome di tutti i docenti che insegnano chimica?
32
Esempi di query MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/1978 3456RossiMaria01/02/1978 8765NeriPaolo03/11/1976 9283VerdiLuisa12/11/1979 studenti Quale il nome e il cognome degli studenti con numero di matricola >7000 ?
33
Esempi di query SELECT Cognome, Nome FROM Studenti WHERE Matricola <7000 MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/1978 3456RossiMaria01/02/1978 8765NeriPaolo03/11/1976 9283VerdiLuisa12/11/1979 studenti Quale il nome e il cognome degli studenti con numero di matricola >7000 ?
34
Esempi di query SELECT Studente FROM Esami WHERE Corso=01 AND Voto>27 Studente 9283 esami 34563004 34562402 1135622 1135623 VotoCorso 2801 Id 1135624 65542601 1135623 Quale lo studente Che ha superato il corso 01 con voto >27 ?
35
Join Join: combinare le tuple di più tabelle i cui valori per attributi correlati soddisfano una condizione di confronto Il join di due relazioni è il sottoinsieme del loro prodotto cartesiano specificato dalla condizione di selezione Relazioni tra tabelle e Join Le relazioni tra tabelle sono espresse da valori comuni di attributi correlati
36
Join: Example SELECT Studenti.Nome, Studenti.Cognome FROM Studenti, Esami WHERE Studenti.Matricola=Esami.studenti AND Esami.corso=01 AND Esami.voto>27 MatricolaCognomeNomeData di nascita 6554PincoPallino05/12/1978 8765NeriPaolo03/11/1976 3456RossiMaria01/02/1978 9283VerdiLuisa12/11/1979 studenti StudenteVotoCorso 34563004 34562402 92832801 esami 65542601 Id 1135622 1135623 1135624 1135623
37
Conclusioni
38
CONTROLLO DEI DATI: LE TRANSAZIONI Definizione Una transazione è una sequenza di azioni di lettura e scrittura in memoria permanente e di elaborazioni di dati in memoria temporanea, con le seguenti proprietà: Atomicità: Le transazioni che terminano prematuramente (aborted transactions) sono trattate dal sistema come se non fossero mai iniziate; pertanto eventuali loro effetti sulla base di dati sono annullati. Consistenza: i vincoli vengono rispettati. Serializzabilità (isolation): Nel caso di esecuzioni concorrenti di più transazioni, leffetto complessivo è quello di una esecuzione seriale. Persistenza (durability): Le modifiche sulla base di dati di una transazione terminata normalmente sono permanenti, cioè non sono alterabili da eventuali malfunzionamenti.
39
FUNZIONALITÀ DEI DBMS: MECCANISMI PER IL CONTROLLO DEI DATI Una caratteristica molto importante dei DBMS è il tipo di meccanismi offerti per garantire le seguenti proprietà di una base di dati: Integrità, sicurezza e affidabilità. Integrità: mantenimento delle proprietà specificate in modo dochiarativo nello schema (vincoli dintegrità) Sicurezza: protezione dei dati da usi non autorizzati Affidabilità: protezione dei dati da malfunzionamenti hardware o software (fallimenti di transazione, di sistema e disastri) e da interferenze indesiderate dovute allaccesso concorrente ai dati da parte di più utenti.
40
RIEPILOGO DEI VANTAGGI DEI DBMS Indipendenza dei dati Recupero efficiente dei dati Integrità e sicurezza dei dati Accessi interattivi, concorrenti e protetti dai malfunzionamenti Amministrazione dei dati Riduzione dei tempi di sviluppo delle applicazioni La riduzione dei costi della tecnologia e i possibili tipi di DBMS disponibili sul mercato facilitano la loro diffusione.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.