nasio91
20-09-2015, 18:19
Salve gentiluomini, sto cercando di creare un database in vista di un esame
ma myslq mi da errore di sintassi, premetto che sono ancora alle prime armi, quindi non scandalizzatevi se vi sono errori mostruosi :D
Di seguito vi allego quello che ho scritto:
drop database if exists esame1;
create database if not exists esame1;
use esame1;
CREATE TABLE if not exists persone (
codice_f VARCHAR (8) PRIMARY KEY,
Nome VARCHAR (20),
Cognome VARCHAR (20),
Etą INT,
Stato VARCHAR (20),
Cittą VARCHAR (20),
PIVA VARCHAR(4),
FOREIGN KEY (Cittą) references Cittą (NCitta),
FOREIGN KEY (Ditta) references Ditte (PIVA),
);
CREATE TABLE if not exists Cittą(
NCitta VARCHAR (20) PRIMARY KEY,
Abitanti INT,
);
CREATE TABLE if not exists Ditte(
PIVA VARCHAR (8) PRIMARY KEY,
Nimpiegati INT,
Capitale INT,
);
CREATE TABLE if not exists sede (
Data_inizio INT,
Data_fine INT,
Cittą VARCHAR (20),
PIVA VARCHAR (4),
FOREIGN KEY (Cittą) references Cittą (NCitta),
FOREIGN Key (PIVA) references Ditte (PIVA),
);
CREATE TABLE if not exists assunzione (
Data_ass INT,
Data_lic INT,
PIVA VARCHAR (4),
Cittą VARCHAR (20),
FOREIGN KEY (PIVA) references Ditte (PIVA),
FOREIGN KEY (Cittą) references Cittą (NCitta),
);
INSERT INTO Cittą (NCitta, Abitanti)
VALUES ('Roma', 100000);
INSERT INTO Cittą (NCitta, Abitanti)
VALUES ('Milano', 300000);
INSERT INTO Cittą (NCitta, Abitanti)
VALUES('Torino', 50000);
INSERT INTO Ditte (PIVA, Nimpiegati, Capitale)
VALUES (8000, 500, 850);
INSERT INTO Ditte (PIVA, Nimpiegati, Capitale)
VALUES (7000, 300, 400);
INSERT INTO Ditte (PIVA, Nimpiegati, Capitale)
VALUES (6000, 800, 750);
INSERT INTO Sede (Data_inizio, Data_fine, Cittą, PIVA)
VALUES (2000, 20002, 'Roma',8000 );
INSERT INTO Sede (Data_inizio, Data_fine, Cittą, PIVA)
VALUES (2003, 2005, 'Roma', 7000 );
INSERT INTO Sede (Data_inizio, Data_fine, Cittą, PIVA)
VALUES (2006, 2008, 'Torino', 6000);
INSERT INTO persone (codice_f,Nome, Cognome, Etą, Cittą, PIVA, Stato )
VALUES (7000000, 'Luca', 'Nervi', 33, 'Torino' 6000, Lavoratore);
INSERT INTO persone (codice_f,Nome, Cognome, Etą, Cittą, PIVA, Stato)
VALUES (8000000, 'Gianni', 'Morandi', 70, 'Milano', 8000, Non_Lavoratore);
INSERT INTO persone (codice_f,Nome, Cognome, Etą, Cittą, PIVA, Stato)
VALUES (7500000, 'Alessio', 'Attanasio', 24, 7000, Lavoratore);
INSERT INTO assunzione(Data_ass,Data_lic, PIVA, Cittą, codice_f)
VALUES (2000, 2003, 6000, 'Torino',6000);
INSERT INTO assunzione(Data_ass,Data_lic, PIVA, Cittą,codice_f)
VALUES (2002, 2005, 7000, 'Roma',8000);
INSERT INTO assunzione(Data_ass,Data_lic, PIVA, Cittą, codice_f)
VALUES (2006,2008, 8000, 'Milano', 7000);
/*Visualizzare abitanti per Cittą*/
SELECT NCitta, Abitanti
FROM Cittą
WHERE NCitta='Roma';
/* dato un codice fiscale di una pesona visualizzare la partita iva delle aziende incui ha lavorato e per ogni azienda le date di assunzione e licenziamento*/
SELECT codice_f, Nome, Cognome, PIVA, Data_ass, Data_lic
FROM persone, assunzione
WHERE codice_f=7000;
SELECT codice_f, PIVA, Data_ass, Data_lic
FROM assunzione
WHERE Cognome=Nervi;
ma myslq mi da errore di sintassi, premetto che sono ancora alle prime armi, quindi non scandalizzatevi se vi sono errori mostruosi :D
Di seguito vi allego quello che ho scritto:
drop database if exists esame1;
create database if not exists esame1;
use esame1;
CREATE TABLE if not exists persone (
codice_f VARCHAR (8) PRIMARY KEY,
Nome VARCHAR (20),
Cognome VARCHAR (20),
Etą INT,
Stato VARCHAR (20),
Cittą VARCHAR (20),
PIVA VARCHAR(4),
FOREIGN KEY (Cittą) references Cittą (NCitta),
FOREIGN KEY (Ditta) references Ditte (PIVA),
);
CREATE TABLE if not exists Cittą(
NCitta VARCHAR (20) PRIMARY KEY,
Abitanti INT,
);
CREATE TABLE if not exists Ditte(
PIVA VARCHAR (8) PRIMARY KEY,
Nimpiegati INT,
Capitale INT,
);
CREATE TABLE if not exists sede (
Data_inizio INT,
Data_fine INT,
Cittą VARCHAR (20),
PIVA VARCHAR (4),
FOREIGN KEY (Cittą) references Cittą (NCitta),
FOREIGN Key (PIVA) references Ditte (PIVA),
);
CREATE TABLE if not exists assunzione (
Data_ass INT,
Data_lic INT,
PIVA VARCHAR (4),
Cittą VARCHAR (20),
FOREIGN KEY (PIVA) references Ditte (PIVA),
FOREIGN KEY (Cittą) references Cittą (NCitta),
);
INSERT INTO Cittą (NCitta, Abitanti)
VALUES ('Roma', 100000);
INSERT INTO Cittą (NCitta, Abitanti)
VALUES ('Milano', 300000);
INSERT INTO Cittą (NCitta, Abitanti)
VALUES('Torino', 50000);
INSERT INTO Ditte (PIVA, Nimpiegati, Capitale)
VALUES (8000, 500, 850);
INSERT INTO Ditte (PIVA, Nimpiegati, Capitale)
VALUES (7000, 300, 400);
INSERT INTO Ditte (PIVA, Nimpiegati, Capitale)
VALUES (6000, 800, 750);
INSERT INTO Sede (Data_inizio, Data_fine, Cittą, PIVA)
VALUES (2000, 20002, 'Roma',8000 );
INSERT INTO Sede (Data_inizio, Data_fine, Cittą, PIVA)
VALUES (2003, 2005, 'Roma', 7000 );
INSERT INTO Sede (Data_inizio, Data_fine, Cittą, PIVA)
VALUES (2006, 2008, 'Torino', 6000);
INSERT INTO persone (codice_f,Nome, Cognome, Etą, Cittą, PIVA, Stato )
VALUES (7000000, 'Luca', 'Nervi', 33, 'Torino' 6000, Lavoratore);
INSERT INTO persone (codice_f,Nome, Cognome, Etą, Cittą, PIVA, Stato)
VALUES (8000000, 'Gianni', 'Morandi', 70, 'Milano', 8000, Non_Lavoratore);
INSERT INTO persone (codice_f,Nome, Cognome, Etą, Cittą, PIVA, Stato)
VALUES (7500000, 'Alessio', 'Attanasio', 24, 7000, Lavoratore);
INSERT INTO assunzione(Data_ass,Data_lic, PIVA, Cittą, codice_f)
VALUES (2000, 2003, 6000, 'Torino',6000);
INSERT INTO assunzione(Data_ass,Data_lic, PIVA, Cittą,codice_f)
VALUES (2002, 2005, 7000, 'Roma',8000);
INSERT INTO assunzione(Data_ass,Data_lic, PIVA, Cittą, codice_f)
VALUES (2006,2008, 8000, 'Milano', 7000);
/*Visualizzare abitanti per Cittą*/
SELECT NCitta, Abitanti
FROM Cittą
WHERE NCitta='Roma';
/* dato un codice fiscale di una pesona visualizzare la partita iva delle aziende incui ha lavorato e per ogni azienda le date di assunzione e licenziamento*/
SELECT codice_f, Nome, Cognome, PIVA, Data_ass, Data_lic
FROM persone, assunzione
WHERE codice_f=7000;
SELECT codice_f, PIVA, Data_ass, Data_lic
FROM assunzione
WHERE Cognome=Nervi;