我正在设计 SQL Server 数据库,我必须在一列中创建多个 FK
所以我有这些表并在一个表中创建一个菜单
Table 1 Table 2 Table 3
| Pages | Jobs | News
|------------ |--------- |-----------
| Pageid | Jobid | NewsId
| PageName | JobName | NewsTitle
| MenuName | MenuName | MenuName
我的目标是在一列中引用这些表格
我有一个来自此场景的表格
| MenuGroup
|------------
| menuGroupId
| MenuName
| RecordeId
那么我将如何实现规范化数据库设计?
最佳答案
Sol 1(固定列数):
这是最标准、最规范的解决方案。您可以按照 @Tim 的建议创建一个包含可空列
的新表
| JoiningTable
|------------
| Id
| PageId
| JobId
| NewsId
Sol2:(动态列数):
虽然我不认为这是一种好方法,因为这里丢失了引用完整性,但在动态列数的情况下,除了这个之外我没有任何其他解决方案。
Type:
|------------
| TypeId
| Name
JoiningTable
|------------
| Id
| JoiningId
| TypeId (news,job,pages etc etc)
您可以通过将 中的
.TypeId
替换为 type
字段,将这两个
表压缩为一个
连接表
NoSQl
也可能是一个解决方案,但我没有使用 NOSQL 的经验,所以我无法向您推荐任何相关内容。
关于c# - 我将如何在一列数据库设计中创建多个类型ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32844372/