GESTIONE VIDEONOLEGGIO
|
|
- Roberta Di Gregorio
- 6 anni fa
- Visualizzazioni
Transcript
1 GESTIONE VIDEONOLEGGIO Si vuole automatizzare la gestione del noleggio di video (in formato VHS, DVD ed altri). Nel database si devono organizzare i dati relativi ai video, ai clienti del negozio, ai produttori dei video e ai noleggi effettuati. La gestione deve comprendere : l inserimento di nuovi video nel catalogo; l inserimento, la modifica o la cancellazione dei dati riguardanti i clienti ed i produttori; l elenco dei clienti e dei produttori; il controllo della disponibilità in negozio di un video richiesto da un cliente; il servizio di noleggio e restituzione; la stampa del catalogo dei video (eventualmente anche per genere); Considerato il problema proposto, precisando eventuali ipotesi aggiuntive, si realizzi: un analisi della realtà di riferimento che illustri le premesse per i successivi passi della progettazione della base di dati; uno schema concettuale della base di dati; uno schema logico della base di dati; la definizione delle relazioni della base di dati in linguaggio SQL. SOLUZIONE Analisi del problema Ipotesi aggiuntive Analisi dei dati Schema concettuale Schema logico Definizione delle relazioni Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 1
2 Analisi del problema Le entità caratteristiche per la risoluzione del problema si riferiscono alla gestione dei video, dei clienti che li richiedono e dei produttori che li producono. Le proprietà utilizzate per la definizione delle suddette entità devono consentire di soddisfare le richieste proposte dal problema. In particolare deve essere possibile la gestione dei noleggi e delle restituzioni dei video da parte dei clienti e, fondamentalmente, la gestione delle quantità disponibili nei vari formati in cui un video può essere riprodotto. Introducendo opportuni attributi (Numero tessera e Credito residuo) nell entità Cliente è possibile gestire anche un pagamento tramite scheda prepagata supponendo di fornire ai clienti un tale servizio mediante lettori di badge collegati al sistema ed alla procedura utilizzata per risolvere il problema proposto. Per quanto riguarda le tabelle relative ai video, ai clienti e ai produttori, la loro gestione deve essere realizzata mediante un tipico programma di aggiornamento che prevede le funzioni di inserimento, cancellazione e modifica dei record contenuti nelle suddette tabelle. Un altra entità riguarda l elenco dei comuni in cui risiedono i clienti. L utilizzo di tale entità è giustificato da problemi esclusivamente legati alla ridondanza dei dati. Senza tale entità, infatti, si dovrebbe inserire il nome del comune fra gli attributi dell entità Cliente. L uso dell entità genere si rende necessaria in quanto si vuol distinguere i video secondo una classificazione diversa che può, per es., essere vincolata alla trama del film registrato (film comico, film di fantascienza, ecc.). L uso dell entità formato si rende necessaria per distinguere i vari formati (VHS, DVD, ecc.) in cui un video può essere registrato ma soprattutto per dare la possibilità di gestire il prezzo del noleggio del video in funzione del formato utilizzato. In base a questa esigenza l associazione fra l entità Video e l entità Formato è di tipo molti-a-molti in quanto per un video possono essere disponibili più formati ed, ovviamente, un formato può essere utilizzato per registrare video diversi. L entità che scaturisce da questa associazione molti-a-molti può servire anche ad introdurre altri attributi che consentono di risolvere il problema legato alla gestione della disponibilità di copie relative ad un determinato video. In questo modo, infatti, si può conoscere esattamente il numero di copie di un video disponibili nei vari formati (è facile intuire che si può anche conoscere il numero complessivo). Le tabelle relative ai Comuni, ai Generi ed ai Formati video possono essere definite come tabelle di controllo che vengono create nella fase iniziale di creazione ed avviamento del database e che, nel tempo, subiranno poche modifiche. Il programma di creazione di tali tabelle deve, comunque, prevedere la possibilità di aggiornamento dei dati presenti nelle stesse tabelle. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 2
3 L entità che consente di gestire il noleggio di un video e la relativa restituzione scaturisce dall associazione ternaria fra l entità Cliente, l entità Video e l entità Formato (è ovvio che un cliente può richiedere in noleggio uno o più video in formati diversi ed uno stesso video, in formati diversi, può essere richiesto da uno o più clienti). La gestione della tabella in esame rappresenta il nucleo fondamentale della procedura che risolve il problema proposto in quanto è sicuramente la tabella che, per i dati che contiene, sarà più frequentemente sottoposta ad operazioni di aggiornamento. Tale tabella consente, nella sua definizione, di gestire effettivamente tutti i movimenti relativi a tutti i noleggi effettuati. Il movimento viene generato nel momento in cui viene effettuato un noleggio e lo stesso movimento viene utilizzato per gestire la restituzione del video preso in prestito. E possibile ridurre ad un solo movimento le operazioni noleggio/restituzione introducendo, nello stesso movimento, la data del noleggio e la data di restituzione. Quindi il movimento viene aperto nella fase del noleggio e viene chiuso nella fase di restituzione. Tale soluzione facilita, come si può intuire, la gestione di questa tabella consentendo di conoscere in modo estremamente semplice dei dati indispensabili per l applicazione. Effettuando, per esempio, un controllo sulla data di restituzione (se è per es. Null) è possibile conoscere quali sono i video che non sono stati ancora restituiti; per calcolare l importo che il cliente deve pagare o si deve detrarre dalla scheda prepagata è sufficiente calcolare i giorni (come differenza fra la data della restituzione e la data del noleggio) e moltiplicare per il costo del noleggio giornaliero. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 3
4 Ipotesi aggiuntive Entità Comune : la chiave primaria è artificiale ad autoincremento per evitare i problemi generati dalle omonimie (comuni con lo stesso nome) ma si potrebbe usare il codice proprio di ogni comune (quello utilizzato, per es., nella generazione del codice fiscale). L attributo della sigla della provincia può essere, eventualmente, utilizzato per un collegamento alla tabella delle province (in questo problema non utilizzata). Entità Genere : la chiave primaria è artificiale ad autoincremento. L utilizzo dell entità Genere permette di ottenere una descrizione univoca per ogni genere di film. E prevista solo la proprietà strettamente necessaria per la risoluzione dei quesiti, ovvero la descrizione che serve a classificare i diversi generi di film (drammatico, western, comico, giallo, fantascienza, ecc). Entità Formato : la chiave primaria è artificiale ad autoincremento. L utilizzo dell entità Formato permette di classificare i diversi tipi di supporto usato per la riproduzione dei video. Sono previsti solo gli attributi strettamente necessari per la risoluzione dei quesiti, ovvero la descrizione del tipo di supporto (VHS, DVD, ecc.) ed il costo del noleggio (relativo al tipo di formato); Entità "Cliente": la chiave primaria è artificiale ad autoincremento per evitare i problemi generati dalle omonimie. Sono previste le proprietà strettamente necessarie per la risoluzione dei quesiti, ovvero sia i dati anagrafici del cliente (nome e cognome, indirizzo, città di residenza, codice fiscale, numero di telefono, ecc.) che i dati per la gestione dei noleggi (documento di riconoscimento, eventuale credito residuo nel caso il negozio adotti un sistema di carta prepagata per il pagamento del noleggio dei video). La chiave primaria può essere anche utilizzata per fornire al cliente una tessera con un numero identificativo con la quale poter usufruire di tutti i servizi del negozio. Per la residenza è prevista una chiave esterna all entità Comune; Entità "Produttore": la chiave primaria è artificiale ad autoincremento. Per l entità Produttore gli attributi riguardano solo la ragione sociale del produttore e dati per ottimizzare eventuali comunicazioni con il produttore (indirizzo ); Entità Video la chiave primaria è artificiale ad autoincremento. Gli attributi individuati devono consentire la gestione completa del video ed in particolar modo riguardano: il titolo del video, la trama, il genere di film, il regista, il produttore, la durata in minuti del video, anno di produzione del video, l indicazione se la visione del video è vietata ai minori; Relazione Copie : La relazione, che consente di realizzare l associazione molti-amolti fra l entità Video e l entità Formato, contiene, oltre alle chiavi esterne alle entità interessate (Video e Formato), gli attributi necessari per la completa gestione delle quantità suddivise per formato : numero di copie disponibili, numero di copie noleggiate. La chiave primaria della relazione è costituita dall insieme del codice video (chiave esterna all entità Video) e del codice formato (chiave esterna all entità Formato); Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 4
5 Relazione Movimento : la chiave primaria è artificiale ad autoincremento. La relazione, che consente di realizzare l associazione ternaria fra l entità Cliente, l entità Video e l entità Formato, contiene, oltre alle chiavi esterne alle entità interessate (Cliente, Video e Formato), gli attributi necessari per la completa gestione delle registrazioni dei movimenti di entrata/uscita relativi al servizio di noleggio/restituzione dei video : data del noleggio, data del reso. Si noti che non è possibile utilizzare, come chiave primaria, la terna di campi costituiti dalle tre chiavi esterne in quanto è possibile che uno stesso cliente noleggi lo stesso video nello stesso formato in date, ovviamente, diverse. La chiave primaria potrebbe, quindi, essere costituita dalle tre chiavi esterne e dalla data di noleggio. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 5
6 Analisi dei dati Le entità che possono essere individuate per risolvere il problema sono : ENTITA Comune contiene l elenco dei comuni d Italia in cui possono risiedere i clienti; Genere contiene la classificazione dei possibili generi di video; Formato contiene la classificazione dei possibili formati in cui è riprodotto il video; Produttore contiene informazioni dei produttori dei video; Cliente contiene informazioni anagrafiche dei clienti che noleggiano i video; Video contiene informazioni sui video che possono essere noleggiati; Gli attributi, per ciascuna entità, individuati per risolvere il problema sono : ATTRIBUTI Tipo di entità Comune Genere Formato Produttore Cliente Video Sistema informativo Gestione Negozio Noleggio Video Attributi idcomune, codiceistat, nome comune, provincia, regione, prefisso, cap, codcatastale, numero_abitanti, link idgenere, descrizione del genere di film idformato, descrizione formato, costo del noleggio idproduttore, ragione sociale, , sito idcliente, cliente, indirizzo, codice fiscale, telefono, cellulare, , documento, credito residuo idvideo, titolo, trama, regista, durata, annoproduzione, vietato Tra l entità Comune e l entità Cliente esiste un associazione uno-a-molti in quanto in un comune possono avere la residenza uno o più clienti ed un cliente deve avere la residenza in un solo comune. Tra l entità Produttore e l entità Video esiste un associazione uno-a-molti in quanto un produttore produce uno o più video ed un video è prodotto da un solo produttore. Tra l entità Genere e l entità Video esiste un associazione uno-a-molti in quanto un genere (comico, fantascienza, ecc..) può essere abbinato ad uno o più film ma un film deve essere abbinato ad un solo genere. Tra l entità Video l entità Formato esiste un associazione molti-a-molti in quanto un video è riprodotto in almeno un formato (su VHS, su DVD, ecc.) ed uno stesso formato può essere utilizzato per riprodurre più video. Tra l entità Cliente, l entità Video e l entità Formato esiste un associazione ternaria in quanto un cliente può noleggiare uno o più video di formati uguali o diversi. Definizione : Si definisce grado di un associazione il numero n di entità che sono coinvolte nell associazione. Se n=3 l associazione di definisce ternaria. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 6
7 Schema concettuale della base di dati Le relazioni tra i tipi di entità nel modello dei dati sono individuate nel seguente Modello Entità/Associazioni (E/R) : COMUNE PRODUTTORE CLIENTE Movimento VIDEO GENERE DataNoleggio DataReso FORMATO Copie Disponibili Noleggiate Nel modello E/R sono indicati i nomi delle entità, l opzionalità od obbligatorietà delle associazioni. Il modello viene verificato utilizzando le regole di lettura : ogni comune può essere la residenza di uno o più clienti, ogni cliente deve avere la residenza in un solo comune; ogni genere può essere abbinato ad uno o più video, ogni video deve essere abbinato ad un solo genere; ogni produttore produce uno o più video, ogni video deve essere prodotto da un solo produttore; ogni video può essere riprodotto in uno o più formati, ogni formato può essere utilizzato per riprodurre uno o più video; ogni cliente può richiedere uno o più video in formati diversi, ogni video di diverso formato può essere richiesto da uno o più clienti. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 7
8 Schema logico della base di dati Come tipo di schema logico, dovendo poi realizzarlo nello standard SQL, si sceglie di utilizzare quello relazionale. Applicando le regole di corrispondenza tra il modello E/R ed il modello Relazionale si passa dal precedente schema concettuale al modello logico che viene descritto sia nella forma testuale che in quella grafica. Rappresentazione testuale dello schema logico : Nella rappresentazione testuale si elencano le tabelle (indicando per ciascuna i campi) che rappresentano le entità dello schema concettuale e le tabelle che rappresentano le eventuali relazioni molti-a-molti, introducendo, inoltre, le chiave esterne per rappresentare le associazioni (le chiavi primarie sono sottolineate, le chiavi esterne sono in corsivo). Nello schema E/R precedente si può osservare che esiste : una associazione molti-a-molti (N:N) tra i tipi di entità Video e l entità Formato. Applicando il processo di normalizzazione (definito dalle forme normali) si deve inserire una entità ausiliaria (Copie) che trasforma l associazione molti-a-molti in due associazioni uno-a-molti, anche per consentire di rappresentare gli attributi dell associazione. Per esempio, nell associazione fra l entità Video e l entità Formato il numero di copie disponibili (per quel formato) ed il numero di copie noleggiate non sono attributi né dell entità Video né dell entità Formato (il numero di copie di un certo video acquistate in un certo formato si ottiene come somma fra i valori dei suddetti attributi). Le associazioni, quindi, che ne derivano sono: uno-a-molti (1:N) tra Video e Copie (ogni video deve essere disponibile in uno o più formati ed ogni copia deve essere relativa ad un solo video), e uno-a-molti (1:N) tra Formato e Copie (ogni formato può essere utilizzato per uno o più video disponibili e ogni copia deve essere associata ad un solo formato). un associazione ternaria tra le entità Cliente, Video e Formato. Applicando il processo di normalizzazione (definito dalle forme normali) si deve inserire una entità ausiliaria (Movimento) anche per consentire di rappresentare gli attributi propri dell associazione (la data del noleggio o della restituzione non sono attributi né dell entità Cliente, né dell entità Video e né dell entità Formato). Si definiscono, innanzitutto, le tabelle che rappresentano le entità dello schema concettuale e successivamente si definiscono le tabelle che rappresentano le associazioni. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 8
9 Le seguenti tabelle rappresentano le entità : tabcomuni (idcomune, codiceistat, comune, ksprovincia,ksregione, prefisso, cap, codcatastale, numero_abitanti, link) tbgeneri (idgenere, genere) tbformati (idformato, formato, costonoleggio) tbclienti (idcliente, cliente, indirizzoc, kscomunec, codicefiscalec, telefonoc, cellularec, c, documento, creditoresiduo) tbproduttori (idproduttore, produttore, p, sitop) tbvideo (idvideo, titolo, trama, ksgenere, regista, ksproduttore, durata, annoproduzione, vietato) La seguente tabella rappresenta l associazione molti-a-molti : tbcopie (ksvideoc, ksformatoc, disponibili, noleggiate) La seguente tabella rappresenta l associazione ternaria : tbmovvideo (idmovvideo, kscliente, ksvideo, ksformato, datanoleggio, datareso) Per realizzare l associazione uno-a-molti fra l entità Cliente e l entità Comune si introduce, fra gli attributi dell entità a molti (Cliente), la chiave esterna kscomune associata alla chiave primaria idcomune dell entità a uno (Comune). Per realizzare l associazione uno-a-molti fra l entità Video e l entità Genere si introduce, fra gli attributi dell entità a molti (Video), la chiave esterna ksgenere associata alla chiave primaria idgenere dell entità a uno (Genere). Per realizzare l associazione uno-a-molti fra l entità Video e l entità Produttore si introduce, fra gli attributi dell entità a molti (Video), la chiave esterna ksproduttore associata alla chiave primaria idproduttore dell entità a uno (Produttore). Per realizzare l associazione molti-a-molti fra l entità Video e l entità Formato si introduce (oltre alle tabelle derivanti dalle due entità) la tabella tbcopie. Tale tabella, oltre agli attributi propri dell associazione (disponibili, noleggiate) ha, come attributi, la chiave esterna ksvideoc associata alla chiave primaria idvideo dell entità Video e la chiave esterna ksformatoc associata alla chiave primaria idformato dell entità Formato. L insieme di questi due attributi, inoltre, costituiscono la chiave primaria dell associazione. Per realizzare l associazione ternaria fra l entità Video, l entità Cliente e l entità Formato si introduce (oltre alle tabelle derivanti dalle tre entità) la tabella tbmovvideo. Tale tabella, oltre agli attributi propri dell associazione (datanoleggio, datareso) ha, come attributi, la chiave esterna ksvideo associata alla chiave primaria idvideo dell entità Video, la chiave esterna kscliente associata alla chiave primaria idcliente dell entità Cliente e chiave esterna ksformato associata alla chiave primaria idformato dell entità Formato. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 9
10 Rappresentazione grafica dello schema logico : La rappresentazione grafica dello schema logico relativo al sistema informativo per la gestione del Noleggiovideo è il seguente : Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 10
11 Definizione delle Tabelle Nel definire le tabelle e la struttura delle stesse, è consigliabile elencarle partendo dalle tabelle che non presentano chiavi esterne. In successione si definiscono le tabelle le cui chiavi primarie sono utilizzate da altre tabelle come chiavi esterne. Nel prospetto seguente, per es., si definiscono prima le tabelle tbcomuni, tbgeneri, tbformati e tbproduttori che non presentano chiavi esterne, successivamente le tabelle tbclienti (che ha fra gli attributi un campo definito come chiave esterna alla tbcomuni), ed infine le tabelle : tbvideo (che ha fra gli attributi un campo definito come chiave esterna alla tbgeneri ed un campo definito come chiave esterna alla tabella tbproduttori), la tabella tbcopie (che ha fra gli attributi un campo definito come chiave esterna alla tabella tbvideo ed un campo definito come chiave esterna alla tabella tbformati) e la tabella tbmovvideo (che ha fra gli attributi un campo definito come chiave esterna alla tabella tbvideo, un campo definito come chiave esterna alla tabella tbclienti ed un campo definito come chiave esterna della tabella tbformati). Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tabcomuni idcomune Primaria Numerico 4 Autoincremento codiceistat Carattere 6 Vincolo : valori unici comune Carattere 30 ksprovincia ksregione Carattere Carattere cap Carattere 5 codcatastale Carattere 5 2 Eventuale chiave esterna alla tabelle province 2 Eventuale chiave esterna alla tabelle regioni abitanti Carattere 8 Numero abitanti link Carattere 50 al sito del comune bgeneri idgenere Primaria Numerico 3 Autoincremento genere Testo 30 Vincolo: valori unici tbformati idformato Primaria Numerico 2 Autoincremento formato Testo 10 Vincolo: valori unici costonoleggio Numerico 4 2 costo giornaliero tbproduttori idproduttore Primaria Numerico 4 Autoincremento produttore Testo 30 p Testo 30 SI indirizzo sitop Testo 30 SI indirizzo del sito tbclienti idcliente Primaria Numerico 4 Autoincremento cliente Testo 30 cognome e nome indirizzoc Testo 30 kscomunec Esterna Numerico 4 codicefiscalec Testo 16 SI telefonoc Testo 15 SI cellularec Testo 15 SI c Testo 30 SI Integrità referenziale con idcomune della tabella tbcomuni Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 11
12 Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione documento Testo 20 SI estremi del documento creditoresiduo Numerico 6 2 SI tbvideo idvideo Primaria Numerico 4 Autoincremento titolo Testo 80 trama Testo 300 SI del video ksgenere Esterna Numerico 3 regista Testo 30 SI ksproduttore Esterna Numerico 4 SI durata Numerico 3 SI in minuti annoproduzione Testo 4 SI Integrità referenziale con idgenere della tabella tbgeneri Integrità referenziale con idproduttore della tabella tbproduttori vietato Testo 2 SI numero anni tbcopie ksvideoc Primaria Numerico 4 ksformatoc Primaria Numerico 2 disponibili Numerico 3 noleggiate Numerico 3 SI Integrità referenziale con idvideo della tabella tbvideo Integrità referenziale con idformato della tabella tbformati tbmovvideo idmovvideo Primaria Numerico 4 Autoincremento kscliente Esterna Numerico 4 Integrità referenziale con idcliente della tabella tbclienti ksvideo Esterna Numerico 4 ksformato Esterna Numerico 2 datanoleggio Data/ora 8 datareso Data/ora 8 SI Integrità referenziale con idvideo della tabella tbvideo Integrità referenziale con idformato della tabella tbformati Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 12
13 Definizione delle relazioni della base di dati in SQL Lo schema logico relazionale precedente (tabelle, relazioni ed applicazione dei vincoli di integrità dei dati e referenziale) può essere creato con le seguenti istruzioni SQL (proposte in versione per ACCESS e MySQL). ACCESS CREATE TABLE tabcomuni ( idcomune Counter PRIMARY KEY, codiceistat Char(6) UNIQUE, comune Char(35) NOT NULL, ksprovincia Char(2) NOT NULL, ksregione Char(2) NOT NULL, cap Char(5), codcatastale Char(5) UNIQUE, abitanti Char(8), link Char(50) ); MySQL CREATE TABLE tabcomuni ( idcomune int (4) unsigned AUTO_INCREMENT PRIMARY KEY, codiceistat char(6) UNIQUE, comune char(30) NOT NULL, ksprovincia char(2) NOT NULL, ksregione char(2) NOT NULL, cap char(5), codcatastale char(5) UNIQUE, abitanti char(8), link char(50) ) TYPE=MyISAM; CREATE TABLE tbgeneri ( idgenere Counter PRIMARY KEY, genere Char(30) NOT NULL UNIQUE, ); CREATE TABLE tbformati ( idformato Counter PRIMARY KEY, formato Char(10) NOT NULL UNIQUE, costonoleggio Currency NOT NULL ); CREATE TABLE tbproduttori ( idproduttore Counter PRIMARY KEY, produttore Char(30) NOT NULL, p Char(30), sitop Char(30) ) ; CREATE TABLE tbgeneri( idgenere int(3) unsigned AUTO_INCREMENT PRIMARY KEY, genere char(30) NOT NULL UNIQUE ) TYPE=MyISAM; CREATE TABLE tbformati( idformato tinyint unsigned AUTO_INCREMENT PRIMARY KEY, formato char(10) NOT NULL UNIQUE, costonoleggio decimal(4,2) NOT NULL ) TYPE=MyISAM; CREATE TABLE tbproduttori( idproduttore int(4) unsigned AUTO_INCREMENT PRIMARY KEY, produttore char(30) NOT NULL, p char(30), sitop char(30) ) TYPE=MyISAM; Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 13
14 ACCESS CREATE TABLE tbclienti ( idcliente Counter PRIMARY KEY, cliente Char(30) NOT NULL, indirizzoc Char(30) NOT NULL, kscomunec Long NOT NULL, codicefiscalec Char(16), telefonoc Char(15), cellularec Char(15), c Char(30), documento Char(20), creditoresiduo Currency, FOREIGN KEY(kscomunec) REFERENCES tbcomuni(idcomune) ); CREATE TABLE tbvideo ( idvideo Counter PRIMARY KEY, titolo Char(80) NOT NULL, trama Char(255), ksgenere Long NOT NULL, regista Char(30), ksproduttore Long, durata Byte, annoproduzione Char(4), vietato Char(2), FOREIGN KEY(ksgenere) REFERENCES tbgeneri(idgenere), FOREIGN KEY(ksproduttore) REFERENCES tbproduttori (idproduttore) ) ; CREATE TABLE tbcopie ( ksvideoc Long, ksformatoc Long, disponibili Short NOT NULL, noleggiate Short, PRIMARY KEY (ksvideoc,ksformatoc), FOREIGN KEY(ksvideoc) REFERENCES tbvideo(idvideo), FOREIGN KEY(ksformatoc) REFERENCES tbformati(idformato) ) ; CREATE TABLE tbmovvideo ( idmovvideo Counter PRIMARY KEY, kscliente Long NOT NULL, ksvideo Long NOT NULL, ksformato Long NOT NULL, datanoleggio Datetime NOT NULL, datareso Datetime, FOREIGN KEY(kscliente) REFERENCES tbcliente(idcliente), FOREIGN KEY(ksvideo) REFERENCES tbvideo(idvideo), FOREIGN KEY(ksformato) REFERENCES tbformati(idformato) ); MySQL CREATE TABLE tbclienti( idcliente int(4) unsigned AUTO_INCREMENT PRIMARY KEY, cliente char(30) NOT NULL, indirizzoc char(30) NOT NULL, kscomunec int(4) NOT NULL, codicefiscalec char(16), telefonoc char(15), cellularec char(15), c char(30), documento char(20), creditoresiduo decimal(6,2) ) TYPE=MyISAM; CREATE TABLE tbvideo( idvideo int(4) unsigned AUTO_INCREMENT PRIMARY KEY, titolo char(80) NOT NULL, trama text(300), ksgenere int(3) UNSIGNED, regista char(30), ksproduttore int(4) UNSIGNED, durata smallint UNSIGNED, annoproduzione char(4), vietato char(2) DEFAULT NO ) TYPE=MyISAM; CREATE TABLE tbcopie( ksvideoc int(4) unsigned, ksformatoc tinyint unsigned, disponibili smallint unsigned NOT NULL DEFAULT 0, noleggiate smallint unsigned NOT NULL DEFAULT 0, PRIMARY KEY(ksvideoc,ksformatoc) ) TYPE=MyISAM; CREATE TABLE tbmovvideo( idmovvideo int(6) unsigned AUTO_INCREMENT PRIMARY KEY, kscliente int(4) unsigned, ksvideo int(4) unsigned, ksformato tinyint unsigned, datanoleggio date NOT NULL, datareso date ) TYPE=MyISAM; Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 14
15 Nota : le istruzioni proposte per MySQL sono relative all uso di tabelle tipo MyISAM che non supportano l integrità referenziale definita con FOREIGN KEY. Il tipo di tabella InnoDB, invece, supporta la FOREIGN KEY similmente ad ACCESS. OSSERVAZIONI SULLE QUERY PROPOSTE Query n. 10) Elenco ordinato dei clienti con l indicazione del video noleggiato, del formato ed il relativo costo pagato per il noleggio (moltiplicando il costo giornaliero del noleggio per il numero dei giorni): SELECT cliente, titolo, formato, costonoleggio * ((TO_DAYS(datareso) - TO_DAYS(datanoleggio)) + 1) AS Totale FROM tbmovvideo, tbformati, tbclienti, tbvideo WHERE idformato=ksformato AND idcliente=kscliente AND idvideo=ksvideo AND datareso <> 0 ORDER BY cliente,titolo, datanoleggio; Note : I giorni complessivi di noleggio sono calcolati con l espressione : ((TO_DAYS(datareso) - TO_DAYS(datanoleggio)) + 1). Viene sommato 1 alla differenza fra la data di restituzione e la data in cui il video è stato noleggiato in quanto si deve considerare anche il caso in cui il video viene restituito nello stesso giorno in cui è stato noleggiato. In tale caso la differenza fra le due date sarebbe zero. La condizione datareso <> 0 è necessaria in quanto nell elenco occorre considerare solo i video che sono stati restituiti e quindi i record che hanno il campo datareso uguale a 0. In fase di immissione dei record il campo datareso è stato immesso con valore = a '0000/00/00' e, quindi, si può effettuare il controllo anche nel seguente modo : datareso <> 0000/00/00. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 15
16 Query n. 13) Elenco, ordinato per titolo, dei video con il maggior numero di noleggi effettuati: SELECT titolo,count(*) AS noleggi_max FROM tbvideo, tbmovvideo WHERE idvideo=ksvideo GROUP BY ksvideo HAVING COUNT(*)=(SELECT MAX(noleggi) FROM (SELECT COUNT(*) AS noleggi FROM tbmovvideo GROUP BY ksvideo) AS calcola) ORDER BY titolo; titolo noleggi_max DRAGONFLY 9 IL CICLONE 9 TI AMO IN TUTTE LE LINGUE DEL MONDO 9 WATERWORLD 9 a) La subquery : SELECT COUNT(*) AS noleggi FROM tbmovvideo GROUP BY ksvideo calcola il numero di preferenze per ciascun video noleggiato : noleggi b) La subquery : ecc., ecc SELECT MAX(noleggi) FROM (SELECT COUNT(*) AS noleggi FROM tbmovvideo GROUP BY ksvideo) AS calcola 9 MAX(noleggi) preleva il valore max fra il numero di noleggi effettuati per ciascun video. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 16
17 c) La query principale calcola il numero di noleggi effettuati per ciascun video e lo confronta con il valore max calcolato, restituendo solo i record in cui questo valore è uguale. Query n. 14) Elenco, ordinato per titolo, dei video noleggiati con la percentuale di noleggi effettuati rispetto al totale complessivo : SELECT titolo, COUNT(*) AS noleggi, (SELECT COUNT(*) FROM tbmovvideo) AS noleggi_totali, (COUNT(*) * 100 /(SELECT COUNT(*) FROM tbmovvideo)) AS percentuale FROM tbvideo, tbmovvideo WHERE idvideo=ksvideo GROUP BY ksvideo, titolo ORDER BY titolo; a) Con COUNT(*) AS noleggi, associato alla GROUP BY, si calcolano i noleggi di ciascun video; b) La subquery (SELECT COUNT(*) FROM tbmovvideo) AS noleggi_totali calcola il numero complessivo di noleggi effettuati; b) La percentuale di noleggi per ciascun video, rispetto al totale complessivo, viene calcolata, semplicemente, moltiplicando il numero di noleggi del video (COUNT(*)) per 100 e dividendo per il totale complessivo di noleggi effettuati (SELECT COUNT(*) FROM tbmovvideo) Nota : nella target list non si possono, con MySQL, utilizzare il nome degli alias per effettuare, eventualmente, dei calcoli sugli stessi come avviene, per es., con Access che supporta anche la seguente query : SELECT titolo, COUNT(*) AS noleggi, (SELECT COUNT(*) FROM tbmovvideo) AS noleggi_totali, (noleggi * 100 /noleggi_totale) AS percentuale Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 17
GESTIONE VIDEONOLEGGIO
GESTIONE VIDEONOLEGGIO Si vuole automatizzare la gestione del noleggio di video (in formato VHS, DVD ed altri). Nel database si devono organizzare i dati relativi ai video, ai clienti del negozio, ai produttori
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE 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
DettagliGESTIONE ESAMI di STATO
GESTIONE ESAMI di STATO Si vogliono gestire, con una base di dati, le informazioni relative ai risultati delle prove, riguardanti l'esame di stato, sostenute da un classe di alunni. Gli elementi caratterizzanti
DettagliGestione 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
DettagliGESTIONE ESAMI di STATO
GESTIONE ESAMI di STATO Si vogliono gestire, con una base di dati, le informazioni relative ai risultati delle prove, riguardanti l'esame di stato, sostenute da un classe di alunni. Gli elementi caratterizzanti
DettagliIl sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
DettagliManuale 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,
DettagliBasi 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
DettagliESERCITAZIONE: 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
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 8 settembre 2011 1 Progettazione
DettagliEsame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009
Esame di Basi di Dati, SOLUZIONE APPELLO 09/06/2009 1. Si effettui la progettazione concettuale della base di dati secondo la specifica che segue fornendo un diagramma ER. Un azienda che gestisce gli eventi
DettagliBasi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.
Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la base di dati relazionale contenente le seguenti relazioni:
DettagliSoluzione 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
DettagliVerifica 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
DettagliProva del 14/09/09. Considerare la seguente descrizione di un campeggio:
Prova del 14/09/09 Considerare la seguente descrizione di un campeggio: Un campeggio è descritto da nome, indirizzo, partita IVA e uno o più numeri telefonici. Ai clienti vengono offerti essenzialmente
DettagliLaboratorio 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
DettagliStructured Query Language
IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un
DettagliSOLUZIONE 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,
DettagliSQL - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
DettagliProgettazione db per un sito web
Progettazione db per un sito web (stralcio della traccia per l Esame di Stato 2006 I.T.I. Informatica Abacus) L editore di un quotidiano locale che insiste sul territorio di una piccola provincia, decide
DettagliBasi di dati: appello 04/07/06
Basi di dati: appello 04/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dei DVD noleggiati dai clienti di una videoteca: CLIENTE (CodiceFiscale, Cognome, Nome, Residenza)
DettagliMetodologie e modelli di progetto
Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun
DettagliSQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
DettagliEsempio di database relazionale con l utilizzo del prodotto MySQL
Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene
DettagliSessione ordinaria 2003 Seconda prova scritta ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Indirizzo: INFORMATICA CORSO SPERIMENTALE Progetto ABACUS
Sessione ordinaria 2003 Seconda prova scritta ESAME DI STATO DI ISTITUTO TECICO IDUSTRIALE Indirizzo: IFORMATICA CORSO SPERIMETALE Progetto ABACUS Vivaio Si tratta di un classico problema di gestione di
DettagliEsercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive
Note introduttive Il metodo di lavoro proposto ripercorre il ciclo di vita di un sistema informativo automatizzato attraverso l analisi, il progetto, la realizzazione e il testing. Il sistema informativo
DettagliDATABASE CLIENTIRAPPRESENTANTI
DATABASE CLIENTIRAPPRESENTANTI Esempio tratto dal libro di testo. TESTO L azienda INCOM Srl vuole organizzare un DB per gestire informazioni relative a fatture emesse ai propri clienti italiani, riportando
DettagliLaboratorio 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
DettagliPROGETTAZIONE DI DATABASE Linguaggio SQL
PROGETTAZIONE DI DATABASE Linguaggio SQL Modello Concettuale (Modellazione del mondo reale) Modello Logico (Definizione del tipo e del formato dei dati) Modello Fisico (Implementazione fisica su supporti
DettagliFondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009
Esercizio 1 (6 punti) Date le seguenti strutture dati: int elementi[5]; int numeroelementi; Vettore; int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti di Informatica 2 Simulazione
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
DettagliFondamenti di Informatica 2
Matricola Nome Cog Firma Es.1 Es.2 Es.3 Es.4 Es.5 Tot. Esercizio 1 (6 punti) Data la seguente struttura dati: typedef struct{ int elementi[5][5]; int numerorighe; int numerocolonne; Matrice; Fondamenti
DettagliM963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA
M963 ESAME DI STATO DI ISTRUZIONE SECONDARIA SUPERIORE Indirizzo: INFORMATICA E TELECOMUNICAZIONI ARTICOLAZIONE INFORMATICA Tema di: INFORMATICA Il candidato svolga la prima parte della prova e risponda
DettagliBasi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.
Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti. Cognome: Nome: Matricola: Domanda 1 (20%) Considerare la base di dati relazionale contenente le seguenti relazioni:
DettagliSi considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.
Compito Sistemi Informativi. Tempo concesso : 90 minuti 10 gennaio 2012 Nome: Cognome: Matricola: Crediti: [6] [9] Esercizio 1 (punti 6+2) Si considerino le seguenti specifiche relative alla realizzazione
DettagliBASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono
BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliCaratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
DettagliESERCITAZIONI ACCESS
ESERCITAZIONI ACCESS MS Access 2000 Struttura di riferimento: Studente (Matricola, Cognome, Nome) Esame (Matricola, Materia, Voto, Data) CREARE LE TABELLE IN SQL: Create table STUDENTE ( matricola char(6)
DettagliMODULO 2. Query normali e parametriche Query di:
MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,
DettagliLO SVOLGIMENTO DEL TEMA DI INFORMATICA
LO SVOLGIMENTO DEL TEMA DI INFORMATICA Si richiede un progetto di ampio respiro: servirebbe più tempo per l'elaborazione Argomenti noti ai candidati, ma le richieste prevedono un'analisi approfondita.
DettagliBasi di dati: appello 28/02/06
Basi di dati: appello 28/02/06 Si consideri il seguente schema di base di dati che vuole tenere traccia della programmazione delle radio italiane: EMITTENTE (id, nome, frequenza, città.) SCALETTA (id_radio,
DettagliBasi di dati I 19 settembre 2016 Tempo a disposizione: un ora e 45 minuti.
Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola: Domanda 1 (15%) Considerare la relazione Stipendi(Matricola,StipLordo,Tasse,Netto,OK) Spiegare (sinteticamente ma in modo chiaro) quali
DettagliSCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query.
Esame di Stato Istituto Tecnico Industriale CORSO DI ORDINAMENTO Indirizzo: INFORMATICA Proposta di soluzione per il tema di: INFORMATICA GENERALE E APPLICAZIONI TECNICO-SCIENTIFICHE Anno Scolastico: 2007-2008
DettagliInterrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
DettagliInformatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia
Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per
DettagliUniversita 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
DettagliPROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità
PROGETTAZIONE LOGICA L obiettivo della fase di progettazione Logica è progettare lo Schema Logico della Base di Dati partendo da quanto prodotto nella fase di progettazione Concettuale. Si ricorda che,
DettagliBasi di Dati: Elementi
Basi di Dati: Elementi Docente: Prof. Pierangela Samarati Appello online - 20 Marzo 2010 Soluzioni Domanda 1) Nell ambito del modello ER illustrare le proprietà che caratterizzano le gerarchie di generalizzazione/specializzazione
DettagliEsame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003
Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico: 2002-2003 Il primo punto richiede l analisi e lo sviluppo del progetto
DettagliCompito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola:
Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 27 Marzo 07 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di
DettagliLaboratorio di Basi di Dati prova totale 20 febbraio 2013
Laboratorio di Basi di Dati prova totale 20 febbraio 2013 Testo dei requisiti Un ente organizza competizioni tra robot. Ogni competizione è classificata con un proprio codice e ne viene definito il regolamento,
DettagliINFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3
INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3 L azienda Plastic S.p.A, operante nel settore materie plastiche, ha deciso di dotarsi di un Sistema Informativo per la gestione del suo
DettagliCompito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1
Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Esercizi di progettazione concettuale e logica Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina,
DettagliNumero di contratto di noleggio CodiceInterno Chiave primaria CodiceInternazionale Codice identificativo internazionale
Videoteca Si vuole progettare una base di dati per una videoteca. La videoteca gestisce il noleggio di videocassette, dove ogni videocassetta è caratterizzata da un codice interno, un codice internazionale,
DettagliInterrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
DettagliEsercizi svolti sul modello ER con regole di lettura. Esercizio 1
Esercizio 1 Esercizi svolti sul modello ER con regole di lettura Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano
DettagliBasi di dati: appello 14/07/06
Basi di dati: appello 14/07/06 Si consideri il seguente schema di base di dati che vuole tenere traccia dell attività di un agenzia che affitta appartamenti per vacanze nella città di Varazze. CLIENTE
DettagliBasi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi.
Basi di dati I 27 gennaio 2016 Esame Compito A Tempo a disposizione: un ora e quarantacinque minuti. Libri chiusi. Cognome: Nome: Matricola: Domanda 1 (20%) Lo schema concettuale seguente rappresenta un
DettagliAtzeni, 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! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)
Arco Multiplo! Schema di fatto contenente un arco multiplo: genere autore libro VENDITA numero incasso data mese anno arco multiplo (AM) " Per illustrare il concetto di arco multiplo si parte da uno schema
DettagliGenerazione diagrammi ER
Generazione diagrammi ER Il diagramma ER finale viene di solito generato mediante raffinamento e/o integrazione di un certo numero di schemi intermedi (dipendente dalla complessità delle specifiche) Strategie:
DettagliPrima di iniziare. Diamo qualche definizione :
1 Prima di iniziare. Diamo qualche definizione : Modello E/R (Entity/Relationship in italiano Entità- Relazione) : è un modello concettuale di dati e, come tale, fornisce una serie di strutture, detti
DettagliIl modello concettuale dei dati
Il modello concettuale dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Livelli di analisi Realtà Modello Concettuale Entità/Associazioni
DettagliLaboratorio 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
DettagliSISTEMI INFORMATIVI E DATABASE
SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,
DettagliMS Access: Tutorial Tabelle, Relazioni
Università Magna Graecia di Catanzaro Informatica MS Access: Tutorial Tabelle, Relazioni Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Microsoft Access Tutorial Tabelle,
DettagliSCHEMA E/R DI UNA UNIVERSITA'
UNIVERSITÀ: SCHEMA E/R & PROGETTO LOGICO Lo schema descrive i professori, gli studenti e i corsi di una università. I professori afferiscono ad un dipartimento e tengono dei corsi; gli studenti hanno nel
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
DettagliEsprimere in algebra (ottimizzata), calcolo relazionale la seguente query:
Basi di dati: appello 07/02/11 Si consideri il seguente schema di base di dati che vuole tenere traccia delle informazioni relative ad un sistema per il pagamento automatico del pedaggio autostradale.
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. 2017/2018 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2017-18.htm Prof.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliGiovedì 02 Luglio 2009 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2008/2009
Giovedì 02 Luglio 2009 Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2008/2009 Esercizio 1 (8 punti). Si vuole progettare una base di dati per una videoteca che contenga informazioni
DettagliSchema Del DB Operazionale TELEFONATE
Schema Del DB Operazionale TELEFONATE Costruire lo Schema di Fatto per analizzare le chiamate considerando come dimensioni TelefonoDA e TelefonoA, Data e Fascia, intesa come FasciaOraria della chiamata
DettagliAPPUNTI DELLA LEZIONE DI DATABASE DEL 27/10/2016 (POMERIGGIO)
APPUNTI DELLA LEZIONE DI DATABASE DEL 27/10/2016 (POMERIGGIO) Studenti: Lorenzo Caputo, Mattia Marzano. Prof. Lucia Vaira Lo scopo della lezione è quello di andare a riempiere un database con dei dati
DettagliI.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1
I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice
DettagliCompito Sistemi Informativi LA. Tempo concesso : 90 minuti 22 Giugno 04 Nome: Cognome: Matricola:
Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 22 Giugno 04 Nome: Cognome: Matricola: Esercizio 1 Si considerino le seguenti specifiche relative alla realizzazione del sistema informativo di
DettagliLEFT JOIN - RIGHT JOIN - SELF JOIN - CROSS JOIN
Istruzione SELECT Istruzione SELECT pag. 3 Uso dell istruzione SELECT per prelevare i dati pag. 7 La clausola FROM pag. 8 Creare Alias per i nome di campi con subclausola AS pag. 10 Clausola WHERE pag.
DettagliProgetto 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.
DettagliDomande utili alla preparazione dell orale di Informatica all Esame di Stato
Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre
DettagliGestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella
Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere
DettagliBasi di dati: progettazione concettuale con schemi E-R
Basi di dati: progettazione concettuale con schemi E-R Soluzione dell esempio guida Passo 1: raffinamento dei requisiti I lettori che frequentano la biblioteca hanno una tessera su cui è scritto il nome
DettagliEsercitazione 1 SQL: DDL e DML di base
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Scuola Procedura descritta qui: https://infoy.ing.unibo.it/new_account/
DettagliCorso di Informatica. Access. Struttura tabella. Tabelle - esempi 11/01/2008
Corso di Informatica Ing. Dario Sguassero Access Accessè un programma specializzato nella gestione dei database Un database è una raccolta di informazioni organizzate Un database di Access è costituito
DettagliBasi di dati Appello del Soluzione del compito B
Basi di dati Appello del 10-01-2012 Soluzione del compito B Anno Accademico 2011/12 Problema 1 - Schema ER (0,7) Palestra Ubicata Comune NumAbitanti Categoria Nome Attrezzistica SportSquadra AnnoApertura
DettagliBasi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi
Basi di Dati 1 Esercitazione 5 08/01/2013 Matteo Picozzi http://home.dei.polimi.it/picozzi {picozzi@elet.polimi.it} proprietà logiche prevalenti su efficienza tenere sulla stessa entità informazioni che
DettagliSoluzione traccia Informatica simulazione d esame di Stato Istituto GAUSS. 15/04/2013
Soluzione traccia Informatica simulazione d esame di Stato Istituto GAUSS. 15/04/2013 Soluzione prima domanda Architettura L architettura è di tipo client server, l infrastruttura è Internet. In ciascuna
DettagliEsercitazione: Interrogazioni SQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Interrogazioni SQL Domenico Fabio Savo 1 Sommario 1. Creazione del database utilizzato per l esercitazione
DettagliESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie.
NOME COGNOME MATRICOLA ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella i dati di società di assicurazioni che erogano polizze sanitarie. UTENTE(Codice, Cognome, Professione) SOCIETA(Nome,
DettagliBasi di dati I Prova di autovalutazione 30 ottobre 2014
Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri
DettagliConcettuale. Giuseppe Amato
Esercitazione Progettazione Concettuale 14 Aprile 2010 Giuseppe Amato Esercitazione Progettazione Concettuale Si considerino i i seguenti fttidi fatti interesse di un agenzia immobiliare. Immobili in vendita:
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
Dettagli