引用没有外键约束的表

时间:2013-01-04 16:15:06

标签: database-design foreign-keys relationship

我有一个数据库和一个编辑数据库的应用程序

我有一个名为ADDRESS(ID,STREETID,NUMBER)的地址表

我有一个名为STREET(ID,STREETNAME,CREATIONUSERID)的街道名称表

我还有一个名为USER(ID,USERNAME,PASSWORD)的用户表

我的桌子STREET中的街道名称已经填满。 该表由用户用作查找表 在我的应用程序中的某个地方输入地址(字段ADDRESS.STREETID), 但有时用户必须进入一条新街道 将被插入STREET以供进一步使用。 当用户将一条街道添加到我的桌子时,我希望能够 跟踪哪个用户进行了添加。

现在我有两个选择:

1st:创建一个假用户,其中STREET的默认街道 将引用然后创建外键约束 (创建新街道的STREET.CREATIONUSERID)

第二名:不创建外键约束,将CREATIONUSERID保留为null 对于STREET的默认街道,仅为新的街道更新 创建的街道用于跟踪添加每个

的用户

哪个更好,为什么?

2 个答案:

答案 0 :(得分:3)

最好使用外键。它将强制执行引用完整性

Check the link for the advantages of foreign key

答案 1 :(得分:0)

当系统的某个用户不再是一个用户时,你打算做什么,并且必须从你的USER表中删除?