Vincoli di Integrità
|
|
- Pietro Manzi
- 8 anni fa
- Visualizzazioni
Transcript
1 Vincoli di Integrità Antonella Poggi Dipartimento di informatica e Sistemistica Sapienza Università di Roma Progetto di Applicazioni Software Anno accademico Questi lucidi sono stati prodotti sulla base del materiale preparato per il corso di Progetto di Basi di Dati da A. Calì e da D. Lembo.
2 Generalità I vincoli di integrità specificano proprietà dei dati I vincoli restringono l insieme delle istanze possibili su uno schema, allo scopo di riflettere meglio il dominio che i dati medesimi rappresentano Nella definizione di uno schema, occorre specificare tutti i vincoli che devono sussistere sulle istanze dello schema Occorre specificare vincoli di integrità: sullo schema concettuale sullo schema logico Antonella Poggi 1
3 Vincoli sullo schema concettuale Vincoli di identificazione Vincoli di cardinalità Vincoli esterni Antonella Poggi 2
4 Prima classificazione dei vincoli di integrità Sullo schema concettuale, possiamo classificare i vincoli a seconda che esprimano proprietà che devono essere soddisfatte da ogni stato, coppia di stati consecutivi, o insieme di stati dei dati: vincoli di stato: si riferiscono ad ogni stato dei dati vincoli di transizione di stato: si riferiscono a due stati consecutivi dei dati vincoli di sequenza di stati (temporali): si riferiscono a più di due stati (non necessariamente consecutivi) dei dati Antonella Poggi 3
5 Vincoli di stato Specificano delle proprietà statiche dei dati. Sia i vincoli di identificazione che i vincoli di cardinalità sono vincoli di stato. Si consideri il seguente schema ER. Antonella Poggi 4
6 Antonella Poggi 5
7 Esempi di vincoli esterni che possono essere classificati come vincoli di stato sono i seguenti. Il livello di un impiegato deve essere un intero tra 1 e 8. La somma dei salari di tutti gli impiegati non può superare un tetto M. Antonella Poggi 6
8 Vincoli di transizione di stato Questi vincoli riguardono due stati consecutivi dei dati. Facendo riferimento alla precedente entità Impiegato, esempi di vincoli esterni che possono essere classificati di transizione di stato sono i seguenti: Il salario di un impiegato non può essere incrementato di più del 5 per cento con una singola operazione di aggiornamento. Il salario medio non può essere incrementato di più del 5 per cento con una singola operazione di aggiornamento. Un impiegato può diventare un pensionato ma non viceversa. Antonella Poggi 7
9 Vincoli temporali Questi vincoli riguardono un insieme di più di due stati non necessariamente consecutivi. Ad esempio (facendo sempre riferimento allo scenario precedente), vincoli esterni che possono essere classificati come vincoli temporali: Una volta che un impiegato è stato licenziato da un dipartimento, non può più essere impiegato in quel dipartimento. Il salario medio di un impiegato non può incrementare di oltre il 10% in meno di 10 operazioni di aggiornamento. Prima di diventare pensionato, un impiegato deve aver assunto almeno 3 diversi livelli di impiego. Antonella Poggi 8
10 Vincoli sullo schema logico Nel passaggio dallo schema concettuale allo schema logico, i vincoli sono anch essi tradotti in vincoli espressi in termini dello schema logico (i.e., relazionale). Lo schema relazionale risultante dalla traduzione è quindi corredato da un insieme di vincoli: vincoli di chiave (primaria e no) - risultanti, per esempio, dalla traduzione dei vincoli di identificazione o da cardinalità massime pari a 1 (i.e., funzionalità); attributi obbligatori - risultanti dalla traduzione dei vincoli di cardinalità minima pari a 1; vincoli di chiave esterna (foreign key) - risultanti, per esempio, da tipizzazione di relazioni, da vincoli esterni Antonella Poggi 9
11 introdotti sull ER dopo ristrutturazione delle ISA, o da decomposizioni di tabelle nella fase di ristrutturazione del logico; vincoli di inclusione - risultanti, per esempio, dalla traduzione di vincoli di cardinalità minima pari a 1 sulle relazioni; vincoli di disgiuntezza - risultanti, per esempio, dalla traduzione di generalizzazioni; vincoli di completezza - risultanti, per esempio, dalla traduzione di generalizzazioni complete; altri vincoli esterni - risultanti dalla traduzione di vincoli esterni espressi sull ER. Antonella Poggi 10
12 Ulteriore classificazione dei vincoli di integrità Sullo schema logico, è possibile classificare i vincoli, oltre che secondo il criterio precedente, a seconda che esprimano proprietà che devono essere soddisfatte da ogni tupla, tabella o insieme di tabelle: vincoli di tupla (riga): si riferiscono alle singole righe di una tabella vincoli di tabella: si riferiscono all insieme delle righe di una tabella vincoli inter-tabella: sono i più generali, e si riferiscono a più di una tabella Antonella Poggi 11
13 Vincoli di tupla Specificano delle proprietà che devono essere soddisfatte da ogni singola tupla di una tabella. I vincoli di attributi obbligatori sono vincoli di tupla. Siano ora Impiegato, Dipartimento e Pensionato le tabelle dello schema logico derivanti dalla traduzione della porzione dello schema ER vista in precedenza (sono state accorpate nella tabella Impiegato sia la ER-relazione lavora che la ISA derivante dalla generalizzazione). La tabella Impiegato ha attributi Codice, Nome, Cognome, Livello, Salario, Dipartimento. I seguenti vincoli, derivanti anch essi dalla traduzione dei vincoli sull ER, sono ulteriori esempi di vincoli di tupla: Antonella Poggi 12
14 Il livello di un impiegato deve essere un intero tra 1 e 8. Il salario di un impiegato non può essere incrementato di più del 5 per cento con una singola operazione di aggiornamento. Una volta che un impiegato è stato licenziato da un dipartimento, non può più essere impiegato in quel dipartimento. Antonella Poggi 13
15 Vincoli di tabella Specificano delle proprietà che devono essere soddisfatte dall insieme delle tuple di una tabella. I vincoli di chiave sono vincoli di tabella. Facendo riferimento alla tabella Impiegato, esempi di vincoli di tabella sono: La somma dei salari di tutti gli impiegati non può superare un tetto M. Il salario medio non può essere incrementato di più del 5 per cento con una singola operazione di aggiornamento Il salario medio di un impiegato non può incrementare di oltre il 10% in meno di 10 operazioni di aggiornamento. Antonella Poggi 14
16 Vincoli inter-tabella Specificano delle proprietà che devono essere soddisfatte dalle tuple di un insieme di tabelle. I vincoli di chiave esterna e di inclusione sono vincoli inter-tabella. Un impiegato può diventare un pensionato ma non viceversa. Prima di diventare pensionato, un impiegato deve aver assunto almeno 3 diversi livelli di impiego. Antonella Poggi 15
17 Specifica dei vincoli È opportuno che i vincoli siano specificati in modo dichiarativo, e cioè facendo riferimento a proprietà dei dati, e non a operazioni che consentano il soddisfacimento di dette proprietà. Si può usare una descrizione precisa in linguaggio naturale, oppure formalismi ad-hoc ad es., Object Constraint Language - OCL di UML I vincoli devono essere decomposti in vincoli elementari, in modo che possano essere facilmente implementati (come vedremo più avanti) Antonella Poggi 16
18 Consistenza dei vincoli Un insieme di vincoli si dice consistente se esiste almeno un istanza dello schema che li verifica tutti. In molti casi non è difficile definire vincoli non consistenti. Antonella Poggi 17
19 Ridondanza Un insieme di vincoli si dice ridondante se esiste in esso almeno un vincolo che implica un altro. È opportuno che non ci sia ridondanza nei vincoli definiti su uno schema. Antonella Poggi 18
20 Implementazione dei vincoli Implementare i vincoli significa assicurare che i dati si trovino sempre in uno stato consistente rispetto ai vincoli. In linea di principio, i vincoli devono essere implementati al livello di gestione dei dati (tramite gli strumenti del DBMS), affinché siano soddisfatti indipendentemente dalla modalità con cui si fa loro accesso. Quando, per scelta o a causa di limiti del DBMS, alcuni vincoli non sono implementati sulla base di dati, è necessario documentare in maniera adeguata la base di dati e delegare l implementazione dei suddetti vincoli alle applicazioni che accedono alla stessa. Antonella Poggi 19
21 Vincoli di integrità nel linguaggio SQL Per dichiarare vincoli di integrità possiamo usare i seguenti costrutti SQL: Costrutto NOT NULL : permette di definire attributi obbligatori Costrutto UNIQUE: permette di definire uno o più attributi che identificano la tupla Costrutto PRIMARY KEY: permette di definire uno o più attributi che formano una chiave primaria (implica NOT NULL) Costrutto FOREIGN KEY (REFERENCES): permette di definire chiavi esterne Costrutto CHECK: permette di definire vincoli generici intra-tabella Antonella Poggi 20
22 Costrutto CREATE ASSERTION: permette di definire vincoli generici inter-tabella Tranne CREATE ASSERTION, gli altri costrutti sono usati all interno dei comandi CREATE TABLE e ALTER TABLE. Antonella Poggi 21
23 I costrutti NOT NULL, UNIQUE e PRIMARY KEY (esempio) CREATE TABLE IMPIEGATO ( CODICE INT, NOME VARCHAR(20) NOT NULL, COGNOME VARCHAR(20) NOT NULL, LIVELLO INT NOT NULL, SALARIO INT NOT NULL, DIPARTIMENTO INT NOT NULL, PRIMARY KEY (CODICE, DIPARTIMENTO), UNIQUE (NOME, COGNOME) ); Antonella Poggi 22
24 Il costrutto FOREIGN KEY Consente di esprimere un vincolo di integrità referenziale (ad es., R 1 [A] R 2 [B], con B chiave di R 2 ) B può essere chiave primaria (PRIMARY KEY) o secondaria (UNIQUE) a partire da SQL99 consente di definire una politica di reazione alle modifiche (cancellazioni ed aggiornamenti) dei dati contenuti nella tabella esterna (R 2 ) che possono portare alla violazione del vincolo Antonella Poggi 23
25 Il costrutto FOREIGN KEY (cont.) per le cancellazioni si fa uso della clausola ON DELETE [CASCADE SET NULL SET DEFAULT NO ACTION RESTRICT] a fronte della cancellazione di una tupla nella tabella esterna, tutte le righe della tabella interna che referenziano la tupla cancellata vengono eliminate (opzione CASCADE), poste a NULL (SET NULL), poste al valore di default (SET DEFAULT). Con l opzione RESTRICT, se il vincolo risulta violato, si impedisce la cancellazione. Antonella Poggi 24
26 L opzione NO ACTION Le opzioni NO ACTION e RESTRICT sono tra loro molto simili. Infatti, se la verifica del vincolo fallisce, sia in caso di utilizzo dell opzione NO ACTION che in caso di utilizzo di RESTRICT, l operazione porta ad un errore. La principale differenza tra le due è che con l opzione NO ACTION, la verifica del vincolo di integrità è fatta dopo aver tentato di modificare la tabella esterna, mentre con l opzione RESTRICT la verifica è fatta prima di tentare l esecuzione del DELETE. Antonella Poggi 25
27 Il costrutto FOREIGN KEY (cont.) per gli aggiornamenti si fa uso della clausola ON UPDATE [CASCADE SET NULL SET DEFAULT NO ACTION RESTRICT] a fronte dell aggiornamento della chiave della tabella esterna, all attributo delle corrispondenti tuple della tabella interna viene assegnato lo stesso nuovo valore (CASCADE), il valore NULL (SET NULL) oppure il valore di default (SET DEFAULT). Con l opzione RESTRICT si impedisce l aggiornamento. L opzione NO ACTION ha la stessa semantica descritta per le cancellazioni. Antonella Poggi 26
28 Il costrutto FOREIGN KEY (esempio) CREATE TABLE IMPIEGATO ( CODICE INT, NOME VARCHAR(20) NOT NULL, COGNOME VARCHAR(20) NOT NULL, LIVELLO INT NOT NULL, SALARIO INT NOT NULL, DIPARTIMENTO INT NOT NULL REFERENCES DIPARTIMENTO (COD_DIP) ON DELETE SET NULL ON UPDATE CASCADE, PRIMARY KEY (CODICE, DIPARTIMENTO), UNIQUE (NOME, COGNOME) ); Antonella Poggi 27
29 Il costrutto DEFAULT Nei casi in cui per specificare la reazione ad una cancellazione o ad una modifica si ricorre alla clausola SET DEFAULT, è necessario che sia previsto un valore di default da assegnare all attributo che eventualmente rimane appeso. Nell istruzione CREATE TABLE si usa la seguente sintassi: <Nome Colonna> <tipo SQL> DEFAULT <expression> Quando si definisce un valore di default per una colonna, tale valore viene assegnato quando si inserisce una tupla senza specificare alcun valore per l attributo in oggetto Antonella Poggi 28
30 Il costrutto DEFAULT (esempio) CREATE TABLE IMPIEGATO ( CODICE INT, NOME VARCHAR(20) NOT NULL, COGNOME VARCHAR(20) NOT NULL, LIVELLO INT DEFAULT 1 NOT NULL, SALARIO INT NOT NULL, DIPARTIMENTO INT NOT NULL REFERENCES DIPARTIMENTO (COD_DIP) ON DELETE SET NULL ON UPDATE CASCADE, PRIMARY KEY (CODICE, DIPARTIMENTO), UNIQUE (NOME, COGNOME) ); Antonella Poggi 29
31 Il costrutto CHECK Consente di esprimere vincoli di integrità complessi su una sola tabella: CHECK (<condizione>) dove <condizione> è una qualsiasi condizione che può comparire all interno di una clausola WHERE (incluse quelle che fanno uso di sub-query) Consente di implementare vincoli a livello di tupla (ad esempio, SALARIO >= 0) e di tabella (in genere tramite sub-query con operatori aggregati). Antonella Poggi 30
32 Esempio CREATE TABLE IMPIEGATO ( CODICE INT, NOME VARCHAR(20) NOT NULL, COGNOME VARCHAR(20) NOT NULL, LIVELLO INT DEFAULT 1 NOT NULL CHECK (LIVELLO <= 8 AND LIVELLO >=1), SALARIO INT NOT NULL CHECK (SALARIO >=0), DIPARTIMENTO INT NOT NULL REFERENCES DIPARTIMENTO (COD_DIP), PRIMARY KEY (CODICE, DIPARTIMENTO), UNIQUE (NOME, COGNOME), CHECK (50 > (SELECT AVG(SALARIO) FROM IMPIEGATO)) ); Antonella Poggi 31
33 Il comando ALTER TABLE In alternativa alla sintassi descritta fin qui per definire vincoli, si può usare il comando ALTER TABLE: ALTER TABLE <Nome tabella> ADD <{PRIMARY KEY FOREIGN KEY UNIQUE CHECK}> Tale comando è utile per realizzare vincoli di integrit referenziali ciclici: per far sì che R 1 referenzi R 2 ed R 2 referenzi R 1 si può definire prima R 1 senza vincolo di foreign key (altrimenti si dovrebbe far riferimento ad R2 che non è stata ancora definita), poi R 2 con il vincolo di foreign key verso R 1, ed infine aggiungere il vincolo di foreign key ad R 1 con il comando ALTER TABLE Antonella Poggi 32
34 Il costrutto ASSERTION Per i vincoli inter-tabella, il costrutto CREATE ASSERTION permette di definire vincoli a livello di schema: CREATE ASSERTION <NomeAss> CHECK (<condizione>); Antonella Poggi 33
35 Esempio (vincolo di inclusione) vincolo: Ogni impiegato risiede in almeno una città (supponiamo che esista una tabella RISIEDE IN(IMPIEGATO,CITTA), con chiave su entrambe le colonne) CREATE ASSERTION impiegato_risiede CHECK (NOT EXISTS (SELECT * FROM IMPIEGATO WHERE CODICE NOT IN (SELECT IMPIEGATO FROM RISIEDE_IN) ); Antonella Poggi 34
36 Assegnare nomi espliciti a vincoli in SQL Tutti i vincoli di integrità (tranne i vincoli sugli attributi obbligatori) hanno un nome unico all interno di uno schema. Se il nome non è specificato esplicitamente, viene assegnato dal sistema secondo una modalità dipendente dall implementazione. Esplicitare il nome di un vincolo può essere conveniente, per esempio, quando si prevede la necessità di eliminare il vincolo stesso (con l istruzione DROP CONSTRAINT <Nome Vincolo>) Antonella Poggi 35
37 Per esplicitare il nome di un vincolo: nell istruzione CREATE TABLE, si usa la sintassi CONSTRAINT <NomeVincolo> [ PRIMARY KEY UNIQUE FOREIGN KEY CHECK ]; nell istruzione ALTER TABLE, si usa la sintassi ADD CONSTRAINT <NomeVincolo> [ {PRIMARY KEY UNIQUE FOREIGN KEY CHECK} ]; Antonella Poggi 36
38 CREATE TABLE IMPIEGATO ( NOME VARCHAR(20) NOT NULL, COGNOME VARCHAR(20) NOT NULL, LIVELLO INT CHECK (LIVELLO <= 8 AND LIVELLO >=1), SALARIO INT CHECK (SALARIO >=0), DIPARTIMENTO INT, CONSTRAINT imp_fk FOREIGN KEY (DIPARTIMENTO) REFERENCES DIPARTIMENTO(COD_DIP), CONSTRAINT imp_pk PRIMARY KEY (CODICE, DIPARTIMENTO), CONSTRAINT imp_k UNIQUE (NOME, COGNOME), CONSTRAINT imp_max CHECK (50 > (SELECT AVG(SALARIO) FROM IMPIEGATO)) ); Antonella Poggi 37
39 Modalità di verifica di vincoli Ogni vincolo è caratterizzato da una modalità di verifica (checking mode), che determina il momento in cui il vincolo viene verificato: nel caso in cui la modalità sia IMMEDIATE il vincolo è controllato dopo l esecuzione di ogni comando SQL; se la modalità è DEFERRED il vincolo è verificato solo al termine della transazione corrente La modalità deferred può essere applicata solo ai vincoli che, al momento della loro creazione, sono stati definiti DEFERRABLE (N.B. Se non si specifica nulla, un vincolo viene implicitamente definito come NON DEFERRABLE). Se un vincolo è inizialmente definito DEFERRABLE, allora si deve specificare la sua modalità di verifica iniziale: Antonella Poggi 38
40 CONSTRAINT <NomeVincolo> [ PRIMARY KEY UNIQUE FOREIGN KEY CHECK ] [DEFERRABLE INITIALLY IMMEDIATE INITIALLY DEFERRED NON DEFERRABLE]; per modificare la modalità di verifica di un vincolo inizialmente definito DEFERRABLE, si usa la sintassi: SET CONSTRAINT <NomeVincolo> [DEFERRED IMMEDIATE]; Antonella Poggi 39
41 Esempio CREATE TABLE IMPIEGATO ( CODICE INT, NOME VARCHAR(20), COGNOME VARCHAR(20), LIVELLO INT CHECK (LIVELLO <= 8 AND LIVELLO >=1), SALARIO INT CHECK (SALARIO >=0), DIPARTIMENTO INT, PRIMARY KEY (CODICE, DIPARTIMENTO), UNIQUE (NOME, COGNOME), CHECK (50 > (SELECT AVG(SALARIO) FROM IMPIEGATO)) CONSTRAINT imp_fk FOREIGN KEY (DIPARTIMENTO) REFERENCES DIPARTIMENTO(COD_DIP) DEFERRABLE INITIALLY IMMEDIATE ); SET CONSTRAINT imp_fk DEFERRED; Antonella Poggi 40
42 MySQL vs. Standard SQL per l implementazione di vincoli MySQL consente di usare: Costrutto PRIMARY KEY Costrutto UNIQUE Costrutto FOREIGN KEY Costrutto NOT NULL Costrutto DEFAULT Non è possibile utilizzare il costrutto CHECK (questo impedisce la definizione dichiarativa di molti vincoli fra cui inclusione, completezza e disgiuntezza). Antonella Poggi 41
43 Un alternativa al costrutto CHECK Nei casi in cui si voglia forzare il valore di alcuni campi ad appartenere da un determinato insieme finito, è possibile usare un tipo enumerato ENUM. CREATE TABLE PERSONA( NOME VARCHAR(20), COGNOME VARCHAR(20), ETA INT, SESSO ENUM ( M, F ) ); In questo esempio, posso inserire tuple che abbiano nel campo SESSO esclusivamente i valori M, F, m, f. Antonella Poggi 42
44 MySQL ed il costrutto foreign key È possibile specificare le clausole ON {DELETE UPDATE} [{ CASCADE SET NULL RESTRICT NO ACTION}] Il comportamento di default è RESTRICT) L opzione NO ACTION si comporta in maniera analoga (differentemente dallo standard SQL) L opzione SET DEFAULT non è supportata Non è supportato l uso della clausola DEFERRABBLE tutti i vincoli sono verificati dopo l esecuzione di ogni comando SQL! Antonella Poggi 43
45 Esempio Contratto(cod fiscale, tipo, importo) PartitaIVA(cod fiscale, numero) Vincolo di chiave esterna: PartitaIVA[cod fiscale] Contratto[cod fiscale] (foreign key) Vincoli esterni: 1. Contratto[tipo] {C,P} i.e., ogni contratto deve essere di tipo C o P ( CoCoCo o Prestazione Professionale ) 2. Contratto[importo] i.e., l importo di un contratto deve essere al più pari a Antonella Poggi 44
46 3. cf,t,i,n Contratto(cf,t,i), PartitaIVA(cf,n) t= P i.e., tutte le tuple di Contratto che riguardano soggetti con partita IVA corrispondono a prestazioni professionali 4. cf,i Contratto(cf, P, i) n PartitaIVA(cf,n) i.e. tutte le tuple di Contratto che corrispondono a prestazioni professonali riguardano soggetti che hanno partita IVA Antonella Poggi 45
47 Implementazione dei vincoli 1. PartitaIVA[cod fiscale] Contratto[cod fiscale] Vincolo di stato / Vincolo inter-tabella Vincolo di foreign key: è necessario fare un attenta analisi del dominio per definire come reagire agli inserimenti nella tabella PartitaIVA: una soluzione semplice ed in questo caso soddisfacente è quella di delegarne la gestione al costrutto FOREIGN KEY un inserimento va a buon fine se esiste un contratto relativo al soggetto gli aggiornamenti/cancellazioni nelle tabelle Contratto/PartitaIVA: e.g. utilizzando le opzioni ON DELETE CASCADE, ON UPDATE CASCADE Antonella Poggi 46
48 2. Contratto[tipo] {C,P} Vincolo di stato / Vincolo di tupla Implementato tramite un tipo enumerato (costrutto ENUM). Antonella Poggi 47
49 Creazione tabelle codice SQL create table CONTRATTO( cod_fiscale CHAR(16) primary key, tipo ENUM ( I, P ) NOT NULL, importo INT NOT NULL ); create table PARTITAIVA( cod_fiscale CHAR(16) primary key, numero varchar(20) NOT NULL UNIQUE ); alter table PARTITAIVA add constraint fk_partitaiva foreign key (cod_fiscale) references CONTRATTO(cod_fiscale) on delete cascade on update cascade; Antonella Poggi 48
50 Implementazione dei vincoli (Cont.) 3. Contratto[importo] Vincolo di stato / Vincolo di tupla 4. cf,t,i,n Contratto(cf,t,i), PartitaIVA(cf,n) t= P Vincolo di stato / Vincolo inter-tabella 5. cf,i Contratto(cf, P, i) n PartitaIVA(cf,n) Vincolo di stato / Vincolo inter-tabella I vincoli 3,4 e 5 non si possono implementare seguendo un approccio dichiarativo! Antonella Poggi 49
51 Quando un vincolo non può essere implementato in maniera dichiarativa, ovvero non si ha a disposizione alcun costrutto SQL che ne gestisca il soddisfacimento ad ogni inserimento/aggiornamento/cancellazione nelle tabelle coinvolte, è necessario fare un analisi accurata del da farsi in corrispondenza delle operazioni critiche, e definire apposite politiche di reazione. Vedremo più avanti come implementarli con un approccio procedurale... Antonella Poggi 50
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
DettagliBasi 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,
DettagliDefinizione 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
DettagliGiovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema
Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO
DettagliDDL, 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
DettagliGestione 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
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle
DettagliLinguaggio 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
DettagliCorso 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
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliOrganizzazione 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
DettagliIl 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
DettagliSQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
DettagliInsegnamento 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
DettagliTriggers. 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
DettagliSQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
DettagliCorso di Laboratorio di Basi di Dati
Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs
DettagliCorso di Basi di Dati A.A. 2014/2015
Corso di Laurea in Ingegneria Gestionale Sapienza - Università di Roma Corso di Basi di Dati A.A. 2014/2015 Esercitazione su Progettazione Logica Tiziana Catarci, Andrea Marrella Ultimo aggiornamento :
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici
Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato
DettagliSQL - Tipi di dato Il linguaggio SQL
SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi
DettagliBasi 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
DettagliSQL Sintassi Dei Comandi
SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la
DettagliBasi di Dati e Sistemi Informativi. Structured Query Language
Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio
DettagliVolumi 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
DettagliSISTEMI 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
DettagliDBMS (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
DettagliDomini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5
Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit
DettagliPROGRAMMA 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
DettagliLezione 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)
DettagliBasi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a un sito di affitto
DettagliProgettazione 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
DettagliDatabase. 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
DettagliCapitolo 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
DettagliBASI 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à
DettagliIl linguaggio SQL: DDL di base
Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,
DettagliIl 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
DettagliBASE 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
DettagliModello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli
Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli gerarchico e reticolare sono più vicini alle strutture
DettagliProgettaz. 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
DettagliIl Modello Relazionale
Il Modello Relazionale Basi di dati 1 Il Modello Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il Modello Relazionale Basi di dati 2 Introduzione Il modello
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 I lucidi del corso sono stati prodotti
DettagliIL DAT A B A S E DI ALGE B R A N D O
IL DAT A B A S E DI ALGE B R A N D O Un progetto di: Davide Valeriani Matricola 190883 davide.valeriani@studenti.unipr.it Corso di laurea in Ingegneria Informatica Esame di Basi di Dati A Prof. Stefano
DettagliLo 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
DettagliIl linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliInformatica (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.
DettagliModellazione dei dati in UML
Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliBasi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL
Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare
DettagliVincoli di Integrità
Vincoli di Integrità Approccio procedurale Antonella Poggi Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi
DettagliSi formulino le seguenti interrogazioni tramite il linguaggio SQL:
Informatica per le Scienze Umane - Corso di Laurea in Lettere Appello del 15.01.2009 - Docente: Massimo Coppola Modello Relazionale e SQL Si consideri la seguente base di dati relativa alla redazione di
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliIntroduzione 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
DettagliMODELLO RELAZIONALE. cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE
MODELLO RELAZIONALE Definizione di relazione Schema e istanza Chiave Valori nulli Predicati e vincoli di integrità Vincolo di integrità referenziale cesarini-bdsi mod relazionale 1 MODELLO RELAZIONALE
DettagliESAME di INFORMATICA e ARCHIVIAZIONE
UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 28 settembre 2011 1 Progettazione
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
DettagliINDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:
Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliIl 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
DettagliBasi di dati 9 febbraio 2010 Compito A
Basi di dati 9 febbraio 2010 Compito A Domanda 0 (5%) Leggere e rispettare le seguenti regole: Scrivere nome, cognome, matricola (se nota), corso di studio e lettera del compito (ad esempio, A) sui fogli
DettagliLinguaggio SQL. Structured Query Language
Linguaggio SQL Structured Query Language Creato negli anni 70 presso IBM Inizialmente solo linguaggio di interrogazione Ora linguaggio di riferimento per DB relazionali Standardizzato grazie al lavoro
DettagliTelerilevamento 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
DettagliI casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.
UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d
DettagliLezione 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
DettagliEsercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione
Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore DDL e progettazione Testi degli esercizi Esercizio 1 (Tema d esame del 20 settembre 2012 Si consideri il seguente schema di base di dati che vuole tenere
DettagliOperazioni 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
DettagliArchivi 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
DettagliProgettazione Logica. Progettazione Logica
Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Tabelle per ogni concetto Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Passaggio al modello logico (1)
DettagliTEORIA 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
Dettagli11 - Progettazione Logica
Corso di Laurea in Ingegneria Gestionale SAPIENZA Università di Roma Esercitazioni del corso di Basi di Dati Prof.ssa Catarci e Prof.ssa Scannapieco Anno Accademico 2011/2012 11 - Progettazione Logica
Dettagli2104 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
DettagliAttributi 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à
DettagliBasi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011
Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse
Dettagli1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.
Esame di Stato Istituto Tecnico Industriale Proposta di soluzione della seconda prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2003-2004 1. Schema concettuale della base di dati Lo schema
Dettagli70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:
DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente
DettagliSecondo Compitino di Basi di Dati
Secondo Compitino di Basi di Dati 10 Giugno 2004 NOME: COGNOME: MATRICOLA: Esercizio Punti previsti 1 18 2 12 3 3 Totale 33 Punti assegnati Esercizio 1 (Punti 18) Si vuole realizzare un applicazione per
DettagliI 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
DettagliSchema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini
Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini Dipartimento di Scienze Ambientali, Informatica e Statistica Università Ca Foscari Venezia La base di dati del
DettagliDecomposizione 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 è
DettagliArtifact Centric Business Processes (I)
Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di
DettagliElena Baralis 2013 Politecnico di Torino 1
Modello relazionale Docente M2170 Fondamenti di informatica Verdi M4880 Sistemi di elaborazione Bianchi F0410 Basi di dati Neri Docenti Nome Dipartimento Telefono Verdi Informatica 123456 Bianchi Elettronica
Dettaglidatabase: 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
DettagliMODELLO 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)
DettagliBasi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative a pubblicazioni su riviste
DettagliAccess. 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
DettagliSiti 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
DettagliI comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER
Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella
DettagliI database. Cosa sono e a cosa servono i Database
I database Estratto dal Modulo 1 - I database Prof. Piero GALLO 1 Cosa sono e a cosa servono i Database Un database(o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di
DettagliVincoli e Triggers. Vincoli. Tipo di vincoli. Chiavi esterne
Vincoli Chiavi esterne Vincoli locali e globali Triggers Leggere capitolo 7 di Garcia- Molina et al. Vincoli e Triggers Un vincolo e una relazione tra dati che il DBMS deve assicurare. Esempio: vincoli
DettagliModello 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)
DettagliBasi di Dati Corso di Laura in Informatica Umanistica
Basi di Dati Corso di Laura in Informatica Umanistica Appello del 10/09/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione
DettagliCapitolo 7. Esercizio 7.1
Capitolo 7 Esercizio 7.1 Dato lo schema relazionale: IMPIEGATO (Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) Definire le seguenti regole attive in Oracle e DB2: 1. una regola, che quando il
DettagliProgetto Logos - Documentazione -
Progetto Logos - Documentazione - Marco Benvegnù Gianluca Marcante Simone Sanavio Roberto De Franceschi PM) Corso di Basi di Dati Corso di Laurea in Ingegneria Informatica A.A. 2002/2003 Progetto Logos
DettagliDispensa 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
DettagliIL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI
IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale
DettagliInformatica 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à
DettagliDatabase. 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
DettagliDATABASE 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.
DettagliBasi 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
DettagliSQL. Alcune note sulla definizione dei dati
SQL Alcune note sulla definizione dei dati Domini Domini elementari (predefiniti) Domini definiti dall'utente (riutilizzabili, possono servire per specificare vincoli di dominio propri di una certa applicazione)
Dettagli