La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Basi di dati Lorenzo Sarti Dipartimento di Ingegneria dellInformazione

Presentazioni simili


Presentazione sul tema: "Basi di dati Lorenzo Sarti Dipartimento di Ingegneria dellInformazione"— Transcript della presentazione:

1 Basi di dati Lorenzo Sarti Dipartimento di Ingegneria dellInformazione E-mail: sarti@dii.unisi.it

2 Bibliografia Queste slide sono disponibili allindirizzo: ftp.dii.unisi.it/pub/users/sarti/SEI_economia Libro di approfondimento consigliato: Atzeni, Ceri, Paraboschi, Torlone – Basi di dati – II edizione, McGraw-Hill editore Capitoli 1 e 2

3 Sommario zCenni storici e introduzione zDa sistemi informativi a sistemi informatici: le basi di dati e i DBMS zIl modello relazionale: vincoli, chiavi zI linguaggi di interrogazione zLe basi di dati distribuite e i sistemi ipermediali

4 Cenni storici zGli archivi costituiscono una memoria di lavoro indispensabile per gestire quantità ingenti di informazione, per ordinare gli elementi utili, metterli in relazione e filtrare i dati che devono essere utilizzati nelle varie circostanze zPrima 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 zLavvento dellinformatica ha permesso lintegrazione, in un unico programma applicativo, delle funzionalità di archiviazione e gestione dei dati

5 Introduzione 1 zLe 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.): yRaccolta, acquisizione yArchiviazione, conservazione yElaborazione, trasformazione, produzione yDistribuzione, comunicazione, scambio

6 Introduzione 2 zLe 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 zTali formalizzazioni sono anteriori alla realizzazione dei sistemi informatici zNei sistemi informatici le informazioni vengono rappresentate in modo strutturato ed essenziale (mediante i dati)

7 Introduzione 3 zIl database permette la creazione di una memoria digitale vasta ed intelligente, che può essere utilizzata a diversi livelli di complessità zIl 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

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

9 Sistema informativo zSottosistema di unorganizzazione che gestisce yacquisizione yelaborazione yconservazione yproduzione informazioni delle informazioni di interesse zOgni organizzazione ha un sistema informativo yLe informazioni sono un bene sistema informatico zLesistenza del sistema informativo è indipendente dalla sua automazione (sistema informatico)

10 Sistema informatico zGestisce un sistema informativo in modo automatizzato zGarantisce che i dati siano conservati in modo permanente su dispositivi di memoria zPermette un aggiornamento veloce dei dati per riflettere rapidamente le loro variazioni zRende i dati accessibili alle interrogazioni degli utenti zPuò essere distribuito sul territorio razionalizzazione e standardizzazione delle procedure e della organizzazione delle informazioni zAnche prima di essere automatizzati, molti sistemi informativi si sono evoluti verso una razionalizzazione e standardizzazione delle procedure e della organizzazione delle informazioni

11 Gestione delle informazioni zModo di gestire e comunicare le informazioni accesso, elaborazione, trasmissione ylingua scritta e parlata ydisegni, grafici, schemi ycodici e numeri zModo di memorizzare linformazione yricordata a memoria ycopia cartacea yin formato elettronico

12 Sistemi per la gestione di informazioni zNelle attività standardizzate dei sistemi informativi complessi sono state introdotte col tempo forme di organizzazione e codifica delle informazioni codifica delle informazioni servizi anagrafici zAd esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi y nome e cognome xestremi anagrafici chiave xcodice fiscale.... una chiave per tutti!

13 I sistemi informativi zRendono disponibili le informazioni zPermettono di gestirle in maniera efficace zNon sono legati alla loro realizzazione automatizzata (sistema informatico) Linformazione si ottiene interpretando opportunamente i dati Mario Rossi 0577233601 Numero di telefono di Mario Rossi Informazione - dato Numero Nome

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

15 Basi di dati zÈ una collezione di dati utilizzata per rappresentare le informazioni di interesse in un sistema informativo zI 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

16 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 10 0577233601

17 Basi di dati: dove si trovano? zAnagrafe zAnagrafe anagrafe residenti, anagrafe studenti zServizi bancari zServizi bancari conti correnti, Bancomat, carte di credito zElenchi delle utenze telefoniche zOrari ferroviari zPrenotazione voli zCatalogo prodotti zCatalogo prodotti (CD,…) z…… Accessibili in modo distribuito (Sportelli Bancomat, negozi,...) Accessibili da Internet (Orari FFSS, siti di e commerce,...) Accessibili da terminali dedicati (Agenzie di viaggio, biblioteche...) ……

18 DBMS zDBMS Data Base Management System zDBMS 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 Persistenza Persistenza i dati rimangono memorizzati Affidabilità Affidabilità capacità di non perdere i dati in caso di malfunzionamento backup e 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

19 Cosa si può fare con una base di dati 1 query zPer lutente finale, luso più comune di una base di dati è lesecuzione di opportune interrogazioni, query, predefinite zEsempi tipici di interrogazioni sono… ylaccesso al catalogo elettronico di una biblioteca yla consultazione (on-line oppure sulle apposite macchine nelle stazioni) degli orari dei treni yla prenotazione di un volo aereo yla consultazione delle informazioni relative allandamento dei titoli in borsa y……

20 Cosa si può fare con una base di dati 2 zLe interrogazioni possono essere molto semplici… yElencami tutti i libri di Calvino che sono presenti in biblioteca z…ma possono essere anche molto complesse yElencami 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 zLe interrogazioni possono essere espresse usando opportuni linguaggi, query language, che si differenziano in base al modello dei dati adottato zLuso 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)

21 Descrizione dei dati nei DBMS zLivelli diversi di descrizione e rappresentazione dei dati indipendenza dei dati ypermettono lindipendenza dei dati dalla rappresentazione fisica yi programmi fanno riferimento alla struttura a livello più alto yle rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi zSi introduce il concetto di modello dei dati ymodalità usata per organizzare i dati e descriverne la struttura yoffre meccanismi di strutturazione per descrivere sinteticamente il formato dei dati

22 I modelli dei dati zModalità prescelta per lorganizzazione dei dati e per descriverne la struttura relazionale Il modello relazionale permette di organizzare i dati in record a struttura fissa insiemi di record a struttura fissa (concetto di relazione) record Relazionale, gerarchica, reticolare, ad oggetti... Nome Cognome Indirizzo Telefono Mario Rossi Via Verdi 5 0577234567 Marco Bianchi Via Righi 73 0557456783 Anna Dati Via Romeo 4 0578345234

23 Schemi ed istanze zSchema zSchema: parte non variabile dei dati, è il formato del record Istanza Istanza (stato): valori effettivi contenuti nella base di dati RUBRICA(Nome,Cognome,Indirizzo,Telefono)

24 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)

25 Utenti di un DBMS amministratore della base di dati zLamministratore 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 zI 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 zGli utenti, in grado di utilizzare i linguaggi interattivi di interrogazione, che effettuano transazioni (attività frequenti e predefinite) o attività casuali

26 Transazioni 1 zProgrammi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori zEsempi: yversamento presso uno sportello bancario yemissione di un certificato anagrafico yprenotazione aerea transazione zIl 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 Transazioni 2 L effetto di una transazione deve essere corretto, anche in presenza di transazioni concorrenti eseguite nello stesso intervallo di tempo zGli effetti di una transazione conclusasi positivamente devono essere definitivi, ovvero devono essere garantiti anche in presenza di guasti e di esecuzione concorrente zDevono costituire una transazione... y...le operazioni di addebitamento dellimporto prelevato da un Bancomat e lerogazione del denaro y...lo spostamento di fondi fra due conti (le operazioni di accreditamento su un conto e addebitamento su un altro)

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

29 Il modello relazionale Codd, 1970 zAdottato dalla maggior parte dei DBMS in commercio zDefinisce 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 livello logico livello fisico Il modello relazionale permette di trattare i dati ad un 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 con cui sono realizzati!

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

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

32 Relazioni relazione matematicadomini zUna 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 Un esempio D 1 = Squadre di Serie AD 2 = Squadre di Serie A D 3 = NumeroD 4 = Numero Risultati delle partite della 29° giornata del campionato 2003/04 Relazione AnconaBologna32 BresciaModena00 JuventusLazio10 MilanEmpoli10 ParmaLecce31 PerugiaInter23 RegginaUdinese01 RomaChievo31 SienaSampdoria00

34 Relazioni con attributi zOgni n upla della relazione stabilisce un legame fra i dati zIl significato dei valori dipende dallordine con cui sono elencati nella n upla Un nome può essere associato a ciascuna componente della n upla attributi z 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 BresciaModena00

35 Record e campi record zCiascuna n upla della relazione può essere vista come un record campi zGli attributi definiscono la struttura del record ovvero i suoi campi zSi può accedere al valore di un attributo di un record usando il nome del campotuple tupla Si usa il termine tupla per indicare una riga di n valori corrispondenti ad attributi (lordine non è significativo) SquadraDiCasa SquadraOspitataRetiCasaRetiOspitata AnconaBologna32 BresciaModena00 JuventusLazio10

36 Tuple tupla zData una tupla si possono estrarre i valori degli attributi zSi possono estrarre anche insiemi di attributi, ottenendo tuple t[SquadraOspitata] = Modena t[SquadraDiCasa] = Brescia t[SquadraDiCasa,SquadraOspitata]= SquadraDiCasaSquadraOspitataRetiCasaRetiOspitata Bescia Modena00 SquadraDiCasaSquadraOspitata BresciaModena

37 Tuple e relazioni zUna relazione su X è un insieme di tuple su X (X è un insieme di attributi) zSi usa la definizione di tupla al posto di n–upla: yIn una n–upla gli elementi sono individuati per posizione yIn una tupla gli elementi sono individuati per attributi relazione tuple attributi serie A N domini serie A N SquadraDiCasaSquadraOspitataRetiCasaRetiOspitata AnconaBologna32 BresciaModena00 JuventusLazio10

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

39 Corrispondenze fra relazioni STUDENTI CORSI ESAMI

40 Schemi per basi di dati schema di relazione zUno schema di relazione R(X) è costituito dal nome della relazione e da un insieme di attributi, X={A 1, A 2,…, A n } STUDENTI(Matricola,Cognome,Nome,Data di Nascita) 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 )} R = { STUDENTI(Matricola,Cognome,Nome,Data di Nascita), ESAMI(Studente,Voto,Corso), CORSI(Codice,Titolo,Docente) }

41 Esempio: archivio forniture PRODOTTI FORNITURE CLIENTI

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

43 Vincoli di integrità zOccorre 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

44 Vincoli intrarelazionali zSono 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!

45 Vincoli interrelazionali zSono vincoli che coinvolgono più relazioni zGarantiscono lintegrità dei riferimenti fra tabelle ? ESAMI CORSI

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

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

48 Scelta delle chiavi zLa 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 Integrità referenziale zLe corrispondenze fra i dati in relazioni diverse si stabiliscono per mezzo dei valori di chiavi delle tuple AGENTI AUTO INFRAZIONI Matricola: chiave primaria per AGENTI chiave esterna per INFRAZIONI chiave esterna per INFRAZIONI Prov, Numero: chiave primaria per AUTO chiave esterna per INFRAZIONI chiave esterna per INFRAZIONI CodiceDataAgenteArtProvNumero 17465525-12-200267244FIM363521 15673213-05-200322312SIBC637ZY ProvNumeroProprietarioIndirizzo 45634517-08-200267244GRZA731CD FIM363521GilliLucaVia Oro SIBC637ZYTilliNedoVia Abete GRZA731CDBilli AldoVia Sole

50 Vincoli di integrità referenziale vincolo di integrità referenziale 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 ? INFRAZIONI AGENTI Agente Occorre definire un vincolo di integrità referenziale fra lattributo Agente della Matricola relazione INFRAZIONI e la relazione AGENTI (chiave primaria Matricola). CodiceDataAgenteArtProvNumero 17465525-12-200267244 FI M363521 15673213-05-200322312SIBC637ZY 45634517-08-200234544GRZA731CD

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 Esempio: Azienda IDNomeEtàStipendio_orarioOreStipendio 86Giulia Invernizzi5116.60 941560.40 123Francesca Perrera188.50 1851572.50 149Franco Toccasana4312.35 2503087.50 71Gianni Calvini5317.80 2454361.00 165Bruno Ferri176.70 53355.10 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:

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

54 I linguaggi di interrogazione linguaggi di interrogazione zI DBMS richiedono luso di linguaggi di interrogazione specialistici, che permettono allutente o ad altri programmi applicativi di interrogare la base di dati per recuperare informazioni SQL zGli esempi visti sono scritti in SQL Structured Query Language zGestire una tabella relazionale non significa solo effettuare interrogazioni zSi deve essere in grado di aggiungere nuove tuple, cancellarle da una tabella o modificare informazioni in una tupla esistente insertdelete update zSQL realizza questi compiti per mezzo dei comandi insert, delete e update zSoprattutto per le basi di dati sul Web, sono spesso disponibili maschere user–friendly (capaci anche di verificare la correttezza dellinformazione immessa) atte a nascondere i dettagli della interrogazione

55 I linguaggi di interrogazione zEsempio 1 zEsempio 2 select * from impiegato ordered by id; specifica che occorre considerare tutti i valori degli attributi per tutte le tuple nella tabella IMPIEGATO, ordinata per ID select * from impiegato where età > 21; seleziona tutte le tuple degli impiegati con età superiore a 21 anni

56 Esempio: Azienda zSia data la tabella ASSICURAZIONE: con chiave primaria composta, costituita dagli attributi (ID,TipoDiPiano); lattributo ID è una chiave esterna della tabella IMPIEGATO: stabilisce la relazione che gli impiegati possono avere piani assicurativi IDTipoDiPianoDataDiEmissione 86A402/23/78 123B212/03/91 149A106/11/85 71A410/01/72 149B204/23/90 Poiché ID è solo una parte della chiave primaria per ASSICURAZIONE, un dato impiegato potrebbe avere più di un piano assicurativo (es., 149), o nessuno

57 Esempio: Azienda zIl DBMS può mettere in relazione informazioni tra varie tabelle attraverso i valori della chiave, ad es. tra la chiave esterna ID nella tabella ASSICURAZIONE e la chiave primaria ID nella tabella IMPIEGATO descrive il piano assicurativo di Franco Toccasana, il cui risultato sarà: Franco Toccasana A1 Franco Toccasana B2 select impiegato.nome, assicurazione.tipodipiano from impiegato, assicurazione where impiegato.nome = Franco Toccasana and impiegato.id = assicurazione.id;

58 Note zLa corrispondenza tra chiavi primarie e chiavi esterne è ciò che crea le associazioni tra le varie entità in una base di dati zIl comando SQL per creare una tabella richiede le specifiche dei vari attributi, ovvero nome e tipo di dato, lidentificazione della chiave primaria, lidentificazione di ogni chiave esterna con indicazione esplicita delle tabelle per le quali costituisce chiave primaria zQuesta informazione è pertinente per la costruzione del file che memorizza i dati delle tuple

59 Esempio: Azienda ID Nome Età Stipendio_orario Ore Stipendio IMPIEGATO TipoDiPiano Descrizione CostoMensile POLIZZA ID (FK) TipoDiPiano (FK) DataDiEmissione PK ASSICURAZIONE ha usata da PK: Primary Key FK: Foreign Key Esempio Esempio: si possono effettuare interrogazio- ni per trovare il costo mensile dellassicurazio- ne di Franco Toccasana

60 Esempio: Azienda zUn 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 zPer 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


Scaricare ppt "Basi di dati Lorenzo Sarti Dipartimento di Ingegneria dellInformazione"

Presentazioni simili


Annunci Google