MEMORIA DI MASSA. Dispositivi per la memorizzazione di massa. sequenziali nastri magnetici tape cassette

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MEMORIA DI MASSA. Dispositivi per la memorizzazione di massa. sequenziali nastri magnetici tape cassette"

Transcript

1 MEMORIA DI MASSA Dispositivi per la memorizzazione di massa sequenziali nastri magnetici tape cassette ad accesso diretto floppy-disk dischi magnetici CD-ROM DVD La memorizzazione L archivio (file) Il record fisico Il record logico Il campo G. Piscitelli Politecnico di Bari pag. 1/31

2 L ORGANIZZAZIONE DELLA MEMORIZZAZIONE sequenziale il campo chiave e l ordinamento la ricerca di un record logico (algoritmo dicotomico) l inserimento di nuovi elementi (archivio variazionale) ad accesso calcolato l allocazione dei record (algoritmo di hashing) la risoluzione dei conflitti di sinonimia (primo posto libero e aree di overflow) ad indice il file indice l indice unique e l indice multiple G. Piscitelli Politecnico di Bari pag. 2/31

3 BASE DI DATI definizione e proprietà è una collezione di dati organizzati in maniera da poter soddisfare agevolmente le interrogazioni o ricerche riferite ai dati stessi, gestiti da procedure pubbliche (o programmi standard) costituenti il Data Base Management System (DBMS). Le procedure di un DBMS garantiscono: consistenza e minima ridondanza dei dati; privatezza dei dati; integrità dei dati; disciplina della concorrenza nell accesso ai dati. G. Piscitelli Politecnico di Bari pag. 3/31

4 BASE DI DATI punti di vista e indipendenza Un DBMS fornisce tre diversi punti di vista sui dati contenuti nel data-base: lo schema esterno, che presenta i dati che interessano un particolare utente o gruppo di utenti in forma compatibile con le necessità degli utilizzatori la vista sui dati lo schema logico, che evidenza l organizzazione dei dati in ragione della loro struttura e delle relazioni tra di essi esistenti; lo schema fisico, che guarda alla base di dati come insieme di record e archivi dislocati sulle memorie di massa. Un DBMS deve garantire: l indipendenza fisica della base di dati, intesa come capacità di modificare lo schema fisico (cambio della memoria di massa, diversa dislocazione degli spazi dedicati ad ospitare la base di dati, ecc.) senza dover modificare lo schema logico, cioè l organizzazione dei dati e, conseguentemente, i programmi; l indipendenza logica della base di dati, intesa come capacità di estendere lo schema logico o quello esterno, senza dover apportare modificazioni alle viste pre-esistenti. G. Piscitelli Politecnico di Bari pag. 4/31

5 BASE DI DATI modelli dei dati e linguaggi Un DBMS prevede l organizzazione e strutturazione dei dati in base ad uno dei seguenti modelli: gerarchico, basato sulla struttura gerarchica dei rapporti tra dati; reticolare (o Codasyl), basato sulla struttura a grafo dei rapporti tra dati; relazionale, che si rifà agli insiemi ed alle relazioni tra insiemi (algebra relazionale), strutturando i dati tramite tabelle; ad oggetti, che si fonda sui concetti di base della progettazione e programmazione ad oggetti (classe, oggetto, ecc.). La progettazione dello schema logico della base di dati (data-base design) secondo un particolare modello è un attività delicata e complessa, che precede la fase di utilizzo del data-base, durante la quale il valore dei dati viene istanziato o modificato. Il DBMS deve fornire quindi: un linguaggio per definire lo schema logico della base di dati (Data Definition Language o DDL); un linguaggio per manipolare la base di dati (Data Manipulation Language o DML). G. Piscitelli Politecnico di Bari pag. 5/31

6 BASE DI DATI la progettazione Il design di una base di dati comporta, una volta deciso il modello organizzativo, lo svolgimento delle seguenti principali attività: definizione dello schema concettuale, attraverso la individuazione dei particolari aspetti della realtà di cui si vogliono descrivere le caratteristiche; normalizzazione dello schema, intesa come raffinamento dello schema concettuale, al fine di meglio garantire consistenza e riduzione della ridondanza dei dati; definizione dello schema logico, intesa come assestamento ed organizzazione dei dati che sono presenti nella base di dati. Se si assume di far uso del modello relazionale, lo schema concettuale viene realizzato costruendo il modello Entità- Relazioni della specifica base di dati da realizzare. G. Piscitelli Politecnico di Bari pag. 6/31

7 BASE DI DATI Fasi della progettazione LO SCHEMA CONCETTUALE Cosa è: una rappresentazione di alto livello dei dati Cosa contiene: una descrizione dettagliata dei dati, delle relazioni e dei vincoli, ma non dei dettagli fisici relativi alla memorizzazione dei dati Come si definisce: mediante il modello Entità - Relazioni (Entity-Relationship) Come si descrive: mediante il diagramma Entità - Relazioni (Entity-Relationship Diagram o ERD) G. Piscitelli Politecnico di Bari pag. 7/31

8 IL DIAGRAMMA ENTITÀ - RELAZIONI Entità: una classe (o insieme) di oggetti omogenei (astratti o tangibili) appartenenti alla realtà e capaci di rappresentarne gli aspetti di interesse Attributi: le proprietà che caratterizzano ciascuna entità nel contesto di interesse Cognome Nome Data_di_ nascita Numero_ matricola STUDENTE Indirizzo Telefono La singola occorrenza di una entità (1 singolo esemplare della classe) sarà caratterizzata da valori assunti dagli attributi. Esempio: {STUDENTE} 1 {STUDENTE} 2 Cognome = Genchi Nome = Nicola Numero_matricola = V Cognome = Paradiso Nome = Germana Numero_matricola = S G. Piscitelli Politecnico di Bari pag. 8/31

9 IL DIAGRAMMA ENTITÀ - RELAZIONI Tipi particolari di attributo: Attributo Composto: è suddivisibile in parti più piccole che hanno ancora una propria specificità. esempio: Indirizzo Via, Civico, CAP, Città, Stato. Utile quando preveda riferimenti a singole parti dell attributo (via e civico). Attributo Multivalore: può assumere più di un singolo valore per ciascuna occorrenza di una entità. esempio: Telefono, titoli_di_studio, sedi. Attributo derivato: attributo che è possibile o conveniente determinare a partire da altri attributi. esempio: Età è derivabile da data di nascita (è anche conveniente?) G. Piscitelli Politecnico di Bari pag. 9/31

10 IL DIAGRAMMA ENTITÀ - RELAZIONI Il dominio di un attributo: è l insieme dei valori che possono essere assegnati ad un attributo di una entità. esempio: altezza mt nome insieme delle stringhe di caratteri. Definizione: un attributo A di una entità E il cui insieme di valori è V, è definibile come: A : E -> P(V) dove P(V) è l insieme dei sotto-insiemi di V. Il valore nullo: quando per un attributo in un esemplare di entità non sia possibile determinare un valore, viene creato il valore Null. Il suo significato può essere duplice: 1-Ignoto; 2- Non applicabile. esempio: 1- Voto_di_maturità = null (non è noto il valore, ma la maturità è stata conseguita). 2- Civico = null (non esiste una numerazione poiché l urbanizzazione non è completa). G. Piscitelli Politecnico di Bari pag. 10/31

11 IL DIAGRAMMA ENTITÀ - RELAZIONI La chiave di una entità Come distinguere tra occorrenze di una stessa entità? Assumiamo l esistenza di un vincolo di unicità sugli attributi. Esiste cioè un sotto-insieme di attributi (che può ridursi ad uno) di una entità, la cui combinazione di valori è distinta per ciascuna occorrenza di una entità. Tale sotto-insieme viene detto chiave dell entità. Il vincolo di unicità è relativo allo schema dell entità, non ad un particolare insieme di occorrenze di entità. Essa pertanto vale sempre. La chiave va determinata quindi sulla base delle proprietà della realtà che la base di dati rappresenta. Una entità può avere più di un insieme di attributi che verificano il vincolo di chiave. Esempio: Numero di telaio e numero di targa per l entità AUTOVETTURA. Numero di matricola e Cognome-Nome- Data_di_nascita per l entità STUDENTE. G. Piscitelli Politecnico di Bari pag. 11/31

12 IL DIAGRAMMA ENTITÀ - RELAZIONI Relazione: associazione o legame logico esistente tra due o più entità. Formalmente è una funzione che associa ad uno o più esemplari di un insieme-entità, uno o più esemplari dell altro insieme-entità. Studente frequenta Corso_di_ Laurea Studente frequenta Corso_di_ Laurea Grado di una relazione: numero di entità partecipanti. Studente frequenta Corso_di_ Laurea Disciplina_di_ studio Una entità può essere in relazione con se stessa. In tal caso si utilizzano esplicitamente nomi di ruolo per chiarire la partecipazione Studente elegge G. Piscitelli Politecnico di Bari pag. 12/31

13 IL DIAGRAMMA ENTITÀ - RELAZIONI Cardinalità di una relazione: specifica il numero di occorrenze di relazione cui le occorrenze di entità possono partecipare. Le cardinalità vengono espresse normalmente come 1:1, 1:N, M:N. 1:1 (uno a uno), alla relazione partecipa una singola occorrenza di entità per ciascuna delle 2 entità partecipanti; 1:N (uno a molti), alla relazione possono partecipare, per una singola occorrenza di entità di una delle entità partecipanti, svariate occorrenze dell altra entità; M:N (molti a molti), vale anche il viceversa della precedente definizione. Docente presidenza Corso_di_ Laurea Corso_di_ Laurea iscrizione Studente Studente frequenza Disciplina_di_ studio La relazione può essere interpretata in senso inverso. La cardinalità può anche prevedere l assenza di corrispondenza. G. Piscitelli Politecnico di Bari pag. 13/31

14 IL DIAGRAMMA ENTITÀ - RELAZIONI Gerarchie ISA (o entità deboli) Rappresentano legami logici tra una entità E (padre o entità forte) e una o più entità E1, E2,..,EN (figli o entità deboli). Il padre è più generale dei figli, che sono considerabili specializzazioni. ISA IS-A è un esempio: Un liceale è uno studente; un universitario è uno studente. G. Piscitelli Politecnico di Bari pag. 14/31

15 LO SCHEMA CONCETTUALE Riepilogo: Va costruito dopo una adeguata attività di raccolta di requisiti. Consente una descrizione ad alto livello dei dati. Aiuta a chiarire ulteriormente i requisiti Consente di esplicitare numerosi vincoli E soggettivo: numerose scelte sono possibili e vanno adeguatamente ponderate. Se costruito in modo adeguato consente la mappatura immediata nel modello logico relazionale. Richiede comunque ulteriori raffinamenti e verifiche (normalizzazione). G. Piscitelli Politecnico di Bari pag. 15/31

16 BASE DI DATI LO SCHEMA LOGICO Il modello relazionale Basato sul lavoro di Codd (~1970) E attualmente il modello più utilizzato nel mondo dei database (Oracle, Informix, IBM, Microsoft, etc.) E basato su una struttura dati semplice ed uniforme, la relazione. Ha solide basi teoriche. Concetti base del modello Una base di dati è rappresentata come una collezione di relazioni. Possiamo informalmente considerare una relazione come una tabella. Ciascuna riga rappresenta una collezione di valori di dati tra loro collegati Il nome della relazione e quelli delle colonne consentono di comprendere il significato dei valori delle righe. Tutti i valori di una colonna sono del medesimo tipo, appartengono cioè ad un medesimo dominio. Cognome Nome Matricola Genchi Nicola V Paradiso Germana S G. Piscitelli Politecnico di Bari pag. 16/31

17 BASE DI DATI LO SCHEMA LOGICO Dominio: un insieme di valori atomici, cioè indivisibili. Esempio: voti_università valori tra 0 e 30. nomi_propri l insieme dei nomi di persona. A ciascun dominio si associa un tipo di dato o formato. Schema di una relazione: è specificato come un nome R e una lista di attributi (A 1, A 2,.., A N ). Ciascun attributo A i corrisponde ad un dominio D(A i ) nello schema relazionale. Esempio: Studente (nome, cognome, matricola, data_nascita, data_immatr) Grado della relazione: numero di attributi. Istanza di R: r(r), è un insieme di tuple r = (t 1, t 2,.., t m ). Ciascuna tupla t è una lista ordinata di valori t = < v 1, v 2,.., v n >; Ciascun valore v i dom(a i ) null (dove null rappresenta uno speciale valore, sconosciuto, inapplicabile). G. Piscitelli Politecnico di Bari pag. 17/31

18 BASE DI DATI LO SCHEMA LOGICO Cardinalità: il numero di tuple nella estensione r(r). Vincolo di dominio: i valori di ciascun attributo sono valori atomici appartenenti al corrispondente dominio. Vincolo di chiave: per ogni relazione R esiste un sotto-insieme di attributi sk tale che t 1 [sk] t 2 [sk]. Il sottoinsieme sk dicesi superchiave. Dicesi chiave un sottoinsieme di attributi che goda della ulteriore proprietà di essere minimo, cioè privo di attributi ridondanti. Es.: studente(nome, cognome, matricola, data_nascita) Il sottoinsieme nome, cognome, matricola è superchiave, come pure cognome, matricola. Matricola è chiave (non ridondante) In genere possono esserci più sotto-insiemi di attributi che verificano le due proprietà: chiavi candidate. La chiave designata è detta chiave primaria. Integrità di entità: nessuna chiave primaria può assumere valore null. Integrità referenziale: una tupla in una relazione R 1 che si riferisca ad un altra relazione R 2 deve riferirsi ad una tupla esistente in R 2. G. Piscitelli Politecnico di Bari pag. 18/31

19 BASE DI DATI Dal modello concettuale al modello relazionale Creare una relazione per ogni entità con gli attributi semplici della stessa entità, scegliendo come chiave primaria una delle chiavi dell entità. Per le entità deboli, creare una relazione con gli attributi dell entità e includere, inoltre, come chiave esterna, la chiave primaria dell entità proprietaria. La chiave primaria della nuova relazione sarà la combinazione della chiave esterna piuù la chiave parziale. Per ogni associazione binaria 1:1, identificare le entità partecipanti S e D. Scegliere una entità S con partecipazione totale ed includere in essa, come chiave esterna, la PK di D. Includere in S anche eventuali attributi dell associazione. Per ogni associazione binaria 1:N, identificare le entità partecipanti. Scegliere l entità S dal lato N ed includere in essa, come chiave esterna, la PK dell altra. Includere in S anche eventuali attributi dell associazione. Per ogni associazione R di tipo M:N creare una nuova relazione R. Includere le chiavi esterne delle entità partecipanti; la loro combinazione formerà la PK di R; includere eventuali attributi di R. Per ogni attributo multivalore A, creare una nuova relazione che include A e la chiave primaria della entità di partenza come chiave esterna. La PK sarà la combinazione della chiave esterna e di A. G. Piscitelli Politecnico di Bari pag. 19/31

20 L ALGEBRA RELAZIONALE è un linguaggio procedurale: le operazioni vengono specificate descrivendo il procedimento da seguire è un algebra chiusa: e costituita da un insieme di operatori definiti su relazioni che producono relazioni. il risultato di una operazione può essere ulteriormente manipolato. i principali operatori sono la selezione e la proiezione (operatori unari) e il join (operatore binario) esistono le operazioni tipiche dell insiemistica: unione, intersezione, differenza e il prodotto cartesiano G. Piscitelli Politecnico di Bari pag. 20/31

21 L ALGEBRA RELAZIONALE Selezione (SELECT) Consente di selezionare un sotto-insieme delle tuple di una relazione che soddisfino una condizione di selezione. L operazione è espressa in generale come: σ <condizione_di_selezione> (<relazione>) La condizione di selezione può prevedere comparazione tra attributi compatibili o con costanti, oltre a essere ottenuta collegando varie condizioni mediante connettivi logici (and, or, not). esempio σ data_nasc>1/1/1960.and.data_ass>1/6/1994 (impiegato) L operazione viene applicata a ciascuna tupla individualmente. La relazione risultante mantiene lo schema di quella di partenza, i.e. il grado rimane invariato. La cardinalità risultante è invece di quella di partenza. La selezione è commutativa: σ <cond1> (σ <cond2> (<R>) σ <cond2> (σ <cond1> (<R>) G. Piscitelli Politecnico di Bari pag. 21/31

22 Esempio di Selezione ALGEBRA RELAZIONALE S = σ data_nasc>1/1/1960.and.data_ass>1/6/1994 (impiegato) La relazione Impiegato Cognome Nome Data_nasc Titolo Data_ass Davolio Nancy 14/10/1958 Dott.essa 12/3/1987 Laforet Gennaro 1/3/1975 Ing. 15/9/2000 Esposito Giulio 28/7/1969 Dott. 30/10/1996 Kranz Silvana 22/11/1972 Ing. 25/11/1999 una tupla Taylor William 30/9/1967 Sig. 21/6/1997 Da Silva Cristobal 31/7/1955 Dott. 7/9/1986 Fonseca Gabriel 22/12/1950 Sig. 11/3/1985 D Amico Sergio 14/1/1963 Ing. 2/1/1993 Francavilla Stefano 11/4/1961 Dott. 1/5/1990 Al Housseini Ali Mustafa 15/8/1971 Dott. 31/10/1999 un attributo Il risultato dell operazione di selezione La relazione S Cognome Nome Data_nasc Titolo Data_ass Laforet Gennaro 1/3/1975 Ing. 15/9/2000 Esposito Giulio 28/7/1969 Dott. 30/10/1996 Kranz Silvana 22/11/1972 Ing. 25/11/1999 Taylor William 30/9/1967 Sig. 21/6/1997 Al Housseini Ali Mustafa 15/8/1971 Dott. 31/10/1999 G. Piscitelli Politecnico di Bari pag. 22/31

23 L ALGEBRA RELAZIONALE Proiezione (PROJECT) Consente di selezionare un sotto-insieme degli attributi di una relazione elencati in una lista di attributi di proiezione. L operazione è espressa in generale come: π <lista_di_attributi> (<relazione>) L operazione modifica, in generale, il grado, i.e. il numero di attributi. L operazione modifica, in generale, anche la cardinalità (perché?) L operazione non è commutativa. esempio π Cognome, Nome (impiegato) Trattando operazioni in una algebra chiusa è ovviamente possibile scrivere espressioni come sequenza di operazioni. π Cognome, Nome (σ Titolo = Dott. (impiegato)) Cognome Nome Esposito Giulio Da Silva Cristobal Francavilla Stefano Al Housseini Ali Mustafa G. Piscitelli Politecnico di Bari pag. 23/31

24 ALGEBRA RELAZIONALE Esempi di Proiezione π Cognome, Nome (impiegato) π Titolo (impiegato) La relazione Impiegato Cognome Nome Data_nasc Titolo Data_ass Davolio Nancy 14/10/1958 Dott.essa 12/3/1987 Laforet Gennaro 1/3/1975 Ing. 15/9/2000 Esposito Giulio 28/7/1969 Dott. 30/10/1996 Kranz Silvana 22/11/1972 Ing. 25/11/1999 una tupla Taylor William 30/9/1967 Sig. 21/6/1997 Da Silva Cristobal 31/7/1955 Dott. 7/9/1986 Fonseca Gabriel 22/12/1950 Sig. 11/3/1985 D Amico Sergio 14/1/1963 Ing. 2/1/1993 Francavilla Stefano 11/4/1961 Dott. 1/5/1990 Al Housseini Ali Mustafa 15/8/1971 Dott. 31/10/1999 un attributo Il risultato delle operazioni di proiezione Cognome Nome Titolo Davolio Nancy Dott.essa Laforet Gennaro Ing. Esposito Giulio Dott. Kranz Silvana Sig. Taylor William Da Silva Cristobal Fonseca Gabriel D Amico Sergio Francavilla Stefano Al Housseini Ali Mustafa G. Piscitelli Politecnico di Bari pag. 24/31

25 L ALGEBRA RELAZIONALE Unione (UNION): R S produce una relazione che include tutte le tuple presenti in R o in S o in entrambe. Intersezione (INTERSECTION): R S produce una relazione che include tutte le tuple presenti sia in R che in S. Differenza (DIFFERENCE): R-S produce una relazione che include tutte le tuple presenti in R, ma non in S. Sono operazioni binarie dell insiemistica. Hanno senso su relazioni compatibili, cioè con identici attributi o almeno appartenenti al medesimo dominio. Prodotto cartesiano E una operazione binaria su insiemi, ma non richiede la compatibilità delle relazioni partecipanti. E denotata con il simbolo X. Il grado della relazione risultante è pari alla somma dei gradi delle due relazioni partecipanti. La cardinalità è pari al prodotto di quelle delle due relazioni partecipanti. G. Piscitelli Politecnico di Bari pag. 25/31

26 L ALGEBRA RELAZIONALE Join R S= σ ( R S) >< < condizione > < condizione > ove <condizione> è dello stesso tipo di quella già vista per la selezione. E l operazione utilizzata per combinare coppie di tuple provenienti da relazioni collegate in singole tuple. Consente di elaborare le associazioni tra relazioni. Il join con una condizione generica è detto theta join. Quando la condizione sia una uguaglianza l operazione è detta equi join. Questa operazione includerà due volte, nella tabella risultante, gli attributi su cui è posta la condizione di uguaglianza. Quando l operazione si limita a riportare una volta l attributo di comparazione nella tabella risultante parleremo di join naturale. G. Piscitelli Politecnico di Bari pag. 26/31

27 Esempio di Join ALGEBRA RELAZIONALE Relazione R Cognome Nome Titolo Data_nasc Davolio Nancy Dott.essa 14/10/1958 Esposito Giulio Dott. 28/7/1969 Kranz Silvana Ing. 22/11/1972 Taylor William Sig. 30/9/1967 Relazione S Cognome Titolo Data_ass Davolio Dott.essa 12/3/1987 Laforet Ing. 15/9/2000 Esposito Dott. 30/10/1996 Kranz Ing. 25/11/1999 Taylor Sig. 21/6/1997 Da Silva Dott. 7/9/1986 Al Housseini Dott. 31/10/1999 <condizione> Cognome (R) = Cognome (S).and. Titolo (R) = Titolo (S) Cognome Nome Data_nasc Titolo Data_ass Davolio Nancy 14/10/1958 Dott.essa 12/3/1987 Esposito Giulio 28/7/1969 Dott. 30/10/1996 Kranz Silvana 22/11/1972 Ing. 25/11/1999 Taylor William 30/9/1967 Sig. 21/6/1997 G. Piscitelli Politecnico di Bari pag. 27/31

28 LA NORMALIZZAZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione è stato finora la ragionevolezza Scelta degli attributi: Progettare lo schema in modo che sia semplice descrivere il suo significato, prestare cioè attenzione alla semantica degli attributi. Evitare di riunire in uno schema di relazione attributi propri di entità diverse del mondo reale. Ridurre la ridondanza: Ha un duplice scopo: ridurre la storage area e evitare le anomalie da aggiornamento Anomalie da aggiornamento: Anomalie da inserimento Anomalie da modifica Anomalie da cancellazione Ridurre il numero di valori null nelle tuple: Valori null possono essere variamente interpretati: non applicabile, sconosciuto, non inserito In molti casi conviene creare nuove relazioni per ridurre i null. Evitare le tuple spurie: Una tupla spuria (cioè con informazioni non corrette) può essere generata a seguito di un join naturale. G. Piscitelli Politecnico di Bari pag. 28/31

29 LA NORMALIZZAZIONE Esistono però metodi formali per assicurare la scelta di buoni schemi relazionali. Tali metodi vengono essenzialmente utilizzati per verificare e raffinare lo schema. Dipendenze funzionali Una dipendenza funzionale è un vincolo tra due insiemi di attributi di una base di dati e dipende dalla semantica dello schema. Data uno schema relazionale R e due sotto-insiemi non vuoti di attributi X e Y esiste una dipendenza funzionale X Y (o Y dipende funzionalmente da X) se per ogni istanza r di R: t 1 r, t 2 r, Πx(t 1 ) = Πx(t 2 ) Πy(t 1 ) = Πy(t 2 ) Una dipendenza funzionale X Y è piena quando non esiste alcun attributo di Y che dipenda funzionalmente da un sotto-insieme degli attributi di X. In tal caso si dice che Y dipende pienamente da X. Una dipendenza funzionale X Y è transitiva se esiste un insieme di attributi W per cui valgono le dipendenze funzionali X W e W Y. In tal caso si dice che Y dipende transitivamente da X tramite W. Un attributo primo è un attributo che fa parte di almeno una chiave. G. Piscitelli Politecnico di Bari pag. 29/31

30 LA NORMALIZZAZIONE Le forme normali Un metodo formale per analizzare le relazioni Consentono una eventuale decomposizione di relazioni in schemi che godono di migliori proprietà. 1 a forma normale Coincide in pratica con la definizione di relazione. Il dominio di ciascun attributo deve consistere di valori atomici e il valore di un attributo in una tupla deve essere un valore singolo del dominio. Ogni attributo non chiave dipende funzionalmente dalla chiave. 2 a forma normale Uno schema R è in questa forma se ogni attributo non primo ha una dipendenza piena dalla chiave di R. 3 a forma normale Uno schema R è in questa forma se è in seconda forma normale e se ogni suo attributo non primo non dipende transitivamente dalla chiave. G. Piscitelli Politecnico di Bari pag. 30/31

31 SQL Il DDL si basa sulle istruzioni CREATE TABLE CREATE INDEX DROP TABLE DROP INDEX Il DML si basa sulle istruzioni SELECT (attributi) FROM (relazioni) WHERE (condizioni) INSERT INTO (relazione): <tupla1>, <tupla2>, DELETE FROM (relazione) WHERE (condizioni) UPDATE (relazione) SET (attributo = espressione) WHERE (condizioni) G. Piscitelli Politecnico di Bari pag. 31/31

Le Basi di Dati. Sommario. Sistema Informatico. Sistema Informativo. Fondamenti di Informatica Anno Accademico 2010/2011

Le Basi di Dati. Sommario. Sistema Informatico. Sistema Informativo. Fondamenti di Informatica Anno Accademico 2010/2011 Sommario Sistema Informativo Progettazione Logica Sistema Informatico Il Modello Relazionale Dati e Informazione Relazioni e Tabelle Le Basi di Dati Basidi Dati e DBMS Compiti di un DBMS Concetti base

Dettagli

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni Basi di Dati e Sistemi Informativi Progettazione Concettuale: Il modello Entità-Relazioni Corso di Laurea in Ing. Inform. e dell Autom. Ing. Gestionale Magistrale Introduzione Sistema Informativo: sistema

Dettagli

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali

Basi di Dati e Sistemi Informativi. Raffinamento dello schema e Normalizzazione nei database relazionali Basi di Dati e Sistemi Informativi nei database relazionali Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione La modellazione E-R ci ha consentito di descrivere schemi relazionali

Dettagli

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. Modello Relazionale Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. } modello dei dati insieme di strutture dati e regole logico ) strutture disponibili

Dettagli

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento

Dettagli

DataBase Management System - DBMS

DataBase Management System - DBMS DataBase Management System - DBMS Un sistema per la gestione di basi di dati o DBMS (Data Base Management System) è un sistema software in grado di gestire collezioni di dati che siano grandi condivise

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno

Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati Prof. Alberto Postiglione Università degli

Dettagli

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione

Dettagli

Il modello Relazionale.

Il modello Relazionale. Il modello Relazionale c.vallati@iet.unipi.it Sommario Il modello Relazionale per la progettazione logica Come passare dal modello ER al modello relazionale Progettazione Logica Effettuata una progettazione

Dettagli

Basi di dati (database)

Basi di dati (database) Basi di dati (database) 1 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi tipi di attività Esempi: aziende, banche, anagrafi,

Dettagli

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere

Dettagli

SISTEMI INFORMATIVI E DATABASE

SISTEMI INFORMATIVI E DATABASE SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,

Dettagli

Pag Politecnico di Torino 1

Pag Politecnico di Torino 1 Introduzione Strutture fisiche di accesso Definizione di indici in SQL Progettazione fisica Linguaggio SQL: costrutti avanzati D B M G D B M G2 Organizzazione fisica dei dati All interno di un DBMS relazionale,

Dettagli

I modelli logici dei dati

I modelli logici dei dati I modelli logici dei dati I modelli logici tradizionali sono tre: gerarchico reticolare relazionale I modelli gerarchio e reticolare sono più vicini alle strutture fisiche di memorizzazione. Quello relazionale

Dettagli

TRADUZIONE DI SCHEMI

TRADUZIONE DI SCHEMI TRADUZIONE DI SCHEMI Progettazione di basi di dati relazionali attraverso la traduzione da schemi ER a schemi relazionali 2 Da un modello ad un altro Parliamo di come progettare uno schema di basi di dati

Dettagli

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Basi di Dati. Concetti e Principi Generali. Maria Mirto Basi di Dati Concetti e Principi Generali Maria Mirto Organizzazione dei Dati Archivi o file Procedure di accesso in qualunque linguaggio di programmazione Duplicazione dati: ridondanza incoerenza formati

Dettagli

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale.

Algebra relazionale. Algebra relazionale. Operatori dell algebra relazionale. Operatori dell algebra relazionale. Algebra relazionale. Algebra relazionale Algebra relazionale Introduzione Selezione e proiezione Prodotto cartesiano e join Natural join, theta-join e semi-join Outer join Unione e intersezione Differenza e antijoin Divisione

Dettagli

SQL QUERY: Le interrogazioni del database

SQL QUERY: Le interrogazioni del database Appunti della lezione di Database del 20 ottobre 2016 (mattina) Studenti: D Amuri Giuseppe, De Luca Federico Professore: Mario Bochicchio SQL QUERY: Le interrogazioni del database Per effettuare un interrogazione

Dettagli

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica

Sistemi di Elaborazione delle Informazioni (C.I. 15) Basi di dati Introduzione teorica Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Sistemi di Elaborazione delle Informazioni (C.I. 15) Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Basi di dati Introduzione

Dettagli

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale Database Intro Tipi di entità Mapping ER/EER à Relazionale Ing. Lucia Vaira PhD Student @ University of Salento lucia.vaira@unisalento.it Cos è un database? 1 Cos è un database? È una struttura di dati

Dettagli

Le basi di dati. Base di dati = dati + DBMS.

Le basi di dati. Base di dati = dati + DBMS. Le basi di dati. Lo scopo di una base di dati è la gestione dell informazione (in genere una grande quantità di informazione). L informazione è difficile da definire, dal momento che i database vengono

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto IL MODELLO RELAZIONALE http://www.diee.unica.it/giacinto/lab

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management

Dettagli

Componenti di un DBMS

Componenti di un DBMS Componenti di un DBMS Come fa un DBMS a garantire le proprietà ACIDe di una transazione? Vediamo i componenti principali dal più interno a quello di più alto livello: Controllore di Concorrenza Gestore

Dettagli

Lezione 6. Algebra e Calcolo Relazionale

Lezione 6. Algebra e Calcolo Relazionale Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

I DATI E LA LORO INTEGRAZIONE 63 4/001.0

I DATI E LA LORO INTEGRAZIONE 63 4/001.0 I DATI E LA LORO INTEGRAZIONE 63 4/001.0 L INTEGRAZIONE DEI DATI INTEGRAZIONE DEI DATI SIGNIFICA LA CONDIVISIONE DEGLI ARCHIVI DA PARTE DI PIÙ AREE FUNZIONALI, PROCESSI E PROCEDURE AUTOMATIZZATE NELL AMBITO

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per

Dettagli

CAPITOLO IV. DATABASE: definizione e progettazione. Definizioni

CAPITOLO IV. DATABASE: definizione e progettazione. Definizioni CAPITOLO IV DATABASE: definizione e progettazione Definizioni DATO ELEMENTARE Una qualunque rappresentazione elementare, non interpretata, di fatti o di concetti, formalizzata ed adatta ad essere interpretata

Dettagli

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida

Introduzione all algebra relazionale. Prof. Giovanni Giuffrida Introduzione all algebra relazionale Prof. Giovanni Giuffrida Esempio di interrogazione Studenti Nome Matricola Indirizzo Telefono Mario Rossi 456 Via Roma 1 095 111 Ugo Bianchi 567 Via Etnea 154 095 222

Dettagli

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo

Dettagli

Il modello Entità/Relazioni (ER)

Il modello Entità/Relazioni (ER) Il modello Entità/Relazioni (ER) Basi di dati 1 Il modello Entità/Relazioni (ER) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il modello Entità/Relazioni (ER) Basi di dati

Dettagli

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie: lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

BASI DATI: algebra relazionale

BASI DATI: algebra relazionale BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).

Dettagli

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un

Dettagli

Modello Relazionale. Architettura a tre livelli di un DBMS

Modello Relazionale. Architettura a tre livelli di un DBMS Modello Relazionale Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970. modello dei dati insieme di strutture dati e regole ) logico strutture disponibili su

Dettagli

Vincoli di integrità Normalizzazione

Vincoli di integrità Normalizzazione Vincoli di integrità Normalizzazione A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Integrità dei dati 2 Integrità dei dati Studenti Matricola

Dettagli

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

Dettagli

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011. Basi di dati Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 010/011 Basi di dati Le presenti slide sono tratte dalle slide del libro di

Dettagli

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3

SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione patrizio.pelliccione@di.univaq.it Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze 007 Politecnico

Dettagli

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi: SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Archivi e database. Dato e gli archivi

Archivi e database. Dato e gli archivi Operatore giuridico d impresa Informatica Giuridica A.A 2002/2003 II Semestre Archivi e database prof. Monica Palmirani Dato e gli archivi Dato - la più piccola unità significativa atomica che rappresenta

Dettagli

Il Modello Concettuale Enità-Relazione (ER)

Il Modello Concettuale Enità-Relazione (ER) Il Modello Concettuale Enità-Relazione (ER) (Capitolo 5 della versione italiana) Obbiettivo: Introdurre la progettazione concettuale Definire il linguaggio E-R Discuterne i costrutti principali Esempi

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER)

Progettazione concettuale usando il modello Entità-Relazione (ER) Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità

Dettagli

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione Basi di Dati Perché i modelli concettuali? Tranne casi banali, passare direttamente dai requisiti allo schema logico della base di dati presenta diverse difficoltà. Da dove si parte? Si rischia di perdersi

Dettagli

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.

Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi. Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (20%) Lo schema concettuale seguente rappresenta un

Dettagli

Il modello relazionale dei dati. modello relazionale 1

Il modello relazionale dei dati. modello relazionale 1 Il modello relazionale dei dati modello relazionale Cronologia dei modelli per la rappresentazione dei dati Modello gerarchico (anni 60) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello

Dettagli

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato

Normalizzazione Progettazione di basi di dati Normalizzazione Normalizzazione Normalizzazione e modello ER Esempio Esame Superato Progettazione di basi di dati Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione delle dipendenze D B M G

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 ECDL - Database Introduzione European Computer Driving Licence - Modulo 5 - Database LEZIONE 1 Informazioni sul corso orario: Giovedì - 14.30-16.30 materiale: http://www.fotoboni.com/carlo/ docente: webmaster@fotoboni.com

Dettagli

Parte III. L algebra relazionale

Parte III. L algebra relazionale Parte III L algebra relazionale asi di dati - prof. Silvio Salza - a.a. 2014-2015 III - 1 Linguaggi di interrogazione Dichiarativi: specificano le proprietà del risultato ("che cosa") Procedurali: specificano

Dettagli

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative SQL SQL Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative l utente specifica quale informazione è di suo interesse, ma non come estrarla dai dati Le interrogazioni vengono

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

Che cos è l informatica?

Che cos è l informatica? BASI DI DATI Metodo di studio riflessione sui concetti, riferimento alle esperienze personali svolgimento di esercizi svolgimento di un progetto, realizzato con un opportuno strumento (MS Access) Che cos

Dettagli

INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA

INFORMATICA. Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA INFORMATICA Prof. MARCO CASTIGLIONE ITS Tito Acerbo - PESCARA Database 1. ARCHIVI ITS Tito Acerbo - PE INFORMATICA Prof. MARCO CASTIGLIONE 2 1. Archivi ARCHIVIO Permanenza Razionalità Sistematicità Insieme

Dettagli

Fondamenti di Teoria delle Basi di Dati

Fondamenti di Teoria delle Basi di Dati Fondamenti di Teoria delle Basi di Dati Riccardo Torlone Parte 1: Introduzione Obiettivi La conoscenza della teoria delle basi di dati? No (o non solo) Piuttosto: Come si può affrontare un problema in

Dettagli

Progettazione di basi di dati D B M G

Progettazione di basi di dati D B M G Progettazione di basi di dati D B M G Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Proprietà delle decomposizioni Decomposizione senza perdita Conservazione

Dettagli

Forme normali 1NF,2NF,3NF,BCNF

Forme normali 1NF,2NF,3NF,BCNF Forme normali 1NF,2NF,3NF,BCNF Definizione 2 Prima forma normale (1NF) 3 Uno schema di relazione R(X) è in prima forma normale se ogni attributo di X è un attributo semplice, ovvero con dominio atomico.

Dettagli

Basi di da' Il modello relazionale. Anna Monreale Università di Pisa

Basi di da' Il modello relazionale. Anna Monreale Università di Pisa Basi di da' Il modello relazionale Anna Monreale Università di Pisa Sommario Introduzione Base di da', tabella, ennupla, a6ributo, dominio Valori nulli Vincoli di integrità di chiave di ennupla di riferimento

Dettagli

Basi di dati Basi di dati per bioinformatica

Basi di dati Basi di dati per bioinformatica Basi di dati Basi di dati per bioinformatica DOCENTI PROF. ALBERTO BELUSSI PROF CARLO COMBI Anno accademico 2013/14 Organizzazione degli insegnamenti 3 Basi di dati Basi di dati per Bioinformatica Teoria

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di

Dettagli

LA PROGETTAZIONE LOGICA

LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA DALLO SCHEMA ER ALLO SCHEMA RELAZIONALE Da concettuale a logico! Traduzione di uno schema concettuale (ER) in uno schema (relazionale) logico! Fare attenzione ai vincoli di integrità!!

Dettagli

Creazione di database in MySQL

Creazione di database in MySQL Creazione di database in MySQL LABORATORIO DI BASI DI DATI A.A. 2016/2017 Dott. Claudio Venturini Contenuti riadattati a partire da slide gentilmente concesse dal Dott. Paolo Napoletano Riepilogo: SQL

Dettagli

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali NORMALIZZAZIONE Dipendenze funzionali e Normalizzazione per basi di dati relazionali 2 Fino ad ora Abbiamo ipotizzato che gli attributi vengano raggruppati per formare uno schema di relazione usando il

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione

INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione 2.1c: MODELLI DEI DATI MODELLI DEI DATI Atzeni, cap. 1.3 DBMS: Modelli dei Dati 10 ott 2011 Dia 3 Modelli Logici e Modelli Concettuali Modelli Logici (disponibili sui DBMS commerciali) E un insieme di

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione ModelloEntity-Relationship. E-R E il modello concettuale più diffuso Fornisce costrutti per descrivere le

Dettagli

Le Basi di dati: progettazione concettuale

Le Basi di dati: progettazione concettuale Le Basi di dati: progettazione concettuale Progettazione di una base di dati requisitidel Sistema Informativo progettazione concettuale SCHEMA CONCETTUALE SCHEMA FISICO progettazione fisica progettazione

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale Le basi di dati Lez. 2: Progettazione di un DB Cos è un dato? Un dato (dal latino datum) è la descrizione elementare di una cosa, di un avvenimento. Un dato è utilizzabile se esiste una chiave di interpretazione.

Dettagli

Elementi di Normalizzazione

Elementi di Normalizzazione Elementi di Normalizzazione Corso di Informatica Aziendale Prof. Crescenzio Gallo c.gallo@unifg gallo@unifg.itit Introduzione! La normalizzazione puo essere vista come un processo sistematico basato sull

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI I.T.E.S. Polo Commerciale PITAGORA Via Pupino 10/A 74121 Taranto) TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono

Dettagli

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali Corso di Laurea in Conservazione e Restauro dei Beni Culturali Corso di Informatica Gianluca Torta Dipartimento di Informatica Tel: 011 670 6782 Mail: torta@di.unito.it Basi di Dati lo scopo delle Basi

Dettagli

Il modello relazionale

Il modello relazionale Il modello relazionale Il modello relazionale Modello logico dei dati Basato sul concetto di relazione o tabella Relazione: da teoria degli insiemi 2 Il modello relazionale Garantisce indipendenza fisica

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

Dettagli

SQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"

SQL. SQL: storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. standard di fatto SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS

Dettagli

Algebra relazionale: operazioni

Algebra relazionale: operazioni Dipartimento di Elettronica ed ormazione Politecnico di Milano ormatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Algebra relazionale: operazioni Le presenti slide sono tratte dalle slide

Dettagli

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13 Basi di dati D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/13 Informazioni generali sull organizzazione Insegnamento annuale su due semestri Orario I Semestre Lunedì 11.30 13.30

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati IL MODELLO E-R Modellazione concettuale e progettazione della Base di Dati 2 Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in

Dettagli

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI

LE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura

Dettagli

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa)

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa) Architettura CPU Dispositivi di ingresso Memoria principale (RAM) Dispositivi di uscita Memoria secondaria (memoria di massa) Architettura a tre livelli (ANSI-SPARC 78) Schema Est 1 Schema Est 2... Schema

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Metodologie e modelli di progetto

Metodologie e modelli di progetto Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun

Dettagli

PROGETTAZIONE DI DATABASE

PROGETTAZIONE DI DATABASE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI PROGETTAZIONE DI DATABASE Le Forme Normali Lezione 14 Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque può copiare,

Dettagli

Corso di Laurea in Informatica Basi di Dati a.a

Corso di Laurea in Informatica Basi di Dati a.a Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Progetto Didattico Durante le lezioni saranno realizzate tutte le fasi

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Progettazione di basi di dati È una delle attività del

Dettagli

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012. Basi di dati Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Basi di dati Le presenti slide sono tratte dalle slide del libro

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO e SCHEMA FISICO Costruzione delle tabelle LA PROGETTAZIONE LOGICA Lo scopo della fase di progettazione logica è quello

Dettagli

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Le basi di dati. Lez. 3: Il Modello Relazionale

Le basi di dati. Lez. 3: Il Modello Relazionale Le basi di dati Lez. 3: Il Modello Relazionale Il modello Relazionale Il modello relazionale è il modo più semplice e naturale di rappresentare i dati. Inventato da Edward Codd nel 1970 ricercatore presso

Dettagli