create database tp_location; use tp_location; create table habitation( code_habitation int primary key, type_habitation char(10) check( type_habitation in ( 'TYPE1', 'TYPE2', 'TYPE3', 'TYPE4', 'TYPE5', 'VILLA' ) ), adresse char(32), ville char(32), loyer_mensuel real ); create table client( id_client int primary key, nom char(32), profession char(32) ); create table location( code_habitation int, id_client int, nombre_mois int, primary key (code_habitation, id_client) ); alter table location add constraint fk_location_client foreign key (id_client) references client(id_client); alter table location add constraint fk_location_habitation foreign key (code_habitation) references habitation(code_habitation); insert into habitation values ( 120, 'TYPE3', 'Bd. Charles de Gaulle 1', 'Avignon', 750 ); insert into habitation values ( 123, 'TYPE1', 'Bd. Charles de Gaulle 89', 'Lyon', 650 ); insert into habitation values ( 112, 'TYPE1', 'Av. de la Foret 26', 'Grenoble', 400.00 ); insert into habitation values ( 513, 'TYPE2', 'R. d Espagne 24', 'Marseille', 600 ); insert into habitation values ( 618, 'TYPE2', 'R. Flaubert 24', 'Toulouse', 400 ); insert into habitation values ( 184, 'TYPE2', 'Rue de Paris 118', 'Toulouse', 600 ); insert into habitation values ( 113, 'TYPE3', 'Av. de la Foret 26', 'Grenoble', 800 ); insert into habitation values (456, 'TYPE3', 'RUE MARTIGUES', 'Lyon', 1200); insert into habitation values ( 678, 'TYPE3', 'R. de la Republique 45', 'Nice', 1000.00 ); insert into habitation values ( 694, 'TYPE3', 'R. Cassis 67', 'Marseille', 900 ); insert into habitation values ( 812, 'TYPE3', 'Bd. Des Platans 134', 'Paris', 1000.00 ); insert into habitation values ( 331, 'TYPE3', 'R. d Italie 11', 'Nancy', 500.00 ); insert into habitation values ( 392, 'TYPE3', 'Bd. de la Bastille 63', 'Nantes', 700.00 ); insert into habitation values ( 675, 'TYPE4', 'Av de la Poste 43', 'Avignon', 800.00 ); insert into habitation values ( 517, 'TYPE4', 'R. d Espagne 24', 'Marseille', 900.00 ); insert into habitation values ( 752, 'TYPE4', 'Bd. Des Platans 78', 'Paris', 1200.00 ); insert into habitation values ( 667, 'TYPE4', 'Av de la Poste 89', 'Avignon', 700.00 ); insert into habitation values ( 332, 'TYPE5', 'R. d Italie 11', 'Nancy', 1000.00 ); insert into habitation values ( 679, 'TYPE5', 'Bd de la Poste 43', 'Lyon', 1100.00 ); insert into habitation values ( 789, 'TYPE5', 'R. Cassis 130', 'Marseille', 1400.00 ); insert into habitation values ( 561, 'TYPE5', 'Rue Mandeville 34', 'Nantes', 1100.00 ); insert into habitation values ( 912, 'VILLA', 'R. de la Republique 13', 'Nice', 1700.00 ); insert into habitation values ( 169, 'VILLA', 'Rue de Paris 118', 'Toulouse', 1300.00 ); insert into habitation values ( 699, 'VILLA', 'R. Cassis 71', 'Marseille', 1500.00 ); insert into habitation values ( 276, 'VILLA', 'Av. de la Republique 54', 'Paris', 1400.00 ); insert into habitation values ( 964, 'VILLA', 'Rue Verlain 40', 'Chambery', 2000.00 ); insert into habitation values ( 900, 'TYPE4', 'St Marguerite 9', 'Marseille', 1200.00 ); insert into client values (1, 'Bonnard', 'Cadre'), (2, 'Canat', 'Secrétaire'), (3, 'Damien', 'Enseignant'), (4, 'Dupont', 'Commerçant'), (5, 'Durand', 'Commerçant'), (6, 'Flaubert', 'Enseignant'), (7, 'Florant', 'Cadre'), (8, 'Florentin', 'Commerçant'), (9, 'Leonard', 'Entrepreneur'), (10, 'Martini', 'Secrétaire'), (11, 'Siegel', 'Cadre'), (12, 'Torres', 'Ingénieur'), (13, 'Valdes', 'Ingénieur'), (14, 'Smith', 'Enseignant'), (15, 'Laurent', 'Cadre'); insert into location values (113, 5, 8), (561, 7, 12), (123, 6, 7), (123, 11, 5), (123, 13, 7), (517, 4, 4), (678, 9, 9), (618, 9, 15), (184, 1, 10), (184, 7, 11), (392, 2, 16), (392, 6, 20), (699, 12, 19), (112, 8, 7), (112, 10, 4), (332, 2, 5), (812, 10, 7), (276, 11, 5), (169, 13, 3), (169, 14, 5);