ESERCITAZIONE: Fornitore-Fornisce-Articolo

Documenti analoghi
Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Basi di dati: appello 14/07/06

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

OBIETTIVI DELL'ESERCITAZIONE

Basi di Dati Corso di Laura in Informatica Umanistica

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

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

Principi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento

GESTIONE ASSICURAZIONI AUTO

Laboratorio di Basi di Dati

GESTIONE ABBONAMENTI RIVISTE

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Prova del 14/09/09. Considerare la seguente descrizione di un campeggio:

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Soluzione esercitazione 01

2011 Politecnico di Torino 1

Dichiarazione degli schemi in SQL DDL 1

ESAME di INFORMATICA e ARCHIVIAZIONE

Fondamenti di Informatica 2

Caratteristiche dei linguaggi per Database

Basi di dati: appello 04/07/06

SIMULAZIONE DI PROVA SCRITTA ESAME DI STATO DI ISTITUTO TECNICO 2014/15. Indirizzo: INFORMATICA E TELECOMUNICAZIONI (Nuovo ordinamento)

Definizione di domini

Lezione 4. Dallo schema ER al relazionale

Basi di Dati e Sistemi Informativi. Structured Query Language

Interrogazioni nidificate

GESTIONE ABBONAMENTI RIVISTE

SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA. Giselda De Vita 2015

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

ESERCITAZIONI: II PROVA SCRITTA DI INFORMATICA

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

SQL Sintassi Dei Comandi

PROGETTAZIONE DI DATABASE Linguaggio SQL

Linguaggio SQL. Structured Query Language

Basi di dati: appello 07/02/06

Basi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6

Gestione NARRATIVA del 900

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

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

Concettuale. Giuseppe Amato

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Elena Baralis 2007 Politecnico di Torino 1

SQL Laboratorio di Basi di Dati a.a. 2002/2003

SQL - Structured Query Language

Sommario. Introduzione... 13

SCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query.

PROGRAMMA DI CLASSE 5AI

Linguaggi Formali. Π nome (Π nome,c.f. (correttore c.f=c.f._correttore σ n_capitolo=5 bozza

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

M963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Vincoli di Integrità


Basi di dati: appello 28/02/06

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009

Il linguaggio SQL: autorizzazioni

Soluzione traccia Informatica simulazione d esame di Stato Istituto GAUSS. 15/04/2013

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a

ESERCIZI SQL. Esercizio 1

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

LA PROGETTAZIONE LOGICA

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

DATABASE PER IL WEB. Programmazione Web 1

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a

SQl come DML: Esercitazione

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Manuale SQL. Manuale SQL - 1 -

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Basi di Dati Relazionali

Interrogazioni nidificate

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

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Corso di Laboratorio di Basi di Dati

Unità 2.2 Comandi sulle tabelle

Uno dei principali motivi del successo delle basi di dati: è diventato uno standard

Interrogazioni in SQL

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

SQL (STRUCTURED QUERY LANGUAGE)

Corso sul linguaggio SQL

StudiodiunCaso. Roberto Basili,

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

ESERCITAZIONI ACCESS

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Basi di dati: appello 08/03/06

Volumi di riferimento

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

Transcript:

ESERCITAZIONE: Fornitore--Articolo PROGETTAZIONE CONCETTUALE Sia dato il diagramma ER rappresentativo di una certa realtà di interesse Cognome CodF Nome DataN CodA Descrizione Prezzo Fornitore N N E Fornito Articolo Vincoli di integrità IMPLICITI dovuti a chiave primaria: CodF che risulta PK sull entità Fornitore CodA che risulta PK sull entità Articolo Vincoli di integrità IMPLICITI dovuti alla totalità delle associazioni: nessuno Vincoli di integrità ESPLICITI V1: Articolo.Prezzo >= 5.00) AND Articolo.Prezzo <= 1000.00)) V2:.Qta = 1) OR.Qta = 2) OR.Qta = 3)) V3: Fornitore.DataN > 01-01-1960 ) V4: Fornitore.DataN <.DataF) PROGETTAZIONE LOGICO RELAZIONALE a) Applicando le regole di derivazione o mapping all associazione tra le entità Fornitore ed Articolo di molteplicità N:N si ricava il seguente schema relazionale: Fornitore CodF, Cognome, Nome, DataN) Articolo CodA, Categoria, Descrizione, Prezzo) CodF1, CodA1, DataF, Qta) DataF con l attributo CodF1 FK sull attributo CodF della relazione Fornitore con l attributo CodA1 FK sull attributo CodA della relazione Articolo Qta VR CodF1 ) VR CodF Fornitore) VR derivati dal mapping di una generica associazione VR CodA1 ) VR CodA Articolo) di molteplicità N:N che indicano la presenza delle due FK b) Mapping relazionale dei vincoli Vincoli di integrità impliciti dovuti a chiave primaria Vincoli di integrità impliciti dovuti a totalità di associazioni vincoli di integrità intrarelazionali o interni su più n-ple vincoli di integrità interrelazionali o esterni referenziali V1.) V1 Articolo): Articolo.Prezzo <= 10.00) AND Articolo.Prezzo <= 1000.00)) V2.) V2 ):.Qta = 1) OR.Qta = 2) OR.Qta = 3)) V3.) V3 Fornitore): Fornitore.DataN > 01-01-1960 ) V4.) V4 Fornitore, ): Fornitore.DataN <.DataF) Vincolo interrelazionaleo esterno non referenziale A questi vanno aggiunti i VR interrelazionali o esterni referenziali creati dal mapping di una generica associazione di molteplicità N:N pag. 1 di 5

DEFINIZIONE DELLE RELAZIONI DELLA BASE DATI IN LINGUAGGIO SQL Premessa: Supponiamo che il DBA Database Administrator) o altro utente con medesimi privilegi abbia creato un utente dotato di password che possegga tutti i principali permessi CREATE, DROP, ALTER, SELECT, INSERT, UPDATE, DELETE,etc.) su tutte le tabelle del database in questione. Esempio: GRANT ALL ON Fornitura.* TO utente @ server IDENTIFIED BY password ; Supponiamo quindi che tale utente abbia eseguito il login ed effettui le seguenti query in modo interattivo o utilizzando la modalità embedded. CREATE DATABASE Fornitura; USE Fornitura; CREATE TABLE Fornitore CodF VARCHAR10) NOT NULL, Cognome VARCHAR30) NOT NULL, Nome VARCHAR30) NOT NULL, DataN DATE NOT NULL, PRIMARY KEY CodF), CHECK DataN > 1960-01-01 ) ) Engine InnoDB DEFAULT CHARSET=utf8; CREATE TABLE Articolo CodA VARCHAR10) NOT NULL, Descrizione VARCHAR20) NOT NULL, Prezzo DECIMAL 4,2) NOT NULL, PRIMARY KEY CodA), CHECK Prezzo BETWEEN 5.00 AND 1000.00) ) Engine InnoDB DEFAULT CHARSET=utf8 ; // mapping SQL del vincolo di integrità V3 // mapping SQL del vincolo di integrità V1 CREATE TABLE CodF1 VARCHAR10) NOT NULL, CodA1 VARCHAR10) NOT NULL, DataF DATE NOT NULL, Qta INT 1) NOT NULL, // DECIMAL 1, 0) oppure NUMERIC 1,0) PRIMARY KEY CodF1, CodA1), FOREIGN KEY CodF1) REFERENCES Fornitore CodF) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY CodA1) REFERENCES Articolo CodA) ON UPDATE CASCADE ON DELETE CASCADE, CHECK Qta IN 1,2,3)) // mapping SQL del vincolo di integrità V2 ) Engine InnoDB DEFAULT CHARSET=utf8 ; ; CREATE ASSERTION V4 CHECK Fornitore.DataN <.DataF); //mapping SQL del vincolo di integrità V4 N.B. Poteva in modo alternativo all utilizzo della clausola CHECK per l esplicitazione del vincolo di integrità V2, essere utilizzata la creazione di un dominio utente ad hoc da effettuare prima della creazione di tutte le tabelle del database. Esempio: CREATE DOMAIN MioTipo AS INTEGER CHECK VALUE IN 1,2,3)); Ovviamente in questo caso avremo avuto all interno della CREATE TABLE della relazione.. Qta MioTipo NOT NULL; senza la presenza della clausola CHECK all interno della CREATE TABLE stessa. pag. 2 di 5

CONTENUTO DELLE TABELLE DATABASE Fornitura Fornitore Articolo pag. 3 di 5

TESTO DELLE QUERY DA ESEGUIRE ANCHE CON L ALGEBRA RELAZIONALE OVE POSSIBLE) Risolvere le seguenti interrogazioni utilizzando, se possibile, l algebra relazionale e tradurle in SQL: Q1. Trovare l elenco completo dei fornitori Q2. Trovare il nominativo di tutti i fornitori Q3. Trovare i fornitori nati dopo il 09/08/1960 Q4. Trovare il nominativo dei fornitori nati dopo il 09/08/1960 Q5. Trovare la lista degli articoli Q6. Trovare la descrizione degli articoli Q7. Trovare il codice degli articoli Q8. Trovare la descrizione degli articoli con prezzo compreso tra 5 e 9 euro Q9. Elencare tutti i fornitori dell articolo con codice A_03 Q10. Elencare i nominativi dei fornitori dell articolo con codice A_03 Q11. Elencare tutti gli articoli del fornitore con codice F_03 Q12. Elencare la descrizione ed il prezzo degli articoli forniti dal fornitore con codice F_03 Q13. Elencare tutti i fornitori con i rispettivi articoli forniti Q14. Elencare i nominativi dei fornitori con le descrizioni ed i prezzi degli articoli forniti Q15. Elencare le descrizioni ed i prezzi degli articoli forniti dal fornitore GIALLI ANDREINA Q16. Elencare i nominativi dei fornitori che forniscono CORNFLAKES oppure ARANCIATA Q17. Elencare i nominativi dei fornitori che forniscono CORNFLAKES e PLUMCAKE Q18. Elencare i nominativi dei fornitori che NON forniscono CORNFLAKES Q19. Elencare gli articoli la cui descrizione inizia con C Q20. Elencare gli articoli la cui descrizione inizia con C e termina con S Q21. Elencare gli articoli la cui descrizione inizia con C ed ha come quarto carattere D Q22. Ordinare alfabeticamente in senso crescente sia per cognome sia per nome) i nominativi dei fornitori Q23. Ordinare alfabeticamente in senso crescente per il cognome ed in senso decrescente per il nome) i nominativi dei fornitori Q24. Elencare le descrizioni degli articoli forniti con i prezzi ordinati in senso decrescente Q25. Elencare le descrizioni degli articoli forniti che iniziano per C con i prezzi ordinati in senso crescente Q26. Elencare il codice del fornitore, le descrizioni degli articoli forniti con le quantità ordinate in senso decrescente Q27Elencare il codice, il nominativo del fornitore, le descrizioni degli articoli forniti con le quantità ordinate in senso decrescente per codice fornitore crescente Q28. Elencare tutti i fornitori nati nell anno 1960 o in un certo anno assegnato) pag. 4 di 5

Q29. Elencare tutti i fornitori nati nel mese di ottobre del 1970 o in un certo mese ed anno assegnati) Q30. Calcolare il numero complessivo degli articoli Q31. Calcolare la quantità totale di articoli forniti Q32. Calcolare la quantità totale di articoli forniti da ciascun fornitore Q33. Calcolare il prezzo complessivo degli articoli considerando un solo pezzo) Q34. Per ciascun articolo calcolare il prezzo complessivo degli pezzi forniti Q35. Calcolare il prezzo medio degli articoli Q36. Calcolare il prezzo minimo e massimo degli articoli Q37. Calcolare il numero complessivo degli articoli con prezzo compreso tra 5 e 12 euro Q38. Calcolare il prezzo complessivo degli articoli la cui descrizione inizia con C Q39. Calcolare il prezzo medio degli articoli con prezzo compreso tra 5 e 12 euro Q40. Calcolare il prezzo minimo e massimo degli articoli la cui descrizione inizia con P Q41. Calcolare il numero dei fornitori dell articolo con codice A_02 Q42. Calcolare il numero dei fornitori di CANDEGGINA Q43. Calcolare il numero ed il prezzo complessivo degli articoli forniti da ALESSANDRO BIANCHI Q44. Calcolare la quantità totale di articoli forniti da ALESSANDRO BIANCHI Q45. Visualizzare per ciascun fornitore il prezzo minimo e massimo degli articoli forniti Q46 Visualizzare per ciascun articolo il numero dei fornitori che lo forniscono Q47. Visualizzare per ciascun fornitore il numero degli articoli forniti in ordine decrescente Q48. Visualizzare il nominativo del fornitore che ha fornito più articoli Q49. Visualizzare il nominativo del fornitore che ha fornito meno articoli Q50. Visualizzare il nominativo del fornitore che non ha fornito articoli Q51. Visualizzare la descrizione e la categoria degli articoli che non sono stati forniti da alcun fornitore pag. 5 di 5