Database design RDBMS密钥混淆

Database design RDBMS密钥混淆,database-design,primary-key,rdbms,normalization,Database Design,Primary Key,Rdbms,Normalization,我正在整理公司网站背后的数据库 我们与现场和居民打交道。目前,站点引用作为外键包含在居民表中,但显然,这仅在1NF中 站点引用的格式为NNN(例如12345)。每个居民在表格nnn的站点内都有自己的参考(从001开始,最大999结束) 问题是,当我把它带到2NF时: 站点(参考, 名称 收费) 居住(现场参考), 剩余参考值,) 居民(参考), 地址:, 用户名, 密码) 常驻引用永远不会唯一标识一个常驻,因为如果有2个站点,则将有2个001s。我不能使用用户名,因为这个字段只填充了一次(如果有

我正在整理公司网站背后的数据库

我们与现场和居民打交道。目前,站点引用作为外键包含在居民表中,但显然,这仅在1NF中

站点引用的格式为NNN(例如12345)。每个居民在表格nnn的站点内都有自己的参考(从001开始,最大999结束)

问题是,当我把它带到2NF时:

站点(参考, 名称 收费)

居住(现场参考), 剩余参考值,)

居民(参考), 地址:, 用户名, 密码)

常驻引用永远不会唯一标识一个常驻,因为如果有2个站点,则将有2个001s。我不能使用用户名,因为这个字段只填充了一次(如果有!),他们已经注册了我们的web服务。我只想为居民们介绍一个新的自动编号ID,但有一个更优雅的解决方案让我有些恼火。有人可以建议它是什么吗?

您需要从站点“释放”常驻引用-例如,将其设置为ResidentID,并确保每个ResidentID在常驻表中是全局唯一的。每个站点在站点表中还必须具有全局唯一的SiteID

只有这样,您才能创建一个好的db模式

派驻人员表将提供派驻人员(由其派驻人员ID唯一标识)和站点(同样,由其SiteID唯一标识)之间的链接


马克

看,我就是这么想的。谢谢你的确认。