/* Base de donnée: base_personnes_one_to_one_table_assoc */

DROP DATABASE IF EXISTS base_personnes_one_to_one_table_assoc;
/*DROP USER IF EXISTS 'application'@'localhost';*/
CREATE DATABASE base_personnes_one_to_one_table_assoc DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER IF NOT EXISTS'application'@'localhost' IDENTIFIED BY 'passw0rd';
GRANT ALL PRIVILEGES ON base_personnes_one_to_one_table_assoc.* TO'application'@'localhost';
USE base_personnes_one_to_one_table_assoc;


CREATE TABLE Adresse (
	idAdresse INTEGER PRIMARY KEY AUTO_INCREMENT,
	rue VARCHAR(100),
	codePostal VARCHAR(100),
	ville VARCHAR(100),
	pays VARCHAR(100),
	version INTEGER DEFAULT 1
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
CREATE TABLE Personne (
	idPersonne INTEGER PRIMARY KEY AUTO_INCREMENT,
	prenom VARCHAR(100),
	nom VARCHAR(100),
	poids double,
	taille double,
	version INTEGER DEFAULT 1
 )ENGINE=InnoDB DEFAULT CHARSET=utf8;


CREATE TABLE Personne_Adresse_Associations (
    idPersonne INTEGER UNIQUE NOT NULL REFERENCES Personne(idPersonne),
    idAdresse  INTEGER UNIQUE NOT NULL REFERENCES Adresse(idAdresse),
	version INTEGER DEFAULT 1
)ENGINE=InnoDB DEFAULT CHARSET=utf8;


INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue de Nantes','Laval','53000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Julien', 'Marshall',55,160);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));


INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue du Paradis','Paris','75000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Julien', 'Claire',85,175);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue des Passeurs','Paris','75000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Jacques', 'Dupont',62,145);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue des Passeurs','Paris','75000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Dupont', 'Dupont',62,155);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue des Passeurs','Paris','75000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Dupond', 'Dupond',62,169);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue des Feugrais','Rouen','76000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Charles', 'Hallyday',100,189);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue des Heureux','Nantes','44000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Serge','Lama',87,200);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue de Paris','Rennes','35000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Vincent', 'Thomas',64,178);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue de Versaille','Paris','75000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Eric', 'Dummat',78,195);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue de Saint Louis','Laval','53000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Nicolas', 'Samuel',112,199);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue des Sages','Lyon','69000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Rémy', 'Guerry',96,186);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue Mitterrand','Limoges','87000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Nicolas', 'Drapeau',87,165);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue Jean François','Rouen','76000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Gaelle', 'Letourneau',75,179);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));

INSERT INTO Adresse(rue,ville,codePostal,pays) VALUES ('rue du Paradis','Paris','75000','France');
INSERT INTO Personne(prenom,nom,poids,taille) VALUES ('Anne', 'Claire',85,194);
INSERT INTO Personne_Adresse_Associations(idPersonne,idAdresse) VALUES ((SELECT MAX(idPersonne) FROM Personne),(SELECT MAX(idAdresse) FROM Adresse));
 