Anteprima
Vedrai una selezione di 10 pagine su 43
Basi di dati - esempio db di ente turistico Pag. 1 Basi di dati - esempio db di ente turistico Pag. 2
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 6
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 11
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 16
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 21
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 26
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 31
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 36
Anteprima di 10 pagg. su 43.
Scarica il documento per vederlo tutto.
Basi di dati - esempio db di ente turistico Pag. 41
1 su 43
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

UCINA FFERTA BICAZIONE

introducendo, con opportune ridenominazioni, gli identificatori primari delle entità C e

UCINA

Z tra gli attributi delle relazioni R ed Esercizio rispettivamente.

ONA ISTORANTE

R (Codice, Cucina)

ISTORANTE

E (Codice, Nome, Indirizzo, Città, Zona)

SERCIZIO

Allo schema bisogna aggiungere altri due vincoli di integrità: esiste un vincolo di integrità

e l’attributo Tipo di C , ed un altro fra la

referenziale tra l’attributo Cucina di R

ISTORANTE UCINA

coppia di attributi (Città, Zona) di E e la coppia di attributi (Città, CodiceZona) di

SERCIZIO

.

Z

ONA

Resta infine da tradurre l’associazione molti a molti C . Come già visto essa

ONVENZIONE

viene tradotta con una relazione avente come attributi gli identificatori delle entità coinvolte,

questa volta E e C D C , opportunamente ridenominati. Tale coppia di

SERCIZIO ARTA I REDITO

identificatori costituisce anche l’identificatore primario della relazione C :

ONVENZIONE

C (Esercizio, Carta)

ONVENZIONE

Altri due vicoli di integrità referenziale sussistono tra l’attributo Esercizio di C e

ONVENZIONE

, ed un altro fra l’attributo Carta di C e l’attributo

l’attributo Codice di E

SERCIZIO ONVENZIONE

CodiceCarta di C D C .

ARTA I REDITO

In definitiva lo schema relazionale della nostra base dati è il seguente (in Figura 2-5 è

mostrato lo stesso schema descritto in Microsoft Access):

E (Codice, Nome, Indirizzo, Città, Zona)

SERCIZIO

(Codice, Categoria, NrStanze)

A LBERGO

R (Codice, Cucina)

ISTORANTE

C (Tipo, Descrizione)

UCINA

C D C (CodiceCarta, Nome)

ARTA I REDITO

(Esercizio, Carta)

C ONVENZIONE

Z (Città, CodiceZona, Nome)

ONA

C (IdCittà, Nome)

ITTÀ 12

Base dati di un ente turistico

2-5

Figura

I NTERROGAZIONI SULLA BASE DI DATI

Una volta definito lo schema relazionale della nostra base di dati e popolate le tabelle

possiamo passare alla formulazione di alcune interrogazioni sulla base dati stessa. Innanzitutto

popoliamo la nostra base di dati come illustrato nelle pagine seguenti.

Si precisa che si sono fatte le seguenti scelte riguardo i codici identificati delle diverse entità:

¾ è un codice alfanumerico di 5 caratteri;

l'attributo Codice di E

SERCIZIO

¾ l'attributo CodiceCarta di C D C è un codice alfanumerico di 5 caratteri;

ARTA I REDITO

¾ l'attributo Tipo di C è un codice costituito da un singolo carattere;

UCINA

¾ l'attributo CodiceZona di Z è un codice costituito da un singolo carattere.

ONA 13

Base dati di un ente turistico

E

SERCIZIO

Codice Nome Indirizzo Città Zona

AGT44 Hotel Serius Viale Augusto 4 A

CH789 Cin Cian P.le Tecchio 4 A

CRG68 Terrazze Hotel Giorgione Via D'Afflitto 5 B

DIA55 Hotel Diana Via degli Scipioni 4 A

DTN77 Da Tonino Via Lepanto 4 A

EU444 Oasi Viale Italia 6 A

FG567 Trattoria Grasso Via S.Barbara 11 C

GMB33 Gambero Rosso Via Morosini 4 A

GV444 La Pignata Viale Tigli 5 B

HICD1 Holyday Inn Isola E/6 4 D

JH787 Jolly Hotel Via Medina 4 C

JK876 Hotel Vesuvio Via Marina 7 L

LCP66 Lucullo Via Marina 9 L

LEO34 Hotel Leopardi Via Giulio Cesare 4 A

PDM55 La gondola Piazza Duomo 10 A

PDR55 Paradise Via della Liberazione 6 B

PKT23 Pitagoras Via Giulio Cesare 4 A

R33AI Palace Hotel Via Roma 10 A

RTY67 Hotel Minarda Via Bosco 8 C

TY767 Hotel Excelsior Via della Repubblica 6 C

C D C

ARTA I REDITO

CodiceCarta Nome

AE112 American Express

DC332 Diners Club

GH656 VipCard

MC453 MasterCard

TC565 Top Card

VS343 Visa

A

LBERGO

Codice Categoria NrStanze

AGT44 5 35

CRG68 2 25

DIA55 1 8

HICD1 5 100

JH787 3 52

JK876 4 34

LEO34 2 10

R33AI 4 75

RTY67 2 15

TY767 5 78

14

Base dati di un ente turistico

R

ISTORANTE

Codice Cucina

CH789 H

DTN77 T

EU444 T

FG567 C

GMB33 T

GV444 L

LCP66 P

PDM55 F

PDR55 T

PKT23 G

C

ONVENZIONE

Esercizio Carta

AGT44 AE112

AGT44 DC332

CH789 GH656

CRG68 VS343

EU444 MC453

GMB33 AE112

GMB33 MC453

GMB33 VS343

GV444 MC453

GV444 VS343

HICD1 AE112

HICD1 DC332

HICD1 MC453

HICD1 TC565

HICD1 VS343

JH787 MC453

JK876 GH656

PKT23 DC332

R33AI GH656

R33AI MC453

TY767 AE112

TY767 DC332

TY767 GH656

TY767 MC453

TY767 TC565

TY767 VS343

15

Base dati di un ente turistico

C

UCINA

Tipo Descrizione

A Araba

C Casereccia

F Francese

G Greca

H Cinese

L Locale

P Pesce

T Tradizionale

C

ITTÀ

IdCittà Nome

4 Napoli

5 Ariano Irpino

6 Roma

7 Sorrento

8 Grottaminarda

9 Pozzuoli

10 Milano

11 Montecalvo Irpino

Z

ONA

Città CodiceZona Nome

4 A Fuorigrotta

4 B Bagnoli

4 C Centro storico

4 D Centro direzionale

4 E Barra

4 F Ponticelli

5 A Rione Cardito

5 B Centro

5 D Camporeale

5 M Rione Martiri

6 A Eur

6 B Parioli

6 C Centro

7 C Centro

7 L Litorale

8 C Centro

9 C Centro

9 L Litorale

10 A Centro

10 B Cento direzionale

11 C Centro

16

Base dati di un ente turistico

Formuliamo ora sull’istanza appena descritta della nostra base di dati una serie di

interrogazioni SQL di complessità crescente, introducendo man mano i vari operatori e le varie

clausole che il linguaggio di interrogazione mette a disposizione (si fa riferimento allo standard

SQL-2). Per ogni interrogazione verrà mostrato il risultato e la corrispondente traduzione nel

dialetto SQL adoperato da Access.

Interrogazione 1: Estrarre i codici degli alberghi con più di 50 stanze.

select Codice

from Albergo

where NrStanze>50

SELECT Codice

FROM Albergo

WHERE NrStanze>50; Codice

HICD1

JH787

R33AI

TY767

Interrogazione 2: Estrarre tutte le informazioni contenute nella tabella A , relative ad

LBERGO

alberghi a tre o quattro stelle con più di 50 stanze.

select *

from Albergo

where (Categoria=3 or Categoria=4) and NrStanze>50

SELECT *

FROM Albergo

WHERE (Categoria=3 or Categoria=4) and NrStanze>50;

Codice Categoria NrStanze

JH787 3 52

R33AI 4 75

Interrogazione 3:Estrarre i nomi delle zone in cui è divisa la città di Napoli (senza adoperare

esplicitamente l’operatore di join).

select Zona.Nome

from Città, Zona

where Città.Nome='Napoli' and Città.IdCittà=Zona.Città

SELECT Zona.Nome

FROM Città, Zona

WHERE Città.Nome='Napoli' and Città.IdCittà=Zona.Città;

17

Base dati di un ente turistico

Nome

Fuorigrotta

Bagnoli

Centro direzionale

Centro storico

Barra

Ponticelli

Interrogazione 4: Realizzare l’interrogazione precedente mediante l’uso esplicito dell’operatore

di join e fornendo i risultati in ordine alfabetico.

select Z.Nome

from Città C join Zona Z on C.IdCittà=Z.Città

where C.Nome='Napoli'

order by Z.Nome

SELECT Z.Nome

FROM Città AS C INNER JOIN Zona AS Z ON C.IdCittà=Z.Città

WHERE C.Nome='Napoli'

ORDER BY Z.Nome; Nome

Bagnoli

Barra

Centro direzionale

Centro storico

Fuorigrotta

Ponticelli

Interrogazione 5: Estrarre per ogni ristorante codice, nome, indirizzo, nome della zona e della

città e descrizione della cucina offerta.

select R.Codice, E.Nome, E.Indirizzo, Z.Nome as Zona, T.Nome as Città,

C.Descrizione as Cucina

from Cucina C join Ristorante R on C.Tipo=R.Cucina join Esercizio E on

R.Codice=E.Codice join Zona Z on E.Zona=Z.CodiceZona and

E.Città=Z.Città join Città T on Z.Città=T.IdCittà

SELECT R.Codice, E.Nome, E.Indirizzo, Z.Nome AS Zona, T.Nome AS Città,

C.Descrizione AS Cucina

FROM (((Cucina AS C INNER JOIN Ristorante AS R ON C.Tipo=R.Cucina) INNER

JOIN Esercizio AS E ON R.Codice=E.Codice) INNER JOIN Zona AS Z ON

(E.Zona=Z.CodiceZona) AND (E.Città=Z.Città)) INNER JOIN Città AS

T ON Z.Città=T.IdCittà; 18

Base dati di un ente turistico

Codice Nome Indirizzo Zona Città Cucina

GMB33 Gambero Rosso Via Morosini Fuorigrotta Napoli Tradizionale

GV444 La Pignata Viale Tigli Centro Ariano Irpino Locale

DTN77 Da Tonino Via Lepanto Fuorigrotta Napoli Tradizionale

EU444 Oasi Viale Italia Eur Roma Tradizionale

PKT23 Pitagoras Via Giulio Cesare Fuorigrotta Napoli Greca

CH789 Cin Cian P.le Tecchio Fuorigrotta Napoli Cinese

PDM55 La gondola Piazza Duomo Centro Milano Francese

LCP66 Lucullo Via Marina Litorale Pozzuoli Pesce

PDR55 Paradise Via della Liberazione Parioli Roma Tradizionale

FG567 Trattoria Grasso Via S.Barbara Centro Montecalvo Irpino Casereccia

Interrogazione 6: Estrarre per ogni albergo, con almeno tre stelle e che non si trovi a Roma,

codice, nome, indirizzo, nome della zona e della città, categoria e numero di stanze, fornendo

le righe del risultato ordinate per categoria e, a parità di questa, per numero di stanze.

select A.Codice, E.Nome, E.Indirizzo, Z.Nome as Zona, C.Nome as Città,

A.Categoria, A.NrStanze

from Albergo A join Esercizio E on A.Codice=E.Codice join Zona Z on

E.Zona=Z.CodiceZona and E.Città=Z.Città join Città C on

Z.Città=C.IdCittà

where A.Categoria>=3 and C.Nome<>'Roma'

order by A.Categoria, A.NrStanze

SELECT A.Codice, E.Nome, E.Indirizzo, Z.Nome AS Zona, C.Nome AS Città,

A.Categoria, A.NrStanze

FROM (Città AS C INNER JOIN Zona AS Z ON C.IdCittà = Z.Città) INNER JOIN

(Esercizio AS E INNER JOIN Albergo AS A ON E.Codice = A.Codice) ON

(Z.Città = E.Città) AND (Z.CodiceZona = E.Zona)

WHERE A.Categoria>=3 and C.Nome<>'Roma'

ORDER BY A.Categoria, A.NrStanze;

Codice Nome Indirizzo Zona Città Categoria NrStanze

JH787 Jolly Hotel Via Medina Centro storico Napoli 3 52

JK876 Hotel Vesuvio Via Marina Litorale Sorrento 4 34

R33AI Palace Hotel Via Roma Centro Milano 4 75

AGT44 Hotel Serius Viale Augusto Fuorigrotta Napoli 5 35

HICD1 Holyday Inn Isola E/6 Centro direzionale Napoli 5 100

Interrogazione 7: Estrarre i codici dei ristoranti e delle carte di credito con cui sono

convenzionati, mantenendo nel risultato anche i ristoranti che non hanno alcuna convenzione.

select R.

Dettagli
Publisher
A.A. 2012-2013
43 pagine
2 download
SSD Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Basi di Dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Picariello Antonio.