Indice generale. Teoria dei database

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Indice generale. Teoria dei database"

Transcript

1 Indice generale PREMESSA...1 INTRODUZIONE...1 CRITERI DI PROGETTAZIONE DELL' ORGANIZZAZIONE FISICA...5 L 'INFORMAZIONE IN UNA BASE DATI...6 MODELLI DI DATI...9 I LINGUAGGI PER LA MANIPOLAZIONE DEI DATI E IL MODELO RELAZIONALE...13 SCHEMI RELAZIONALI DI BASI DI DATI...14 PROGETTAZIONE MODELLI DI BASE DATI...19 PROGETTAZIONE...22 PROGETTAZIONE CONCETTUALE...23 PROGETTAZIONE LOGICA...24 PROGETTAZIONE FISICA...25 ESEMPI DI RPOGETTAZIONE...26 PRENOTAZIONI AD ALBERGHI...26 PROGETTAZIONE DI UN DATABASE AZIENDA...30 Teoria dei database PREMESSA Questa relazione vuole esporre i concetti alla base dei quali sono realizzati e progettati i database relazionali. Non è un documento che tratta l' argomento in tutta la sua complessità ma può essere utile per chiarire le idee per poi approfondire lo studio della teoria dei database con dei testi dedicati. Si è deciso di realizzare il testo in modo schematico per aumentare la chiarezza e renderlo più sintetico. INTRODUZIONE In questa prima parte si introdurranno la definizione di archivio e la nomenclatura relativa. Inoltre sono descritte anche le operazioni che un utente può eseguire su un archivio. Si definisce archivio o file l'insieme di tutte le informazioni Ogni insieme unitario di informazione è detto record. Un record è costituito da un insieme di campi ciascuno dei quali contiene una parte dell'informazione. Ad ogni campo è associato un nome che serve per indicare la porzione d' informazione contenuta in quel campo. Un archivio è un insieme di record. La struttura di un record è la specificazione dei campi che lo costituiscono. L'insieme dei campi utilizzati per identificare un record di un file è detto chiave. Si definisce metodo della chiave implicita utilizza per chiave una parte dell'informazione. Si definisce metodo della chiave mediante tabella quel metodo che utilizza per determinare la chiave del record una tabella che associa all'informazione un codice.

2 Si definisce metodo della chiave mediante regole logiche quel metodo che determina la chiave mediante l'applicazione di regole predefinite ad una parte dell'informazione. I record di un file si dicono omogenei se contengono tutti le stesse informazioni nello stesso ordine altrimenti si dicono non omogenei. Nel caso si utilizzano record non omogenei è necessario inserire un campo per l'identificazione del tipo di record. Si definisce lunghezza di un informazione il numero di caratteri che la compongono. Si definisce lunghezza di un record il numero di byte utilizzati per rappresentare l' informazione che esso contiene. Un record può essere a lunghezza fissa o variabile. In caso di record a lunghezza variabile si devono utilizzare degli indicatori di inizio e fine e questo rende l' utilizzo di questi tipi di record più oneroso. Si definiscono in un sistema gestione degli archivi le seguenti operazioni: creazione di un file operazioni di aggiornamento di un file ricerca di un record operazioni globali sui record L' organizzazione di un file determina la realizzazione del sistema gestione. L' insieme dei file e delle informazioni necessarie alla loro elaborazione è detta directory. Le directory sono utilizzate dal sistema in modo trasparente all'utente ma quest'ultimo può avere informazioni sulle directory mediante particolari interrogazioni del archivio. Si definisce ricerca per posizione l' operazione con cui si individua un record specificandone il numero d' ordine all'interno del file. Si definisce ricerca per chiave l'operazione mediante cui si individua il record specificando il valore della chiave del record da ricercare. Si definiscono operazioni di aggiornamento di un file le seguenti: inserzione cancellazione modifica la modifica del file è l' operazione con cui si cambia il contenuto di uno o più campi di un record. La modifica avviene in memoria centrale e poi si trasferisce il file modificato nella memoria ausiliaria nuovamente(hard Disk). La cancellazione si effettua logicamente associando ad ogni record cancellato un tag detto di cancellazione. Quindi l' operazione di cancellazione non comporta una reale perdita dell'informazione e conseguente liberazione dello spazio di memoria. L' inserimento può avvenire secondo la modalità di sovrapposizione o ampliamento. Il metodo di sovrapposizione sostituisce un record cancellato con il record che si vuole inserire, mentre il metodo di ampliamento inserisce il record alla fine del file facendo aumentare le dimensioni del file. La modifica di un record se non comporta la variazione del campo chiave è condotta con la sostituzione del record da modificare con quello modificato, mentre se la modifica coinvolge anche il valore del campo chiave si cancella

3 il record iniziale e si inserisce il record modificato. Si definisce struttura di un file l' insieme dei seguenti parametri: specificazione delle informazioni memorizzate scelta dell'organizzazione fisica L'organizzazione fisica dei file deve essere determinata in funzione del tipo di elaborazioni che devono essere effettuate su quelle informazioni. Le organizzazioni fisiche sono: sequenziali casuali miste Organizzazione sequenziale E' adatta a file che richiedono la stessa elaborazione su tutti i record. Permette la ricerca sia per posizione La ricerca richiede tempi lunghi e variabili a seconda di dove e collocata l' informazione Organizzazione casuale Permette la ricerca sia per posizione che per chiave I tempi di ricerca sono ridotti Prevede una procedura per l'identificazione del record in modo univoco in funzione del valore della chiave Organizzazione mista Permette la ricerca sequenziale dei file così consentendo le operazioni globali Consente mediante un indice di norma l'accesso diretto alla posizione dei file che contiene il record così la ricerca non è veloce come quella casuale ma più veloce di quella sequenziale. Il frazionamento dell'informazione risponde ad un esigenza di miglioramento in quanto riduce il tempo di trasferimento dell'informazione e un ottimizzazione dello spazio di memoria occupato. Di seguito si definisco i metodi di frazionamento dell'informazione: Metodo della suddivisione delle informazioni: Il metodo prevede la divisione delle informazioni in tanti file quante sono le elaborazioni possibili. Se una stessa informazione è richiesta in diverse elaborazioni essa deve essere ripetuta nei diversi file. Le informazioni ripetute possono rappresentare la chiave per tutti i file così da individuare i record logicamente uniti. Metodo del collegamento fra informazioni Il metodo definisce un file principale con tutte le informazioni necessarie per tutte l' elaborazioni. In seconda istanza si definiscono un numero di file secondari pari al numero di elaborazioni possibili. Ad ogni record del file principale è associato un record dei file secondari Per il metodo del collegamento è necessario definire una procedura per associare ad ogni record del file principale uno dei file secondari o se necessario si aggiunge nel file principale un campo che contiene un riferimento ai record dei file

4 secondari. Caratteristiche dell'informazione I parametri che caratterizzano un informazione per essere memorizzata sono: definibilità individuabile senza ambiguità rappresentabile codificabilità ossia deve poter essere associata ad un codice alfanumerico L'esattezza delle informazioni acquisite in un archivio sono garantite dalle seguenti operazioni: acquisizione rappresentazione immissione e controllo validazione L' operazione d'immissione può comportare i seguenti errori: errori impliciti o errori di misura errori di rappresentazione errori di trascrizione Validazione Si definisce validazione il controllo finale dei dati per la verifica del loro significato. Si possono definire degli algoritmi auto controllanti per verificare l' esattezza delle informazioni contenute nei campi.

5 CRITERI DI PROGETTAZIONE DELL' ORGANIZZAZIONE FISICA. L' organizzazione fisica di un archivio considera le tecniche di memorizzazione dell'informazione. In questo capitolo sono presi in considerazioni gli aspetti che distinguono e permettono di migliorare l'organizzazione fisica di un archivio. I criteri di valutazione delle performance di un database sono legati al tempo impiegato per la ricerca dell'informazione. I criteri di valutazione dell'occupazione di memoria si dividono in due tipologie : - compattamento dell'informazione - collegamento dell'informazioni a dati comuni (riduzione della ridondanza dei dati) I Criteri di compattamento dell'informazione si distinguono in: 1. Riduzione dello spazio riservato ad ogni informazione 2. Eliminazione delle informazioni non utili o opzionali Un campo è detto opzionale se può contenere informazioni nulle. La gestione dei campi opzionali può avvenire tramite le tabelle di bits o le tabelle di codici. Le tabelle di bits sono delle tabelle in cui si memorizzano un bit per ogni campo opzionale. Il bit che indica il campo opzionale è posto a uno se il corrispondente campo contiene informazione Campo 1 opzionale vuoto Campo 2 opzionale con informazione Corrispondenza bit /campo Campo 3 opzionale con informazione Il metodo delle tabelle dei codici definisce un codice per ogni campo opzionale. In caso di presenza del campo opzionale il campo in questione è preceduto dal codice corrispondente 010 campo2 010 campo campo 3 Il criterio di collegamento a dati comuni è utilizzato per ridurre lo spazio impiegato per la memorizzazione di dati comuni a più record. Per la riduzione dei dati comuni si utilizzano due le seguenti metodologie: - Collegamento tramite rinvio - Collegamento tramite gerarchia Il collegamento tramite rinvio utilizza una tabella per associare ad ogni valore del dato comune un codice. I records che utilizzano il dato comune riporteranno al posto del dato il codice ad esso associato. Il collegamento tramite gerarchia raggruppa i record che utilizzano una stessa informazione e si memorizza il dato comune seguito da tutte le informazioni contenute nei record raggruppati.

6

7 L 'INFORMAZIONE IN UNA BASE DATI Un dato è la rappresentazione di una informazione ottenuta per mezzo di alcune caratteristiche dell'informazione stessa. Una corrispondenza tra due insiemi A e B di dati è una legge che associa ad ogni dato dell'insieme A un sottoinsieme, anche vuoto, dei dati dell'insieme B. Una base dati può essere vista come un magazzino d' informazioni memorizzate su un elaboratore e utilizzata per mezzo di un sistema per la gestione di una base dati. Una transazione su una base dati è l'esecuzione, da parte del sistema di gestione della base dati, di una richiesta dell'utente. Un sistema per la gestione di una base dati deve permettere ad un utente di definire, secondo regole ben precise e tipiche del sistema stesso, le caratteristiche delle informazioni e delle corrispondenze che costituiscono la base dati che l' utente vuole utilizzare. Una base dati deve garantire le seguenti caratteristiche: L' indipendenza dei dati deve permettere all'utente di considerare la base dati in termini astratti ossia deve svincolare l 'utente dalla conoscenza di come e dove i dati sono memorizzati nell'elaboratore. La Sicurezza di una base dati deve permettere l 'accesso ad una informazione solo agli utenti abilitati e deve impedire la consultazione e modifica delle informazioni agli utenti non abilitati. L' integrità è assicurata dalla definizione dei vincoli di consistenza. I vincoli di consistenza sono le proprietà che devono essere rispettate dai dati memorizzati nella base dati per non comportare perdita o deformazione dell'informazione. Un sistema di gestione di base dati deve presentare sincronizzazione in quanto l'esecuzione di alcune operazioni di aggiornamento simultaneo non devono mai generare inconsistenza della base dati. Un sistema per la gestione della base deve prevedere delle operazioni di ripristino dati quindi deve prevedere le procedure per la realizzazione di backup periodici della base dati e procedure per il ripristino della base dati partendo dal backup. Il sistema per assicurare il perfetto ripristino deve memorizzare le transizioni che hanno modificato la base dati dall'ultimo backup. Livelli d' astrazione. Si definiscono per la gestione di un sistema di base dati i livelli d' astrazione fisico, logico ed esterno. Il livello fisico è il più vicino all'elaboratore ed è il livello che gestisce la reale disposizione dei dati in memoria. Lo schema fisico di una base dati è dato dalla descrizione delle caratteristiche e dei files usati per rappresentare la base dati logica. Il livello esterno è il livello più vicino all'utente e gestisce le viste dei dati. Si definiscono viste la descrizione astratta di una parte dello schema logico di una base di dati. Il livello logico è il livello d'astrazione collocato tra il livello fisico e quello esterno. Il livello logico gestisce l'organizzazione dei dati. Si distinguono tra i modelli logici i modelli relazionali, modelli gerarchici e modelli reticolari. I modelli relazionali permettono di descrivere sia i dati che le corrispondenze fra i dati sotto forma di un unica struttura di dati chiamata relazione. Nel modello gerarchico la struttura di dati usata per rappresentare l' informazione è un albero, dove un nodo rappresenta una informazione e i figli di un nodo sono associati al loro padre da una corrispondenza esistente nella base dati. Nei modelli reticolari vengono utilizzati records per rappresentare le informazioni e

8 connettori per rappresentare le corrispondenze tra le informazioni.

9 Per ogni vista esiste una corrispondenza schema esterno(vista)/schema logico e tale corrispondenza permette l' indipendenza logica dei dati. Esiste una corrispondenza schema logico/schema fisico in modo da specificare a quali informazioni si fa riferimento a livello fisico per rappresentare le informazioni a livello logico. Vantaggi dell'indipendenza L'indipendenza fisica dei dati implica che i l 'amministratore può modificare lo schema fisico della base dati senza alterare lo schema logico e le viste. L'indipendenza logica implica che lo schema logico può essere modificato senza modificare le viste degli utenti L'indipendenza fisica e logica permettono di realizzare dei programmi che non tengano conto dell'organizzazione fisica dei dati e delle tecniche d'accesso ai dati. Base di dati fisica Base di dati logica Vista 1 Vista 2 La progettazione delle viste, dello schema logico e dello schema fisico di una base dati è fatta dall'amministratore della base dati. L 'amministratore definisce: Lo schema logico della base dati e i sottoschemi logici ai quali dovranno fare riferimento gli utenti Lo schema fisico che è utilizzato per implementare lo schema logico Le corrispondenze che esistono tra gli oggetti definiti a livello logico e gli oggetti definiti a livello fisico. Una volta che la base dati è realizzata l' amministratore è responsabile delle attività di gestione della base dati: Contenuto informativo della base dati. L' amministratore della base dati deve identificare le entità che sono interessanti per l' applicazione e determinare le informazioni relative a queste entità che devono essere memorizzate. Collegamento con gli utenti. Deve essere sempre assicurata la disponibilità dei dati per gli utenti. Controllo di autorizzazione e procedure di validazione. L' accesso ai dati deve essere consentito solo ad alcuni utenti. I dati prima di essere memorizzati devono essere sottoposti ad un azione di controllo. Strategia di sostegno e ripristino. Devono essere definite delle procedure per il ripristino e il recupero del contenuto della base dati anche in caso di danneggiamento della base dati. Controllo delle prestazioni. Devono essere definite degli strumenti per il controllo in modo automatico delle prestazioni del sistema e per il miglioramento dell'efficienza dell'organizzazione adottata. Strumenti d'amministrazione. Il sistema per la gestione di una base dati deve fornire all'amministratore i seguenti strumenti: 1. programmi di ripristino per ricreare la base dati in caso di crash 2. programmi di riorganizzazione per l' ottimizzazione dell'occupazione di memoria 3. programmi di diario per la memorizzazione di tutte le transizioni eseguite e dell'utente che le ha compiute

10 4. programmi di analisi statistica per poter monitorare le prestazioni della base dati 5. dizionario dei dati che è una base dati che contiene la descrizione sugli oggetti su cui opera la base dati Concludendo l' utilizzo di una base dati consente: La riduzione della ridondanza (ripetizione degli stessi dati in più punti) Controllo dell'inconsistenza dei dati Spartizione dei dati in modo che una nuova applicazione possa visualizzare le informazioni senza creare nuovi files Rafforzamento degli standars in virtù della centralizzazione delle informazioni Applicazione delle norme di sicurezza

11 MODELLI DI DATI un modello di dati è un formalismo utilizzato da ogni utente per la gestione dei dati e per descrivere la realtà con cui vuole interagire. esistono tre tipi di modelli per la gestione dei dati: modello relazionale modello gerarchico modello reticolare Modello gerarchico Nel modello gerarchico le corrispondenze sono rappresentate da una struttura ad albero. Gli alberi sono detti occorrenze gerarchiche. Il record che appare sopra ad altri record dell'albero è detto di tipo ascendente o superiore. Il record che appare nella parte inferiore ad altri record è detto discendente o inferiore o dipendente. Il record situato nella parte superiore di un albero è detto radice. Una radice può avere un numero indeterminati di records dipendenti di diverso tipo. Esempio di gerarchia radice Nodo 1 Nodo 2 Un record può essere contemporaneamente ascendente e discendente. Le operazioni in un modello gerarchico sono complesse in quanto non è sufficiente individuare la corrispondenza tra i records ma occorre anche indicare il livello del record con le parole under o upper. Per localizzare un record quindi occorre specificare la corrispondenza con la condizione where e il contesto ascendente o discendente. Get <ascendente / discendente> where <condizione> In un modello gerarchico non è possibile inserire un record di tipo discendente se non si inserisce prima un record di tipo ascendente ad esso collegato. In un modello gerarchico se si cancella una corrispondenza è necessario cancellare anche i record collegati. In un modello gerarchico la cancellazione di un record ascendente impone la cancellazione di tutti i record dipendenti del record cancellato.

12 In un modello gerarchico quando si eseguono delle modifiche in un record discendente è opportuno cercare ogni occorrenza delle informazioni modificate nell'albero per non creare inconsistenza.

13 Modello Reticolare In un modello reticolare le corrispondenze sono rappresentate da records connettori che collegano i records con i dati. Una rete è una struttura più complessa di una gerarchia in quanto un record può avere un numero indeterminato di records superiori e inferiori. Il modello reticolare permette di rappresentare le corrispondenze molti a molti cosa che non è possibile nel modello gerarchico e in quello relazionale. Esempio: Fornitore1 Fornitore2 Fornitore3 Fornitura 1 Fornitura 2 Fornitura 3 Prezzo 1 Prezzo 2 Prezzo 3 Il modello gerarchico permette una maggiore simmetria rispetto a quello reticolare ma a costo di una maggiore complicazione delle interrogazioni del modello. La selezione di un record necessita oltre all'individuazione del connettore anche di un ulteriore parametro che indichi se ci interessa il record superiore o inferiore. Get <tipo record> over <tipo di connettore> Modello relazionale Le tabelle nel modello relazionale sono rappresentate da dei files sequenziali dove le righe corrispondono ai recors e le colonne ai campi dei records. Le tabelle sono dette relazioni, le righe sono dette tuple e le colonne sono gli attributi. Si definisce dominio l 'insieme di valori che costituiscono una colonne di una relazione. In un modello relazionale la corrispondenza tra le tuple è rappresentata solo per mezzo degli attributi (valori) contenuti nello stesso dominio (colonna). In un modello relazionale tutte le informazioni sia dati che corrispondenze sono rappresentate in modo uniforme cioè sotto forma di relazioni (tabelle). Esempio di modello relazionale Fornitore Prezzo Forniture

14 poiché in un modello relazionale sia dati che corrispondenze sono rappresentati in una ed una sola forma è sufficiente avere uno ed un solo operatore per le operazioni fondamentali (inserzione, cancellazione, selezione) che si vogliono eseguire Operazione di ricerca get <nome relazione> where <condizione> Operazioni di aggiornamento insert <tupla> into <relazione> delete from <relazion> where <condizione> modify <relazione> where <condizione> Un operatore relazionale è un operatore che agisce su relazioni e produce ancora delle relazioni. Quindi la ricerca in una base dati relazionale è un procedimento di costruzione di relazioni che soddisfano le condizioni imposte dalla ricerca. Si definiscono i seguenti operatori relazionale: SELEZIONE PROIEZIONE JOIN NATURALE La selezione costruisce una nuova relazione estraendo un sottoinsieme orizzontale da una relazione esistente. ossia si definisce una tuple costituito da alcuni campi delle tuple della tabella (relazione) originaria. La proiezione costruisce una relazione estraendo un sottoinsieme verticale da una relazione esistente ossia si selezionano un certo numero di tuple della tabella (relazione) considerata. La join naturale è una nuova relazione nella quale ciascuna tupla è realizzata concatenando due tuple delle relazioni tra cui si realizza la join. Per le interrogazioni dei modelli reticolari si possono utilizzare i linguaggi : ALPHA e QUEL detti di calcolo relazionale SEQUEL(SQL) e SQUARE detti di mapping QBE e CUPID che sono linguaggi grafici.

15 I LINGUAGGI PER LA MANIPOLAZIONE DEI DATI E IL MODELLO RELAZIONALE Ogni utente di un sistema di gestione di una base dati può interagire, interrogare,modificare le informazioni in esso memorizzate esclusivamente utilizzando il linguaggio fornito dal sistema. I linguaggi per la modifica della base dati si distinguono nei seguenti tipi: Calcolo relazionale dove si specifica un predicato che deve essere soddisfatto dalle tuple che costituiscono la relazione desiderata. algebrici o procedurali dove la domanda è espressa mediante espressioni costituite da operatori. I linguaggi algebrici permettono di definire le interrogazioni al sistema utilizzando degli operatori (unione, intersezione, differenza, prodotto cartesiano, proiezione, selezione, join, join naturale, divisione e ridenominazione)che agiscono su un insieme specifico di relazioni in modo da ottenere le informazione desiderate. Una interrogazione (query) Q può essere considerata una funzione che applicata ad un insieme di relazioni R produce ancora una relazione D Q : R D Analizziamo gli operatori utilizzati nei linguaggi algebrici. Si definisce unione date due relazioni R e S con lo stesso schema la relazione costituita da tutte le tuple che appartengono in R o in S o in entrambe. Si definisce intersezione date due relazioni R e S con lo stesso schema la relazione costituita da tutte le tuple che appartengono sia in R che in S. Si definisce differenza date le due relazioni R e S con lo stesso schema la relazione costituita da tutte le tuple di R che non appartengono in S. Si definisce prodotto cartesiano date le due tuple R e S la relazione costituita da tutte le possibili coppie (r,s) tali che r è una tupla di R e s è una tupla di S. Si definisce concatenazione di una tupla r con una tupla s la tupla t = (r,s). Si definisce proiezione data una relazione R e X un sottoinsieme degli attributi dello schema di R. la relazione T che ha lo schema T(X) ossia le tuple di T che sono costituiti dai valori che appaiono nelle tuple di R in corrispondenza degli attributi contenuti in X. Le tuple uguali ottenute dall'operazione di proiezione non sono considerate. Si definisce selezione data una relazione R e F un predicato la relazione che ha lo schema di R e costituita dalle tuple che soddisfano il predicato F. Il predicato è composto da uno o più predicati semplici collegati tra loro dagli operatori logici and, or,not e tali che ogni predicato opera su un attributo di R. Si definisce join date le due relazioni R e S e dato P un predicato che opera una relazione tra un attributo di R e uno di S mediante un operatore di confronto, la relazione costituita dalle tuple (r,s) del prodotto cartesiano RxS tali che il predicato P sia soddisfatto. Si definisce join naturale date due relazioni R e S con schema R(a 1, a 2,..a i,...a n ) e S(b 1, b 2,...b i,...b m ) e tali che gli attributi a 1, a 2,..ai siano uguali a b 1, b 2,...b i la relazione T costituita dalle tuple concatenate di R e di S (r,s) che hanno gli stessi valori negli attributi analoghi a 1 =b 1 a 2 =b 2 a i =b i. Le tuple della join naturale hanno lo schema T(a 1, a 2,...a i, a i+1, a i+2,...b i+1, b i+2,...b m ) Si definisce divisione date le relazioni R e S tali che tutti gli attributi di S siano anche attributi di R la relazione costituita dalle tuple t tali che r = (t,s) ossia dalle tuple costituite dagli attributi di R che non appartengono a S. Si definisce ridenominazione l' operazione con cui si cambia il nome agli attributi di una relazione

16 SCHEMI RELAZIONALI DI BASI DI DATI La progettazione di una base di dati inizia con l 'osservazione del processo che si vuol rappresentare. Dall'analisi del processo si ottiene l 'individuazione delle entità e degli attributi. Si definiscono entità gli oggetti principali che costituiscono un database (tabelle). L'entità rappresenta un gruppo omogeneo d' informazioni. Le singole informazioni sono gli attributi dell'entità. Dopo avere determinato l 'entità e gli attributi che ci consentono di descrivere il processo analizzato occorre definire le relazioni che costituiranno la base dati ossia lo schema della base dati. Lo schema relazionale di una base di dati è la lista degli schemi di tutte le relazioni che costituiscono la base di dati stessa. Lo schema di una base di dati relazionale è la descrizione delle informazioni memorizzate in essa. Data una realtà esistono infiniti schemi che permettono la sua rappresentazione ma occorre individuare gli schemi che non presentano anomalie. La progettazione dello schema di una base di dati è il processo che permette la scelta di uno schema adeguato. La progettazione dello schema inizia con l' individuazione delle dipendenze funzionali (vincoli) imposti dalle relazioni tra le informazioni della base dati e successivamente si procede con il processo di normalizzazione. Sia R(A) uno schema di una relazione e siano X e Y due sottoinsiemi dell'insieme degli attributi A, si dice che Y dipende funzionalmente da X se per ogni relazione r che abbia lo schema R(A) non è possibile che siano presenti due tuple che hanno gli stessi valori degli attributi appartenenti all' insieme X e che abbiano valori differenti in una o più degli attributi appartenenti all' insieme Y. Una chiave costituisce sempre una dipendenza funzionale con gli attributi della relazione. Data una relazione R(A) e F un insieme di dipendenze funzionali per lo schema R(A) si definisce dipendenza derivata ogni dipendenza di X su Y non contenuta in F. Si definisce chiusura di un insieme di dipendenze F l'insieme di tutte le dipendenze funzionali implicate da F. L'insieme delle dipendenze F si dice completo se coincide con l 'insieme delle chiusure ossia contiene tutte le dipendenze implicate da essa. Si definisce attributo semplice un attributo costituito da un valore atomico ossia unico e indivisibile. Si definisce attributo strutturato un attributo costituito da un insieme di valori. Si definisce attributo multivalore un attributo strutturato e non semplice. La ridondanza dei dati in un database è dovuta sostanzialmente alla ripetizione d' informazioni. La ridondanza può essere la conseguenza di attributi ripetuti ad esempio considerando una libreria l' autore di un libro non può variare indipendentemente da dove è collocato il libro. La ridondanza può essere presente anche in un unico attributo infatti ricorrendo ancora all'esempio della libreria non è corretto che nell'attributo utilizzato per indicare il libro si riportino anche l'autore del libro in quanto è sufficiente il nome di quest'ultimo per individuare in modo univoco anche l 'autore. In ultimo è presente anche la ridondanza dovuta ad attributi con lo stesso dominio ad esempio, dovendo memorizzare i voti degli esami superati da un ragazzo non è

17 opportuno prevedere gli attributi esame1, esame2,...esame n. La situazione descritta si risolve meglio realizzando una tabella con un riferimento ai dati del ragazzo (chiave) e un campo esame. In tale tabella si riporterà una tupla in corrispondenza di ogni esame superato. La soluzione proposta presenta uno schema indipendente dal numero di esami conseguiti dal ragazzo. esempio con ridondanza Nome Cognome Esame1 Esame2 Esame3 Conversione senza ridondanza Id Nome cognome Id Esame Una relazione è un insieme ordinato di zero o più tuple e ogni tupla della relazione deve essere individuabile in modo univoco. Per ogni tupla deve esistere un attributo o un insieme di attributi che la identificano e questo insieme è detto chiave. Se una chiave è formata da un unico attributo si definisce chiave semplice altrimenti si dice composta. Una chiave deve essere irriducibile ossia non deve essere possibile eliminare dagli insiemi degli attributi che la compongono un singolo attributo senza che la chiave perda validità. La normalizzazione è l'operazione che permette di decomporre uno schema che presenta anomalie in uno schema il più possibile immune da anomalie di gestione dei dati. Si definisce schema in prima forma normale uno schema della relazione R(A), con A insieme degli attributi, costituito da attributi semplici. Quindi una forma normale evita che si verifichi una ridondanza di dati. La decomposizione di uno schema R(A) in uno schema corrispondente in prima forma normale consiste nel sostituire la relazione originale R(A) con una collezione di relazioni S= [R 1 (A 1 ) R 2 (A 2 ) R k (A k )] tali che A 1 U A 2 U..A k =A. che presentino solo attributi semplici. Si dimostra che se uno schema R(A) è decomposto nei due schemi R 1 (A 1 ) e R 2 (A 2 ) allora la decomposizione gode delle proprietà del join senza perdita se e solo se gli attributi comuni ai due insiemi A 1 e A 2 della composizione sono chiavi per una delle due relazioni. Decomposizione in prima forma normale. Normalizzare una relazione il cui schema R(A) non sia in prima forma normale significa riportare la relazione ad una equivalente in prima forma normale. Le procedura di normalizzazione sono quelle riportate di seguito 1 Tutti gli attributi strutturati devono essere sostituiti da tanti attributi quanti sono i valori che appaiono nell'attributo. 2 tutti gli attributi strutturati diventano attributi semplici e la tupla è rappresentata per mezzo di tante tuple quanti sono i valori contenuti nell'attributo. La prima forma normale elimina le seguenti anomalie:

18 1 Ridondanza dei dati 2 Anomalia da modifica. La modifica di un valore deve essere altrimenti riportata in ogni attributo che contiene quel valore 3 Anomalia da inserzione. L' impossibilità di inserire un attributo fin tanto non si è in possesso di tutti i valori che costituiscono quel attributo. 4 Anomalia da cancellazione. La cancellazione di un valore comporta la cancellazione di tutto l' attributo quindi anche di altre informazioni. Una dipendenza funzionale X Y è detta completa se per lo schema R(A) non esiste alcuna dipendenza funzionale Z Y dove Z è un qualunque sottoinsieme di X. Una dipendenza funzionale è detta parziale se non è completa. Un attributo di una relazione R(A) è detto primo se fa parte di una chiave di R(A) altrimenti è detto non primo.

19 Una relazione è in seconda forma normale se è in prima forma normale e se tutti gli attributi sono dipendenti dall'intera chiave ossia non sono presenti dipendenze parziali degli attributi non primi dalle chiavi. Una dipendenza Z si definisce dipendente transitivamente da X se si verificano le seguenti condizioni dove indicano le dipendenze funzionali : X Y e Y X Y Z e Z Y X Z Z non appartiene ne a X ne a Y Una relazione è in terza forma normale se è in seconda forma normale e se tutti gli attributi che non sono chiavi sono mutuamente indipendenti ossia ogni attributo di A non dipende in modo transitivo da ogni chiave di A Si definisce forma normale Boyce Codd lo schema R(A) se è in terza forma normale e se ogni dipendenza funzionale X Y e tale che X contiene una superchiave di R(A). Tutti gli attributi primi sono dipendenti solo dagli attributi primi e le uniche dipendenze funzionali sono quelle generate dalle chiavi verso uno o più attributi. Una dipendenza è detta multivalore X Y se prese due tuple di una relazione R(A) che abbiano gli stessi valori associati agli attributi di A t(x) = s(x) è possibile scambiare alcuni valori di t e s ed ottenere altre due tuple che stanno ancora in R. Si definisce quarta forma normale quando per ogni relazione di dipendenza funzionale molti a molti X Y, X sia una superchiave. Decomposizione in seconda forma normale. Riporto di seguito le fasi che permettono di scomporre uno schema in seconda forma normale. 1 Si individua il sottoinsieme Z di X per il quale esiste la dipendenza funzionale Z Y che rende X Y parziale. 2 Si definisce un nuovo schema S(U) dove U è costituito dagli attributi di Z e dagli attributi di Y e gli attributi di Z costituiscono chiave di S= Y U Z Si eliminano dallo schema R(A) gli attributi di Y Esempio: FORNITURE [Nome Forniture, Indirizzo, Città, Nome Pezzi, Peso, Data, Quantità, Prezzo] DIPENDENZE FUNZIONALI nome fornitura Indirizzo Città Nome fornitura, Nome Pezzo, Data Indirizzo, Città Nome Pezzo Peso DIPENDENZE CHE RENDONO LA DIPENDENZA X Y PARZIALE Nome Fornitura Indirizzo, Città (1) Nome fornitura, Nome Pezzo, Data Indirizzo, Città (2) Nome Pezzo Peso (3)

20 Nome fornitura, Nome Pezzo, Data Peso (4) DECOMPOSIZIONE Per eliminare la dipendenza parziale (1) e (2) si considera il nuovo schema [Nome fornitura, Indirizzo, Città] e si cancellano gli attributi Indirizzo e Città dallo schema iniziale. In modo analogo per eliminare la dipendenza parziale (3) e (4) si definisce lo schema [Nome Pezzo, Peso]e si cancellano l' attributo Peso dallo schema iniziale. Lo schema equivalente decomposto in seconda forma normale è il seguente [Nome Fornitura, Nome Pezzo, Data, Qualità, Prezzo] [Nome Fornitura, Indirizzo, Città] [Nome Pezzo, Peso] Decomposizione in terza forma normale. Riporto di seguito le fasi che permettono di scomporre uno schema in terza forma normale. 1 Dato lo schema R(A) per ogni dipendenza transitiva si determina una dipendenza funzionale X Y, Y Z dove X è una chiave di R(A) e Y è costituito da attributi non primi. 2 Si definisce uno schema S(U) dove U è costituito dagli attributi di Y e dagli attributi di Z e gli attributi di Y costituiscono la chiave di S 3 Si eliminano dallo schema R(A) gli attributi di Z ESEMPIO: Consideriamo lo schema AUOTOMBILI [Targa, Marca, Data, Colore, Modello, Cilindrata, Freni_Anteriori, Freni_Posteriori] INDIVIDUIAMO LE SEGUENTI DIPENDENZE TRANSITIVE Targa Modello (1) X Y Modello Cilindrata, Freni_Anteriori, Freni_Posteriori (2) Y Z Targa Cilindrata, Freni_Anteriori, Freni_Posteriori (3) X Z DECOMPOSIZIONE Si definisce la nuova relazione S(U) [Modello, Cilindrata, Freni_Anteriori, Freni_Posteriori] = Y U Z e la relazione ottenuta da R(A) eliminando gli attributi di Z [Targa, Marca, Data, Colore, Modello] = A Z

21 Esempi: Scomposizione in prima forma normale La relazione che segue non è in prima forma normale: NOME Rossi & C. s.p.a Martini s.n.c. Paoli s.a.s. INDIRIZZO Via Verdi, 5 Roma Via Centrale, 4 Milano P.za Libertà, 12 Pisa In quanto l attributo INDIRIZZO non è atomico: può essere suddiviso in Indirizzo e Città. La relazione si normalizza trasformandola in: NOME INDIRIZZO CITTA' Rossi & C. s.p.a Via Verdi, 5 Roma Martini s.n.c Via Centrale, 4 Milano Paoli s.a.s. P.za Libertà, 12 Pisa Scomposizione in seconda forma normale Abbiamo una relazione che rappresenta delle scrivanie da ufficio prodotte da una azienda industriale, la chiave primaria è data Tipo_tavolo e Tipo_legno. Tipo_tavolo Tipo_legno Tipo_finitura Manager Mogano Ottone Manager Ciliegio Acciaio inox Montecarlo Noce Sughero Montecarlo Mogano Ottone Top Noce Sughero Tipo_finitura è dipendente funzionalmente da un sottoinsieme della chiave primaria, ovvero da Tipo_legno, dunque la tabella non è in 2NF. La relazione funzionale è Z Y dove: Z =[Tipo_legno] e Y=[Tipo_finitura] da cui per le decomposizioni viste la relazione decomposta risulta la seguente: S= Y U Z =[Tipo_finitura, Tipo_legno] A = X Y =[Tipo_tavolo, Tipo_legno] Tipo_tavolo Manager Manager Montecarlo Montecarlo Tipo_legno Mogano Ciliegio Noce Mogano

22 Top Noce Tipo_legno Mogano Ciliegio Noce Tipo_finitura Ottone Acciaio inox Sughero

23 Scomposizione in terza forma normale: Consideriamo la seguente relazione: Fattura= [codice_fattura, data, importo, codice_cliente, nome_cliente] La relazione è in prima forma normale in quanto non è composta da attributi non semplici. È in seconda forma normale perché non contiene dipendenze parziali degli attributi non primi dalle chiavi. La relazione Fattura non è in terza forma normale perchè contiene la dipendenza transitiva seguente: codice_fattura codice cliente codice_cliente nome_cliente codice_fattura codice_cliente nome_cliente Per ottenere la nuova relazione definiamo gli insiemi: S = Y U Z = [codice_cliente, nome_cliente] S2 = A Z =[ codice_fattura, data, importo, codice_cliente] X Y Y Z X Z Possiamo quindi definire l' equivalente relazione in terza forma normale Fattura = [ codice_fattura, data, importo, codice_cliente]; e Cliente =[ codice_fattura, data, importo, codice_cliente];

24 PROGETTAZIONE MODELLI DI BASE DATI La progettazione di una base dati si divide in due fasi. La prima fase di progetto riguarda l' analisi del processo che si vuol rappresentare e la definizione di uno schema concettuale della base dati, mentre la seconda fase riguarda la realizzazione della base dati quindi la definizione dello schema della base dati e la realizzazione fisica della base dati. Schema concettuale La definizione della rappresentazione dello schema concettuale della base dati può essere ottenuta con Il modello semantico o le metodologie di progettazione di basi dati. Ci soffermeremo alla descrizione del modello semantico in quanto è il procedimento per l' analisi concettuale più utilizzato. Modelli Semantici Un modello semantico è un insieme di regole che permette di definire lo schema concettuale di una base di dati ad un livello intermedio tra la realtà e il modello di dati utilizzato per implementare la base di dati. Il modello semantico permette di ottenere prima una descrizione formale della realtà e poi converte tale descrizione nel modello di dati utilizzato dal sistema di gestione della base dati che si ha a disposizione. Il Modello semantico utilizza per la rappresentazione del processo studiato le entità, gli attributi e le corrispondenze. Un entità come già visto è un oggetto che esiste e che è indistinguibile (tabella) mentre gli attributi sono le proprietà che distinguono quell'entità dalle altre (campi). Le proprietà d'altro canto descrivono il significato dei dati che corrispondono all'entità. il primo step della progettazione dello schema della base dati è la scelta dell'entità e degli attributi che costituiscono ciascuna entità. Durante la fase di progettazione si devono anche determinare per ogni entità le chiavi che permette d' individuare l' entità in modo univoco. Spesso si ricorre alla definizione di un attributo che non ha informazioni ma ha l 'unico compito di realizzare la chiave. La chiave esterna è quella chiave che non ha un evidente rapporto concettuale con l' entità, ma ha motivo d' esistenza unicamente per permettere l 'associazione tra entità distinte. Le entità tra cui esiste una relazione si dicono partecipanti, ed il numero di partecipanti indica il grado della corrispondenza unaria, binaria, ternaria,... La partecipazione di un entità ad un associazione ( corrispondenza) può essere classificata totale o parziale a seconda del fatto che l'entità possa esistere o meno senza partecipare all'associazione stessa. Si indica con la cardinalità il numero massimo di istanze della stessa entità che possono partecipare con una o più istanze di un' altra entità. Uno a Uno Uno a Molti Molti a Molti Più semplicemente la cardinalità indica il numero di records di una tabella che corrispondono ai records di un altra tabella quando tra le due tabelle esiste una corrispondenza.

25 Corrispondenza Uno a Uno Si definisce una corrispondenza uno a uno se ad ogni elemento dell'insieme di entità A 1 x A 2 x A i è associato al più un elemento dell'insieme di entità B1 x B2 x..b j e se ad ogni entità dell'insieme B1 x B2 x..b j è associato al più un elemento dell'insieme di entità A1 x A2 x Ai. Ricordiamo che l' insieme di entità sono le tabelle. Corrispondenza Uno a Molti Si definisce una corrispondenza uno a molti se ad ogni elemento dell'insieme A1 x A2 x Ai è associato un insieme, anche vuoto, di elementi di B1 x B2 x..b j e se ad ogni elemento dell'insieme B1 x B2 x..b j è associato al più un elemento di A 1 x A 2 x A i Corrispondenza Molti a Molti Si definisce una corrispondenza molti a molti se ad ogni elemento di A 1 x A 2 x A i è associato un insieme, anche se vuoto, di elementi di B 1 x B 2 x..b j e se ad ogni elemento di B 1 x B 2 x..b j è associato un insieme, anche se vuoto, di elementi di A 1 x A 2 x A i Corrispondenza Molti a Uno Si definisce una corrispondenza molte a uno se in una corrispondenza molti a molti ad ogni elemento di B 1 x B 2 x..b j è associato al più un elemento di A 1 x A 2 x A i Corrispondenza is a Una corrispondenza si definisce is a se A è un tipo particolare di B Entità deboli Un insieme di entità B si dice debole se esiste una corrispondenza da un altro insieme di entità A e l'esistenza di ogni entità B è legata all'esistenza di una entità di A. In un entità debole si possono aggiungere entità solo se esistono le corrispondenti entità dell'insieme A Se si cancella un entità da un insieme si devono cancellare anche tutte le entità deboli ad essa collegate.

26 Diagramma Entità corrispondenze il diagramma entità corrispondenza è la rappresentazione dello schema di una base dati realizzato con il modello entità-corrispondenza il diagramma per la rappresentazione utilizza le seguenti convenzioni Entità Nome entità Entità deboli Nome entità Attributi semplici Nome entità Nome Attr. Attributi non semplici Nome Attr. Nome entità Corrispondenze Nome entità Nome entità La cardinalità della corrispondenza è indicata con un numero nel punto in cui la linea che individua la corrispondenza incontra l' entità. 1 Corrispondenza 1 a 1 1 Corrispondenza 1 a Molte 1 M

27 M Corrispondenza molte a molte 0 Corrispondenza zero a molte N N PROGETTAZIONE Per realizzare una progettazione del sistema di gestione della base dati occorre realizzare le seguenti analisi preliminari: Determinazione della specifica informale. La specifica informale è un documento che raggruppa la descrizione dei dati e delle proprietà dei processi che devono utilizzare la base dati e delle esigenze degli utenti. Definizione del sistema di gestione della base dati. Progetto dello schema. Configurazione hardware e del sistema informatico per la gestione del sistema. Specifica informale Definizione del sistema Di gestione della base dati Configurazione hardware del sistema informatico Progetto Schema logico Struttura di memorizzazione Sottoschemi utente Specifica dei programmi applicativi

28 La progettazione della base dati è realizzata seguendo a sua volta le quattro fasi sotto riportate: Analisi dei requisiti Progettazione concettuale Progettazione logica Progettazione fisica L' analisi dei requisiti è l' operazione di determinazione delle richieste degli utenti del sistema che ci accingiamo a progettare. La progettazione concettuale è la descrizione integrata dei dati e delle operazioni d'interesse per i diversi sottoinsiemi La progettazione logica è la definizione dello schema logico della base dati e degli sottoschemi. In questa fase si traducono le operazioni di estrazione delle informazioni in funzione dello schema definito. La progettazione fisica è la scelta della struttura di memorizzazione dei dati PROGETTAZIONE CONCETTUALE La progettazione concettuale è la fase in cui si crea uno schema concettuale ossia una descrizione sotto forma di dati, processi e vincoli. La realizzazione della progettazione concettuale è effettuata mediante il modello entità corrispondenze. La progettazione concettuale è divisa in due fasi: modellizzazione degli schemi utente. Analisi e integrità degli schemi La modellizzazione degli schemi di utente è la progettazione di tanti schemi utente. Lo schema utente è ottenuto come descrizione limitata e parziale del complesso d' informazioni che costituiscono la base di dati senza considerare eventuali relazioni o dipendenze tra essi. L' analisi ed integrità degli schemi utente è la fase in cui è definito uno schema concettuale unico risultato dei diversi schemi utente. In questa fase si individuano eventuali conflitti tra i diversi schemi utente. Conflitti tra gli schemi utente: Si riporta di seguito una descrizione delle cause che determinano conflitti tra gli schemi

29 utente.

30 Conflitti espliciti sono quei conflitti di tipo o di proprietà dei dati. a Si generano conflitti di tipo se esistono attributi di tipo differente con lo stesso nome b Si generano conflitti di proprietà dei dati si generano quando la corrispondenza tra due entità è differente a seconda dello schema utente considerato. I conflitti espliciti in generale si sono determinati da due utenti che hanno esigenze differenti sugli stessi dati che si traducono in differenti formalizzazioni dei dati o delle corrispondenze. I Conflitti impliciti sono i sinonimi o gli omonimi. I sinonimi si determina quando una stessa informazione è rappresentata con nomi differenti nella base dati Gli omonimi si generano quando con lo stesso nome si indicano informazioni differenti della stessa realtà Solo dopo che sono stati risolti tutti i conflitti si procede con l 'integrazione degli schemi utente per ottenere lo schema concettuale nella forma di modello semantico. In questa fase si procede anche alla determinazione di uno schema concettuale delle operazioni che si ipotizza saranno effettuate sulla base dati. Dopo avere completata la progettazione dello schema concettuale si procede con le verifiche. Le verifiche che si attuano sullo schema concettuale sono le seguenti: Verifica di completezza con cui si dimostra che gli schemi progettati sono capaci di soddisfare le esigenze delle applicazioni. Verifica sulla frequenza d' utilizzo dei dati permette di controllare l' efficienza dello schema Progetto iniziale dei programmi applicativi PROGETTAZIONE LOGICA Con la progettazione logica lo schema concettuale dei dati e quello utente sono tradotti in uno schema logico (capitolo 3) espresso in termini del modello di dati al quale fa riferimento il sistema di gestione della base dati che si realizza. Durante la fase di progettazione logica si studiano anche proprietà che caratterizzeranno il funzionamento del sistema di gestione dei dati. L' integrità è garantita se i dati contenuti nella base di dati rispettano in ogni momento i vincoli esposti nella fase di analisi dei requisiti (vincoli desiderati dagli utenti) La consistenza è garantita se ogni utente riceve le stesse informazioni se interroga nello stesso modo la base dati a patto che non siano stati modificati i dati

31 Le procedure di ripristino devono garantire gli utenti da qualunque tipo di malfunzionamento Il sistema deve impedire accessi non autorizzati per il rispetto delle norme di sicurezza. La progettazione logica deve essere realizzata mediante le tre fasi di seguito riportate: Traduzione canonica Progettazione sottoschemi Prima progettazione Di principio dei programmi Traduzione canonica è la traduzione dello schema concettuale in uno schema logico equivalente in termini del modello di dati utilizzato ( relazionale, gerarchico, reticolare) Progettazione dei sottoschemi equivalenti agli schemi utente. Progettazione delle specifiche dei programmi applicativi ossia delle operazioni che permetteranno ai programmi di accedere alle informazioni di loro interesse. PROGETTAZIONE FISICA La progettazione fisica riguarda gli aspetti più hardware e realizzativi del sistema di gestione della base di dati. Di seguito si riportano alcuni degli aspetti analizzati e definiti durante la progettazione fisica. Tecniche di organizzazione degli archivi Dimensionamento delle aree di overflow Tecniche di allocazione degli archivi sulle memorie di massa Scelta del fattore di blocco per i diversi archivi Definizione dei puntatori utilizzati negli archivi Scelta degli indici di manutenzione e efficienza per il monitoraggio del sistema.

32 ESEMPI DI RPOGETTAZIONE PRENOTAZIONI AD ALBERGHI Descrizione informale del processo Il database deve rappresentare le prenotazioni fatte da clienti ad un albergo. Si vogliono mantenere informazioni sui clienti e sulle prenotazioni. Dei clienti si vogliono mantenere dati identificativi. Si vogliono mantenere dati identificativi dell'albergo, il numero di camere (suddivise in singole, doppie, triple) Delle prenotazioni si vogliono mantenere le informazioni riguardo a chi l'ha fatta e per quale albergo, la data di arrivo e quella presunta di partenza (o il numero presunto dei giorni prenotati), quale tipo di stanza un cliente ha prenotato. Ogni cliente può' prenotare più' stanze nello stesso periodo. Si voglia mantenere dati riguardo lo stato di occupazione reale dell'albergo mediante registrazioni Progettazione concettuale mediante i modelli entità-corrispondenze utente. Schema Utente 1 Schema Utente 2 cliente cliente 1 1 N prenotazione 1 Schema Logico cliente 1 1 N prenotazione 1 1 Registrazione 1 Registrazione 1 1 Registrazione Nei due schemi utente ottenuti abbiamo definito tre entità: Clienti Prenotazioni Registrazioni Dettaglio delle entità: Clienti[Nome, Cognome, Indirizzo, Recapito] Prenotazione[Data, giorni, nome_cliente, Recapito_Cliente, Stanza, Tipo, Prezzo] Registrazione[Data_registrazione, Cliente, recapito_cliente, Camera]

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

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

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

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

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

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

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

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

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

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 - : 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 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

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

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

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

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

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

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

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

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

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale Il modello relazionale 1 Il modello relazionale Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981

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

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

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

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

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

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

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

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

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

Dettagli

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le

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

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

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

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

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

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze

Decomposizione senza perdita. Decomposizione senza perdita. Conservazione delle dipendenze. Conservazione delle dipendenze Decomposizione senza perdita Data una relazione r su X, se X 1 e X 2 sono due sottoinsiemi di X la cui unione è X stesso, allora il join delle due relazioni ottenute per proiezione di r su X 1 e X 2 è

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

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. (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

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

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

Normalizzazione. Relazionali

Normalizzazione. Relazionali Normalizzazione di Schemi Relazionali Normalizzazione Forme Normali Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità, cioè l assenza di determinati difetti Una relazione

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

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

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

Sistemi centralizzati e distribuiti

Sistemi centralizzati e distribuiti Sistemi centralizzati e distribuiti In relazione al luogo dove è posta fisicamente la base di dati I sistemi informativi, sulla base del luogo dove il DB è realmente dislocato, si possono suddividere in:

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

Il Sistema Operativo: il File System

Il Sistema Operativo: il File System Il Sistema Operativo: il File System Il File System è quella parte del S.O. che si occupa di gestire e strutturare le informazioni memorizzate su supporti permanenti (memoria secondaria) I file vengono

Dettagli

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA

BASE DI DATI: sicurezza. Informatica febbraio 2015 5ASA BASE DI DATI: sicurezza Informatica febbraio 2015 5ASA Argomenti Privatezza o riservatezza Vincoli di integrità logica della base di dati intrarelazionali interrelazionali Principio generale sulla sicurezza

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

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

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

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

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

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

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

Dettagli

Rappresentazione grafica di entità e attributi

Rappresentazione grafica di entità e attributi PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema

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

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

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

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

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

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

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

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

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

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15 WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

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

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

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

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

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Il Modello Relazionale

Il Modello Relazionale Il Modello Relazionale 1 Proposto da E. F. Codd nel 1970 per favorire l indipendenza dei dati e reso disponibile come modello logico in DBMS reali nel 1981 Si basa sul concetto matematico di relazione,

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

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

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

2003.06.16 Il sistema C.R.M. / E.R.M.

2003.06.16 Il sistema C.R.M. / E.R.M. 2003.06.16 Il sistema C.R.M. / E.R.M. Customer / Enterprise : Resource Management of Informations I-SKIPPER è un sistema di CONOSCENZE che raccoglie ed integra INFORMAZIONI COMMERCIALI, dati su Clienti,

Dettagli

CHIUSURE di MAGAZZINO di FINE ANNO

CHIUSURE di MAGAZZINO di FINE ANNO CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

MODULO 5 Appunti ACCESS - Basi di dati

MODULO 5 Appunti ACCESS - Basi di dati MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

Corso di Basi di Dati e Conoscenza

Corso di Basi di Dati e Conoscenza Corso di Basi di Dati e Conoscenza Gestione dei Dati e della Conoscenza Primo Emicorso - Basi di Dati Roberto Basili a.a. 2012/13 1 Obbiettivi Formativi Scenario Le grandi quantità di dati accumulate nelle

Dettagli

Modello relazionale. ing. Alfredo Cozzi 1

Modello relazionale. ing. Alfredo Cozzi 1 Modello relazionale E fondato sul concetto matematico di relazione tra insiemi di oggetti Una relazione su n insiemi A1, A2,..,An è un sottoinsieme di tutte le n-uple a1,a2,,an che si possono costruire

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

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

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Progetto di basi di dati Laboratorio di diagnosi mediche

Progetto di basi di dati Laboratorio di diagnosi mediche Progetto di basi di dati aboratorio di diagnosi mediche Descrizione e specifiche Si vuole realizzare il progetto della base di dati di laboratorio di diagnosi medica, partendo da un insieme di requisiti.

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

Dettagli

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione della base di dati di una facoltà e si definisca

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