首先,让我只是说我仍然是这个真实世界数据库的小白菜,我希望得到一些灯光摆脱这种情况。SQL数据库关系
我最近把一个基本的asp web应用程序放在一起来管理一个带有两个表的SQL数据库。这些表如下:
密钥表:
KEY_ID Key_desc KEY_NUMBER Key_location ISSUED_BY EMP_ID
EMP表:
EMP_ID Emp_fname emp_lname的 Emp_phone
正如您所见,这些表由emp_id字段链接。但是,如果密钥未分配给员工,密钥表允许emp_id列中的空值。
由于这种情况,我关心数据库中的整体关系,而孤立记录正在成为一个问题。
由于键表允许该列为空值,这是否意味着它不在1NF?
截至目前,该web应用程序通过选择所有记录EMP_ID为空,然后分配一个EMP_ID所选择的按键拉动从密钥表的所有记录分配密钥。
但这种关系只有在密钥具有相关联的员工存在,而且好像必须有一个更好的方式来做到这一点。
这可能是一个有点晚来改变应用程序,所以我或多或少地问了这一点纯粹的好奇心。
我想我可能需要一个指定的键表和未分配的按键表,但我不知道我将如何与当前的数据库字段将它们链接。任何人都可以给我一些建议吗?或者,也许帮助我找出一个更好的方式来连接数据库在一起?
我最关心的是孤立记录
这是类型上的移动,所以请原谅我,如果有错误。编辑:非常感谢那些对此作出回应的人。我得到了比我想象的更多的帮助。稍后我会找出答案,当我找出要采取的路线时。
有人告诉我这是正确的地方问。
是否有从“密钥表”到“Emp表”的外键? –
Mike Sherill:此时唯一的关系是emp_id字段是密钥表中的外键(emp_tbl中的主键)。我无法真正想到将它们连接在一起的更好方法。 – user3860870
'钥匙'是你打开门的东西吗? –