Commit 9aab1cc6 authored by Gaetan Carabetta's avatar Gaetan Carabetta
Browse files
parents 367d6baa 7922b725
CREATE OR REPLACE TYPE traitement AS OBJECT ( drop table animal;
drop table espece;
drop table client;
drop type listTraitements;
drop type listNumeros;
drop type traitement;
CREATE TYPE traitement AS OBJECT (
id_traitement NUMBER, id_traitement NUMBER,
debut DATE, debut DATE,
duree NUMBER, duree NUMBER,
...@@ -9,46 +16,42 @@ CREATE OR REPLACE TYPE traitement AS OBJECT ( ...@@ -9,46 +16,42 @@ CREATE OR REPLACE TYPE traitement AS OBJECT (
/ /
CREATE OR REPLACE TYPE listNumeros AS TABLE OF varchar(10); CREATE TYPE listNumeros AS TABLE OF VARCHAR(10);
/ /
CREATE OR REPLACE TYPE listTraitements AS TABLE OF traitement; CREATE TYPE listTraitements AS TABLE OF traitement;
/ /
CREATE OR REPLACE TABLE client ( CREATE TABLE client (
id_client NUMBER NOT NULL, id_client NUMBER,
nom VARCHAR(20) NOT NULL, nom VARCHAR(20) NOT NULL,
prenom VARCHAR(20) NOT NULL, prenom VARCHAR(20) NOT NULL,
dn DATE NOT NULL, dn DATE NOT NULL,
adresse VARCHAR(50) NOT NULL, adresse VARCHAR(50) NOT NULL,
numeros listNumeros NOT NULL, numeros listNumeros,
PRIMARY KEY(id_client) PRIMARY KEY(id_client)
)NESTED TABLE numeros STORE AS l_numeros; )NESTED TABLE numeros STORE AS l_numeros;
/ /
CREATE OR REPLACE TABLE classeEspece( CREATE TABLE espece(
classeEscpece VARCHAR(30) NOT NULL PRIMARY KEY
);
/
CREATE OR REPLACE TABLE espece(
classeEspece VARCHAR(30) NOT NULL, classeEspece VARCHAR(30) NOT NULL,
espece VARCHAR(20) NOT NULL, espece VARCHAR(20),
PRIMARY KEY(espece), PRIMARY KEY(espece)
FOREIGN KEY (classeEspece) REFERENCES classeEspece(classeEspece)
); );
/ /
CREATE OR REPLACE TABLE animal( CREATE TABLE animal(
id_animal NUMBER NOT NULL, id_animal NUMBER,
id_client NUMBER NOT NULL, id_client NUMBER,
espece VARCHAR(20) NOT NULL, espece VARCHAR(20),
nom VARCHAR(20), nom VARCHAR(20),
poid FLOAT, poid FLOAT,
TAILLE FLOAT, TAILLE FLOAT,
dn DATE, dn DATE,
traitements listTraitement NOT NULL, traitements listTraitements,
CHECK (poid > 0),
CHECK (TAILLE > 0),
PRIMARY KEY (id_animal), PRIMARY KEY (id_animal),
FOREIGN KEY (id_client) REFERENCES client(id_client), FOREIGN KEY (id_client) REFERENCES client(id_client),
FOREIGN KEY (espece) REFERENCES espece(espece) FOREIGN KEY (espece) REFERENCES espece(espece)
......
...@@ -134,6 +134,7 @@ Les relations possibles sont décrites selon les labels suivants: ...@@ -134,6 +134,7 @@ Les relations possibles sont décrites selon les labels suivants:
* Donc au moins un médicament a été prescrit. * Donc au moins un médicament a été prescrit.
#### Choix du modèle #### Choix du modèle
* Nous avons intégré les classes d'espèces dans la table espèce pour réduire l'espace mémoire occupé et éviter de faire des jointures au niveau applicatif,
* Nous avons choisit d'imbriquer les tables Vétérinaire, Médicament et Posologie dans la table Traitement, * Nous avons choisit d'imbriquer les tables Vétérinaire, Médicament et Posologie dans la table Traitement,
* Nous avons imbriqué la table Traitement à la table Animal, * Nous avons imbriqué la table Traitement à la table Animal,
* Nous avons rajouter une table Numéro, imbriquée dans la table Client. * Nous avons rajouter une table Numéro, imbriquée dans la table Client.
......
INSERT INTO espece (classeEspece,espece)
VALUES ('mammifer','hamster');
/
INSERT INTO espece (classeEspece,espece)
VALUES ('mammifer','chien');
/
INSERT INTO espece (classeEspece,espece)
VALUES ('mammifer','chat');
/
INSERT INTO client (id_client,nom,prenom,dn,adresse,numeros)
VALUES (1,'VALDIVIA','Osvaldo',to_date('27-12-1998','DD-MM-YYYY'),'6 bis rue Winston Churchill',listNumeros('1029384756','5534034564'));
/
INSERT INTO client (id_client,nom,prenom,dn,adresse,numeros)
VALUES (2,'CARABETTA','Gaetan',to_date('10-06-1996','DD-MM-YYYY'),'16 rue Gambeta',listNumeros('5647384950','1738493728','5748394782'));
/
INSERT INTO client (id_client,nom,prenom,dn,adresse,numeros)
VALUES (3,'ALANIS','Oswaldo',to_date('14-05-1998','DD-MM-YYYY'),'52 av. Compiegne ',listNumeros('5647384950'));
/
INSERT INTO animal(id_animal,id_client,espece,nom,poid,TAILLE,dn,traitements)
VALUES (1,1,'chien','Diego',4050,300,to_date('15-04-2005','DD-MM-YYYY'),listTraitements(traitement(1,to_date('09-10-2018','DD-MM-YYYY'),5,2,'Pierre','Hueys'),traitement(2,to_date('11-12-2018','DD-MM-YYYY'),5,2,'Pierre','Orphex')));
INSERT INTO animal(id_animal,id_client,espece,nom,poid,TAILLE,dn,traitements)
VALUES (2,2,'chat','Doris',2100,200,to_date('15-02-2008','DD-MM-YYYY'),listTraitements(traitement(3,to_date('01-10-2019','DD-MM-YYYY'),4,1,'Jean','Hueys'),traitement(4,to_date('02-12-2019','DD-MM-YYYY'),6,3,'Pierre','Orphex')));
INSERT INTO animal(id_animal,id_client,espece,nom,poid,TAILLE,dn,traitements)
VALUES (3,3,'hamster','Pochoclo',100,10,to_date('10-10-2018','DD-MM-YYYY'),listTraitements(traitement(5,to_date('15-01-2019','DD-MM-YYYY'),4,1,'Valentin','Marphel')));
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment