Archivi e database. 7.1 Gestione di raccolte di dati. Lezione n. 7. Contenuti. Dagli archivi ai database (1)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Archivi e database. 7.1 Gestione di raccolte di dati. Lezione n. 7. Contenuti. Dagli archivi ai database (1)"

Transcript

1 Contenuti Archivi e database Lezione n Gestione di raccolte di dati 7.2 Data Base Management System - DBMS 7.3 Operatori relazionali e Structured Query Language - SQL 7.4 Modello Entità-Relazioni 7.5 Normalizzazione delle relazioni Dagli archivi ai database (1) 7.1 Gestione di raccolte di dati I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante del programma e venivano organizzati seguendo la logica sia dell algoritmo sia del supporto fisico di memorizzazione. Si utilizzavano i modelli degli archivi Se per esempio si aveva a disposizione un tape ossia un nastro per archiviare i dati di una banca, necessariamente i dati dovevano essere trattati con algoritmi sequenziali a causa del mezzo fisico di memorizzazione

2 Dagli archivi ai database (2) Questo creava problemi di diversa natura e si è iniziato a pensare a modellare i dati come oggetto indipendente Nasce la disciplina dell organizzazione dell informazione spesso chiamata Sistemi informativi e database Scopo di questa disciplina è di organizzare concettualmente e logicamente i dati per rappresentarli così come ontologicamente sono, indipendentemente dal supporto fisico di memorizzazione (memorie di massa) o dalla funzione che devono assolvere (programma) Dagli archivi ai database (3) La definizione dei dati era embedded nei programmi applicativi piuttosto che essere memorizzaza separatamente e indipendentemente Nessun controllo sugli accessi e la manipolazione di dati se non quella imposta dal programma applicativo Database: un sistema di gestione dati integrato in cui i dati sono mantenuti in modo non ridondante e in cui l utente può specificare con un comando unico una richiesta (query) per una varietà di dati DBMS - Data Base Management System Un sistema software che consente all utente di definire, creare, e mantenere il database e fornisce accesso controllato ad esso Limiti dei sistemi di gestione di archivi - I Limiti dei sistemi di gestione di archivi - II Separazione e isolamento dei dati Ogni programma gestisce il proprio insieme di dati : gli utenti di un programma non hanno possibilità di accedere a dati utili gestiti da altri programmi Duplicazione dei dati Gli stessi dati sono gestiti da programmi diversi. Spazio di memoria sprecato e talora valori e format diversi per lo stesso dato Data dependence La struttura dei file è definita nel codice del programma Format incompatibili per i dati I programmi sono scritti in linguaggi diversi e non possono accedere agli file altrui Query fisse e proliferazione dei programmi applicativi I programmi sono scritti per funzioni particolari; ogni nuova esigenza richiede un nuovo programma

3 Dato come risorsa Dato - la più piccola unità significativa atomica che rappresenta un oggetto, un evento, un fatto, un astrazione, un concetto a senso compiuto Dato ha un ciclo di vita, un valore, una necessità per qualche unità organizzativa Triangolo semiotico: intensione ed estensione Intensione concetto astratto Significante classe o entità Estensione o istanza specifica oggetto Gottlob Frege [ ], Charles Sanders Peirce [ ], e Ferdinande de Saussure [ ] Un dato si dice persistente quando spento il calcolatore mantiene la sua integrità Il dato è una risorsa preziosa Il dato merita di essere rappresentato nel suo valore intensionale e astratto indipendentemente dalle attuali e contingenti applicazioni Differenza fra archivi e database Il dato può essere visto come valore (estensionale), come valore del significante e come elemento di una classe (intensionale) Es. La classe dei numeri primi P = {x l x N e x non ha divisori diversi da 1 e da se stesso} definizione intensionale tramite le proprietà P = {I numeri primi } - abbiamo dato un nome a questa classe definizione del significante tramite una categoria (primi) P = {1,3,5,7, 11, 13, } - abbiamo dato una definizione tramite i dati oggettivi concreti ossia le istanze concrete dell insieme dei numeri primi, abbiamo elencato i membri dell insieme che sono i valori estensionali Negli archivi hanno una struttura lineare e registrano la sola rappresentazione estensionale, la rappresentazione intensionale è modellata nei programmi applicativi Nei DBMS poiché abbiamo la rappresentate delle relazioni e degli attributi rispetto ad ogni entità riusciamo a catturare anche la rappresentazione estensionale Dato e gli archivi Il dato persistente viene memorizzato in apposite strutture dati dette ARCHIVI o FILE Un archivio è una collezione di dati organizzati secondo uno schema detto record logico (lunghezza fissa o lunghezza variabile) Esempio: l archivio AGENDA NOME COGN. INDIRIZZO TELEFONO1 TELEFONO2

4 Operazioni sulle raccolte dati Struttura di un archivio - i record Indipendentemente se usiamo archivi o database abbiamo alcune operazioni di basilari da compiere con i dati lettura scrittura - inserimento modificazione cancellazione ricerca Per comprendere come è formato un archivio occorre partire dall unità di base ossia il Record o registrazione: unità logica minima di dati cui il computer può accedere negli archivi strutturati: suddiviso in campi, ciascuno dei quali codifica una singola informazione elementare, numerica o alfanumerica negli archivi di testo: l intero record è costituito da una riga o paragrafo Un formato di record Il contenuto di un record Nome: Cognome: Via: Città: CAP: testo, 15 caratteri testo, 20 caratteri testo, 30 caratteri testo, 20 caratteri Numero intero Nome: Mario Cognome: Rossi Via: Verdi, 30 Città: Milano CAP:

5 Archivio o file: definizione File strutturato: file destinato a contenere un insieme di record dotati della medesima struttura (formato) Viene creato o modificato mediante apposite istruzione del linguaggio di programmazione relativo (o mediante apposite interfacce grafiche) Diversi tipi di file: Sequenziale Accesso diretto Accesso con chiave Inverted file File sequenziali I dati sono memorizzati in sequenza e si accedono in sequenza Per leggere l ultimo record occorre scorrere tutto il file Per poter scrivere un nuovo record occorre leggere tutto il file, posizionarsi sull ultimo record e poi accodare il nuovo record File ad accesso diretto File con chiave (I) I dati sono memorizzati casualmente sul supporto di memoria secondaria La posizione dei dati viene calcolata sulla base di un campo detto chiave. Tale campo serve da input ad un algoritmo detto di hashing che calcola l indirizzo del dato trasformazione Hashing(dato) indirizzo dove il dato è memorizzato fisicamente I dati sono memorizzati a blocchi sequenziali sul supporto di memoria secondaria I singoli record sono identificati mediante un campo unico detto chiave primaria Le chiavi sono inserite in un file a parte detto indice (come un indice di libro) Per accedere ai dati si utilizza il file indice che rimanda al blocco di memoria dove sono memorizzati i dati Si accede al dato in modo diretto sia in lettura sia in scrittura

6 File con chiave (II) File invertiti (I) Esempio: accedo ai dati del cliente mediante il suo codice univoco Chiave Denom. P.I. Chiave Indirizzo di blocco Blocco 1 Blocco FIAT BMW ALFA LANCIA Chiave Denom. P.I ONDA Mercedes DUCATI Ferrari Tutti i dati del record sono chiavi di accesso ai dati Si costruiscono delle tabelle accessorie per la costruzione degli accessi ai dati Poiché lo stesso dato può ricorrere in più record si costruisce una tabella di valori associati agli indirizzi dei record in cui questo valore si trova La ricerca agisce sulle tabelle dei valori e recupera gli indirizzi dei record in cui questi valori ricorrono File invertiti (II) Esempio: ricerco tutti i cittadini che abitano in via Magenta - Via Indirizzo Indirizzo Nome Via Tel.1 Magenta Mitelli Rossi Neri Monti Cava Seta Lelli Magenta Mitelli Cavur Magenta Italia Mitelli Magenta Base di dati In senso lato (giuridico) si intende per base di dati una qualsiasi collezione di dati organizzata seguendo uno schema logico che ne permette il reperimento (possono essere anche documenti cartacei) In senso stretto (informatico) una base di dati o database è l insieme di archivi memorizzati in modo permanente nella memoria di massa e di relazioni fra di essi Attenzione non sempre le definizioni sono uniformi: banca dati normativa = insieme dei testi normativi + relazioni fra le norme (citazioni) banca dati = contenuto + schema logico dei dati database o base di dati = schema logico dei dati

7 Domande possibili Cosa si intende per file, record, campo? Differenze tra archivio (file) di dati e data base Quali sono le operazioni che vengono svolte sulle raccolte di dati? Quali sono i principali tipi di file? Fornire un semplice esempio di file di un dato tipo Qual è la funzionalità di un algoritmo di hash? Quali sono i punti critici dei sistemi di raccolta di dati? Cosa è un data base? un DBMS? 7.2 Data Base Management System DBMS Caratteristiche di un DBMS DBMS - database management system è il programma specifico (software di base) che gestisce ed organizza basi di dati solitamente i DBMS consentono e gestiscono l aggiornamento e l accesso dei dati da parte di più utenti contemporaneamente i DBMS contengono i dati le informazioni sulle strutture dei dati ovvero i metadati - cataloghi I DBMS consentono l indipendenza dei dati dai programmi persistenza - i dati persistono nel tempo non ridondanza dei dati - i dati vengono memorizzati una sola volta sicurezza - meccanismi di accesso autorizzato ai dati integrità - ad ogni dato vengono associati vincoli di integrità e i programmi che non rispettano queste regole vengono bloccati utilizzo concorrente - i dati sono acceduti da più programmi contemporaneamente sistemi di backup e recovery dei dati in caso di errore

8 File vs. DBMS Livelli di astrazione del DBMS Livello fisico o schema interno: insieme di record memorizzati nel dispositivo di memoria di massa Livello logico: descrive l organizzazione dei dati e delle sue relazioni Livello esterno o vista o livello concettuale: descrive i dati così come vengono visti da un certo utente Indipendenza fisica - si può ridefinire il livello fisico senza modificare il modello logico Indipendenza logica - si può estendere il modello logico senza alterare il livello esterno Livelli di un DBMS Livelli di un DBMS

9 Livelli Requisiti della base di dati Livelli nella modellazione dei data base Progettazione CHE COSA : concettuale analisi Schema concettuale COME : progettazione Progettazione logica Progettazione fisica (da Atzeni e altri, Basi di dati, McGraw-Hill, 2002) Schema logico Schema fisico Livello concettuale Modellazione entità relazione dei dati Livello logico Scelta del modello del DBMS (es. relazionale) e modellazione delle tabelle in forma normale sciogliendo anche le relazioni N:M Livello fisico istruzioni SQL per gestire i file sulle memorie di massa (dischi) Componenti dell ambiente DBMS - I Hardware da un pc a una rete di computer Software DBMS, sistema operativo, programmi applicativi, software di rete (se necessario) Dati dell organizzazione e una loro descrizione in schema e sottoschema Procedure istruzioni e regole da applicare al progetto e all uso del database e dal DBMS Persone Data Base Administrator - DBA Data administrator, programmatori applicativi Progettisti di database (sia logici che fisico) Utenti Componenti dell ambiente DBMS - II I dati sono il ponte fra i sistemi informativi e i sistemi informatici I dati prodotti dall attività del sistema informativo vengono gestiti e archiviati nei sistemi informatici

10 Linguaggi di un DBMS Data Definition Language (DDL) Consente di specificare i tipi di dati, le strutture delle tabelle e i vincoli Data Manipulation Language (DML) Strumento di ricerca (query) sui dati Data Control Language (DCL) Strumento controllo degli utenti e dei permessi Le transazioni - ACID Le transazioni sono operazioni di programma che agiscono sulla banca dati e non alterano la sua integrità (commit e rollback) commit fine della transazione con esito positivo roll-back fine della transazione con esito negativo e quindi ritorno allo stato precedente l inizio della transazione atomicità- l operazione viene eseguita tutto o si torna indietro ripristinando la situazione originale consistenza - le operazioni non devono violare i vincoli di l integrità dei dati isolamento - ogni transazione agisce in modo isolato dall altra per non creare sovrapposizioni durabilità - l operazione deve avere effetto duraturo nel tempo Modelli di dati Un Modello di dati è un formalismo utilizzato per descrivere la realtà che si intende modellare mediante un DB Modello gerarchico - IBM Modello reticolare - Codasyl (Conference on Data System Language) Modello relazionale - Egdar F. Codd anni 70 Modello a oggetti - anni Modello gerarchico Il modello gerarchico rappresenta i dati come strutture ad albero gli alberi si dicono occorrenze gerarchiche in un albero si possono identificare almeno due parti: una struttura parent e più strutture child puntatore padre, puntatore figlio, puntatore gemello Puntatore al figlio Ogni modello comprende entità, attributi, relazioni fra i dati Puntatore al padre Puntatore al gemello ossia all istanza successiva della stessa entità: es. Rossi punta a ed entrambi sono nell entità clienti

11 Modello gerarchico Database gerarchico Radice Padre Figlio Figlio Puntatore di interconnessione Da Bettelli, Dati, relazioni & assoicazioni, Apogeo Caso di database gerarchico Modello reticolare Radice Il modello reticolare consente più di una struttura padre le associazioni fra record sono realizzate mediante particolari record detti record connettori RC3 RC1 RC2

12 Modello reticolare Esempio di modello reticolare Non ha alcuna radice Schema e subschema E navigazionale ossia si può accedere ad ogni nodo della rete delle entità Da Bettelli, Dati, relazioni & assoicazioni, Apogeo Modello relazionale Elementi del modello relazionale Un data base relazionale è un insieme di relazioni Una relazione è una tabella composta da un numero fisso di colonne (attributi) e da un numero variabile di righe (tuple) Ciascuna relazione ha un nome Con le colonne si indicano gli attributi ed ogni attributo a un nome Tutti gli elementi della stessa colonna sono omogenei Ogni tupla deve essere unica all interno della relazione La relazione è definita come l insieme delle sue tuple Schema di una relazione=nome relazione+nome degli attributi+dominio di ogni attributo (schema astratto) Istanza di una relazione è uno schema di una relazione in un determinato istante ovvero l insieme dei valori delle tuple (valori) LIBRO(codice isbn, autore, titolo, casa editrice, città, anno) Tabelle o Entità - oggetti della realtà da descrivere e modellare Attributi - Associazioni o relazioni uno-a-uno - un cliente ha una sola sede legale uno-a-molti - un cliente ha più sedi operative molti-a-molti - un articolo è contenuto in più ordini e un ordine contiene più articoli

13 Da relazione molti a molti Due relazioni uno a molti, mediante un nodo intermedio La tabella Studenti La tabella Insegnamenti idstudente nome cognome datanascita IdInsegn CgnDocente Materia Semestre 3456 Mario Rossi 1/1/1985 Chiari FilDir /1/1986 Pr2 Scuri Privato 2

14 La tabella Frequenze Le associazioni tra tabelle idstudente idinsegnamento Pr Esempio Studenti - Corsi La chiave primaria La chiave primaria di una tabella è il campo i cui valori identificano univocamente ciascun record della tabella Ad esempio, in un database di studenti, il numero di matricola può costituire la chiave primaria La chiave primaria deve essere: Univoca Persistente nel tempo Non dipendere da nessun altro campo

15 Vantaggi dei DBMS Punti critici Controllo della ridondanza Data consistency Più informazione dallo stesso insieme di dati Condivisione di dati Miglioramento della integrità dei dati Miglioramento della sicurezza Potenziamento di standard Economie di scala Complessità Ampiezza Costi del software e della conversione Prestazioni Domande possibili Quali sono i livelli (in relazione allo schema di Zachman) di un DBMS? Quali sono i modelli di rappresentazione dei data base? Cosa vuol dire che un data base è relazionale? Definizione e ruolo della chiave primaria Cosa si intende per relazione uno a uno, uno a molti, molti a molti? Fornire semplici esempi Quali sono vantaggi e punti critici di un DBMS? 7.3 Operatori relazionali e Structured Query Language

16 Operazioni relazionali di base Selezione CLIENTI Selezione - selezione di tuple o righe Proiezione - selezione di colonne Join - unione di due relazioni attraverso un attributo di collegamento Righe selezionate in base ad una condizione Codice Nome Indirizzo Rossi Neri Grigi Seta Lucchi via Magenta pz. Matteotti via Tosca vicolo Luretta Citta Bologna Bologna Milano Milano Proiezione CLIENTI Join CLIENTI Colonne selezionate Codice Nome Indirizzo Rossi Neri Grigi Seta Lucchi via Magenta pz. Matteotti via Tosca vicolo Luretta Citta Bologna Bologna Milano Milano Codice Nome Indirizzo SALDI Rossi Neri... via Magenta pz. Matteotti via Tosca... Codice Fatturato Anno Citta... Saldo

17 Join Il Join TABELLA di JOIN Codice Nome Indirizzo Rossi Rossi Rossi.... via Magenta via Magenta via Magenta pz. Matteotti pz. Matteotti.. Citta... Fatturato Crea una tabella C che riunisce due tabelle A e B pre-esistenti Ogni record della tabella C unisce campi tratti da una tupla di A e da una tupla di B Di regola si tratta delle tuple che hanno il medesimo valore in un certo campo comune: se A contiene i campi a e b e B contiene i campi b e g, il join naturale conterrà i campi a, b e g Esempio di Join Le principali operazioni sui dabase relazionali. Project o Proiezione id Studente nome Mario cognome Rossi data Nascita 1/1/1985 1/1/1986 idstudente id Insegnamento Pr2 Data una tabella A, produce una tabella B che contiene solo alcune colonne di A 3456 Elimina le colonne che non sono rilevanti id Studente 6342 nome cognome data Nascita 1/1/1986 id Insegnamento /1/1986 Pr Mario Rossi 1/1/1985

18 Project o Proiezione Partiamo dalla Join precedente e selezioniamo solo le colonne che ci interessano Le principali operazioni sui dabase relazionali. Select id Studente nome Mario cognome Rossi datanascita 1/1/1986 1/1/1986 1/1/1985 id Insegnamento Pr2 Data una tabella A, produce una tabella B che contiene solo alcune tuple di A che soddisfano una determinata condizione nome Mario cognome Rossi id Insegnamento Pr2 Select o Selezione Join ancora Partiamo dalla project precedente e selezioniamo solo le tuple che ci interessano id Studente nome cognome datanascita 1/1/1986 1/1/1986 id Insegnamento Pr2 nome cognome idinsegna mento IdInsegn amento Cgn Docente Chiari Materia FilDir Semestre Mario Rossi 1/1/1985 Mario Rossi Pr2 Pr2 Scuri Privato 2 nome cognome id Insegnamento nome cognome id Insegnamento Cgn Docente Chiari Materia FilDir Semestre 1 Pr2 Pr2 Scuri Privato 2 Mario Rossi Chiari FilDir 1

19 Select ancora Che si è ottenuto? nome Mario cognome Rossi nome Mario idinsegna mento Pr2 cognome Rossi CgnDocente Chiari Scuri Chiari CgnDocente Chiari Chiari Materia FilDir Privato FilDir Materia FilDir FilDir Semestre Si sono incrociati i dati, ottenendo nuove informazioni, non ricavabili (senza sforzi notevoli) dai dati di partenza Il modello relazionale basato su un modello tabellare consente operazioni insiemistiche potenti Le informazioni non sono più lineari (record) ma matriciali (tabella) e gli operatori selezionano avendo a disposizione l informazione estensionale (contenuto) ed intensionale (concetti) Il DBMS conosce il catalogo delle entità, delle relazioni e delle colonne di ogni entità SQL Operazioni di aggiornamento SQL - Structured Query Language nato negli anni 70 - IBM- SEQUEL primo standard riconosciuto dall ANSI (American National Standards Institute) è il linguaggio standard di interrogazione ed aggiornamento accettato dai RDBMS Create table nome-tabella (attributo1 dominio attributo2 dominio vincoli) Insert INTO nome-tabella values (valori) Delete FROM nome-tabella WHERE condizione Update nome-tabella SET lista attributi da modificare WHERE condizione

20 Operazioni di query Selezione SELECT nomi colonne FROM nome-tabella WHERE condizione GROUP by condizione ORDER by condizione SELECT ALL FROM nome-tabella WHERE condizione SELECT ALL FROM Clienti WHERE Clienti.citta= ROMA seleziona tutte le tuple della tabella Clienti che soddisfano la condizione citta= ROMA ovvero seleziona tutti i clienti romani Proiezione Join SELECT nome-attributo1, nome-attributo2 FROM nome-tabella SELECT Clienti.nome, Clienti.indirizzo, Clienti.citta FROM Clienti seleziona le colonne nome, indirizzo, citta della tabella Clienti SELECT nome-attributo1, nome-attributo2 FROM nome-tabella1, nome-tabella2 WHERE condizione AND condizione di unione sulle chiavi SELECT nome, indirizzo, citta, fatturato, anno FROM Clienti, Saldo WHERE Saldo.fatturato > AND Clienti.codice = Saldo.codice unisce le tabelle Clienti e Saldo rispetto al campo chiave codice

21 Altre operazioni SELECT. UNION SELECT A unisce i risultati di due select SELECT. MINUS SELECT A B esegue la differenza fra i risultati di due select SELECT. INTERSECTION SELECT A B esegue l intersezione fra i risultati di due select B Normalizzazione La normalizzazione è la tecnica con la quale si progetta uno schema logico-concettuale privo di ridondanze, anomalie, inconsistenze La normalizzazione garantisce una manutenzione nel tempo dello schema logico, la sua consistenza, ed evita la degenerazione dovuta all utilizzo Si possono avere diverse gradi di normalizzazione: i più importanti sono tre Domande possibili Che tipo di linguaggio è SQL? Quali sono le istruzioni primitive di SQL? Fornire semplici esempi di Select, Project, Join 7.4 Modello Entità-Relazioni Approfondimento Lezione n. 7

22 Due tipi di modelli: concettuale e logico Livelli di progettazione di basi di dati modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema di DBMS sia esso gerarchico, reticolare o relazionale: cercano di descrivere i concetti del mondo reale sono utilizzati nelle fasi preliminari di progettazione modelli logici: utilizzati nei DBMS esistenti per l organizzazione dei dati utilizzati dai programmi indipendenti dalle strutture fisiche esempi: relazionale, reticolare, gerarchico, a oggetti il più noto è il modello Entity-Relationship o entità relazione o E-R (da A. Lumini, luminidb.pdf, lumini@csr.unibo.it) Gli elementi del modello Entità- Relazioni Entità Entità Relationship (relazioni o associazioni) Part-of (composizione) Is-a (gerarchica) Associazione funzionale (per un preciso scopo diverso dai precedenti Attributi Cardinalità (da

23 Rappresentazione grafica di entità Relazione (da (da Rappresentazione grafica di relazione Nota sulle relazioni - I (da (da

24 Nota sulle relazioni - II Attributi Proprietà elementare di un entità o di una relazione, di interesse ai fini dell applicazione Un attributo associa ad ogni occorrenza di entità o relazione un valore appartenente a un insieme detto dominio dell attributo (da Rappresentazione grafica di attributi Attributi composti (da (da

25 Rappresentazione grafica di un diagramma E-R Cardinalità o Molteplicità Coppia di valori che si associa a ogni entità che partecipa a una relazione che specificano il numero minimo e massimo di occorrenze delle relazione cui ciascuna occorrenza di una entità può partecipare Un impiegato ha da zero a 50 incarichi Un incarico è svolto da 1 fino ad un massimo di 5 impiegati Si noti la somiglianza con la molteplicità indicate nel diagramma di classe nella rappresentazione UML (da (da Esempio Cardinalità di residenza Relazioni uno-a-uno (da (da

26 Relazioni uno-a-molti Relazioni molti-a-molti (da (da Generalizzazione Rappresentazione grafica mette in relazione una o più entità E1, E2,..., En con una entità E, che le comprende come casi particolari padre-figlio, relazione is-a si noti l analogia con l ereditarietà del paradigma OO e con la relazione di gerarchia delle classi E è generalizzazione di E1, E2,..., En E1, E2,..., En sono specializzazioni (o sottotipi) di E Dipendente Impiegato Funzionario Dirigente (da Atzeni e altri, Basi di dati, McGraw-Hill, 2002) (da Atzeni e altri, Basi di dati, McGraw-Hill, 2002)

27 Esercizio Soluzione chiave primaria attributo gerarchia esclusiva gerarchia non esclusiva esistono altre categorie (da (da Domande possibili Dove si colloca nello schema di Zachman il modello E-R? A cosa serve il modello E-R? Quali sono i legami del modello E-R con le tabelle dei DBMS relazionali? E con SQL? Quali sono le componenti del modello E-R? Fornire semplici esempi di entità, relazioni, attributi, cardinalità, generalizzazioni? Cosa rappresenta una entità e che legami ha con le classi di UML? 7.5 Normalizzazione La normalizzazione è la tecnica con la quale si progetta uno schema logico-concettuale privo di ridondanze, anomalie, inconsistenze La normalizzazione garantisce una manutenzione nel tempo dello schema logico, la sua consistenza, ed evita la degenerazione dovuta all utilizzo Si possono avere diverse gradi di normalizzazione: i più importanti sono tre

28 Terminologia nei RDBMS (Relational DBMS) Normalizazione di Database Il procedimento di rimozione dei dati ridondanti dalle tabelle al fine di accrescere la efficienza di memorizzazione, la integrità e la scalabilità Vi sono metodi per quantificare l efficienza di un database: si tratta delle forme normali e vi sono regole e algoritmi per convertire un data base in tali forme normali Di norma si effettua dividendo le tabelle esistenti in tabelle multiple che potranno essere connesse ed elaborate, da linguaggi tipo SQL, tutte le volte che si effettua una query Tabella 1 Problemi con la Tabella 1 Title Database System Concepts Author1 Abraham Silberschatz Author2 Henry F. Korth ISBN Subject MySQL, Computers Pages 1168 Publisher McGraw-Hill Efficienza di memorizzazione Integrità dei dati Operating System Concepts Abraham Silberschatz Henry F. Korth Computers 944 McGraw-Hill Scalabilità

29 Prima Forma Normale (First Normal Form) Tabella trasformata Ciascun dato non deve essere decomponibile Nella Tabella 1 vi sono due violazioni di tale richiesta: Tabella 2 Title Author ISBN Subject Pages Publisher Più di un autore nel campo Author Database System Concepts Abraham Silberschatz MySQL 1168 McGraw-Hill Il campo Subject contiene più di un elemento informativo. Con più di un valore in un campo, diviene difficile fare la ricerca per tutti i libri su un certo argomento (subject) Database System Concepts Operating System Concepts Operating System Concepts Henry F. Korth Henry F. Korth Abraham Silberschatz Computers Computers Computers McGraw-Hill McGraw-Hill McGraw-Hill Criticità Tabella Subject Subject_ID Subject 1 MySQL Vi sono due righe per un singolo libro 2 Computers Tabella Author Una soluzione migliore è allora quella di separare i dati in più tabelle: una degli Author e una dei Subject rimuovendo le informazioni dalla tabella unica dei Book Tabella Book ISBN Title Pages Author_ID 1 2 Publisher Last Name Silberschatz Korth First Name Abraham Henry Database System Concepts 1168 McGraw-Hill Operating System Concepts 944 McGraw-Hill

30 Ciascuna tabella ha una chiave primaria, utilizzata per fare il join con altre tabelle in seguito a una query. Il valore della chiave primaria deve essere unico nella tabella (due libri non possono avere lo stesso ISBN) e la chiave primaria è anche un indice che consente il retrieval di dati che si basino sulla chiave primaria Si definiscono quindi relazioni tra le tabelle Relazioni Tabella Book-Author ISBN Author_ID Tabella Book-Subject ISBN Subject_ID Seconda Forma Normale L intera chiave è necessaria per definire ciascuno dei campi non-chiave Tabella in Seconda Forma Normale - I Tabella Publisher In una tabella nessun campo non-chiave è definito da solo una parte della chiave Publisher_ID 1 Publisher Name McGraw-Hill Come la Prima Forma Normale tratta la ridondanza di dati nelle righe, così la Seconda Forma Normale tratta la ridondanza dei dati nelle colonne Tabella Book ISBN Title Pages Publisher_ID Per pervenire alla Seconda Forma Normale è necessario che una tabella sia già in Prima Forma Normale Database System Concepts The Book Table will be used for the 2NF example Operating System Concepts

31 Tabella in Seconda Forma Normale - II Terza Forma Normale La relazione tra la tabella Book e il Publisher è unoa-molti. Un libro ha un solo editore, e un editore stampa molti libri Nella Seconda Forma Normale non può esistere un dato con una chiave composta che non faccia riferimento a tutte le componenti della chiave composta NON esistono situazioni dove un campo nonchiave definisce altri campi non-chiave La Terza Forma Normale richiede che non vi siano dipendenze funzionali di attributi non-chiave da qualunque altro campo che non sia la chiave Non devono esistere dipendenze transitive Esempio con Terza Forma Normale Rappresentazione con il diagramma entità-relazioni Scenario Meccanici aggiustano macchinari in officine Un meccanico ha il suo incarico in una sola officina, e una officina coinvolge più meccanici Una officina ha una locazione e un responsabile Un meccanico ha delle abilità (skill) ossia delle competenze, più di una, con una gradazione delle stesse (da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley)

32 Associazioni tra i campi Prima forma normale Ogni campo non è decomponibile Vi è un elemento chiave Da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley (da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley) Seconda forma normale - I Seconda forma normale - II (da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley) (da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley)

33 Terza forma normale - I Terza forma normale - II (da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley) (da Gilleson, Goldberg, Strategic planning, system analysis & database design, Wiley) Esempio di normalizzazione Esempio di normalizzazione Tipo viaggio costo periodo Una agenzia di viaggi organizza i suoi cataloghi dei viaggi in un database Crociera Grecia Crociera Grecia Città Spagna bassa alta bassa Città Spagna 3300 alta Crociera Caraibi 4000 bassa Crociera Caraibi 5000 alta Mare Italia 1900 bassa Mare Italia 2300 alta Anomalie: Il tipo di viaggio e la destinazione vanno divise perché sono due campi atomici Il campo periodo è ripetuto 2 volte Manca il campo chiave

34 Esempio di normalizzazione 1NF Esempio di normalizzazione 2NF Key Tipo viaggio crociera città crociera mare destinazio ne Grecia Spagna Caraibi Italia costo periodo bassa alta bassa alta bassa alta bassa Key Tipo viaggio crociera città crociera mare destinazi one Grecia Spagna Caraibi Italia Key cod periodo bassa alta bassa alta bassa alta costo disponibiltà alta Anomalie: gli attributi in giallo non dipendono dalla chiave bassa alta Esempio di normalizzazione 3NF Key Key A B C D Tipo viaggio A B A C Tipo crociera città mare montagna destinazion e Grecia Spagna Caraibi Italia Key Key cod DataInizio periodo costo DataFine disponibiltà Materiali e Domande possibili Approfondimento 3 (anche per alcune parti precedenti della lezione 7) In cosa consiste la normalizzazione delle relazioni? Quali sono le forme normali? Fornire un semplice esempio di tabelle in terza forma normale Fornire un semplice esempio di tabelle in seconda forma normale

Archivi e database. Lezione n. 7

Archivi e database. Lezione n. 7 Archivi e database Lezione n. 7 Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante

Dettagli

Archivi e database. Lezione n. 7. Dagli archivi ai database (1)

Archivi e database. Lezione n. 7. Dagli archivi ai database (1) Archivi e database Lezione n. 7 Dagli archivi ai database (1) I dati non sempre sono stati considerati dall informatica oggetto separato di studio e di analisi Nei primi tempi i dati erano parte integrante

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

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Lezione V. Aula Multimediale - sabato 29/03/2008

Lezione V. Aula Multimediale - sabato 29/03/2008 Lezione V Aula Multimediale - sabato 29/03/2008 LAB utilizzo di MS Access Definire gli archivi utilizzando le regole di derivazione e descrivere le caratteristiche di ciascun archivio ASSOCIAZIONE (1:1)

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati

Informatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

Le Basi di Dati. Le Basi di Dati

Le Basi di Dati. Le Basi di Dati Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per

Dettagli

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

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 Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

I Sistemi Informativi

I Sistemi Informativi I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

Archivi e Basi di Dati

Archivi e Basi di Dati Archivi e Basi di Dati A B C File Programma 1 Programma 2 A B C File modificati Programma 1 DBMS DB Programma 2 Informatica Generale (CdL in E&C), A.A. 2000-2001 55 Problemi nella gestione di archivi separati

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

MODELLO RELAZIONALE. Introduzione

MODELLO RELAZIONALE. Introduzione MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI 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 memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

BASI DI DATI - : I modelli di database

BASI DI DATI - : I modelli di database BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità

Dettagli

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei Introduzione Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei. ESEMPI DI INSIEMI DI DATI DA ORGANIZZARE ED USARE IN MANIERA EFFICIENTE Introduzione Più utenti con

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione

SISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi

Dettagli

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati Basi di dati Il Modello Relazionale dei Dati Proposto da E. Codd nel 1970 per favorire l indipendenza dei dati Disponibile come modello logico in DBMS reali nel 1981 (non è facile realizzare l indipendenza

Dettagli

Basi di Dati e Microsoft Access

Basi di Dati e Microsoft Access Basi di Dati e Microsoft Access Lun: 16-18 e Mer: 14-17 Alessandro Padovani padoale@email.it Database: definizione Un database (DB) è una collezione di informazioni organizzata in gruppi, che consentono

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. (Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste PROGRAMMAZIONE MODULARE Indirizzo: INFORMATICA SIRIO Disciplina: INFORMATICA Classe: QUINTA Ore previste: 16 di cui 66 ore di teoria e 99 ore di laboratorio. N. modulo Titolo Modulo Titolo unità didattiche

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Informatica per le discipline umanistiche 2 lezione 10

Informatica per le discipline umanistiche 2 lezione 10 Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

database: modello entityrelationship

database: modello entityrelationship Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 A2 Introduzione ai database 1 Prerequisiti Concetto di sistema File system Archivi File e record 2 1 Introduzione Nella gestione di una attività, ad esempio un azienda, la

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

IL SISTEMA INFORMATIVO

IL SISTEMA INFORMATIVO IL SISTEMA INFORMATIVO In un organizzazione l informazione è una risorsa importante al pari di altri tipi di risorse: umane, materiali, finanziarie, (con il termine organizzazione intendiamo un insieme

Dettagli

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi Modello Relazionale Modello Relazionale Proposto agli inizi degli anni 70 da Codd Finalizzato alla realizzazione dell indipendenza dei dati Unisce concetti derivati dalla teoria degli insiemi (relazioni)

Dettagli

PROGRAMMA DI CLASSE 5AI

PROGRAMMA DI CLASSE 5AI Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA

Dettagli

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota Attributi e domini Assumiamo un universo infinito numerabile U = {A 0, A 1, A 2...} di attributi. Denotiamo gli attributi con A, B, C, B 1, C 1... e gli insiemi di attributi con X, Y, Z, X 1,... per brevità

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Operazioni sui database

Operazioni sui database Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Introduzione ai database relazionali

Introduzione ai database relazionali Introduzione ai database relazionali Tabelle Un database (DB) è costituito da un insieme di file che memorizzano dati opportunamente organizzati Nei database relazionale tale organizzazione è costituita

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica

Dettagli

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo

Dettagli

L architettura di un DBMS

L architettura di un DBMS L architettura di un DBMS sources: Lucidi del corso di Lucidi del corso di Laboratorio di Basi di dati e sistemi informativi, Montesi, Magnani, Corso di laurea in Informatica per il management, Scienze

Dettagli

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

ARCHIVI E DATABASE (prof. Ivaldi Giuliano) ARCHIVI E DATABASE (prof. Ivaldi Giuliano) Archivio: è un insieme di registrazioni (o records) ciascuna delle quali è costituita da un insieme prefissato di informazioni elementari dette attributi (o campi).

Dettagli

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Introduzione alla teoria dei database relazionali. Come progettare un database

Introduzione alla teoria dei database relazionali. Come progettare un database Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare

Dettagli

Progettazione di Database. Un Esempio

Progettazione di Database. Un Esempio Progettazione di Database Un Esempio Data Base Management System Applicazione 1 Applicazione 2 Applicazione 3 DBMS A B C D E Il Modello Relazionale Una relazione è costituita su un insieme di domini, non

Dettagli

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

Dettagli

Introduzione all Architettura del DBMS

Introduzione all Architettura del DBMS Introduzione all Architettura del DBMS Data Base Management System (DBMS) Un DBMS è uno strumento per la creazione e la gestione efficiente di grandi quantità di dati che consente di conservarli in modo

Dettagli

GESTIONE della BASE di DATI

GESTIONE della BASE di DATI GESTIONE della SE di DTI I dati sono una componente fondamentale di un GIS Devono essere valutati con attenzione gli strumenti usati per: creare l archivio dei dati manipolare le informazioni contenute

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Introduzione all Algebra Relazionale

Introduzione all Algebra Relazionale Basi di dati L Algebra Relazionale Introduzione all Algebra Relazionale Una volta definito lo schema logico di un database, partendo da un Diagramma E-R, e dopo aver inserito le tabelle nel database, eventualmente

Dettagli

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione

Normalizzazione. Normalizzazione. Normalizzazione e modello ER. Esempio. Normalizzazione Normalizzazione Normalizzazione Introduzione Forma normale di Boyce Codd Decomposizione in forma normale Normalizzazione Introduzione La normalizzazione è un procedimento che, a partire da uno schema relazionale

Dettagli

Database. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16

Database. Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Database Francesco Tapparo Informatica e Bioinformatica 2013-14 1/16 Trend attuali CPU sempre più potenti Memorie di massa di dimensioni sempre maggiori Eniac: 180m 2 Memoria: 20 numeri di 10 cifre, meno

Dettagli

I database relazionali (Access)

I database relazionali (Access) I database relazionali (Access) Filippo TROTTA 04/02/2013 1 Prof.Filippo TROTTA Definizioni Database Sistema di gestione di database (DBMS, Database Management System) Sistema di gestione di database relazionale

Dettagli

Basi di dati 9 febbraio 2010 Compito A

Basi di dati 9 febbraio 2010 Compito A Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica

Dettagli

ITI M. FARADAY Programmazione modulare a.s. 2014-2015

ITI M. FARADAY Programmazione modulare a.s. 2014-2015 Indirizzo: INFORMATICA E TELECOMUNICAZIONI Disciplina: Informatica Docente:Maria Teresa Niro Classe: Quinta B Ore settimanali previste: 6 (3 ore Teoria - 3 ore Laboratorio) ITI M. FARADAY Programmazione

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo

Pag. 1. Gestione delle transazioni. Linguaggio SQL: costrutti avanzati. Esempio applicativo. Gestione delle transazioni. Prelievo. Esempio applicativo Gestione delle transazioni Introduzione Transazioni in SQL Linguaggio SQL: costrutti avanzati 2 applicativo Operazioni bancarie operazione di prelievo dal proprio conto corrente mediante bancomat Gestione

Dettagli

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende. Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per

Dettagli

LA NORMALIZZAZIONE. Introduzione

LA NORMALIZZAZIONE. Introduzione LA NORMALIZZAZIONE Introduzione La normalizzazione e' una tecnica di progettazione dei database, mediante la quale si elimina la rindondanza dei dati al fine di evitare anomalie nella loro consistenza

Dettagli

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,

Dettagli

DATABASE. www.andreavai.it

DATABASE. www.andreavai.it Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni

Dettagli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture

Dettagli

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE

PIANO DI LAVORO EFFETTIVAMENTE SVOLTO IN RELAZIONE ALLA PROGRAMMAZIONE DISCIPLINARE Istituto di Istruzione Secondaria Superiore ETTORE MAJORANA 24068 SERIATE (BG) Via Partigiani 1 -Tel. 035-297612 - Fax 035-301672 e-mail: majorana@ettoremajorana.gov.it - sito internet: www.ettoremajorana.gov.it

Dettagli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe

Dettagli

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?

Dettagli

Linguaggio SQL: costrutti avanzati

Linguaggio SQL: costrutti avanzati Linguaggio SQL: costrutti avanzati Gestione delle transazioni Introduzione Transazioni in SQL Proprietà delle transazioni 2 Pag. 1 1 Gestione delle transazioni Esempio applicativo Operazioni bancarie operazione

Dettagli