Bonjour à tous,
Je suis en train d'étudier un peu la réalisation de base de données. Une question qui m'est posée me laisse un peu perplexe...
Soit :
EMPLOYE (NoEmp, NomEmp, NoDept, NoProj)
-Un employé est affecté à un et un seul département et ne travaille que sur un et un seul projet.
DEPARTEMENT (NoDept, NomDept, Chef)
-Le chef du département est lui même un employé affecté au département
PROJET (NoProj, NomProj, Budget)
Si l'on souhaite autoriser le fait qu'un employé travaille sur plusieurs projets, cela nécessite la restructuration de la BD. Seulement il faut préserver l'ancienne vue des données afin d'assurer la continuité de l'exploitation de toutes les applications fondées sur la structure originale. Et aussi prendre en compte la nouvelle procédure pour construire de nouvelles applications.
Je souhaiterais savoir quelles sont les étapes effectuées par l'administrateur pour réaliser la restructuration de la BD. Et quelles les requêtes SQL pour chaque étape.
J'ai modélisé la BD sous phpmyadmin pour y tester mes requêtes, évidement si j'essaie d'affecter plusieurs projets à un employé, une erreur de duplicate entry m'est renvoyée à cause de la clé primaire de employé qui se retrouve dupliquée.
J'ai donc pensé à créer une nouvelle table réunissant NoEmp et NoProj avec comme clé primaire l'union des deux, comme cela:
Mais bon je suis un peu douteux et je ne pense pas que ce soit suffisant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Create Table PROJET_EMP( NoEmp number(5), NoProj number(5), Constraint PK_PROJET_EMP PRIMARY KEY (NoEmp ,NoProj) );
Merci pour votre aide!
Partager