Tout d'abord, permettez-moi de dire que je suis toujours un expert dans ce domaine de la base de données du monde réel, et j'espérais avoir un peu de lumière sur cette situation.Relations avec les bases de données SQL
J'ai récemment mis en place une application Web asp de base pour gérer une base de données SQL avec deux tables. Les tableaux sont les suivants:
Table clé:
KEY_ID Key_desc key_number Key_location Issued_by emp_id
Table Emp:
emp_id emp_fname emp_lname Emp_phone
Comme vous pouvez le voir, les tables sont liées par le champ emp_id. Cependant, la table de clé permet des valeurs nulles dans la colonne emp_id au cas où la clé n'est pas affectée à un employé. Étant donné que c'est le cas, je suis préoccupé par la relation globale dans la base de données, et les enregistrements orphelins deviennent une préoccupation.
Puisque la table de clé tient compte des valeurs nulles pour cette colonne, est-ce que cela signifie qu'elle n'est pas dans 1NF? Pour l'instant, l'application Web attribue des clés en extrayant tous les enregistrements de la table de clés en sélectionnant tous les enregistrements où emp_id est vide, puis en attribuant un emp_id à une clé sélectionnée. Mais la relation n'existe que si la clé a un employé associé, et il semble qu'il doit y avoir une meilleure façon de le faire.
Il est probablement un peu tard pour changer l'application, donc je demande plus ou moins par pure curiosité. Je pensais avoir besoin d'une table de touches assignée et d'une table de touches non affectées, mais je ne sais pas comment les lier avec les champs de base de données actuels. Quelqu'un peut-il me donner un conseil à ce sujet? Ou peut-être m'aider à trouver un meilleur moyen de relier la base de données ensemble?
Ma principale préoccupation est les dossiers orphelins
Cela a été dactylographié sur un mobile, alors s'il vous plaît pardonnez-moi s'il y a des erreurs. EDIT: Merci beaucoup à ceux qui ont répondu à cette question. J'ai reçu plus d'aide que je ne le pensais. Je marquerai une réponse plus tard, quand je découvrirai quelle route prendre.
Quelque chose m'a dit que c'était le bon endroit pour demander.
Y a-t-il une clé étrangère de "Table de touches" à "Table d'application"? –
Mike Sherill: La seule relation pour le moment est le champ emp_id qui est la clé étrangère dans la table des clés (clé primaire dans emp_tbl). Je ne pouvais pas vraiment penser à une meilleure façon de les lier ensemble. – user3860870
Une «clé» est une chose avec laquelle vous ouvrez une porte? –