Salve a tutti, a scuola abbiamo studiato come ultimo argomento il database, in laboratorio ci fanno usare EasyPHP e scriviamo tutto il file sql che dopo andiamo ad eseguire con il MS-DOS. Premetto che non sono esperto ma ho una preparazione base e che a casa non riesco ad esercitarmi perch� ho un MacBook con versione 10.11.6 El Capitan e provando ad installare Oracle MySQL non ci sono riuscito.
Ieri in laboratorio stavo svolgendo un esercizio dove per� ho riscontrato errori nella sintassi ma era pi� strano del solito c'erano simboli come questi: ae attaccate e altre lettere cos�.
Accetto qualsiasi tipo di consiglio.
Ho caricato lo schema e/r su imgur di seguito invece ci sono gli archivi che si creano:
LOCALITA (CodL, Continente, Nazione, Citta, CondizioneClimatica, Documento)
PACCHETTI (CodP, Descrizione, Modalita, Prezzo, Soggiorno, CodL)
CLIENTI (CodC, Nome, Cognome, Indirizzo)
PACCHETTICLIENTI (CodP, CodC, Data)
ORGANIZZAZIONI (CodO, NomeO, Telefono, Email)
PACCHETTIORGANIZZAZIONI (CodP, CodO)
drop database if exists viaggi;
create database viaggi;
use viaggi;
create table LOCALITA(
CodL varchar(30)not null primary key,
Continente varchar(30)not null,
Nazione varchar(30)not null,
Citta varchar(30)not null,
CondizioneClimatica varchar(30)not null,
Documento varchar(30)not null
);
create table PACCHETTI(
CodP varchar(30)not null primary key,
Descrizione varchar(30)not null,
Modalita varchar(30)not null,
Prezzo int(10)not null,
Soggiorno int(10)not null,
CodL varchar(30)not null,
foreign key (CodL)
references LOCALITA.CodL
);
create table CLIENTI( CodC varchar(30)not null primary key, Nome varchar(30)not null, Cognome varchar(30)not null, Indirizzo varchar(30)not null );
create table PACCHETTICLIENTI( CodP varchar(30)not null, CodC varchar(30)not null, Data varchar(30)not null, foreign key (CodP)
references PACCHETTI.CodP,
foreign key (CodC)
references CLIENTI.CodC
);
create table ORGANIZZAZIONI( CodO varchar(30)not null primary key, NomeO varchar(30)not null, Telefono varchar(30)not null, Email varchar(30)not null ); create table PACCHETTIORGANIZZAZIONI( CodP varchar(30)not null, CodO varchar(30)not null, foreign key (CodP)
references PACCHETTI.CodP,
foreign key (CodO)
references ORGANIZZAZIONI.CodO
);
insert into LOCALITA values
(�L1�,�Europa�,�Italia�,�Roma�,� mediterraneo�,�Carta d'identit��),
(�L2�,�Europa�,�Svezia�,�Stoccolmaï¿ ½,�mite�,�Carta d'identit��),
(�L3�,�Europa�,�Danimarca�,�Copenagh en�,�mite�,�Carta d'identit��),
(�L4�,�Europa�,�Romania�,�Bucarestï¿ ½,�temperato�,�Carta d'identit��),
(�L5�,�Oceania�,�Australia�,�Sydneyï ¿½,�temperato�,�Passaporto�),
(�L6�,�Oceania�,�Nuova Zelanda�,�Wellington�,�temperato�,�Pas saporto�),
(�L7�,�Africa�,�Egitto�,�Il Cairo�,�desertico�,�Passaporto�),
(�L8�,�Africa�,�Sudafrica�,�Citt� del Capo�,�mediterraneo�,�Passaporto�),
(�L9�,�Africa�,�Nigeria�,�Abuja�,ï ¿½tropicale�,�Passaporto�),
(�L10�,�Africa�,�Kenya�,�Nairobi�, �equatoriale�,�Passaporto�),
(�L11�,�America�,�USA�,�New York�,�continentale�,�Passaporto�),
(�L12�,�America�,�USA�,�Los Angeles�,�temperato�,�Passaporto�),
(�L13�,�America�,�Messico�,�Monterre y�,�tropicale�,�Passaporto�),
(�L14�,�America�,�Brasile�,�Rio de Janeiro�,�tropicale�,�Passaporto�),
(�L15�,�America�,�Argentina�,�Buenos Aires�,�temperato�,�Passaporto�),
(�L16�,�Asia�,�Cina�,�Shanghai�,ï¿ ½moderato�,�Passaporto�),
(�L17�,�Asia�,�Arabia Saudita�,�Riad�,�desertico�,�Passaport o�),
(�L18�,�Asia�,�Giappone�,�Tokyo�,ï ¿½temperato�,�Passaporto�),
(�L19�,�Asia�,�India�,�Nuova Delhi�,�subtropicale�,�Passaporto�);
insert into PACCHETTI values
(�P1�,�Citt��,�Autobus�,100,2,�L1ï ¿½),
(�P2�,�Citt��,�Aereo�,250,4,�L2� ),
(�P3�,�Citt��,�Aereo�,200,3,�L3� ),
(�P4�,�Citt��,�Autobus�,180,10,�L4 �),
(�P5�,�Mare�,�Aereo�,4000,5,�L5�),
(�P6�,�Mare�,�Aereo�,4800,7,�L6�),
(�P7�,�Mare�,�Crociera�,8000,20,�L7ï ¿½),
(�P8�,�Natura�,�Aereo�,3000,30,�L8ï¿ ½),
(�P9�,�Natura�,�Aereo�,3200,25,�L9ï¿ ½),
(�P10�,�Mare�,�Crociera�,10000,31,�L 10�),
(�P11�,�Mare�,�Aereo�,3000,12,�L10ï¿ ½),
(�P12�,�Citt��,�Aereo�,4000,14,�L1 1�),
(�P13�,�Citt��,�Aereo�,5000,18,�L1 2�),
(�P14�,�Citt��,�Aereo�,2700,4,�L13 �),
(�P15�,�Mare�,�Aereo�,6400,16,�L14ï¿ ½),
(�P16�,�Citt��,�Aereo�,4300,12,�L1 5�),
(�P17�,�Citt��,�Aereo�,7000,17,�L1 6�),
(�P18�,�Natura�,�Aereo�,2000,5,�L17ï ¿½),
(�P19�,�Natura�,�Crociera�,4500,10,� L17�),
(�P20�,�Citt��,�Aereo�,7000,12,�L1 8�),
(�P21�,�Citt��,�Aereo�,3000,6,�L19 �);
insert into CLIENTI values
(�C1�,�Mario�,�Rossi�,�Via Giulio Galli�),
(�C2�,�Mattia�,�Savinelli�,�Via Guido Guida�),
(�C3�,�Federico�,�Marinelli�,�Via del Corso�),
(�C4�,�Giacomo�,�Arca�,�Via Cassia�),
(�C5�,�Federico�,�Tranzocchi�,�Via Carlo Emery�),
(�C6�,�Giorgio�,�Bani�,�Via Guido Miotto�),
(�C7�,�Luca�,�Pierdonati�,�Via Fontana Secca�),
(�C8�,�Andreea�,�Tudor�,�Via Borgo di Sopra�);
insert into PACCHETTICLIENTI values
(�P1�,�C1�,�06/04/18�),
(�P1�,�C2�,�07/04/18�),
(�P2�,�C2�,�08/04/18�),
(�P4�,�C1�,�09/04/18�),
(�P5�,�C3�,�10/04/18�),
(�P6�,�C6�,�11/04/18�),
(�P8�,�C4�,�12/04/18�),
(�P9�,�C5�,�13/04/18�),
(�P9�,�C7�,�14/04/18�),
(�P10�,�C4�,�15/04/18�),
(�P10�,�C1�,�16/04/18�),
(�P11�,�C3�,�17/04/18�),
(�P14�,�C8�,�18/04/18�),
(�P15�,�C5�,�19/04/18�),
(�P16�,�C1�,�20/04/18�),
(�P18�,�C4�,�21/04/18�),
(�P18�,�C3�,�22/04/18�),
(�P18�,�C2�,�23/04/18�),
(�P19�,�C1�,�24/04/18�),
(�P21�,�C5�,�25/04/18�);
insert into ORGANIZZAZIONI values
(�O1�,�Viaggiando�,06324508,�viaggiando@ gmail.com�),
(�O2�,�Momondo�,06308607,�momondo@gmail. com�),
(�O3�,�Expedia�,06405324,�expedia@gmail. com�),
(�O4�,�Columbus�,06123987,�columbus@gmai l.com�),
(�O5�,�Kayak�,06123456,�kayak@gmail.comï ¿½);
insert into PACCHETTIORGANIZZAZIONI values
(�P1�,�O1�),
(�P1�,�O5�),
(�P2�,�O2�),
(�P3�,�O3�),
(�P4�,�O4�),
(�P5�,�O2�),
(�P5�,�O5�),
(�P6�,�O1�),
(�P7�,�O2�),
(�P8�,�O3�),
(�P9�,�O4�),
(�P1�,�O3�),
(�P1�,�O5�),
(�P11�,�O1�),
(�P12�,�O2�),
(�P13�,�O3�),
(�P14�,�O4�),
(�P15�,�O1�),
(�P15�,�O4�),
(�P15�,�O5�),
(�P16�,�O1�),
(�P17�,�O2�),
(�P18�,�O3�),
(�P19�,�O4�),
(�P20�,�O2�),
(�P20�,�O5�),
(�P21�,�O1�);
SELECT *
FROM PACCHETTI
WHERE Prezzo<3000;
SELECT Descrizione, Modalita, Prezzo
FROM LOCALITA, PACCHETTI
WHERE LOCALITA.CodL=PACCHETTI.CodL
AND Nazione=�Kenya�;
SELECT Nome, Indirizzo
FROM LOCALITA, PACCHETTI, PACCHETTICLIENTI, CLIENTI
WHERE LOCALITA.CodL=PACCHETTI.CodL
AND PACCHETTI.CodP=PACCHETTICLIENTI.CodP
AND PACCHETTICLIENTI.CodC=CLIENTI.CodC
AND Citta=�Riad�;
SELECT COUNT(DISTINCT CodP)
FROM PACCHETTIORGANIZZAZIONI
WHERE CodO=�O3�;