MySQL progettazione di un database per un mobilificio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "MySQL progettazione di un database per un mobilificio"

Transcript

1 MySQL progettazione di un database per un mobilificio versione del documento: 1.1 Luca Scrimin

2 Requisiti Consideriamo un mobilificio, che vuole vendere i suoi prodotti on-line. Innanzitutto, nel catalogare gli oggetti, vengono stabilite delle categorie, poste in una gerarchia 1. Ognuno di questi oggetti è caratterizzato da uno stile, da un materiale (finitura) e da una fascia di prezzo. Inoltre, gli oggetti sono caratterizzati da una misura, cosi composta: lunghezza larghezza profondità Ma è anche possibile che esistano più versioni dello stesso oggetto disponibile alla vendita con differenti misure. Le differenti versioni del medesimo oggetto, sono catalogate e ciascuna è accompagnata con 0 o più foto, di cui è nel nostro interesse memorizzare: la posizione nel disco rigido una didascalia Progettazione concettuale e logica Prendiamo in considerazione il primo gruppo di requisiti, questo è lo schema concettuale: Senza perdere la BCNF, nella progettazione logica, possiamo accorpare in Oggetto, le chiavi esterne relative ai concetti di stile, finitura e fascia di prezzo, in accordo con i tipi di associazioni 1:N. Per realizzare la gerarchia, si utilizza una tabella aggiuntiva chiamata categoria, che riproduce un albero gerarchico, in cui ogni nodo ha un identificativo, un nome, ed un riferimento al nodo padre, sotto forma di chiave esterna. 1 Questa gerarchia potrà essere ampliata con il passare del tempo 2

3 Prendiamo in considerazione il secondo gruppo di requisiti, questo è lo schema concettuale: Senza perdere la BCNF, nella progettazione logica, possiamo accorpare in Misura, la chiave esterna relativa al concetto di oggetto, in accordo con il tipo di associazione 1:N mentre utilizzeremo una relazione separata per l'associazione A2 che non può essere accorpata in quanto di tipo N:N. Come creare velocemente tutte quante le tabelle I comandi per la creazione delle tabelle sono contenuti in appendice A. Si possono eseguire tutti in una volta, creando prima il database con il comando: mysqladmin -u root -p create mobilificio E poi creando le tabelle, eseguendo il file mob.sql con il comando: mysql -u root -p mobilificio < mob.sql Possiamo notare, che abbiamo usato le innovative tabelle InnoDB, che fra le tante novità introdotte, supportano i vincoli di chiave esterna, consentendo la creazione di una base di dati più robusta. Come popolare la base di dati Questa è una operazione che difficilmente può essere eseguita senza un programma 2, in quanto i dati relativi ad un oggetto devono essere scorporati e inseriti in più tabelle. Proviamo ugualmente 2 Dopo la progettazione logica e la normalizzazione c'è una frammentazione dei dati. E' un bene, per non avere anomalie di inserimento, cancellazione e modifica. 3

4 senza per ora l'ausilio di un programma a simulare a mano questo meccanismo. Per farlo utilizziamo i comandi inseriti in appendice B. Si possono eseguire tutti in una volta eseguendo il file ins.sql, con il comando: mysql -u root -p mobilificio < ins.sql Al termine verranno memorizzati due oggetti. Possiamo inoltre verificare, la funzionalità dei vincoli di chiave esterna cercando di cancellare ad esempio uno stile usato da un oggetto. 4

5 Appendice A: mob.sql DROP TABLE IF EXISTS stile; CREATE TABLE stile ( tipostile int NOT NULL auto_increment, nomestile varchar(20) NOT NULL, descrizionestile varchar(200), PRIMARY KEY (tipostile), UNIQUE (nomestile) DROP TABLE IF EXISTS finitura; CREATE TABLE finitura ( tipofinitura int NOT NULL auto_increment, nomefinitura varchar(20) NOT NULL, descrizionefinitura varchar(200), PRIMARY KEY (tipofinitura), UNIQUE (nomefinitura) DROP TABLE IF EXISTS fasciaprezzo; CREATE TABLE fasciaprezzo ( codp int NOT NULL auto_increment, prezzomin int NOT NULL, prezzomax int NOT NULL, PRIMARY KEY (codp) DROP TABLE IF EXISTS categoria; CREATE TABLE categoria ( catid int NOT NULL auto_increment, catname varchar(60) NOT NULL, parentcatid int, ts timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (catid), CONSTRAINT cat01 FOREIGN KEY (parentcatid) REFERENCES categoria(catid) ) ENGINE= InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; DROP TABLE IF EXISTS oggetto; CREATE TABLE oggetto ( cod char(7) NOT NULL, stile int NOT NULL, finitura int NOT NULL, fasciaprezzo int NOT NULL, categoria int NOT NULL, ts timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (cod), CONSTRAINT ogg01 FOREIGN KEY (stile) REFERENCES stile(tipostile), CONSTRAINT ogg02 FOREIGN KEY (finitura) REFERENCES finitura(tipofinitura), CONSTRAINT ogg03 FOREIGN KEY (fasciaprezzo) REFERENCES fasciaprezzo(codp), CONSTRAINT ogg04 FOREIGN KEY (categoria) REFERENCES categoria(catid) ) ENGINE= InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; DROP TABLE IF EXISTS misura; CREATE TABLE misura ( codm int NOT NULL auto_increment, L int NOT NULL, H int NOT NULL, 5

6 P int NOT NULL, cod char(7) NOT NULL, PRIMARY KEY (codm), CONSTRAINT mis01 FOREIGN KEY (cod) REFERENCES oggetto(cod) DROP TABLE IF EXISTS foto; CREATE TABLE foto ( codf int NOT NULL auto_increment, posizione varchar(100), didascalia varchar(200), PRIMARY KEY (codf) DROP TABLE IF EXISTS a2; CREATE TABLE a2 ( codm int NOT NULL, codf int NOT NULL, ts timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (codm, codf), CONSTRAINT a201 FOREIGN KEY (codm) REFERENCES misura(codm), CONSTRAINT a202 FOREIGN KEY (codf) REFERENCES foto(codf) 6

7 Appendice B: ins.sql INSERT INTO stile (tipostile, nomestile) VALUES (1, 'contemporaneo'), (2, 'classico'), (3, 'barocco'), (4, 'mistico'); INSERT INTO finitura (tipofinitura, nomefinitura) VALUES (1, 'pelle'), (2, 'legno'), (3, 'tessuto'), (4, 'metallo'), (5, 'plastica'), (6, 'vetro'); INSERT INTO fasciaprezzo (codp, prezzomin, prezzomax) VALUES (1, 0, 200),(2, 200, 400),(3, 400, 600),(4, 600, 800),(5,800,1000), (6,1000, 1500),(7,1500, 2000),(8,2000,2500),(9,2500,3000),(10, 3000, 10000); INSERT INTO categoria (catid, catname, parentcatid) VALUES (1, 'mobili', NULL), (2, 'tavoli e sedie', 1), (3, 'tavoli', 2), (4, 'sedie', 2), (5, 'sgabelli', 2), (6, 'tavolini', 2), (7, 'consolle', 2), (8, 'cucine', 1), (9, 'mobili per cucina', 8), (10, 'cucine in muratura', 8), (11, 'cucine monoblocco', 8), (12, 'divani e poltrone', 1), (13, 'divani angolari', 12), (14, 'divani a due posti', 12), (15, 'divani a tre posti', 12), (16, 'divani a quattro o più posti', 12), (17, 'divani letto', 12), (18, 'poltrone', 12); INSERT INTO oggetto (cod, stile, finitura, fasciaprezzo, categoria) VALUES ('xxxbb', 4, 2, 2, 3), ('aaaqq', 1, 3, 3, 15); INSERT INTO misura (codm, L, H, P, cod) VALUES (1,1500,800,1200, 'xxxbb'), (2,2000,800,1000, 'xxxbb'), (3,3000,1000,600, 'aaaqq'); INSERT INTO foto (codf, posizione, didascalia) VALUES (1, 'c:\fototavoli\xxxbb1.jpg', 'tavolo mistico - 1 foto, formato 1'), (2, 'c:\fototavoli\xxxbb11.jpg', 'tavolo mistico - 2 foto, formato 1'), (3, 'c:\fototavoli\xxxbb2.jpg', 'tavolo mistico - formato 2'), (4, 'c:\fotodivani3posti\aaaqq.jpg', 'divano contemporaneo'); INSERT INTO a2 (codm, codf) VALUES (1, 1), (1, 2), (2, 3), (3, 4); 7

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI La finalità di questa esercitazione è quella di creare, date delle specifiche progettuale, appositi script di creazione e popolamento di una base

Dettagli

ESERCITAZIONE: Fornitore-Fornisce-Articolo

ESERCITAZIONE: Fornitore-Fornisce-Articolo 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

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

GESTIONE ASSICURAZIONI AUTO

GESTIONE ASSICURAZIONI AUTO GESTIONE ASSICURAZIONI AUTO S i v o g l i o n o g e s t i r e i d a t i d i i n t e r e s s e d e l l e c o m p a g n i e d i a s s i c u r a z i o n i r a m o R C A. N e l d a t a b a s e s i d e v o

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

GESTIONE ABBONAMENTI RIVISTE

GESTIONE ABBONAMENTI RIVISTE GESTIONE ABBONAMENTI RIVISTE Si vogliono gestire, con una base di dati, le informazioni relative agli abbonamenti a riviste da parte di utenti di cui si deve tener conto della città di residenza. Gli elementi

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

Soluzione esercitazione 01

Soluzione esercitazione 01 Soluzione esercitazione 01 Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SolEse01.pdf Sistemi Informativi L-A Videonoleggio - caso A: tabella

Dettagli

NOTA TECNICA

NOTA TECNICA La macchina deve essere connessa in VPN. Per effettuare correttamente l installazione del programma di fiscalizzazione la macchina deve essere già aggiornata alla versione 288 o superiore. Qualora fosse

Dettagli

ASSISTENZA TECNICA RELAZIONE

ASSISTENZA TECNICA RELAZIONE ASSISTENZA TECNICA RELAZIONE 1 INDICE TRACCIA DEL PROBLEMA ANALISI DI MASSIMA 1. Area amministratori 2. Area clienti ANALISI DETTAGLIATA 1. Schema E/R 2. Schema logico 3. Schema fisico 4. Inserimento nel

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

GESTIONE ABBONAMENTI RIVISTE

GESTIONE ABBONAMENTI RIVISTE GESTIONE ABBONAMENTI RIVISTE Si vogliono gestire, con una base di dati, le informazioni relative agli abbonamenti a riviste da parte di utenti di cui si deve tener conto della città di residenza. Gli elementi

Dettagli

Esercitazione: Il DBMS MySQL. Insegnamento di Basi di Dati. Laurea in Ingegneria Informatica SAPIENZA Università di Roma

Esercitazione: Il DBMS MySQL. Insegnamento di Basi di Dati. Laurea in Ingegneria Informatica SAPIENZA Università di Roma Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Domenico Fabio Savo www.dis.uniroma1.it/~savo/ Il DBMS MySQL 1 Cosa vedremo 1. Presentazione del

Dettagli

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi

Corso di. Basi di Dati I. 11. Esercitazioni in SQL: Altri esercizi Corso di Basi di Dati 11. Esercitazioni in SQL: Altri esercizi A.A. 2016 2017 Esempio: consideriamo le seguenti tabelle Articoli(Id, Nome, Colore) Fornitori(Id, Nome, Indirizzo) Catalogo(Articolo, Fornitore,

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

GESTIONE VOTI SCOLASTICI

GESTIONE VOTI SCOLASTICI GESTIONE VOTI SCOLASTICI Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

Dettagli

Laboratorio di Basi di Dati e Multimedia

Laboratorio di Basi di Dati e Multimedia Laboratorio di Basi di Dati e Multimedia Laurea in Informatica Multimediale - A.A. 2006/07 Docente: Alessandra Di Pierro Email: dipierro@sci.univr.it Lezione 2 Vincoli intrarelazionali Proprietà che devono

Dettagli

GESTIONE VOTI SCOLASTICI

GESTIONE VOTI SCOLASTICI GESTIONE VOTI SCOLASTICI Progettare un modello di dati per la gestione delle informazioni riguardanti le prove, nelle diverse materie, sostenute dagli studenti di una scuola media superiore. Il sistema

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

GESTIONE MAGAZZINO 2

GESTIONE MAGAZZINO 2 GESTIONE MAGAZZINO 2 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di articoli organizzato per reparti e classificati in base alla categoria merceologica. Nella

Dettagli

Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL

Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL Francesco Leotta Ultimo aggiornamento : 03/04/2013 Il DBMS che utilizzeremo: MySQL MySQL è un RDBMS open-source disponibile gratuitamente

Dettagli

GESTIONE MAGAZZINO 2

GESTIONE MAGAZZINO 2 GESTIONE MAGAZZINO 2 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di articoli organizzato per reparti e classificati in base alla categoria merceologica. Nella

Dettagli

Vincoli. Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi

Vincoli. Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi Vincoli Chiavi esterne Vincoli locali e globali Triggers Leggere Cap 2 Riguzzi et al. Sistemi Informativi Lucidi derivati da quelli di Jeffrey D. Ullman 1 Vincoli e Triggers Un vincolo e una relazione

Dettagli

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata Domini Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata numeric [(Precisione [,Scala])] decimal [(Precisione [,Scala])] integer smallint Precisione specifica il numero di

Dettagli

Laboratorio di Basi di Dati Esercizio 8.4/9.1

Laboratorio di Basi di Dati Esercizio 8.4/9.1 Laboratorio di Basi di Dati Esercizio 8.4/9.1 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 E3 - MySQL: Creazione di Schemi ed Interrogazioni Tiziana Catarci, Andrea Marrella Ultimo aggiornamento

Dettagli

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

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

Corso di Basi di Dati A.A. 2016/2017

Corso di Basi di Dati A.A. 2016/2017 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 MySQL: Creazione di Schemi ed Interrogazioni Francesco Leotta Ultimo aggiornamento : 16/03/2017

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

MySQL. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A

MySQL. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A MySQL Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () MySQL A.A. 2012-2013 1 / 34 Gli strumenti che vedremo Basi di

Dettagli

A. Veneziani Analisi e soluzione esercizio 2 pagina 53

A. Veneziani Analisi e soluzione esercizio 2 pagina 53 A. Veneziani Analisi e soluzione esercizio 2 pagina 53 Testo del problema Rappresenta i dati e le relazioni tra i dati necessari a gestire un sistema di prenotazione di un teatro di 1000 posti suddivisi

Dettagli

2011 Politecnico di Torino 1

2011 Politecnico di Torino 1 SQL per le applicazioni Esercitazione PHP e MySQL Svolgimento D B M G Passi di risoluzione creazione e popolamento della base di dati Creazione di un script SQL Passo 2 creazione di una query d interrogazione

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Domenico Fabio Savo 1 Cosa vedremo 1. Presentazione del DBMS MySQL 2. Come scaricare

Dettagli

GESTIONE MAGAZZINO 1

GESTIONE MAGAZZINO 1 GESTIONE MAGAZZINO 1 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di prodotti organizzato per reparti. Il sistema informativo deve essere in grado di : produrre

Dettagli

Gestire il database attraverso Javascript. Antonio Gallo

Gestire il database attraverso Javascript. Antonio Gallo Gestire il database attraverso Javascript Antonio Gallo info@laboratoriolibero.com 1 Aprire il database File: 1_creazione_db.html Per aprire un database basta usare il metodo OpenDatabase: var db = window.opendatabase("note",

Dettagli

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi

Progetto B. Utenti. Di conseguenza si potranno avere solo utenti di questi tipi Progetto B Progettare un applicazione web basata su Servlet e JSP che permetta la collaborazione di diversi utenti nel creare, aggiornare e gestire un archivio di pagine personali degli autori di un giornale.

Dettagli

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Laboratorio di Sistemi Informativi

Laboratorio di Sistemi Informativi Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Creazione di basi di dati e tabelle Donatella Merlini Dipartimento di Sistemi e Informatica viale Morgagni 65, 50134,

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati 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 SQL è

Dettagli

6600 Locarno BACKUP SITO GASTROLUGANO DOCUMENTAZIONE DI SUPPORTO BACKUP. sito web.

6600 Locarno  BACKUP SITO GASTROLUGANO DOCUMENTAZIONE DI SUPPORTO BACKUP. sito web. DOCUMENTAZIONE DI SUPPORTO BACKUP sito web www.gastrolugano.ch www.ristoranti.ch STEFANO UNTERNAEHRER LUGLIO 2003 pag. 1 di 9 INTRODUZIONE Il sito web GastroLugano.ch si trova fisicamente sul server con

Dettagli

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

GESTIONE MAGAZZINO 1

GESTIONE MAGAZZINO 1 GESTIONE MAGAZZINO 1 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di prodotti organizzato per reparti. Il sistema informativo deve essere in grado di : produrre

Dettagli

Esercitazione 4 SQL.

Esercitazione 4 SQL. Esercitazione 4 SQL foglia@iet.unipi.it DB Riferimento Il database di riferimento è il database UNIPI, creare una nuova istanza di database sul server e caricare i dati CREATE TABLE 1. Creare una tabella

Dettagli

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language)

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language) o o o o o DDL (Data Definition Language): consente di creare e modificare schemi di database; DML (Data Manipulation Language): consente di inserire, modificare e gestire i dati memorizzati; DQL (Data

Dettagli

Dichiarazione degli schemi in SQL DDL 1

Dichiarazione degli schemi in SQL DDL 1 Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali

Dettagli

SQL. Dott.ssa Elisa Quintarelli

SQL. Dott.ssa Elisa Quintarelli Corso Basi di Dati Dott.ssa Elisa Quintarelli SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali È un linguaggio con varie funzionalità:

Dettagli

SOLUZIONE ESAME DI STATO 2015/2016 Indirizzo: ITSI - AMMINISTRAZIONE, FINANZA E MARKETING ARTICOLAZIONE SISTEMI INFORMATIVI AZIENDALI

SOLUZIONE ESAME DI STATO 2015/2016 Indirizzo: ITSI - AMMINISTRAZIONE, FINANZA E MARKETING ARTICOLAZIONE SISTEMI INFORMATIVI AZIENDALI SOLUZIONE ESAME DI STATO 2015/2016 Indirizzo: ITSI - AMMINISTRAZIONE, FINANZA E MARKETING ARTICOLAZIONE SISTEMI INFORMATIVI AZIENDALI Giselda De Vita 2016 La traccia di esame, pubblicata dal Ministero,

Dettagli

OBIETTIVI DELL'ESERCITAZIONE

OBIETTIVI DELL'ESERCITAZIONE Laurea in Ingegneria Informatica - Università di Roma "La Sapienza" Corso di Basi di Dati - A.A. 2005/2006 Esercitazione su SQL Giuseppe De Giacomo Domenico Lembo OBIETTIVI DELL'ESERCITAZIONE Creare schema

Dettagli

Data Definition in MySQL

Data Definition in MySQL Data Definition in MySQL LABORATORIO DI BASI DI DATI A.A. 2016/2017 Dott. Claudio Venturini Contenuti riadattati a partire da slide gentilmente concesse dal Dott. Paolo Napoletano SQL SQL è un linguaggio

Dettagli

Gestione NARRATIVA del 900

Gestione NARRATIVA del 900 Gestione NARRATIVA del 900 Si vuole progettare una base di dati contenente informazioni sulla narrativa del 900. Gli autori sono identificati da cognome e nome. Di essi interessa l anno ed il luogo di

Dettagli

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

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia

Dettagli

Mattia Fazzi: 14/05/2019

Mattia Fazzi: 14/05/2019 Mattia Fazzi: mattia.fazzi@student.unife.it 14/05/2019 SQL Linguaggio utilizzato per definire i dati nel database. Definire i vincoli. Possibilità di creare, modificare e eliminare le tabelle. CREATE TABLE

Dettagli

A. Veneziani Linguaggio SQL

A. Veneziani Linguaggio SQL A. Veneziani Linguaggio SQL Creazione di un DB istruzione CREATE DATABASE Per creare un nuovo database (DB), tramite il linguaggio SQL, si utilizza l istruzione SQL: CREATE DATABASE ; è possibile

Dettagli

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3 SQL originariamente

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase

Dettagli

Lezione 13. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Lezione 13. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri Lezione 13 Il trattamento dei dati database: il linguaggio SQL seconda parte Proff. Valle Folgieri Lez13 Trattamento dati. Database: il linguaggio SQL-seconda parte 1 SQL: azioni sui dati Nella scorsa

Dettagli

Lezione 12. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri

Lezione 12. Il trattamento dei dati. database: il linguaggio SQL seconda parte. Proff. Valle Folgieri Lezione 12 Il trattamento dei dati database: il linguaggio SQL seconda parte Proff. Valle Folgieri Lez13 Trattamento dati. Database: il linguaggio SQL-seconda parte 1 SQL: azioni sui dati Nella scorsa

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 25 SETTEMBRE 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

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

SQL. 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. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi francesca.lisi@uniba.it

Dettagli

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

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006 Basi di Dati Esercitazione Algebra Relazionale e SQL 15 maggio 2006 Ing. Paolo Cappellari Esercitazione Considerando la seguente base di dati: Fornitori (CodiceFornitore, Nome, Indirizzo, Città) Prodotti

Dettagli

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

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

Esercitazione 4 SQL: cataloghi e viste

Esercitazione 4 SQL: cataloghi e viste Esercitazione 4 SQL: cataloghi e viste Sistemi Informativi T Versione elettronica: L04.CatView.pdf Cataloghi di sistema Sono insieme di tables e views che descrivono la struttura logica e fisica degli

Dettagli

Linguaggio SQL: fondamenti D B M G

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

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 09/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

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

D B M G. Linguaggio SQL: fondamenti. 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 Creazione di una tabella (1/3) Si utilizza

Dettagli

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

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data Verifica di Informatica Cognome e Nome: Classe 5ª Ci, Data Progettare la base di dati di una palestra. E necessario memorizzare le informazioni relative ai clienti che riguardano: codice fiscale, cognome

Dettagli

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: Parcheggi Si consideri la seguente realtà riguardante una società di gestione dei

Dettagli

LA PROGETTAZIONE LOGICA

LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA DALLO SCHEMA ER ALLO SCHEMA RELAZIONALE Da concettuale a logico! Traduzione di uno schema concettuale (ER) in uno schema (relazionale) logico! Fare attenzione ai vincoli di integrità!!

Dettagli

Laboratorio di Sistemi Informativi

Laboratorio di Sistemi Informativi Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Modifica degli schemi Inserimento, cancellazione e modifica dei dati Donatella Merlini Dipartimento di Sistemi e Informatica

Dettagli

24. Trigger in MySQL 5

24. Trigger in MySQL 5 24. Trigger in MySQL 5 I trigger sono oggetti associati a tabelle, che vengono attivati nel momento in cui un determinato evento si verifica relativamente a quella tabella. Sono stati introdotti a partire

Dettagli

Breve guida a PostgreSQL (versione per Windows) Gianluca Cima

Breve guida a PostgreSQL (versione per Windows) Gianluca Cima Breve guida a PostgreSQL (versione per Windows) Gianluca Cima 13/07/2017 Indice 1 Introduzione 2 2 Installazione 3 3 Creare una base di dati 5 4 Gestione delle tabelle 7 4.1 Creare tabelle...........................

Dettagli

PROGETTO CATENA DI RISTORANTI

PROGETTO CATENA DI RISTORANTI CORSO DI LAUREA IN INGEGNERIA INFORMATICA FONDAMENTI DI INFORMATICA II MODULO DI BASI DI DATI Docenti: G. Vaglini, F. Pistolesi PROGETTO CATENA DI RISTORANTI Davide Coccomini Pagina 1 INDICE 1 Introduzione

Dettagli

Fondamenti di Informatica e Programmazione

Fondamenti di Informatica e Programmazione Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato

Dettagli

MY SQL Guida MySQL di base

MY SQL Guida MySQL di base 2017 MY SQL Guida MySQL di base Progetto di Alternanza Scuola-Lavoro Anno scolastico 2016-2017 Istituto Tecnico Enrico Fermi, Siracusa Eleonora SikeWEB 15/05/2017 MySQL Collegarsi ad un database e interagire

Dettagli

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Introduzione a SQL Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language

Dettagli

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

SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA. Giselda De Vita 2015 SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA Giselda De Vita 2015 1 Analisi Un analisi della realtà di riferimento individuando le possibili soluzioni e scelga quella che a suo motivato giudizio è la

Dettagli

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

SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA. Giselda De Vita 2015 SOLUZIONE ESAME DI STATO 2014/2015 INFORMATICA Giselda De Vita 2015 La traccia di esame, pubblicata dal Ministero, si trova al seguente link: esame 2015 Di seguito si riporta la soluzione della prima parte

Dettagli

Cap. 7 -Trigger e loro uso

Cap. 7 -Trigger e loro uso 1 SOMMARIO 2 Introduzione... 3 Definizione standard di trigger... 10 Cap. 7 -Trigger e loro uso Uso dei trigger e integrità referenziale... 18 Comportamento attivo delle BD Si realizza disponendo di un

Dettagli

Caso di Studio: SITI CONTAMINATI

Caso di Studio: SITI CONTAMINATI UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Agraria CORSO DI LAUREA IN SCIENZE E TECNOLOGIE DELL AMBIENTE E DEL TERRITORIO Caso di Studio: SITI CONTAMINATI L Anagrafe dei siti da bonificare, come strumento

Dettagli

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. Linguaggio di interrogazione per basi di dati relazionali

SQL Matteo Magnani, Danilo Montesi Università di Bologna SQL. Linguaggio di interrogazione per basi di dati relazionali SQL Linguaggio di interrogazione per basi di dati relazionali SQL Structured Query Language Linguaggio di interrogazione per basi di dati relazionali. Permette di comunicare con diversi sistemi tramite

Dettagli

Il linguaggio SQL. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL Il linguaggio SQL 1 Il linguaggio SQL 2 il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL Il linguaggio SQL 1 Il linguaggio SQL 2 il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è

Dettagli

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema:

Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: BASI DI DATI INGEGNERIA INFORMATICA PROVA PRATICA 20 GIUGNO 2014 SOLUZIONI Si consideri la realtà medica descritta dalla base di dati relazionale definita dal seguente schema: PAZIENTE(CodFiscale, Cognome,

Dettagli

SQL. Lezione 1. Docente: Alberto Belussi

SQL. Lezione 1. Docente: Alberto Belussi LaboratoriodiBasidiDatieWeb 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 SQL è

Dettagli

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3 Oracle Database Express Edition Donatella Gubiani e Angelo Montanari Gubiani & Montanari Oracle Database 1 (Oracle XE) è una versione gratuita della base di dati È facile da installare e gestire Può essere

Dettagli

Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati

Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2007 Politecnico di Torino 1 Creazione di

Dettagli

Connessione con MySQL

Connessione con MySQL Connessione con MySQL Architettura Server-Side Eventuali parametri cookie sessioni Elaborazione SELECT... DATABASE Quando i dati sono molti e la persistenza deve andare altre la sessione o la durata

Dettagli

ESAME DI STATO I.T.E. A.S

ESAME DI STATO I.T.E. A.S ESAME DI STATO I.T.E. A.S. 2012-2013 Un grande museo deve realizzare un Sistema Informatico per la gestione della biglietteria online. La biglietteria online consentirà di acquistare i biglietti sia per

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati Creazione di una tabella (1/3) Si utilizza

Dettagli

A. Veneziani Analisi problema DB Magazzino

A. Veneziani Analisi problema DB Magazzino A. Veneziani Analisi problema DB Magazzino Il problema e la sua analisi Il testo del problema A proposto nel periodo delle vacanze di Natale era: Definire un DB per la gestione di un magazzino, che tenga

Dettagli