###Création de la connection
library(DBI)
con <- dbConnect(odbc::odbc(), .connection_string = "Driver={PostgreSQL Unicode};",
timeout = 10)
###Création du schéma
CREATE SCHEMA sae_veto;
CREATE TABLE sae_veto.nom_animaux(
id_animal VARCHAR(2),
nom_animal VARCHAR(255),
id_maitre CHAR(1),
steril CHAR(3),
date_steril DATE,
couleur VARCHAR(255),
genre VARCHAR(7),
date_naissance DATE,
id_race VARCHAR(2)
);
CREATE TABLE sae_veto.maitre(
id_maitre CHAR(1),
nom VARCHAR(255),
prenom VARCHAR(255),
adresse VARCHAR(255)
);
CREATE TABLE sae_veto.race(
race VARCHAR(255),
id_race VARCHAR(2),
espece VARCHAR(5)
);
CREATE TABLE sae_veto.visite(
id_visite VARCHAR(3),
date_visite DATE,
motif VARCHAR(255),
poids FLOAT
);
CREATE TABLE sae_veto.numero(
id_visite VARCHAR(3),
id_animal VARCHAR(2)
);
ALTER TABLE sae_veto.nom_animaux ADD CONSTRAINT sae_pkey1 PRIMARY KEY (id_animal);
ALTER TABLE sae_veto.maitre ADD CONSTRAINT sae_pkey2 PRIMARY KEY (id_maitre);
ALTER TABLE sae_veto.race ADD CONSTRAINT sae_pkey3 PRIMARY KEY (id_race);
ALTER TABLE sae_veto.visite ADD CONSTRAINT sae_pkey4 PRIMARY KEY (id_visite);
ALTER TABLE sae_veto.numero ADD CONSTRAINT sae_pkey5 PRIMARY KEY (id_visite);
###Création des clés étrangéres
ALTER TABLE sae_veto.nom_animaux ADD CONSTRAINT sae_fk1 FOREIGN KEY (id_race) REFERENCES sae_veto.race (id_race);
ALTER TABLE sae_veto.nom_animaux ADD CONSTRAINT sae_fk2 FOREIGN KEY (id_maitre) REFERENCES sae_veto.maitre (id_maitre);
ALTER TABLE sae_veto.numero ADD CONSTRAINT sae_fk3 FOREIGN KEY (id_animal) REFERENCES sae_veto.nom_animaux (id_animal);
ALTER TABLE sae_veto.numero ADD CONSTRAINT sae_fk4 FOREIGN KEY (id_visite) REFERENCES sae_veto.visite (id_visite);
J’ai importé mes données dans le terminal à l’aide de la commande: psql puis de : sae_veto.race FROM ‘race.csv’ CSV DELIMITER ‘;’ HEADER sae_veto.maitre FROM ‘maitre.csv’ CSV DELIMITER ‘,’ HEADER sae_veto.nom_animaux FROM ‘nom_animal.csv’ CSV DELIMITER ‘;’ HEADER sae_veto.visite FROM ‘visite.csv’ CSV DELIMITER ‘;’ HEADER sae_veto.numero FROM ‘numero.csv’ CSV DELIMITER ‘;’ HEADER
CREATE VIEW sae_veto.sae_vue AS
SELECT a."nom_animal",r."espece", m."nom", m."prenom", m."adresse", a."steril", a."date_steril", a."couleur", r."race", a."genre", v."date_visite", v."motif", v."poids", a."date_naissance"
FROM sae_veto.numero as num, sae_veto.maitre as m, sae_veto.race as r, sae_veto.visite as v, sae_veto.nom_animaux as a
WHERE a."id_animal" = num."id_animal" AND a."id_race" = r."id_race" AND a."id_maitre" = m."id_maitre" AND num."id_visite" = v."id_visite";