1 Vincoli Ci sono i vincoli predefiniti ( unique, primary key, not null, foreign key … ) In SQL2 si ha anche check check Condizione Serve per dare condizioni.

Slides:



Advertisements
Presentazioni simili
TIPI STANDARD DI SQL BOOLEAN Valori: vero, falso CHAR(n)
Advertisements

BASE DI DATI BIBLIOTECA PERSONALE
SQL applicato a SQL Server
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Sistemi per il recupero delle informazioni
1 Modello Relazionale : valori nulli Un valore nullo è diverso da ogni altro valore: t4[CODDOC]t5[CODDOC] nullMeccanicaC5 D2Analisi 1C2 D1Fisica 2C3 nullStoriaC6.
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
Progettazione ER Un database universitario contiene informazioni riguardanti i professori (identificati dal codice fiscale) e informazioni relative ai.
SQL Dati i seguenti schemi relazionali:
SQL Structured Query Language
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
Corso di Informatica (Basi di Dati)
Maurizio Lenzerini Domenico Lembo Laurea in Ingegneria Informatica - Università di Roma "La Sapienza" Corso di Basi di Dati - A.A. 2003/2004 Prima Esercitazione.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Basi di dati Università Degli Studi Parthenope di Napoli
SQL: Lezione 7 Nataliya Rassadko
SQL1 Modifica dei dati inserimento cancellazione modifica.
Esercitazione.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Progettazione di un database
ESERCIZIO N.1 ANALISI DEI REQUISITI Si vuole progettare un Data Base per una biblioteca personale che presti libri. La progettazione tiene conto di quanto.
PROGETTAZIONE CONCETTUALE DI UNA BIBLIOTECA PERSONALE
GESTIONE PRESTITI IN UNA BIBLIOTECA PERSONALE Tabella Amici: Id Amici: codice univoco degli Amici Nome Amici: insieme di tutti i nomi degli amici che accedono.
Progettazione di un database Angela Zingariello. P UNTO 1 S CHEMA ENTITÀ RELAZIONI Progettazione di una base di dati per la gestione dei prestiti di una.
SECONDO COMPITO: PRESENTAZIONE DI UN DATABASE
Progettazione di un DataBase. Dominio applicativo: biblioteca personale; Fine ultimo:ricavare le informazioni relative ai prestiti di libri effettuati.
STUDENTE: Arianna Carucci matricola
GESTIONE PRESTITI BIBLIOTECA PERSONALE AMICI m:n LIBRI PREMESSA: nella biblioteca personale non vi sono due copie dello stesso libro. In un istante t un.
Schema entità-relazioni 1 libro N prestiti 1 amico N prestiti 1 libro N scadenze N prestiti N scadenze.
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
sql: esempi di linguaggio sql nell'implementazione mysql
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
SQL.
LINGUAGGIO S Q L breve presentazione curata da Aldo Pappalepore
Si vuole automatizzare la gestione di una biblioteca personale. E’ necessario memorizzare le entità: 1. Amici 2. Libri Dominio Applicativo E’ rappresentato.
Gestione Biblioteca Giacomo Di Bartolomeo Matr CdL Economia E Management.
SQL (IV) Data Definition Language/ Data Manipulation Language.
Le query in SQL Unità didattica sviluppata per l’ITIS “A. Volta” – Classe 5 sez. I Ing Domenico Liguori - Università degli studi di Napoli “Federico.
Secondo Compito:Progettazione di un database Pinto Vincenzo.
Database Esercizi > Progettazione Fisica > SQL
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Algebra relazionale (III). Esempi di Interrogazioni: 3 Trovare matricola e nome dei capi i cui impiegati guadagnano tutti più di Tutti gli impiegati?
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Il linguaggio SQL.
SQL (III) Data Definition Language/ Data Manipulation Language.
Database: Personal Library 2°Compito Abilità Informatiche Av. Docente: Prof. A.Marengo Studente: Leonardo Ciriello Matr Università Degli Studi.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
DB Biblioteca giovedì 24 marzo : N ProprietarioLibri N Prestiti Amici N giovedì 24 marzo 2011.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Vincoli interrelazionali
Raggruppamenti e target list scorretta select padre, avg(f.reddito), p.reddito from persone f join paternita on figlio = nome join persone p on padre =
Approfondimenti SQL.
Basi di Dati e Sistemi Informativi Esercitazione: Il Linguaggio SQL (DDL+DML) Home page del corso:
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Esercizi SQL Group by. CREATE TABLE dipendente (codDip CHAR(8) NOT NULL UNIQUE PRIMARY KEY, cognome CHAR(60) NOT NULL, nome CHAR(60) NOT NULL, stipendio.
PROGETTAZIONE DATABASE SECONDO COMPITO CAROLINA CASIELLO
Creare tabelle in sql Ripasso!.
Transcript della presentazione:

1 Vincoli Ci sono i vincoli predefiniti ( unique, primary key, not null, foreign key … ) In SQL2 si ha anche check check Condizione Serve per dare condizioni di correttezza della BD ed è molto potente

2 Vincoli Esempio: create table Impiegato (Matr character(6) check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)), Cogn character(20) check (Cogn is not null and 2 > (select count(*) from Impiegato I where Nome = I.Nome and Cogn = I.Cogn)), Nome character(20) check (Nome is not null and 2 > (…)), Dip character(5) check (Dip in (select NomeD from Dipartimento)))

3 Vincoli Esempio: create table Impiegato (Matr character(6) check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)), Cogn character(20) check (Cogn is not null and 2 > (select count(*) from Impiegato I where Nome = I.Nome and Cogn = I.Cogn)), Nome character(20) check (Nome is not null and 2 > (…)), Dip character(5) check (Dip in (select NomeD from Dipartimento))) Vincolo di integrità Un solo impiegato con stesso nome/ cognome

4 Vincoli Esempio: create table Impiegati (Matr … primary key, Cogn … not null, Nome … not null, Dip … references Dipartimento(NomeD), unique(Cogn,Nome)) Così è più semplice (e più efficiente dal punto di vista dell’implementazione) ma check utile per vincoli complessi (per esempio, libro pagina 138)

5 Vincoli Proviamo aggiungere 2, Laura, Rubini alla tabella (dunque, Matr è 2): MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini Impiegato

6 Vincoli Crea una copia della tabella Impiegato I MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini

7 Vincoli Diciamo che “Matr=2”; controllare check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)) I MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini

8 Vincoli Diciamo che “Matr=2”; controllare check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)) I MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini 2 volte!

9 Vincoli Diciamo che “Matr=2”; controllare check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)) I MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini 2 volte!

10 Vincoli Diciamo che “Matr=2”; controllare check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)) I MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini 2 volte! 2 non è uguale a 1

11 Vincoli Diciamo che “Matr=2”; controllare check (Matr is not null and 1 = (select count(*) from Impiegato I where Matr = I.Matr)) I MatrNomeCognome 1MarioRossi 2FrancoVerde 3AndreaNero 4LucaBianco 2LauraRubini 2 volte! 2 non è uguale a 1 Vincolo non è soddisfato!!!