Università degli Studi di Salerno Corso di Basi di Dati e Sistemi Informativi per l Azienda ESERCITAZIONE ER Prof.ssa Genny Tortora Dipartimento di Studi e Ricerche Aziendali (Management & Information Technology) tortora@unisa.it A.A. 2013/2014 Basi di Dati e Sistemi Informativi per l Azienda
ESEMPIO 1 Si progetti lo schema Entità- Relazione di una base di dati in cui si vogliono memorizzare le seguenti informazioni relative ad una agenzia di viaggio che organizza gite turistiche. Ogni gita ha un codice, un responsabile (di cui si vuole memorizzare il recapito), una data di partenza ed un elenco di partecipanti (di cui si vuole memorizzare nome, data di nascita, età e uno o più numeri di telefono), ed inoltre fa riferimento ad un itinerario. Di ogni itinerario si vuole memorizzare una durata, un prezzo ed un elenco delle tappe, corrispondenti alle località visitate (con durata del soggiorno in ogni località). Le tappe sono caratterizzate da un nome ed una descrizione.
Codice Data_Part. GITA (1,1) (1,1) (0,N) (0,N) HA RESPONSABILE SEGUE ITINERARIO () PARTECIPANTE PARTECIPANO () Codice Prezzo Cod. Fis. Nome () Durata Nome Data di Nascita Cognome COMPOSTO Tel. Indirizzo () Durata Soggiorno Età Cod.Fis. (1,1) esattamente uno (1,n) almeno uno (0,1) opzionalmente (0,n) un numero qualsiasi TAPPA Nome Descriz.
ESEMPIO 2 Una rivista periodica di fumetti vuole memorizzare informazioni relative a tutte le storie che ha pubblicato nel passato, ed ai relativi personaggi. Di una storia interessa il titolo, che la identifica, ed interessano informazioni relative alle puntate in cui è stata divisa: per ogni puntata interessa il numero di pagine, il numero d ordine all interno della storia (prima, seconda ) ed il numero della rivista su cui è stata pubblicata. I personaggi si dividono in principali e secondari. Per tutti i personaggi interessa il nome, che li identifica, l ideatore ed una descrizione. Per i personaggi secondari interessa ricordare le storie in cui sono apparsi e la loro caratteristica principale, mentre per quelli principali si vogliono memorizzare precisamente le puntate di apparizione.
Soluzione fume3 (1) PUNTATE 1,1 Composta da STORIA 0,M Titolo 1,M N. pag N. d ordine N. rivista Compare in Apparso in PERSONAGGI PRINCIPALI descrizione PERSONAGGI SECONDARI descrizione Nome ideatore Nome ideatore caratteristica
Soluzione fume3 (2) PUNTATE 1,1 Composta da STORIA 0,M Titolo 1,M N. pag N. d ordine N. rivista Compare in Apparso in PERSONAGGI descrizione Nome Tipo ideatore caratteristica Tipo = PRINCIPALI o SECONDARI
Soluzione fume3 (3) PUNTATE 1,1 Composta da STORIA 0,M Titolo 1,M N. pag N. d ordine N. rivista Compare in Apparso in PERSONAGGI PRINCIPALI Ha ruolo 1,1 PERSONAGGI SECONDARI 1,1 Ha ruolo 0,1 PERSONAGGI 0,1 descrizione caratteristica ideatore Nome
ESEMPIO 3 Diversi ristoranti adottano diversi tipi di cucina (cinese, tailandese, italiana,...). Ad ogni tipo di cucina si vuole associare un codice ed una breve descrizione ad uso dei turisti. I ristoranti sono siti in zone diverse della città, ognuna delle quali è raggiunta da almeno una linea urbana di autobus. I ristoranti, di cui si fornisce anche nome e indirizzo, accettano esclusivamente le carte di credito con cui sono convenzionati. Per ogni tipo di carta di credito è disponibile un numero verde in caso sia necessaria una consulenza telefonica.
Ho ipotizzato: che un ristorante debba necessariamente dichiarare almeno un tipo di cucina e che ne possa dichiarare anche più d uno; che in Cucina possano essere inserite occorrenze non interessate da riferimenti con Ristorante; che un ristorante sia individuato da nome e indirizzo
Ho ipotizzato: che in Autobus possano essere inserite anche occorrenze non interessate da riferimenti con Zona
Schema relazionale: Ristoran? Zona(Nome) Autobus(Numero) Raggiunta(Zona.Nomeé, Autobus.Numeroé ) Ristorante(Nome, Indirizzo, Zona.Nomeé ) CartaCredito(Nome, NumVerde) Accetta(Ristorante.Nomeé, Ristorante.Indirizzoé, CartaCredito.Nomeé ) Cucina(Codice, Nome, Descrizione) Adotta(Risorante.Nomeé, Ristorante.Indirizzoé, Cucina.Codiceé )
ESEMPIO 4 La stagione concertistica di Orvieto prevede una serie di concerti ognuno dei quali ha un codice, un titolo e una descrizione, ed è composto da un insieme di pezzi musicali. Ogni pezzo ha un codice, un titolo e uno o più autori (ciascuno con codice e nome); uno stesso pezzo può essere rappresentato in diversi concerti. Ogni concerto è eseguito da un orchestra; ogni orchestra ha un nome, un direttore (del quale interessano solo nome e cognome) e un insieme di orchestrali. Ogni orchestrale ha una matricola (univoca nell ambito della base di dati), nome e cognome, suona uno o più strumenti e può partecipare a più orchestre. Ogni concerto è tenuto in una sala, in una certa data. Ogni sala ha un codice, un nome e una capienza.
Schema relazionale: Concer? Autore(Nome, Cognome) PezzoMusicale(Codice, Titolo) Composto(NomeAutoreé, CognomeAutoreé, CodPezzoé ) Concerto(Codice, Titolo, Descrizione, CodSalaé, Data, CodOrchestraé ) Sala(Codice, Nome, Capienza) FormatoDa(CodConcertoé, CodPezzoé ) Orchestra(Nome, NomeDiré, CognomeDiré ) Direttore(Nome, Cognome) FormataDa(NomeOrchestraé, MatricolaOrchestraleé ) Orchestrale(Matricola, Nome, Cognome) Strumento(Codice, Nome) Suona(MatricolaOrchestraleé, CodStrumentoé )