La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Sommario Le basi di dati Cenni storici e introduzione Da sistemi informativi a sistemi informatici: le basi di dati e i DBMS Il modello relazionale VincoliChiavi.

Presentazioni simili


Presentazione sul tema: "1 Sommario Le basi di dati Cenni storici e introduzione Da sistemi informativi a sistemi informatici: le basi di dati e i DBMS Il modello relazionale VincoliChiavi."— Transcript della presentazione:

1 1 Sommario Le basi di dati Cenni storici e introduzione Da sistemi informativi a sistemi informatici: le basi di dati e i DBMS Il modello relazionale VincoliChiavi Algebra relazionale UNIVAC Il primo calcolatore concepito ed impostato come prodotto commerciale, fu realizzato da Eckert e Mauchly (gli stessi costruttori dellENIAC) per lUfficio Centrale di Statistica degli Stati Uniti. Lalgebra di Boole truefalse Fu teorizzata dal matematico inglese George Boole ( ) nel lavoro Analisi Matematica della Logica, pubblicato nel Include un insieme di operazioni su variabili logiche (o variabili booleane), che possono assumere i due soli valori true e false, indicati da 1 e 0. Le tecniche sviluppate nellalgebra booleana possono essere applicate allanalisi ed alla progettazione dei circuiti elettronici, poiché essi sono realizzati con dispositivi che possono assumere solo due stati. tabella di verità Su insiemi di costanti e variabili logiche possono essere definite funzioni che hanno esse stesse la caratteristica di assumere due soli valori. La definizione di una funzione booleana può essere effettuata per mezzo di una tabella di verità, che indica il valore della funzione in corrispondenza di ogni possibile configurazione dei valori degli argomenti. Le funzioni booleane possono essere scritte e manipolate anche con metodi algebrici, dato un insieme di funzioni (o operazioni) elementari tramite le quali poter esprimere ogni altra funzione. UNIVAC Il primo calcolatore concepito ed impostato come prodotto commerciale, fu realizzato da Eckert e Mauchly (gli stessi costruttori dellENIAC) per lUfficio Centrale di Statistica degli Stati Uniti. Lalgebra di Boole truefalse Fu teorizzata dal matematico inglese George Boole ( ) nel lavoro Analisi Matematica della Logica, pubblicato nel Include un insieme di operazioni su variabili logiche (o variabili booleane), che possono assumere i due soli valori true e false, indicati da 1 e 0. Le tecniche sviluppate nellalgebra booleana possono essere applicate allanalisi ed alla progettazione dei circuiti elettronici, poiché essi sono realizzati con dispositivi che possono assumere solo due stati. tabella di verità Su insiemi di costanti e variabili logiche possono essere definite funzioni che hanno esse stesse la caratteristica di assumere due soli valori. La definizione di una funzione booleana può essere effettuata per mezzo di una tabella di verità, che indica il valore della funzione in corrispondenza di ogni possibile configurazione dei valori degli argomenti. Le funzioni booleane possono essere scritte e manipolate anche con metodi algebrici, dato un insieme di funzioni (o operazioni) elementari tramite le quali poter esprimere ogni altra funzione.

2 2 Le basi di dati

3 3 Cenni storici Lavvento dellinformatica ha permesso lintegrazione, in un unico programma applicativo, delle funzionalità di archiviazione e gestione dei dati Gli archivi costituiscono una memoria di lavoro indispensabile per gestire quantità ingenti di informazione, per ordinare gli elementi significativi, metterli in relazione, e filtrare i dati che devono essere utilizzati nelle varie circostanze Prima della diffusione dei sistemi informatici, gli archivi erano gestiti in forma cartacea, con schedari e registri, che permettevano di catalogare e ordinare i dati secondo un unico criterio di ricerca e rendevano disagevole il recupero e lanalisi dellinformazione

4 4 Introduzione 1 Le basi di dati, ed i relativi programmi di gestione, sono sistemi che permettono la manipolazione di grandi quantità di informazione, per raggiungere gli scopi di una qualche organizzazione (azienda, istituzione, etc.): Raccolta, acquisizione Archiviazione, conservazione Elaborazione, trasformazione, produzione Distribuzione, comunicazione, scambio

5 5 Introduzione 2 Le attività di gestione delle informazioni, così come le informazioni stesse, mentre a livello umano possono essere realizzate usando idee informali e linguaggio naturale, a livello informatico devono essere opportunamente formalizzate e codificate Tuttavia, tali formalizzazioni sono per lo più anteriori alla realizzazione dei sistemi informatici Nei sistemi informatici le informazioni vengono rappresentate in modo strutturato ed essenziale (mediante i dati)

6 6 Introduzione 3 Il database permette la creazione di una memoria digitale vasta ed intelligente, che può essere utilizzata a diversi livelli di complessità query Il database è un insieme integrato di informazioni omogenee, che fornisce strumenti, quali tabelle, query, maschere e report, per la catalogazione, lordinamento e la ricerca dei dati

7 7 Basi di dati oggi... DBMS borsa DBMS orari Sistemi informativi InformazioniDati

8 8 Sistema informativo Sottosistema di unorganizzazione che gestisce acquisizione elaborazione conservazione produzione (distribuzione) informazioni delle informazioni di interesse Ogni organizzazione ha un sistema informativo Le informazioni sono un bene sistema informatico Lesistenza del sistema informativo è indipendente dalla sua automazione (sistema informatico)

9 9 Sistema informatico Gestisce un sistema informativo in modo automatizzato Garantisce che i dati siano conservati in modo permanente su dispositivi di memoria Permette un aggiornamento veloce dei dati per riflettere rapidamente le loro variazioni Rende i dati accessibili alle interrogazioni degli utenti Può essere distribuito sul territorio Nota razionalizzazione e standardizzazione delle procedure e dellorganizzazione delle informazioni Nota: prima di essere automatizzati, molti sistemi informativi si sono evoluti verso una razionalizzazione e standardizzazione delle procedure e dellorganizzazione delle informazioni

10 10 Gestione delle informazioni Modo di gestire e comunicare le informazioni accesso, elaborazione, trasmissione lingua scritta e parlata disegni, grafici, schemi codici e numeri Modo di memorizzare linformazione ricordata a memoria copia cartacea in formato elettronico

11 11 Sistemi per la gestione di informazioni Nelle attività standardizzate dei sistemi informativi complessi sono state introdotte col tempo forme di organizzazione e codifica delle informazioni servizi anagrafici Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi nome e cognome estremi anagrafici chiave codice fiscale... una chiave per tutti!

12 12 I sistemi informativi Rendono disponibili le informazioni Permettono di gestirle in maniera efficace Non sono legati alla loro realizzazione automatizzata (sistema informatico) Linformazione si ottiene interpretando opportunamente i dati Numero di telefono di Mario Rossi Informazione dato Numero Mario Rossi

13 13 Dati e informazioni Dato Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; in informatica, elementi di informazione costituiti da simboli che devono essere elaborati Informazione Informazione: notizia o elemento che consente di avere conoscenza di fatti, situazioni, modi di essere

14 14 Base di dati È una collezione di dati utilizzata per rappresentare le informazioni di interesse in un sistema informativo I dati hanno vita più lunga delle procedure che operano su di essi Gestione di una base di dati Organizzazione e conservazione dei dati Operazioni per la gestione e laccesso ai dati

15 15 Un esempio: la rubrica telefonica Dati Nome Cognome Indirizzo Telefono Operazioni Cercare un numero, dato il nome Inserire un nuovo numero Modificare un indirizzo …… Mario Rossi Via Garibaldi

16 16 Basi di dati: dove si trovano? Anagrafe Anagrafe anagrafe residenti, anagrafe studenti Servizi bancari Servizi bancari conti correnti, Bancomat, carte di credito Elenchi delle utenze telefoniche Orari ferroviari Prenotazione voli Catalogo prodotti Catalogo prodotti (CD,…) …… Accessibili in modo distribuito (Sportelli Bancomat, negozi,...) Accessibili da Internet (Orari FFSS, siti di e commerce,...) Accessibili da terminali dedicati (Agenzie di viaggio, biblioteche...) ……

17 17 DBMS DBMS Data Base Management System DBMS Data Base Management System è un sistema software per gestire basi di dati: ha il compito di amministrare i file in una base di dati, in modo persistente e condiviso Grandi dimensioni Grandi dimensioni uso della memoria secondaria Condivisione Condivisione accesso di più utenti a dati comuni; si riduce la ridondanza dei dati e la possibilità di inconsistenze ed errori; necessario un contollo di concorrenza meccanismo di contollo di concorrenza Persistenza Persistenza i dati rimangono memorizzati Affidabilità Affidabilità capacità di non perdere i dati in caso di malfunzionamento backup recovery (backup e recovery ) Privatezza username password Privatezza ciascun utente è riconosciuto da un username e una password e ha autorizzazione ad effettuare soltanto certe operazioni Efficienza Efficienza capacità di svolgere le operazioni in tempo ragionevole e con risorse di calcolo e memoria accettabili Caratteristiche

18 18 A cosa serve una base di dati 1 query Per lutente finale, luso più comune di una base di dati è lesecuzione di opportune interrogazioni, query, predefinite Esempi tipici di interrogazioni sono… laccesso al catalogo elettronico di una biblioteca la consultazione (on line oppure sulle apposite macchine nelle stazioni) degli orari dei treni la prenotazione di un volo aereo la consultazione delle informazioni relative allandamento dei titoli in borsa ……

19 19 A cosa serve una base di dati 2 Le interrogazioni possono essere molto semplici… Elencami tutti i libri di Calvino che sono presenti in biblioteca …ma possono essere anche molto complesse Elencami i libri di Calvino che nel titolo hanno una parola che compare anche nel titolo di un libro di Pavese e che sono stati presi in prestito almeno 10 volte query language Le interrogazioni possono essere espresse usando opportuni linguaggi, detti query language, che si differenziano in base al modello dei dati adottato Luso di linguaggi di programmazione specializzati costituisce la maggiore differenza fra le basi di dati ed i fogli elettronici (oltre alla diversa quantità di informazione trattabile)

20 20 Descrizione dei dati nei DBMS Livelli diversi di descrizione e rappresentazione dei dati indipendenza dei dati permettono lindipendenza dei dati dalla rappresentazione fisica i programmi fanno riferimento alla struttura a livello più alto le rappresentazioni fisiche possono essere modificate senza necessità di modifica dei programmi Si introduce il concetto di modello dei dati modalità usata per organizzare i dati e descriverne la struttura: offre meccanismi di rappresentazione per descrivere sinteticamente il formato dei dati

21 21 Il modello dei dati Modalità prescelta per lorganizzazione dei dati e per descriverne la struttura: relazionale record a struttura fissa Il modello relazionale permette di organizzare i dati in insiemi di record a struttura fissa (concetto di relazione) record Relazionale, gerarchica, reticolare, ad oggetti... Nome Cognome Indirizzo Telefono Mario Rossi Via Verdi Marco Bianchi Via Righi Anna Dati Via Romeo

22 22 Schemi ed istanze Schema Schema: parte non variabile dei dati, è il formato del record (nome della relazione ed attributi) Istanza Istanza (stato): valori effettivi contenuti nella base di dati RUBRICA(Nome,Cognome,Indirizzo,Telefono)

23 23 Schemi e astrazione rappresentazione dello schema logico per mezzo di strutture di memorizzazione (file) il livello logico è indipendente da quello fisico: una tabella è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche variare nel tempo) utente (applicazioni) DB schema logico schema fisico descrizione della base di dati nel modello logico (es., struttura della tabella) schema esterno (vista) descrizione, allo stesso livello di astrazione dello schema logico, di una parte della base di dati (es., la parte accessibile ad una classe di utenti)

24 24 EsempioCorsoDocente Basi di datiRossi ImpiantiNeri Linguaggi e traduttoriVerdiCdLMateriaAnno IIBasi di dati5 IIImpianti5 IILinguaggi e traduttori4 IEBasi di dati5 IELinguaggi e traduttori5 MANIFESTO DOCENZACdLMateriaAnno IEBasi di dati5 IELinguaggi e traduttori5 ELETTRONICA Una vista relazionale

25 25 Utenti di un DBMS amministratore della base di dati Lamministratore della base di dati (DBA) è responsabile della progettazione, del controllo e dellamministrazione della base di dati; configura il DBMS per garantirne le prestazioni, assicura laffidabilità del sistema, gestisce le autorizzazioni di accesso progettisti programmatori di applicazioni I progettisti e programmatori di applicazioni realizzano programmi che accedono alla base di dati; utilizzano gli strumenti di sviluppo per la creazione di interfacce verso la base di dati utenti transazioni casuali Gli utenti, in grado di utilizzare i linguaggi interattivi di interrogazione, effettuano transazioni (attività frequenti e predefinite) o attività casuali

26 26 Transazioni 1 Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori Esempi: versamento presso uno sportello bancario emissione di un certificato anagrafico prenotazione aerea transazione Il termine transazione ha unaltra accezione, più specifica: una transazione è un insieme di operazioni sulla base di dati che devono essere considerate in modo indivisibile (o atomico); ovvero, o tutte le operazioni dellinsieme sono eseguite correttamente oppure nessuna

27 27 Transazioni 2 L effetto di una transazione deve essere corretto, anche in presenza di transazioni concorrenti eseguite nello stesso intervallo di tempo Gli effetti di una transazione conclusasi positivamente devono essere definitivi, ovvero devono essere garantiti anche in presenza di guasti e di esecuzione concorrente Costituiscono una transazione......le operazioni di addebitamento dellimporto prelevato da un Bancomat e lerogazione del denaro...lo spostamento di fondi fra due conti (le operazioni di accreditamento su un conto e addebitamento su un altro)

28 28 Vantaggi e svantaggi dei DBMS Vantaggi dati come risorsa comune a disposizione di tutta lorganizzazione gestione centralizzata con possibilità di standardizzazione disponibilità di servizi integrati riduzione di ridondanze e inconsistenze grazie alla condivisione indipendenza dei dati (favorisce lo sviluppo e la manutenzione delle applicazioni)Svantaggi costo dei prodotti e della transizione verso di essi (strutture, hardware/software, personale) non scorporabilità di eventuali servizi non utili (con riduzione di efficienza)

29 29 Il modello relazionale Codd, 1970 Adottato dalla maggior parte dei DBMS in commercio Definisce come sono organizzati i dati e non come sono memorizzati e gestiti dal sistema informatico Relazione – Tabella relazione tabella Il concetto di relazione proviene dalla matematica, mentre quello di tabella è intuitivo modello relazionalelivello logico livello fisico Il modello relazionale permette di trattare i dati a livello logico senza preoccuparsi del livello fisico, ovvero di come i dati sono effettivamente elaborati e memorizzati: per accedere ai dati non è necessario conoscere le strutture fisiche (file) con cui sono realizzati!

30 30 Prodotto cartesiano 1 Consideriamo linsieme dei nomi e dei numeri di telefono dei dipendenti di unazienda: Mario Rossi Luca Verdi Anna Bianchi D1D1 D2D2 prodotto cartesiano Il prodotto cartesiano D 1 D 2 è linsieme di tutte le coppie ordinate (NOME,TELEFONO)

31 31 Prodotto cartesiano 2 Il prodotto cartesiano contiene tutte le possibili associazioni fra gli elementi degli insiemi La rubrica dei numeri telefonici contiene solo alcune possibili coppie

32 32 Relazioni relazione matematicadomini Una relazione matematica sugli insiemi D 1 e D 2 (domini) è un sottoinsieme del prodotto cartesiano D 1 D 2 La rubrica contiene solo le coppie (NOME,TELEFONO) che esistono Mario Rossi2345 Luca Verdi2367 Luca Verdi2378 Anna Bianchi2356

33 33 Un esempio D 1 = Squadre di Serie AD 2 = Squadre di Serie A D 3 = NumeroD 4 = Numero Risultati delle partite della 27° giornata del campionato 2004/05 Relazione FiorentinaReggina21 InterLecce21 MessinaLazio10 ParmaCagliari32 SampdoriaChievo10 SienaBrescia23 UdineseBologna01 LivornoPalermo22

34 34 Relazioni con attributi Un nome può essere associato a ciascuna componente della n upla attributi I nomi associati ai domini si dicono attributi e descrivono il ruolo che il dominio ha nella relazione SquadraDiCasaSquadraOspite RetiCasa RetiOspitata SquadraDiCasa SquadraOspite RetiCasa RetiOspitata FiorentinaReggina21 Ogni n upla della relazione stabilisce un legame fra i dati Il significato dei valori dipende dallordine con cui sono elencati nella n upla

35 35 Record e campi record Ciascuna n upla della relazione può essere vista come un record campi Gli attributi definiscono la struttura del record, ovvero i suoi campi Si può accedere al valore di un attributo di un record usando il nome del campo tupla Si usa il termine tupla per indicare una riga di n valori corrispondenti ad attributi (lordine non è significativo)

36 36 Tuple e relazioni Una relazione su X è un insieme di tuple su X (X è un insieme di attributi) Si usa la definizione di tupla al posto di n–upla: In una n–upla gli elementi sono individuati per posizione In una tupla gli elementi sono individuati per attributi

37 37 Relazioni e basi di dati Una base di dati è in genere costituita da più relazioni corrispondenze Si possono creare corrispondenze fra le tuple di relazioni distinte Le corrispondenze si ottengono fra tuple di relazioni diverse aventi gli stessi valori su un insieme assegnato di attributi

38 38 Corrispondenze fra relazioni STUDENTI CORSI ESAMI

39 39 Schemi per basi di dati schema di relazione Uno schema di relazione R(X) è costituito dal nome della relazione e da un insieme di attributi, X={A 1, A 2,…, A n } schema di base di dati Uno schema di base di dati è un insieme di schemi di relazioni con nomi diversi: R={R 1 (X 1 ), R 2 (X 2 ),…, R m (X m )} STUDENTI(Matricola, Cognome, Nome, Data di Nascita) R = { STUDENTI(Matricola, Cognome, Nome, Data di Nascita), ESAMI(Studente, Voto, Corso), CORSI(Codice, Titolo, Docente) }

40 40 Esempio: archivio forniture PRODOTTI FORNITURE CLIENTI CodiceDescrizioneMagazzinoCosto A0001Chiodi 35mm A0004Viti 12mm P0010Pinza2007 P0230Cacciavite ArticoloQuantitaDataCliente A /06/ A /06/ P /07/ P /07/ A /07/ CodiceNomeIndirizzoP. IVA 0001Carlo BertiVia Roma BCDSpaVia Verdi A&GSrlVialeMorgagni LucaNelliPiazzaBixio

41 41 Informazione incompleta Può accadere che il valore di un attributo non sia disponibile per tutte le tuple valore nulloNULL Si introduce un valore nullo (NULL) che denota lassenza di informazione sul valore di un attributo per una data tupla sconosciuto inesistenteprivo di informazione Il valore di un attributo può essere sconosciuto, inesistente o privo di informazione (non si sa se esiste)inesistentesconosciuto

42 42 Vincoli di integrità Occorre che le tuple rappresentino informazioni corrette per lapplicazione: Ex: Valori nulli Può essere accettabile Non ammesso! Alcuni campi non possono assumere valori nulli! STUDENTI In generale, occorre che i valori assegnati agli attributi in ciascuna tupla soddisfino una serie di vincoli

43 43 Vincoli intrarelazionali Sono vincoli che coinvolgono il valore degli attributi allinterno di una stessa relazione: Valore non ammesso Combinazione non ammessa Non ci possono essere due studenti con matricola uguale! Matricola Cognome Nome Data di nascita A Bianchi Anna 22/03/1985 A Rossi Andrea 13/04/1982 A Felici Lorenzo 25/02/1983 A Melli Mara 17/10/1980

44 44 Vincoli interrelazionali Sono vincoli che coinvolgono più relazioni Garantiscono lintegrità dei riferimenti fra tabelle ? ESAMI CORSI

45 45 Vincoli di tupla Esprimono condizioni sui valori degli attributi di ciascuna tupla indipendentemente dalle altre (intrarelazionali) Sono espressi con predicati che devono essere veri per tutte le tuple Possono anche essere definiti da espressioni aritmetiche che legano fra loro i valori degli attributi (Voto 18) AND (Voto 30) NOT((Lode=L) AND (Voto 30)) PAGAMENTI(Data,Importo,Ritenute,Netto) Netto = Importo – Ritenute

46 46 Chiavi I vincoli di chiave sono fondamentali per il modello relazionale chiave univocamente Una chiave è un insieme di attributi utilizzato per identificare univocamente le tuple di una relazione Matricola Nome, Cognome, Data di Nascita, Luogo di Nascita SI Nome, Cognome, Corso Nome, Cognome, Data di Nascita NO

47 47 Superchiavi e chiavi superchiave Un insieme K di attributi è una superchiave per una relazione R se R non contiene due tuple distinte t 1 e t 2 con t 1 [K]=t 2 [K] chiave superchiave minimale Un insieme di attributi K è una chiave per una relazione R se è una superchiave minimale (cioè non esiste una superchiave K che è contenuta in K) {Matricola} {Nome, Cognome, Data di Nascita, Luogo di Nascita} {Matricola, Nome} {Nome, Cognome, Data di Nascita, Luogo di Nascita, Corso} {Matricola, Corso} CHIAVI (Superchiavi Minimali) SUPERCHIAVI

48 48 Scelta delle chiavi La scelta della chiave deve tenere conto delle proprietà del mondo reale da cui provengono i dati STUDENTI(Matricola,Cognome,Nome,Data di Nascita,Luogo di Nascita,Corso) può essere una chiave nel caso che in un dato ateneo (e quindi nella base di dati) non ci siano due studenti con ugual Nome e Cognome iscritti allo stesso corso… ma niente vieta che possa accadere in futuro! {Cognome,Nome,Corso} campo ad hoc Può essere aggiunto un campo ad hoc (ad esempio la matricola) da usare come chiave I campi corrispondenti alla chiave primaria non possono assumere valori nulli

49 49 Integrità referenziale Le corrispondenze fra i dati in relazioni diverse si stabiliscono per mezzo dei valori di chiavi delle tuple

50 50 Vincoli di integrità referenziale vincolo di integrità referenzialeforeign key Un vincolo di integrità referenziale (foreign key, chiave esterna) fra un insieme di attributi X di una relazione R 1 e una relazione R 2 è soddisfatto se i valori su X di ciascuna tupla in R 1 compaiono come valori della chiave (primaria) dellistanza di R 2 Agente Occorre definire un vincolo di integrità referenziale fra lattributo Agente della Matricola relazione INFRAZIONI e la relazione AGENTI (chiave primaria Matricola) ? INFRAZIONI AGENTI CodiceDataAgenteArtProvNumero FI M SIBC637ZY GRZA731CD

51 51 Un esempio INCIDENTI AUTOVEICOLI 1)vincolo di integrità referenziale fra lattributo Targa1 della relazione INCIDENTI e la relazione AUTOVEICOLI 2) vincolo di integrità referenziale fra lattributo Targa2 della relazione INCIDENTI e la relazione AUTOVEICOLI

52 52 Algebra relazionale È basata su un insieme di operatori definiti su relazioni e che producono relazioni Si possono combinare gli operatori di base per ottenere interrogazioni complesse operatoriinsiemistici operatori insiemistici (unione, intersezione, differenza) ridenominazioneselezioneproiezione ridenominazione, selezione, proiezione join join (join naturale, prodotto cartesiano, theta–join)

53 53 Operatori insiemistici 1 Hanno senso solo se si applicano a relazioni con lo stesso schema (con gli stessi attributi) unione Lunione di due relazioni R 1 (X) e R 2 (X) è la relazione R(X)= R 1 (X) U R 2 (X) che contiene le tuple che appartengono ad R 1 oppure ad R 2, oppure ad entrambe Laurea 1° livello Laurea 2° livello STUDENTI

54 54 Operatori insiemistici 2 intersezione Lintersezione di due relazioni R 1 (X) e R 2 (X), definite su un insieme di attributi X, è la relazione R(X)= R 1 (X) R 2 (X) contenente le tuple che appartengono sia a R 1 (X) che a R 2 (X) differenza La differenza di due relazioni R 1 (X) e R 2 (X), definite su un insieme di attributi X, è la relazione R(X)= R 1 (X) – R 2 (X) contenente le tuple che appartengono a R 1 (X) ma non a R 2 (X) SPECIALIZZATI LAUREATI SPECIALIZZATI LAUREATI SPECIALIZZATI – LAUREATI U

55 55 Ridenominazione ridenominazione Con loperazione di ridenominazione si modifica il nome degli attributi lasciando inalterato il contenuto delle relazioni Sede,Retribuzione Agenzia,Stipendio (IMPIEGATI) Sede,Retribuzione Fabbrica,Salario (OPERAI) Sede,Retribuzione Agenzia,Stipendio (IMPIEGATI) Sede,Retribuzione Fabbrica,Salario (OPERAI) IMPIEGATIOPERAI

56 56 Selezione selezione cond Loperatore di selezione cond (R) produce una relazione che contiene le tuple della relazione R che soddisfano la condizione cond. Le condizioni di selezione possono prevedere confronti fra attributi e fra attributi e costanti e possono essere costruite combinando condizioni più semplici con i connettivi logici (or), (and) e (not) IMPIEGATI(Cognome, Nome, Età, Stipendio) Età (IMPIEGATI) Vengono selezionati i record relativi ad impiegati con età minore di 30 anni e stipendio superiore a 2000

57 57 Esempi di selezione Età (IMPIEGATI) IMPIEGATI CITTADINI Città di Nascita=Residenza (CITTADINI)

58 58 Proiezione proiezione Y Dati una relazione R(X) e un sottoinsieme Y degli attributi in X, la proiezione di R su Y, Y (R), è linsieme delle tuple su Y ottenute dalle tuple di R considerando solo i valori su Y DOCENTI Cognome,Nome (DOCENTI) Cat,Stipendio (DOCENTI)

59 59 Join È loperatore che permette di correlare dati contenuti in relazioni diverse confrontando i valori contenuti in esse join naturale join naturale è un operatore che correla dati in relazioni diverse sulla base di valori uguali in attributi con lo stesso nome; il risultato è una relazione che ha per attributi lunione degli attributi delle relazioni di partenza e le tuple ottenute combinando quelle delle relazioni con valori uguali sugli attributi comuni IMPIEGATI CAPOREPARTO CAPOREPARTO IMPIEGATI

60 60 Un esempio di join RICERCATORI COORDINATORI RICERCATORI COORDINATORI Ciascuna tupla della prima relazione è combinabile con tutte le tuple dellaltra; il risultato contiene un numero di tuple pari al prodotto del numero di tuple nelle due relazioni originarie

61 61 Infrazioni e auto INFRAZIONI AUTOVEICOLI INFRAZIONIAUTOVEICOLI

62 62 Theta–join È un operatore derivato: corrisponde alla generazione di tutte le possibili combinazioni fra le tuple delle due relazioni seguita da una selezione basata su una condizione F R1R1 F R 2 = F ( R 1 R 2 ) È importante dal punto di vista pratico perché è molto utilizzato nei sistemi di basi di dati esistenti Tutte le possibili combinazioni delle tuple Selezione delle tuple che soddisfano F

63 63 Un esempio di theta–join RICERCATORI PROGETTI RICERCATORI PROGETTI RICERCATORI PROGETTI Progetto=Codice

64 64 Query in algebra relazionale 1 interrogazione query, Uninterrogazione, o query, a una base di dati produce una serie di record che soddisfano i criteri richiesti È una funzione che, applicata ad unistanza di base di dati, produce una relazione, ovvero dei dati organizzati come tuple di una relazione Le interrogazioni si possono rappresentare con gli operatori dellalgebra relazionale che forniscono una procedura per calcolarne il risultato

65 65 Query in algebra relazionale 2 Con le query è possibile recuperare i dati dalle tabelle e organizzarli in modo diverso Le query permettono di utilizzare le tabelle in modo dinamico… …mettendo in relazione le informazioni …filtrando i dati di interesse …effettuando ricerche incrociate sui record che rispondono a determinati criteri

66 66 Un esempio di interrogazione Trovare nome e stipendio dei capi degli impiegati che guadagnano più di IMPIEGATI SUPERVISIONE

67 67 I passi dellinterrogazione: 1 Si selezionano gli impiegati che guadagnano più di Stipendio>1.700 (IMPIEGATI) Si associano gli impiegati trovati con i rispettivi capi Stipendio>1.700 (IMPIEGATI) Impiegato=Matricola SUPERVISIONE

68 68 I passi dellinterrogazione: 2 Si estrae la matricola dei capi Si associa la matricola con la relazione IMPIEGATI per ottenere le informazioni sui capi e poi si proietta sugli attributi richiesti (Nome, Stipendio) Nome,Stipendio (IMPIEGATI Matricola=Capo ( Capo ( Stipendio>1.700 (IMPIEGATI) Impiegato=Matricola SUPERVISIONE))) Capo ( Stipendio>1.700 (IMPIEGATI) Impiegato=Matricola SUPERVISIONE)

69 69 Esempio: Azienda IDNomeEtàStipendio_orarioOreStipendio 86Giulia Invernizzi Francesca Perrera Franco Toccasana Gianni Calvini Bruno Ferri Un DBMS, a differenza di un semplice gestore di file, lavora a livello dei singoli campi nei singoli record del file, ovvero agisce a livello dei singoli attributi sulle tuple della tabella relazionale Sia data la tabella IMPIEGATO:

70 70 Esempio: Azienda Un DBMS può eseguire la seguente interrogazione: select id, nome, età, stipendio_orario, ore, stipendio from impiegato where id = 123; che recupera tutte le informazioni relative allimpiegato con ID uguale a 123; ID è la chiave primaria Per localizzare invece tutte le informazioni riguardanti un impiegato con un dato nome… select id, nome, età, stipendio_orario, ore, stipendio from impiegato where nome = Gianni Calvini; Lattributo Nome può non identificare la tupla univocamente; se nella tabella esistono più impiegati con lo stesso nome, vengono estratti tutti gli elementi rilevanti

71 71 Esempio: Azienda Se linterrogazione presuppone lestrazione solo di alcuni attributi, può essere formulata come… select id, nome, stipendio from impiegato where nome = Gianni calvini; che estrae solo il nome e lo stipendio dellimpiegato/i con il nome specificato select nome, stipendio from impiegato where nome = Gianni Calvini;


Scaricare ppt "1 Sommario Le basi di dati Cenni storici e introduzione Da sistemi informativi a sistemi informatici: le basi di dati e i DBMS Il modello relazionale VincoliChiavi."

Presentazioni simili


Annunci Google