GESTIONE ABBONAMENTI RIVISTE
|
|
|
- Antonio Casati
- 9 anni fa
- Visualizzazioni
Transcript
1 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 caratterizzanti il problema sono : gli abbonati, le riviste e le città. Ogni abbonato può avere abbonamenti a più riviste. Considerato il problema proposto si realizzi: 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. Schema concettuale della base di dati Tipi di entità Le entità che possono essere individuate per risolvere il problema sono : Città Rivista Abbonato contiene l elenco delle città in cui risiedono gli abbonati; contiene l elenco delle riviste; contiene l elenco degli abbonati; Attributi Sistema informativo Gestione Abbonamenti Riviste Tipo di entità Attributi Città idcittà, Nome della città; Rivista idrivista, Titolo della rivista, Costo dell abbonamento; Abbonato idabbonato, Cognome, Nome, Città di residenza; Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 1
2 Relazioni fra le entità Le associazioni tra i tipi di entità nel modello dei dati sono individuate nel seguente Modello Entità/Relazioni (E/R) : ABBONATO CITTA Abbona mento DataAbbonamento RIVISTA Tra l entità Rivista e l entità Abbonato esiste un associazione molti-a-molti in quanto un abbonato può essere abbonato ad una o più riviste e ciascuna rivista può essere soggetta di abbonamento da uno o più abbonati. Tra l entità Città e l entità Abbonato esiste un associazione uno-a-molti in quanto una città può essere residenza di uno o più abbonati e ciascun abbonato è residente in un una sola città. Nel modello E/R, inoltre, sono stati indicati, oltre ai nomi delle entità, l opzionalità od obbligatorietà delle associazioni (indicate rispettivamente con linea tratteggiata o continua). Il modello viene verificato utilizzando le regole di lettura : ogni rivista può essere soggetta di abbonamento da parte di uno o più abbonati, ogni abbonato deve essere abbonato ad una o più riviste. ogni città deve essere la residenza di uno più abbonati (si considera il caso di utilizzare solo le città in cui risiede almeno un abbonato e non tutte le città), un abbonato deve essere risiedere in una sola città. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 2
3 Schema logico della base di dati Nello schema E/R precedente si può osservare che esiste una relazione molti-a-molti (N:N) tra i tipi di entità Abbonato e Rivista. Applicando il processo di normalizzazione (definito dalle forme normali) si deve inserire una entità ausiliaria (Abbonamento) che trasforma la relazione molti-a-molti in due relazioni : uno-a-molti (1:N) tra Abbonato e Abbonamento, e molti-a-uno (N:1) tra Abbonamento e Rivista. 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). Si elencano di seguito le tabelle che rappresentano le entità dello schema concettuale : tbcittà (idcittà,città) tbriviste (idrivista, rivista, costo) tbabbonati (idabbonato, abbonato, kscittà) tbabbonamenti (ksrivista, ksabbonato, dataabbonamento) Per realizzare l associazione uno-a-molti fra l entità Città e l entità Abbonati si introduce, fra gli attributi dell entità a molti (Abbonati), la chiave esterna kscittà associata alla chiave primaria idcittà dell entità a uno (Città). Per realizzare l associazione molti-a-molti fra l entità Rivista e l entità Abbonato si introduce una terza entità Abbonamenti, che, oltre ad attributi propri dell associazione (dataabbonamento) ha, come attributi, la chiave esterna ksrivista associata alla chiave primaria idrivista dell entità Rivista e la chiave esterna ksabbonato associata alla chiave primaria idabbonato dell entità Abbonato. Rappresentazione grafica dello schema logico : La rappresentazione grafica dello schema logico relativo al sistema informativo per la gestione degli Abbonamenti è il seguente : Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 3
4 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 tbcittà e tbriviste, quindi la tabella tbabbonato (che ha fra gli attributi un campo definito come chiave esterna alla tabella tbcittà), ed infine la tabella tbabbonamenti in quanto quest ultima ha, fra gli attributi, un campo definito come chiave esterna alla tabella tbabbonati ed un campo definito come chiave esterna alla tabella tbriviste (l insieme di questi due campi formano la chiave primaria). Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tbcittà idcittà Primaria Numerico 4 Autoincremento città Testo 30 tbriviste idrivista Primaria Numerico 4 Autoincremento rivista Testo 30 Vincoli: valori unici costo Numerico 6 2 tbabbonati idabbonato Primaria Numerico 4 Autoincremento abbonato Testo 30 kscittà Esterna Numerico 4 Integrità referenziale con idcittà della tabella tbcittà tbabbonamenti ksrivista Primaria Numerico 4 Integrità referenziale con idrivista della tabella tbrivista ksabbonato Primaria Numerico 4 Integrità referenziale con idabbonato della tabella tbabbonati dataabbonamento Data/ora 10 Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 4
5 Le tabelle contengono i seguenti dati : tbabbonamenti ksrivista ksabbonato dataabb /11/ /12/ /12/ /10/ /11/ /01/ /03/ /04/ /04/ /05/ /05/ /05/ /06/ /03/ /04/ /03/ /05/ /04/ /06/ /03/ /04/ /06/ /05/ /07/ /06/2003 tbcittà idcittà Città 1 MILANO tbrivista 2 TORINO 3 CREMONA idrivista rivista costo 4 PIACENZA 1 PANORAMA 1,10 5 MANTOVA 2 OGGI 1,20 6 GENOVA 3 L'ESPRESSO 2,20 4 FOCUS 0,90 5 MAX 2,25 tbabbonati idabbonato abbonato kscittà 1 ROSSI GIUSEPPE 1 2 VERDI ANTONIO 1 3 PICCOLO MARIO 2 4 ROSSI GIUSEPPE 3 5 BIANCHI MARIA 3 6 GRANDE LUCA 4 7 APRILE LUIGI 5 8 ROSSI GIUSEPPE 2 9 PESCE ROSA 1 10 VOZZA UMBERTO 1 11 ROSSI MARIO 6 Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 5
6 Definizione delle relazioni della base di dati in SQL Lo schema logico relazionale precedente (tabelle, relazione 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 tbcittà ( idcittà Counter PRIMARY KEY, città Char(30) NOT NULL); CREATE TABLE tbabbonati ( idabbonato Counter PRIMARY KEY, abbonato Char(30) NOT NULL kscittà Long NOT NULL, FOREIGN KEY(kscittà) REFERENCES tbcittà(idcittà)); CREATE TABLE tbriviste ( idrivista Counter PRIMARY KEY, rivista Char(30) NOT NULL UNIQUE, costo SINGLE NOT NULL); MySQL CREATE TABLE tbcittà ( idcittà int(4) AUTO_INCREMENT PRIMARY KEY, città varchar(30) NOT NULL) CREATE TABLE tbabbonati ( idabbonato int(4) AUTO_INCREMENT PRIMARY KEY, abbonato varchar(30) NOT NULL, kscittà int(4) NOT NULL) CREATE TABLE tbriviste ( idrivista int(4) AUTO_INCREMENT PRIMARY KEY, rivista varchar(30) NOT NULL UNIQUE, costo decimal (6,2) NOT NULL) CREATE TABLE tbabbonamenti ( ksrivista Long NOT NULL, ksabbonato Long NOT NULL, dataabbonamento Datetime, PRIMARY KEY (ksrivista,ksabbonato), FOREIGN KEY(ksrivista) REFERENCES tbrivista(idrivista), FOREIGN KEY(ksabbonato) REFERENCES tbabbonati(idabbonato)); CREATE TABLE tbabbonamenti( ksrivista int(4) NOT NULL, ksabbonato int(4) NOT NULL, dataabbonamento date NOT NULL, PRIMARY KEY(ksrivista,ksabbonato)) 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. Es. di analisi di un problema a cura del Prof. Salvatore DE GIORGI - I.T.I.S. FALANTO TALSANO (TA) Pag. 6
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
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
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
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
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
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
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
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
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
GESTIONE 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
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
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
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
Analisi soluzione DB esercizio 1
Analisi soluzione DB esercizio 1 Analisi del problema Il testo propone un database capace di archiviare fatture con i relativi dati dei clienti che acquistano e degli articoli trattati. I dati fondamentali
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
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
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
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
Il 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,
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 [email protected]
Fondamenti 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
ESAME DI STATO I.T.E. A.S
ESAME DI STATO I.T.E. A.S. 2008-2009 Una casa editrice pubblica riviste prevalentemente rivolte a specialisti di varie discipline operanti in ambiente scientifico. Sapendo che: le pubblicazioni, che possono
4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli
Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management
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
Fondamenti 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
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
PROGETTAZIONE 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,
Basi 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:
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m
Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 1 OTTOBRE 2015 Tempo: 2h30m Si consideri il seguente schema di base di dati, che vuole memorizzare informazioni relative ai viaggi di lavoro
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
MySQL progettazione di un database per un mobilificio
MySQL progettazione di un database per un mobilificio versione del documento: 1.1 Luca Scrimin Requisiti Consideriamo un mobilificio, che vuole vendere i suoi prodotti on-line. Innanzitutto, nel catalogare
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
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. [email protected] Università degli Studi di L Aquila Dipartimento di Informatica Technolabs S.p.A. R&D Department
ESAME 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
Esempio 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
Fondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: [email protected] A. A. 2018/ 19 Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language Sviluppato
Esercitazione 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
Progettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
Fabio Proietti (c) 2013 Licenza:
N N Fabio Proietti (c) 2013 Licenza: http://creativecommons.org/licenses/by-sa/3.0/ Esame di stato 2009 Una casa editrice pubblica... vocabolario (tipo di)pubblicazione: tipo di rivista che ha una certa
Esame 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
Lezione 4. Dallo schema ER al relazionale
Lezione 4 Dallo schema ER al relazionale Pag.1 Insieme di entità ER e tabelle relazionali CREATE TABLE ( CHAR(15), CHAR(20), INTEGER, PRIMARY KEY ()) Pag.2 Traduzione di relazioni ER (segue) dal r rid
ESERCIZI SQL. Esercizio 1
ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca
