Bonjour Manzeki
Sur ce point, tout le monde sera d'accord, je l'espère, à l'orthographe près : soit clef avec un "f" terminal et sans accent (pour rappel de sa racine latine Clava) soit clé, mais pas
cléf ;)
La aussi, pas de débat :P
Pas d'accord, sous réserve d'avoir toute latitude pour nommer les objets bases de données (c'est rarement le cas en entreprise), utiliser un préfixe ou suffixe court est bigrement pratique, car ça évite les homonymes.
Par exemple, dans une BDD, il y a pléthore de dates de début et de fin dans les différentes tables. Si un préfixe ou suffixe permet de les distinguer d'emblée, c'est pratique à l'usage.
Avantage supplémentaire : pas de risque de percussion avec un mot réservé SQL grâce à cet ajout.
Encore un avantage : on sait d'emblée de quelle table provient une FK sans même besoin de consulter le DDL CREATE TABLE :P.
Bref, quand on a le choix, chacun fait comme il veut, mais pour mon usage personnel, j'applique systématiquement un préfixe court (un par table) à chaque attribut.
En général oui, mais sous réserve que les règles de gestion le stipulent, peut être que dans ce contexte particulier, tout employé n'a qu'un et un seul téléphone ;)
La remarque vaut aussi si un employé peut ne pas avoir de numéro de téléphone : externaliser le numéro évite d'avoir des attributs nullables dans la table employé.
Pour le reste, s'il s'agit d'améliorer le script, il faut aller jusqu'au bout de la démarche en notant également que :
- une adresse courriel peut aller jusqu'à 255 caractères, donc du varchar(50) est inadapté
- on pourrait faire la même remarque que pour les téléphones : selon les règles de gestion, un employé peut avoir ou pas zéro à plusieurs courriel, auquel cas il faut également externaliser les adresses courriel.
- le lieu de naissance ne dépend pas fonctionnellement de l'identifiant de l'employé, c'est un viol de la 3e forme normale. Il doit donc être externalisé par un lien FK vers les communes pour éviter les erreurs et les redondances.
- idem pour les fonctions
- les adresses françaises et étrangères sont normalisées. Une seule ligne de type varchar(255) est complètement inadapté
- selon le contexte (règles de gestion), il est possible d'avoir plusieurs adresses (de livraison, de facturation...), en ce cas, il faut également les externaliser.