You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
4.1 KiB
102 lines
4.1 KiB
DROP TABLE REPAS;
|
|
DROP TABLE AMOUR;
|
|
DROP TABLE DRAGON;
|
|
DROP TABLE NOURRITURE;
|
|
DROP TABLE TERRITOIRE;
|
|
|
|
\! clear
|
|
|
|
CREATE TABLE TERRITOIRE(
|
|
num_terr char(3) PRIMARY KEY,
|
|
nom varchar(30) UNIQUE,
|
|
longitude numeric NOT NULL CHECK (longitude <= 180 AND longitude >= -180),
|
|
latitude1 numeric NOT NULL CHECK (latitude1 <= 90),
|
|
latitude2 char(1) NOT NULL CHECK (latitude2 ='S' OR latitude2 ='N')
|
|
);
|
|
CREATE TABLE DRAGON(
|
|
numD char(5) PRIMARY KEY,
|
|
nom varchar(30) UNIQUE,
|
|
longeur numeric NOT NULL CHECK (longeur > 0),
|
|
sexe char(1) NOT NULL CHECK (sexe ='F' OR sexe ='M'),
|
|
nb_ecailles numeric CHECK (nb_ecailles > 0),
|
|
date_naissance date,
|
|
en_amour varchar(20) NOT NULL CHECK (en_amour ='macho' AND sexe='M' OR en_amour='timide' OR en_amour='sincere' OR en_amour='volage'),
|
|
crache_feu char(1) CHECK (crache_feu ='O' OR crache_feu ='N'),
|
|
num_terr char(4) REFERENCES TERRITOIRE
|
|
|
|
);
|
|
|
|
CREATE TABLE NOURRITURE(
|
|
numN char(5)PRIMARY KEY,
|
|
nom varchar(30) UNIQUE,
|
|
calories numeric NOT NULL CHECK (calories >0)
|
|
|
|
);
|
|
CREATE TABLE AMOUR (
|
|
force varchar(20) CHECK (force='un peu' OR force='beaucoup' OR force='passionnement' OR force='a la folie'),
|
|
numDragon1 char(5) REFERENCES DRAGON,
|
|
numDragon2 char(5) REFERENCES DRAGON,
|
|
PRIMARY KEY (numDragon1,numDragon2)
|
|
|
|
|
|
);
|
|
|
|
CREATE TABLE REPAS(
|
|
qte numeric NOT NULL CHECK (qte >0),
|
|
date_repas date,
|
|
numD char(5) REFERENCES DRAGON,
|
|
numN char(5) REFERENCES NOURRITURE,
|
|
PRIMARY KEY (numD,numN)
|
|
);
|
|
|
|
INSERT INTO TERRITOIRE VALUES ('T01','terres_brulees',92,42,'S');
|
|
INSERT INTO TERRITOIRE VALUES ('T02','terre_des_fleurs',98,48,'S');
|
|
INSERT INTO TERRITOIRE VALUES ('T03','terre_des_neiges',100,8,'N');
|
|
|
|
|
|
INSERT INTO DRAGON VALUES ('D0001','Smeagol',152,'M',1857,'14/06/1985','macho','O','T02');
|
|
INSERT INTO DRAGON VALUES ('D0002','Birdurh',258,'M',4787,'05/05/1989','timide','N','T01');
|
|
INSERT INTO DRAGON VALUES ('D0003','Negueth',128,'M',1587,'08/09/2018','sincere','O','T02');
|
|
INSERT INTO DRAGON VALUES ('D0004','Miss Toc',183,'M',2781,'04/07/2020','volage',NULL,'T01');
|
|
INSERT INTO DRAGON VALUES ('D0005','Bolong',213,'M',754,'06/05/2010','macho','N','T01');
|
|
INSERT INTO DRAGON VALUES ('D0006','Miloch',83,'M',718,'29/04/2015','timide','O','T02');
|
|
INSERT INTO DRAGON VALUES ('D0007','Nessie',168,'M',1721,'12/12/2000','macho','O','T02');
|
|
INSERT INTO DRAGON VALUES ('D0008','Tarak',123,'F',851,'15/04/2009','timide','N','T01');
|
|
INSERT INTO DRAGON VALUES ('D0009','Solong',173,'M',1481,'04/08/2021','timide',NULL,'T01');
|
|
|
|
|
|
INSERT INTO NOURRITURE VALUES ('P0001','pomme',7);
|
|
INSERT INTO NOURRITURE VALUES ('P0002','cacahuete',10);
|
|
INSERT INTO NOURRITURE VALUES ('P0003','orange',25);
|
|
INSERT INTO NOURRITURE VALUES ('P0004','oeuf',15);
|
|
INSERT INTO NOURRITURE VALUES ('P0005','ver',3);
|
|
INSERT INTO NOURRITURE VALUES ('P0006','poisson',35);
|
|
|
|
INSERT INTO AMOUR VALUES ('passionnement','D0001','D0008');
|
|
INSERT INTO AMOUR VALUES ('beaucoup','D0002','D0003');
|
|
INSERT INTO AMOUR VALUES ('a la folie','D0003','D0006');
|
|
INSERT INTO AMOUR VALUES ('a la folie','D0006','D0003');
|
|
INSERT INTO AMOUR VALUES ('un peu','D0008','D0005');
|
|
INSERT INTO AMOUR VALUES ('beaucoup','D0005','D0008');
|
|
INSERT INTO AMOUR VALUES ('un peu','D0007','D0008');
|
|
|
|
INSERT INTO REPAS VALUES (1000,'10/09/2021','D0001','P0002');
|
|
INSERT INTO REPAS VALUES (16,'10/09/2021','D0001','P0001');
|
|
INSERT INTO REPAS VALUES (4,'11/09/2021','D0005','P0004');
|
|
INSERT INTO REPAS VALUES (6,'10/03/2021','D0003','P0003');
|
|
INSERT INTO REPAS VALUES (1,'11/09/2021','D0003','P0004');
|
|
INSERT INTO REPAS VALUES (53,'10/09/2021','D0006','P0005');
|
|
INSERT INTO REPAS VALUES (100,'11/09/2021','D0006','P0002');
|
|
INSERT INTO REPAS VALUES (20,'10/09/2021','D0007','P0006');
|
|
INSERT INTO REPAS VALUES (10,'10/09/2021','D0008','P0001');
|
|
INSERT INTO REPAS VALUES (10,'11/09/2021','D0008','P0003');
|
|
INSERT INTO REPAS VALUES (6,'09/09/2021','D0009','P0004');
|
|
INSERT INTO REPAS VALUES (1,'10/09/2021','D0009','P0006');
|
|
INSERT INTO REPAS VALUES (2,'11/09/2021','D0009','P0003');
|
|
|
|
SELECT * FROM TERRITOIRE;
|
|
SELECT * FROM DRAGON;
|
|
SELECT * FROM NOURRITURE;
|
|
SELECT * FROM AMOUR;
|
|
SELECT * FROM REPAS;
|
|
\d |