我有一个数据库和一个编辑数据库的应用程序
我有一个名为ADDRESS(ID,STREETID,NUMBER)的地址表
我有一个名为STREET(ID,STREETNAME,CREATIONUSERID)的街道名称表
我还有一个名为USER(ID,USERNAME,PASSWORD)的用户表
我的桌子STREET中的街道名称已经填满。 该表由用户用作查找表 在我的应用程序中的某个地方输入地址(字段ADDRESS.STREETID), 但有时用户必须进入一条新街道 将被插入STREET以供进一步使用。 当用户将一条街道添加到我的桌子时,我希望能够 跟踪哪个用户进行了添加。
现在我有两个选择:
1st:创建一个假用户,其中STREET的默认街道 将引用然后创建外键约束 (创建新街道的STREET.CREATIONUSERID)
第二名:不创建外键约束,将CREATIONUSERID保留为null 对于STREET的默认街道,仅为新的街道更新 创建的街道用于跟踪添加每个
的用户哪个更好,为什么?
答案 0 :(得分:3)
最好使用外键。它将强制执行引用完整性
答案 1 :(得分:0)
当系统的某个用户不再是一个用户时,你打算做什么,并且必须从你的USER表中删除?