Add fk of Bien, add id for MACRO_DRAFT, use it when importing data

This commit is contained in:
flyingscorpio@clevo 2022-07-07 15:44:23 +02:00
parent 1988dd85be
commit 1e9e573331
4 changed files with 21 additions and 15 deletions

View file

@ -1,3 +1,11 @@
-- ---------- --
-- TABLE Bien --
-- ---------- --
ALTER TABLE Bien ADD Adresse_id INT NOT NULL;
UPDATE Bien INNER JOIN MACRO_DRAFT
ON Bien.id = MACRO_DRAFT.Bien_id
SET Bien.Adresse_id = MACRO_DRAFT.Adresse_id;
ALTER TABLE Bien ADD CONSTRAINT Bien_Adresse_fk FOREIGN KEY (Adresse_id) REFERENCES Adresse(id);
-- ------------- --
-- TABLE Adresse --
-- ------------- --
@ -5,4 +13,4 @@ ALTER TABLE Adresse ADD Voie_id INT NOT NULL;
UPDATE Adresse INNER JOIN MACRO_DRAFT
ON Adresse.id = MACRO_DRAFT.Adresse_id
SET Adresse.Voie_id = MACRO_DRAFT.Voie_id;
ALTER TABLE Adresse ADD CONSTRAINT Adresse_Voie_fk FOREIGN KEY (Voie_id) REFERENCES Voie(id);
#ALTER TABLE Adresse ADD CONSTRAINT Adresse_Voie_fk FOREIGN KEY (Voie_id) REFERENCES Voie(id);

View file

@ -6,6 +6,7 @@
# ==================================================================
CREATE TABLE IF NOT EXISTS MACRO_DRAFT (
id INT NOT NULL AUTO_INCREMENT, CONSTRAINT Macro_pk PRIMARY KEY (id),
Date_mutation DATE NOT NULL,
Nature_mutation VARCHAR(50) NOT NULL,
Valeur_fonciere DOUBLE PRECISION (20, 2) NOT NULL,

View file

@ -7,7 +7,7 @@ CREATE TABLE IF NOT EXISTS Departement (
);
CREATE INDEX Code_departement_idx ON Departement (Code_departement);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Departement (Code_departement) SELECT DISTINCT Code_departement FROM MACRO_DRAFT;
INSERT INTO Departement (Code_departement) SELECT DISTINCT Code_departement FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Departement à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Departement_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -27,7 +27,7 @@ CREATE INDEX Commune_idx ON Commune (Commune);
CREATE INDEX Temp_idx ON Commune (Temp_concat);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Commune (Commune, Code_commune, Temp_concat)
SELECT DISTINCT Commune, Code_commune, CONCAT(Commune, Code_commune) FROM MACRO_DRAFT;
SELECT DISTINCT Commune, Code_commune, CONCAT(Commune, Code_commune) FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Commune à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Commune_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -46,7 +46,7 @@ CREATE TABLE IF NOT EXISTS Type_de_voie (
);
CREATE INDEX Type_de_voie_idx ON Type_de_voie (Type_de_voie);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Type_de_voie (Type_de_voie) SELECT DISTINCT Type_de_voie FROM MACRO_DRAFT;
INSERT INTO Type_de_voie (Type_de_voie) SELECT DISTINCT Type_de_voie FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Type_de_voie à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Type_de_voie_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -66,7 +66,7 @@ CREATE INDEX Voie_idx ON Voie (Voie);
CREATE INDEX Temp_idx ON Voie (Temp_concat);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Voie (Voie, Code_voie, Temp_concat)
SELECT DISTINCT Voie, Code_voie, CONCAT(Voie, Code_voie) FROM MACRO_DRAFT;
SELECT DISTINCT Voie, Code_voie, CONCAT(Voie, Code_voie) FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Voie à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Voie_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -88,7 +88,7 @@ CREATE TABLE IF NOT EXISTS Adresse (
CREATE INDEX Temp_idx ON Adresse (Temp_concat);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Adresse (No_voie, B_T_Q, Temp_concat)
SELECT DISTINCT No_voie, B_T_Q, CONCAT(No_voie, B_T_Q) FROM MACRO_DRAFT;
SELECT DISTINCT No_voie, B_T_Q, CONCAT(No_voie, B_T_Q) FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Adresse à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Adresse_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -107,7 +107,7 @@ CREATE TABLE IF NOT EXISTS Nature_mutation (
);
CREATE INDEX Nature_mutation_idx ON Nature_mutation (Nature_mutation);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Nature_mutation (Nature_mutation) SELECT DISTINCT Nature_mutation FROM MACRO_DRAFT;
INSERT INTO Nature_mutation (Nature_mutation) SELECT DISTINCT Nature_mutation FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Nature_mutation à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Nature_mutation_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -124,7 +124,7 @@ CREATE TABLE IF NOT EXISTS Type_local (
);
CREATE INDEX Type_local_idx ON Type_local (Type_local, Code_type_local);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Type_local (Type_local, Code_type_local) SELECT DISTINCT Type_local, Code_type_local FROM MACRO_DRAFT;
INSERT INTO Type_local (Type_local, Code_type_local) SELECT DISTINCT Type_local, Code_type_local FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Type_local à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Type_local_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -143,7 +143,7 @@ CREATE TABLE IF NOT EXISTS Nature (
CREATE INDEX Temp_idx ON Nature (Temp_concat);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Nature (Nature_culture, Nature_culture_speciale, Temp_concat)
SELECT DISTINCT Nature_culture, Nature_culture_speciale, CONCAT(Nature_culture, Nature_culture_speciale) FROM MACRO_DRAFT;
SELECT DISTINCT Nature_culture, Nature_culture_speciale, CONCAT(Nature_culture, Nature_culture_speciale) FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Nature à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Nature_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -162,7 +162,7 @@ CREATE TABLE IF NOT EXISTS Code_postal (
);
CREATE INDEX Code_postal_idx ON Code_postal (Code_postal);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Code_postal (Code_postal) SELECT DISTINCT Code_postal FROM MACRO_DRAFT;
INSERT INTO Code_postal (Code_postal) SELECT DISTINCT Code_postal FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Code_postal à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Code_postal_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -181,7 +181,7 @@ CREATE TABLE IF NOT EXISTS Mutation (
CREATE INDEX Temp_idx ON Mutation (Temp_concat);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Mutation (Date_mutation, Valeur_fonciere, Temp_concat)
SELECT DISTINCT Date_mutation, Valeur_fonciere, CONCAT(Date_mutation, Valeur_fonciere) FROM MACRO_DRAFT;
SELECT DISTINCT Date_mutation, Valeur_fonciere, CONCAT(Date_mutation, Valeur_fonciere) FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Mutation à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Mutation_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT
@ -204,7 +204,7 @@ CREATE TABLE IF NOT EXISTS Bien (
CREATE INDEX Temp_idx ON Bien (Temp_concat);
# Peuplement de la table depuis MACRO_DRAFT
INSERT INTO Bien (Surface_reelle_bati, Nombre_pieces_principales, Surface_terrain, Temp_concat)
SELECT DISTINCT Surface_reelle_bati, Nombre_pieces_principales, Surface_terrain, CONCAT(Surface_reelle_bati, Nombre_pieces_principales, Surface_terrain) FROM MACRO_DRAFT;
SELECT DISTINCT Surface_reelle_bati, Nombre_pieces_principales, Surface_terrain, CONCAT(Surface_reelle_bati, Nombre_pieces_principales, Surface_terrain) FROM MACRO_DRAFT ORDER BY id;
# Ajout d'une colonne id pour Bien à la table MACRO_DRAFT
ALTER TABLE MACRO_DRAFT ADD Bien_id INT NOT NULL;
# Ajout des id calculés par le peuplement à la table MACRO_DRAFT

View file

@ -1,9 +1,6 @@
-- ------------ --
-- FOREIGN KEYS --
-- ------------ --
ALTER TABLE Bien
ADD Adresse_id INT NOT NULL,
ADD CONSTRAINT Bien_Adresse_fk FOREIGN KEY (Adresse_id) REFERENCES Adresse(id);
ALTER TABLE Commune
ADD Departement_id INT NOT NULL,
ADD CONSTRAINT Commune_Departement_fk FOREIGN KEY (Departement_id) REFERENCES Departement(id);