GESTIONE ABBONAMENTI RIVISTE

Documenti analoghi
GESTIONE ESAMI di STATO

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

I database. Introduzione alla teoria delle basi di dati

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la gestione di un sito di blog.

Traduzione dello schema E-R in modello logico relazionale

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Dichiarazione degli schemi in SQL DDL 1

Database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi per

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

ESERCIZIO 1 (12 punti) Dato il seguente schema relazionale, che modella le informazioni relative ad una Software (SW) House:

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

Progettazione logica

Basi di Dati Corso di Laura in Informatica Umanistica

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CAPITOLO V. DATABASE: Il modello relazionale

Normalizzazione. Definizione

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

Si considerino le seguenti specifiche per la realizzazione di un sito web per la gestione di abbonamenti a riviste di vario genere..

Foglio elettronico e Banche dati e per la Pubblica Amministrazione

Procedura operativa per la gestione della funzione di formazione classi prime

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

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

BASI DATI INFORMATICA

Esempio di database relazionale con l utilizzo del prodotto MySQL

Basi di Dati Relazionali

elicaweb manuali - logistica magazzino - pagina 1 di 5

Esercitazione 03: JDBC e Prepared Statements

GUIDA TECNICA OFFERTA FORMATIVA PUBBLICA NEI CONTRATTI DI APPRENDISTATO PROFESSIONALIZZANTE (All. B Dgr 609 del e D.D del 15.7.

Ingegneria del Software

ESERCIZI DI MODELLAZIONE E-R

Sessione ordinaria 2005 Seconda prova scritta M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

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

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

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Volumi di riferimento

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

DOMANDA PER LA COSTITUZIONE DI UNA GARANZIA GLOABALE (NOTA ESPLICATIVA)

Vincoli di Integrità

Esercizio 1: archivio CD e DVD

Lezione 3 Progettazione di siti

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

2011 Politecnico di Torino 1

NUVOLA COMUNICAZIONI

Oggetto: Utility per la variazione massiva del codice IVA.

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

ARCHITETTURA FISICA DEL SISTEMA

Manuale Operativo Gestione dei Ticket di assistenza 15 Marzo 2016

Specifiche tecniche e di formato Presentazione comunicazione unica per la nascita d impresa

Rappresentazione di dati: caratteri. Appunti a cura del prof. Ing. Mario Catalano

MICROSOFT ACCESS IL MODELLO E/R

Programma per la generazione di filastrocche

Fiscal News La circolare di aggiornamento professionale

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Il modello relazionale

Uno strumento per la valutazione dell'accessibilità e della sicurezza negli edifici

Corso sul linguaggio SQL

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

Capitolo 9. Esercizio 9.1. Esercizio 9.2

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

ISCRIZIONI ON LINE Registrazione delle famiglie. Direzione generale per gli studi, la statistica e i sistemi informativi

Basi di dati: appello 08/03/06

Modulo 17: Invio del BF tramite

Un DataBase SQL per la Henry Books

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Compito Basi di Dati. Tempo concesso: 90 minuti 15 Febbraio 2007 Nome: Cognome: Matricola:

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne. Copyright The McGraw-Hill Companies, srl

I circuiti digitali: dalle funzioni logiche ai circuiti

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

DOCUMENTAZIONE WEB RAIN - ACCESSO CLIENTI

Alessandra Raffaetà. Schemi a oggetti -> Schemi relazionali

ALLEGATO: ISTRUZIONI PER L OPERATORE DI SEDE PER ACQUISIRE LE DOMANDE TELEMATICHE DI RICONGIUNZIONE

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

GUIDA ALLA REGISTRAZIONE

Esame di stato 2004 Portfolio studente

La disposizione estetica della lettera commerciale

Analisi Curve di Carico

Problemi di scelta ESEMPI

Manuale di Aggiornamento BOLLETTINO. Rel E. DATALOG Soluzioni Integrate a 32 Bit

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

BASI DATI: algebra relazionale

ATTI COSTITUTIVI DI S.R.L. DI START-UP INNOVATIVE GUIDA RAPIDA

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

CORSO di INFORMATICA e ARCHIVIAZIONE

DATABASE PER IL WEB. Programmazione Web 1

Gestione Voti Scolastici

Allegato 2 MODULO DR-02 VDČ (FAMIGLIARI A CARICO) Domanda di registrazione dei famigliari a carico nel registro contribuenti

Alcune idee sui sistemi software e la loro architettura

Software gestione tesseramenti. - Guida alla definizione e utilizzo dei corsi e attività -

QUOTAZIONI USATO DEALER

Diagrammi di classe e sistemi orientati agli oggetti

Moduli di misura per corrente ma per corrente ma

Registrazione rivenditori LEGGE 7 agosto 2012, n. 134.

Parte 6 Esercitazione sull accesso ai file

Transcript:

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. Analisi dei dati Le entità che possono essere individuate per risolvere il problema sono : ENTITA Città Rivista Abbonato contiene l elenco delle città in cui risiedono gli abbonati; contiene l elenco delle riviste; contiene l elenco degli abbonati; Gli attributi, per ciascuna entità, individuati per risolvere il problema sono : 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; 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à è la residenza di uno o più abbonati e ciascun abbonato ha la residenza in una sola città. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 1

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) : ABBONATO CITTA Abbonamento DataAbbonamento RIVISTA 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à. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 2

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 relazione molti-amolti (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. Si definiscono, innanzitutto, le tabelle che rappresentano le entità dello schema concettuale e successivamente si definiscono le tabelle che rappresentano le associazioni. Le seguenti tabelle rappresentano le entità : tbcittà (idcittà,città) tbriviste (idrivista, rivista, costo) tbabbonati (idabbonato, abbonato, kscittà) La seguente tabella rappresenta l associazione molti-a-molti : 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. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 3

Rappresentazione grafica dello schema logico : La rappresentazione grafica dello schema logico relativo al sistema informativo per la gestione degli Abbonamenti è il seguente : 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 Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 4

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à) MySQL CREATE TABLE tbcittà ( idcittà int(4) unsigned città char(30) NOT NULL CREATE TABLE tbabbonati ( idabbonato int(4) unsigned abbonato char(30) NOT NULL, kscittà int(4) NOT NULL CREATE TABLE tbriviste ( idrivista Counter PRIMARY KEY, rivista Char(30) NOT NULL UNIQUE, costo SINGLE NOT NULL CREATE TABLE tbriviste ( idrivista int(4) unsigned rivista char(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) unsigned NOT NULL, ksabbonato int(4) unsigned 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. Esempio di Progettazione di un database a cura del Prof. Salvatore DE GIORGI Pag. 5