Basi di dati, modulo 2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Basi di dati, modulo 2"

Transcript

1 Basi di dati, modulo 2 Riassunto di Eugenio Rustico A. Progetto di una base di dati 1.Fa parte del ciclo di vita del sistema informativo 2.Consiste in: Raccolta e analisi requisiti Raccolta requisiti: si analizza il sistema informativo precedente si raccolgono frasi in linguaggio naturale si eliminano omonimie, sinonimie, ambiguità, contraddizioni si produce un glossario di entità coinvolte e relazioni si verificano completezza e consistenza Analisi dei requisiti: produce uno studio di fattibilità (costo in termini di tempo e budget) e un piano di sviluppo dettagliato I requisiti definiscono Le funzionalità del sistema I dati coinvolti e le operazioni su di essi I requisiti hw e sw Progettazione Implementazione Validazione e collaudo Manutenzione 3.Si distinguono Progettazione concettuale

2 E' la traduzione delle specifiche informali in un linguaggio formale che faccia riferimento ad un modello concettuale ben preciso; il modello concettuale + usato è il modello Entità Relazione (E R) Il modello E R si compone di entità (classi di oggetti che hanno proprietà comuni; sono conoscenze astratte; le istanze di esse, che esistono realmente nel dominio applicativo, sono conoscenze concrete) relazioni (legami logici fra due o più entità; possono esserci delle auto associazioni, cioè relazioni tra istanze della medesima entità) attributi (proprietà) caratteristiche delle entità e delle relazioni gli attributi delle istanze assumono valori multipli se hanno una cardinalità massima maggiore di 1 composti se formati da più sottoproprietà (possono anche essere multipli) se la carinalità minima è zero l'attributo è opzionale) possono essere espliciti o calcolati (cioè ottenibili da altre proprietà tramite algoritmi, che non sono esprimibili tramite il modello E R) possono essere di sintesi (per es. quando sono la media o il max/min di un insieme di valori) unici se tutte le istanze hanno un valore differente una proprietà obbligatoria, unica, esplicita (in

3 genere non modificabile) che identifichi una istanza in modo univoco è una chiave la chiave di una associazione è definita come l'insieme delle chiavi delle entità partecipanti cardinalità (numero di volte che una istanza di entità può partecipare ad una relazione; ha un minimo e un massimo predefiniti che è 1) identificatori (identificano univocamente le istanze di una entità) interni se sono composti da una o più proprietà dell'entità stessa esterni se collegano l'entità ad un'altra entità (a patto che non si creino cicli di identificazione e che la cardinalità tra le due entità sia uno ad uno) generalizzatori (definiscono la gerarchia di specializzazione, detta gerarchia ISA ) una istanza dell'entità figlia è anche istanza valida dell'entità padre, ma non sempre è vero il viceversa l'entità figlia eredita tutti gli attributi dell'entità padre la gerarchia può essere totale (t) se ogni istanza dell'entità padre dev'essere anche istanza di un'entità fliglia, non totale (nt) altrimenti la gerarchia può essere esclusiva (e) se ogni istanza dell'entità padre può essere istanza di una sola delle entità fliglie, non esclusiva (ne) altrimenti sottoinsiemi

4 utilizza simboli grafici ai quali si possono aggiungere descrizioni per esprimere caratteristiche non modellabili altrimenti; di solito è accompagnato da un dizionario delle entità e dalla descrizione di vincoli non esprimibili col modello Inizialmente si compone di schemi scheletro che non specificano il tipo delle entità e delle relazioni Abbiamo vari tipi di vincoli: Statici (es. il valore di un attributo deve ex compreso tra x e y) Statici multiproprietà (es. se il valore di un attributo soddisfa l'espressione x allora una altro attributo deve soddisfare y) Dinamici (es. il valore dell'attributo x deve ex =/</> dell'attributo y) Qualità dello schema concettuale: correttezza: niente errori sintattici né semantici completezza: sono rappresentate tutte le entità e tutte le operazioni leggibilità: i requisiti sono rappresentati in maniera naturale e comprensibile; consigli per gli schemi E R: disporre al centro gli elementi con più legami minimizzare le intersezioni disporre i padri sopra ai figli minimalità: ogni requisito è rappresentato una sola volta; non ci sono ridondanze Progettazione logica E' la codifica in maniera corretta ed efficiente (non una semplice traduzione) del modello concettuale nel modello logico usato dal DBMS in uso (per esempio il modello

5 relazionale); il risultato è uno schema logico Servirà l'analisi delle prestazioni, che si basa su due indici: costo di ogni operazione: numero di occorrenze di entità e relazioni che verranno visitate per soddisfare l'operazione per calcolarlo. Viene stilata una tavola delle operazioni con i risultati. dobbiamo conoscere: il tipo di operazione (interattiva o batch?) la frequenza (quante esecuzioni x unità di tempo) i dati coinvolti (entità e associazioni) occupazione di memoria: misura in byte dell'occupazione dei dati previsti dallo schema. Verrà stilata una tavola dei volumi per calcolarla dobbiamo conoscere le dimensioni di ciascun attributo e il numero di occorrenze dello stesso Per ogni operazione possiamo definire anche una tavola degli accessi in cui specifichiamo il numero di accessi a ciascuna entità e a ciascuna relazione e il tipo degli stessi (se scrittura, di solito più onerosa anche per il locking del db, o lettura) Consta di due fasi: Ristrutturazione richiede lo schema E R inziale e il carico applicativo previsto si divide in analisi delle ridondanze: si decide quali eliminare e quali no sulla base dell'analisi delle prestazioni le ridondanze di solito sono causate da attributi derivabili (da altri attributi o da operazioni di conteggio) o associazioni derivabili (da altre

6 associazioni, spesso avviene quando ci sono cicli). Per stabilire se si devono eliminare o no si effettua un'analisi delle prestazioni con e senza la ridondanza e si opera una scelta eliminazione delle generalizzazioni: è necessaria quando si usa il modello logico relazionale perchè tale modello non prevede gerarchie. E' possibile eliminare le gerarchie in tre modi: mantenere le entità: non si elimina niente; si associa ogni figlio al padre e lo si identifica esternamente tramite tale identificazione collassamento verso l'alto: si accorpano i figli al padre. Qualche attributo diventerà opzionale, spesso NULL; appare un attributo selettore che specifica se una istanza fa parte di un figlio collassamento verso il basso: si accorpa il padre ai figli. Non è possibile se la copertura del padre non è totale ed esclusiva partizionamento/accorpamento di entità e relazioni: gli attributi multipli non sono previsti nel modello relazione; inoltre è utile e riduce gli accessi......accorpare entità alle quali si accede dalle stesse operazioni (in genere si accorpano relazioni uno ad uno), oppure...separare entità alle quali accedono operazioni diverse. separazione verticale: gli attributi vengono suddivisi separazione orizzontale: gli attributi vengono duplicati

7 scelta degli identificatori primari delle entità che ne hanno pià di uno meglio scegliere la chiave con cui si accede più spesso preferire chiavi semplici a composte, interne ad esterne a volte è bene trasformare le relazioni uno ad uno in chiavi primarie trasportate (vedi esempio impiegato/stabilimento) include la normalizzazione Traduzione nel modello logico (e, nella fattispecie, nel modello relazionale; attenzione al termine relazione in questo paragrafo, indica quella che in SQL è definita tabella): traduzione standard, sempre possibile: ogni entità è tradotta con una relazione tra le sue proprietà ogni associazione è tradotta come una entità con in più gli identificatori di tutte le entità associate per le associazioni molti a molti si deve procedere come sopra associazioni uno a molti: un'associazionepuò essere accorpata ad un'entità che partecipa con cardinalità 1,1 (includendo le sue proprietà) se la cardinalità è 0,1 i campi aggiunti possono assumere valori nulli se era presente una chiave esterna, la nuova chiave includerà l'identificatore dell'entità identificante

8 associazioni uno a uno: se le cardinalità sono entrambe (1,1) si può accorpare tutto in una relazione scegliendo la chiave più significativa se una delle cardinalità è (0,1) la chiave scelta sarà quella dell'altra entità (per evitare valori nulli) se le cardinalità sono entrambe (0,1) si può accorpare la relazione a una delle due entità ma c'è la possibilità che i valori rimangano nulli perchè la relazione è opzionale; sarebbe meglio procedere col metodo tradizionale (tre relazioni, quella che rappresenta l'associazione può avere indifferentemente una delle due chiavi) in caso di relazioni ricorsive occorre per forza rinominare una delle due voci; a volte la ridenominazione è utile per meri motivi di chiarezza una rappresentazione grafica della traduzione aiuta ad evidenziare i vincoli referenziali Progettazione fisica Si completa lo schema logico con i parametri fisici di memorizzazione del DB; dipende dal DBMS scelto e produce lo schema fisico 4.Le principali strategie di progetto sono: Top Down Raffinamenti successivi ad uno schema inziale generale molto astratto Pro: è graduale Contro: non va bene per schemi complessi Bottom Up

9 Si stilano dei sottoprogetti limitati e infine si fondono insieme Pro: è facile distribuire la progettazione tra più progettisti Contro: è difficile alla fine fondere tutto Inside Out Variante di Bottom Up: si aggiungono via via schemi parziali a schemi già definiti Pro: non richiede integrazioni successive Contro: occorre rileggere i requisiti ad ogni passo Mista Il progettista divide i requisiti in componenti separate ma allo stesso tempo stila uno schema scheletro con i concetti principali. Pro: molto flessibile, è applicabile ai grandi sistemi anche quando parte delle specifiche non è ancora disponibile B. Oggetti SQL avanzati 1.Sono oggetti che non hanno corrispondenti nell'algebra relazionale 2.Ecco i principali: Vincoli d'integrità Sono intrarezionali quando riguardano solo attributi della medesima relazione interrelazionali (referenziali) altrimenti Possono definire i valori ammissibili per gli attributi di una tupla o indicare che il valore immesso deve essere presente in un'altra tabella (NULL per evitare il controllo

10 del vincolo) Vengono controllati durante le tre possibili operazioni di modifica (INSERT, DELETE e UPDATE); se non sono soddisfatti la transazione fallisce, oppure può scattare una procedura correttiva definita dall'utente, x esempio dopo una eliminazione: eliminare a cascata tutte le tuple che ora violano i vincoli settare a NULL tutti i campi interessati nessuna azione Servono a migliorare la qualità dei dati e la semantica della loro struttura Sono usati dal sistema per ottimizzazioni La loro definizione avviene in progettazione Esempi: NOT NULL, DEFAULT valore, CHECK condizione, PRIMARY KEY chiave, UNIQUE attributi Viste Sono delle tabelle ausiliare virtuali create al volo Servono a semplificare query complesse ( es. SELECT AVG(COUNT(*)) FROM... non si può fare), a proteggere dei dati, a riorganizzare i dati secondo nuovi schemi Vengono definite con il comando SQL CREATE VIEW, quindi si usano come se fossero normali tabelle Possono essere eliminate con DROP VIEW nome_vista (RESTRICT CASCADE) RESTRICT indica di non eliminarla se serve ad altre vist e CASCADE indica di eliminare tutte le viste che si basavano su questa ll comportamento di default dipende dal DBMS in uso I nuovi DBMS permettono di eseguire le normali

11 operazioni di INSERT, DELETE e UPDATE sulle VIEW; i valori non usati verranno settati a NULL, se non ci sono vincoli che indicano il contrario Si potrebbe tentare di inserire una tupla valida nella tabella originale ma non nella VIEW corrente (perchè sarebbe scartata dalla SELECT che genera la VIEW); i DBMS lo permettono (ovviamente non sarà visible se non nella tabella originale) a meno che in fase di definizione della VIEW non sia stata usata l'opzione WITH CHECK OPTION Il comportamento del DBMS a fronte del tentativo di inserimento di una tupla che richiederebbe la modifica di più tabelle con chiavi esterne dipende fortemente dal DBMS In genere la modifica su una VIEW è permessa se ad ogni riga della VIEW corrisponde una ed una sola riga in una tabella; di solito è permessa se tra gli attributi visibili c'è la chiave primaria. VIEW che utilizzino operatori aggregati non possono essere modificate Aspetti procedurali I programmi nei DBMS Possono......consistere di comandi SQL puri...consistere in azioni esterne (es. spedire un' )...essere scritte in altri linguaggi (Java, C++)...essere scrite linguaggi SQL proprietari più potenti dell'sql puro (PL/SQL, DB2, ecc.) I linguaggi procedurali arricchiscono l'sql, che è dichiarativo, con comandi di controllo del flusso: IF, WHILE, FOR, ecc. Vantaggi:

12 si possono controllare vincoli di integrità altrimenti difficilmente controllabili si riduce il traffico sulla rete perchè parte dell'elaborazione è demandata al server DB garantiscono una certa sicurezza dei dati automatizzando in parte il processo di manipolazione Le procedure sono programmi memorizzati nel DBMS che vengono eseguiti su esplicita richiesta dell'utente I trigger sono programmi memorizzati nel DBMS che vengono attivati da determinate azioni di modifca delle tabelle Seguono il paradigma Event Condition Action (ECA): when event if condition [opzionale] then action I maggiori DBMS prevedono i trigger fin dagli anni '80 ma la loro sintassi è stata standardizzata in SQL solo nel 1999; per questo motivo c'è notevole difformità tra un sistema e l'altro Regole tipiche: automazione vendite invio solleciti aggiornamento automatico tabelle storico delle modifiche per recupero dati (undo) duplicazione database trasparente implementazione database distribuiti E' possibile che il trigger modifichi una tabella che richiama lo stesso trigger (ricorsione); alcuni DBMS permettono di limitare automaticamente il fenomeno, altri non lo permettono

13 Durante l'esecuzione del trigger (sia nella condizione che nell'azione) sono visibili alcune tuple o tabelle temporanee che contengono: Nel caso di un DELETE le tuple/tabelle cancellate Nel caso di un INSERT le tuple/tabelle inserite Nel caso di un UPDATE le tuple/tabelle vecchie e, separatamente, qulle nuove Due tipi di granularità: Row level: il trigger viene eseguito una volta per ogni tupla modificata ci sono tabelle temporanee con singole tuple Statement level: il trigger viene eseguito solo una volta per tutta la transazione ci sono tabelle temporanee Un trigger può essere definito come AFTER, cioè eseguito dopo la transazione, oppure BEFORE, cioè prima della stessa (in genere è un po' più limitato) A seconda del DBMS, si può scegliere un'esecuzione immediata o differita, inclusa nella transazione corrente (quindi non effettuata se la transazione fallisce) o separata (quindi effettuata comunque) Vantaggi dei trigger: semplificano le applicazioni centralizzano i controlli Difetti: rigidità: non si possono definire eccezioni complessità: occhio ai trigger a cascata! come fare il debugging?

14 C. Aspetti sistemistici dell'sql 1.Schemi, cataloghi, cluster Uno schema è una collezione di tabelle, viste, trigger. E' l'unità di base della struttura gerarchica dei DBMS Un catalogo è una collezione di schemi; c'è almeno uno schema chiamato INFORMATION_SCHEMA che contiene informazioni su tutti gli altri schemi In SQL l'information_schema contiene tutti i metadati del DB: utenti, permessi, files, struttura delle tabelle, ecc; alcune tabelle di questo schema riguardano statistiche quantitative sul DB per ottimizzazioni Normalmente sono consultabili ma non modificabili dagli utenti; per questo sono autoreferenziati, cioè descrivono anche sé stessi Un cluster è una collezione di cataloghi consultabili da un singolo utente 2.Transazioni (Locking) Il locking nel precludere temporaneamente ad altri processi l'accesso a un dato prima che noi abbiamo finito di eseguire con esso un'operazione complessa. Una transazione è una sequenza di operazioni che vanno eseguite tutte insieme (oppure non va eseguita nessuna di esse) Sono previsti due comandi particolari: COMMIT esegue tutte le operazioni richieste e la procedura termina normalmente ROLLBACK annulla tutte le operazioni richieste e fa terminare prematuramente la transazione

15 Sono previsti diversi livelli di isolamento di una transazione per evitare che molti processi concorrenti blocchino il DB per molto tempo (e per evitare in alcuni casi situazioni di stallo) In SQL abbiamo il comando SET TRANSACTION che prevede diversi livelli di isolamento: READ UNCOMMITTED serve per transazioni che fanno solo operazioni di lettura; restituisce la versione meno recente possibile dei dati correnti, quindi permette di leggere dati che altre transazioni non hanno ancora finito di scrivere! READ COMMITTED fa sì che i blocchi in lettura vengano rilasciati immediatamente, mentre i blocchi in scrittura siano rilasciati solo alla fine della transazione; [inoltre è possibile inserire tuple prima di quelle correnti, alterando gli indici] REPEATABLE READ blocca in lettura e scrittura solo le tuple della tabella in uso. Si verifica il fenomeno dei fantasmi (dati inseriti nella tabella non sono visti) perchè la transazione vede solo dati consistenti: è come fare una foto alle tabelle all'inizio delle tabelle e poi lavorare su questa SERIALIZABLE consiste nel blocco temporaneo della tabella corrente; per certe applicazioni è troppo restrittivo D. Normalizzazione 1.Forme normali Una forma normale è una proprietà di una base di dati che assicura l'assenza di Ridondanze

16 Anomali di aggiornamento, di inserimento e di cancellazione (es. dipendenze fra campi o dati) La normalizzazione è la procedura che permette di trasformare schemi non normalizzati in schemi normalizzati Per formalizzare la normalizzazione introduciamo un nuovo vincolo di integrità nel modello relazionale: la dipendenza funzionale (FD) Data una relazione su X R(X) e due sottoinsiemi di X non vuoti Y e Z, si ha una dipendenza funzionale Y Z se ogni coppia di tuple in R con gli stessi valori di su Y ha gli stessi valori anche su Z La dipendenza funzionale si dice non banale se nessun attributo in Z compare anche in Y; le dipendenze funzionali banali in genere non vengono considerate In pratica, c'è una dipendenza funzionale se uno o più attributi dipendono da uno o più attributi,e sono calcolabili tramite una certa funzione; è banale se è sempre soddisfatta (se è un'identità), o in genere se uno degli attributi compare sia in Y che in Z Le dipendenze funzionali devono essere identificate in fase di progettazione (sul modello relazionale o anche sul modello E R), ma non basta guardare a un'istanza del DB per evincerle Le anomalie funzionali di solito sono prodotte da dipendenze funzionali, ma non sempre una dipendenza funzionale genera un'anomalia; le anomalie in genere sono causate dalla presenza di concetti eterogenei rappresentati con un'unica relazionale Se Y è una chiave, difficilmente Y Z comporterà un'anomalia

17 La normalizzazione non è una strategia di progettazione ma uno strumento di verifica degli schemi prodotti dalla progettazione logica; può anche essere usata per verificare la qualità degli schemi concettuali 2.Forma normale di Boyce e Codd Una relazionale R è in forma normale di Boyce e Codd (BCNF) se per ogni dipendenza funzionale non banale Y Z si ha che Y contiene una chiave k di R In pratica, questo è vero se i concetti di una relazione sono omogenei Per portare in BCNF una relazione non in BCNF dobbiamo ristrutturare lo schema e separare dei concetti Succede che scomponiamo una relazione e quando la ricomponiamo con un JOIN appaiono tuple che prima non c'erano. Come evitare questo problema? Definiamo decomposizione senza perdita di R nelle proiezioni (sottoinsiemi di attributi) X e Y una decomposizione tale che se il JOIN tra X e Y dà R stessa senza tuple in più La decomposizione senza perdita è garantita se l'insieme degli attributi comuni a X e Y è una chiave per almeno uno dei due Una decomposizione conserva le dipendenze se ciascuna delle dipendenze funzionali dello schema iniziale coinvolge attributi che si trovano tutti insieme in uno degli schemi decomposti In pratica se c'è una dipendenza funzionale X Y non dobbiamo spezzarla e posizionare X e Y in sottoschemi separati o, quando proviamo ad aggiundere

18 delle tuple, potremmo violare la dipendenza Una decomposizione è di qualità se è senza perdita e conserva le dipendenze Non sempre è possibile trovare una decomposizione di qualità; in questi casi si dice che la BCNF non è raggiungibile 3.Terza forma normale E' una forma normale sempre raggiungibile, al contrario della BCNF; è meno restrittiva e permette schemi con alcune anomalie Una relazione R è in terza forma normale se per ogni FD X Y definita su R si verifica almeno una delle seguenti condizioni: X contiene una chiave K di R Ogni attributo di Y è contenuto in almeno una chiave di R Procedimento Si crea una relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale Si verifica che una delle relazioni contenga una chiave della relazione originaria [nel libro e nelle slide c'è scritto così ma non capisco perchè così vengono soddisfatte entrambe le condizioni!] A volte è meglio provare la terza formale normale prima ancora di verificare che sia anche BCNF Se una relazione ha solo una chiave, la terza forma normale e quella di Boyce Codd coincidono E. Linguaggi ospitanti

19 1.PHP MySQL Connession al server MySQL con mysql_connect(host [user [pwd [...]]]) Scelta del DB con mysql_select_db(db [...]) Query con mysql_query(query [...]) Lettura del risultato con mysql_fetch_array(result [type]) Restituisce ad ogni chiamata la riga successiva del risultato. Il parametro type può assumere i seguenti valori; MYSQL_ASSOC: gli attributi della riga corrente saranno accessibli tramite il nome dell'attributo MYSQL_NUM: gli attributi della riga corrente saranno accessibli tramite l'indice numerico MYSQL_BOTH: entrambi i precedenti DB2 Usare le chiamate ODBC Oracle Usare le apposite chiamate; occorre abilitarle nel file php.ini 2.Java (JDBC) Sun sostiene che JDBC non sia una sigla (sembra Java DataBase Connectivity) JDBC permette di collegarsi ad un db da qualsiasi programma Java ed eseguire comandi SQL Ogni produttore fornisce il proprio driver di basso livello, per

20 poterlo ottimizzare al meglio Quattro tipi di driver Tipo 1, ponte ODBC: traduzione JDBC in ODBC e interfacciamento tramite driver ODBC Tipo 2, driver Java proprietario: librerie scritte in Java e in codice nativo; occorre installare delle librerire binarie dipendenti dalla piattaforma e in genere fornite dal produttore DBMS Tipo 3, pure Java middleware: c'è un server scritto in Java che converte le richieste di JDBC nel formato del DB in uso Tipo 4, driver nativo: driver Java che converte le richieste JDBC nel protocollo specifico del DB I package utilizzati sono java.sql e javax.sql Accesso ai dati Registare il driver JDBC Si deve conoscere l'url del DB (è usato un formato molto simile alle URL di internet) Si deve conoscere il nome delle classi java usate come driver Il percorso della libreria driver deve essere contenuto nel classpath corrente Si può creare un file database.properties in cui specificare vari parametri del DB Connettersi al DB Connection con = DriverManager.getConnection(url,username,password); Tramite la classe Properties è possibile caricare vari parametri dal file database.properties Definire una query SQL

21 Si definisce un oggetto Statement tramite l'oggetto Connection Si inviano comandi SQL tramite lo Statement, E' possibile preparare gli statement prima dell'esecuzione, per velocizzarla (utile per comandi eseguiti molte volte); per questo si usa l'oggetto PreparedStatement Si possono lasciare nella stringa dello statement dei parametri cui verrà assegnato un valore successivamente Gli statement distinguono il tipo di comando: Per eseguire query: stmt.executequery( SELECT..."); Per eseguire operazioni di aggiornamento (istruzioni DDL o UPDATE, INSERT, DELETE, CREATE ecc.): stmt.executeupdate( DROP TABLE... ) Processare i risultati Si manipolano i risultati di una query tramite l'oggetto ResultSet Permette di accere alle righe una per volta col metodo next(), ma ha anche metodi per accedere a righe con posizioni assolute o relative Possiede vari metodo get###() che permettono di accedere a singoli attributi ed effettuare il casting Ha metodi che servono per aggiornare i dati del database (possono essere disabilitati in fase di creazione dello statement) L'output di comandi che non siano una query è solo un intero (# tuple modificate) e non un ResultSet

22 Chiudere la connessione Connection.close(); E' possibile ricavare dei metadati sul db corrente tramite l'oggetto DatabaseMetaData, che può essere usato col database intero, con una singola tabella, con un ResultSet, ecc. Altro: metodo getwarnings() eccezioni ad hoc F. In bocca al lupo!

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

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

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

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni

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

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

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

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER

Prefazione Sistemi informativi e basi di dati Il modello relazionale Il modello ER Indice Prefazione XI 1 Sistemi informativi e basi di dati 1 1.1 La Gestione dell Informazione................... 1 1.1.1 Sistemi Informativi e Sistemi Informatici......... 1 1.2 Esempi di Sistemi Informativi...................

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

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

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

Definizione di domini

Definizione di domini Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain

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

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

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

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

Gestione delle tabelle

Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza

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

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

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

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

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

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

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

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

Volumi di riferimento

Volumi di riferimento Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di

Dettagli

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli di Integrità Approccio dichiarativo alla loro implementazione Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 8. Metadati, Viste e Trigger Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

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

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

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

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I

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

Vincoli di Integrità

Vincoli di Integrità Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico 2010-2011 Questi lucidi sono stati prodotti

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

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque? NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui

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

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

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

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

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

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

Introduzione JDBC interfaccia java.sql driver caricare i driver

Introduzione JDBC interfaccia java.sql driver caricare i driver J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene

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

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale Unione Europea Regione Sicilia Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI EDILIZIA ELETTRONICA e

Dettagli

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012

Sviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012 + Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali

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

Database e reti. Piero Gallo Pasquale Sirsi

Database e reti. Piero Gallo Pasquale Sirsi Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente

Dettagli

Lezione 9. Applicazioni tradizionali

Lezione 9. Applicazioni tradizionali Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere

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

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

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione di una base di dati Ufficio della Motorizzazione Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base

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

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

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

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

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Raffinamento dello schema e forme normali. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Raffinamento dello schema e forme normali 1 Forme Normali Le forme normali consentono di valutare la qualità delle relazione Sono state proposte diverse forme normali che includono, in ordine di generalità:

Dettagli

Lorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17

Lorenzo Braidi. Database design. Libro_datadesign.indb 1 23-11-2004 10:06:17 Lorenzo Braidi Database design Libro_datadesign.indb 1 23-11-2004 10:06:17 Sommario Introduzione...XI Capitolo 1 Le basi di dati relazionali... 1 Le basi di dati... 1 Un po di storia... 2 I database gerarchici...

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

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione

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

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

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia

Prova scritta del corso di Basi di dati attive 17 Dicembre 1999. Agenzia Prova scritta del corso di Basi di dati attive 17 Dicembre 1999 Si desidera automatizzare la gestione dei banchetti organizzati da un agenzia di pubbliche relazioni. Le specifiche del sistema informativo,

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione

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

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione

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

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

Architettura MVC-2: i JavaBeans

Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

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

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

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

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

2104 volume III Programmazione

2104 volume III Programmazione 2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

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

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

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

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( )

N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( ) Invia modulo Basi di Dati + Laboratorio INSEGNAMENTO 214-215 ANNO ACCADEMICO Informatica Triennale sede di Brindisi CORSO DI LAUREA IN Paolo Buono DOCENTE 2 1 ANNO DI CORSO SEMESTRE 7 N CREDITI LEZIONI

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

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

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

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

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

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker 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

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

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

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

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

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli