-- Création de la BD : on supprime la database, on la recrée, on l'utilise -- LES ERREURS : -- 1) manque une virgule avant le foreign key -- 2) il y a un WARNING : c'est innoBB!!! -- 3) la foreign key ND de emp n'existe pas: on la retire et on met un alter après le create dept -- 4) dans dept, il faut un foreign key NEchef -- 5) Les insert ne passe pas car l'employé fait référence à un dept : on descend l'alter après les insert -- 6) Blake a King comme chef: on met King d'abord -- 7) le chef d'ADAMS n'existe pas: le 7787 : on décide de le passer à 7788 -- 8) MILLER a une CP qui existe déjà : on la passe à NULL -- 9) L'ALTER ne marche pas: en effet un employé travaille dans le dept 21 : on le passe à 20 drop database if exists empdept; create database empdept; use empdept; -- Création des tables CREATE TABLE EMP ( NE integer primary key auto_increment, NOM varchar(10) not NULL, JOB varchar(9), DATEMB date, SAL float(7,2), COMM float(7,2), ND integer not null, NEchef integer, foreign key(NEchef) references EMP(NE) ) Engine InnoDB; CREATE TABLE DEPT ( ND integer primary key auto_increment, NOM varchar(14), VILLE varchar(13), NEchef integer, foreign key(NEchef) references EMP(NE) ) engine InnoDB; -- création des tuples INSERT INTO EMP VALUES (7839,'KING','PRESIDENT','1981-11-17',5000,NULL,10,NULL); INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER','1981-05-1',2850,NULL,30,7839); INSERT INTO EMP VALUES (7782,'CLARK','MANAGER','1981-06-9',2450,NULL,10,7839); INSERT INTO EMP VALUES (7566,'JONES','MANAGER','1981-04-2',2975,NULL,20,7839); INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN','1981-09-28',1250,1400,30,7698); INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN','1981-02-20',1600,300,30,7698); INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN','1981-09-8',1500,0,30,7698); INSERT INTO EMP VALUES (7900,'JAMES','CLERK','1981-12-3',950,NULL,30,7698); INSERT INTO EMP VALUES (7521,'WARD','SALESMAN','1981-02-22',1250,500,30,7698); INSERT INTO EMP VALUES (7902,'FORD','ANALYST','1981-12-3',3000,NULL,20,7566); INSERT INTO EMP VALUES (7369,'SMITH','CLERK','1980-12-17',800,NULL,20,7902); INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST','1982-12-09',3000,NULL,20,7566); INSERT INTO EMP VALUES (7876,'ADAMS','CLERK','1983-01-12',1100,NULL,20,7788); INSERT INTO EMP VALUES (NULL,'MILLER','CLERK','1982-01-23',1300,NULL,10,7782); INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK',7782), (20,'RESEARCH','DALLAS',7566), (30,'SALES','CHICAGO',7698), (40,'OPERATIONS','BOSTON',NULL) ; Alter table EMP add foreign key(ND) references DEPT(ND);