首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库设计-优化关系

数据库设计-优化关系
EN

Software Engineering用户
提问于 2013-06-05 20:03:25
回答 1查看 481关注 0票数 4

我即将对一个应用程序进行重新设计,在这个应用程序中,查询数据库特别烦人。我打算尽可能多地重新设计数据库,但是数据形状不能改变太多。

数据库有一个主表和10个其他表,每个表代表一个记录类型。主表拥有记录类型共有的所有数据。记录ID、DateLogged等,总共约有30-40列.其他表都是完全不同的,因为每种记录类型与另一种非常不同。他们每个都有20到30列。

主表有一个名为type的列,它是int。但是,它没有引用类型编号所指的记录类型。你只要看看程序就知道了。主表必须与每种类型的表连接,以便进行搜索。我增加了一个图像来代表我想要描述的东西。

有没有更好的方法来建立这些关系?我想放弃与ADO.NET一起使用的详细存储过程,转而使用EF。我需要想出一种更好的方法来关联数据,这样将来的人们就不需要通过搜索存储过程寻找线索来解决这些关系了。

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2013-06-05 20:30:04

添加类型表。

代码语言:javascript
复制
TypeID     PK
Type       string

将Main中的Type更改为TypeID,使其成为Type表TypeID的外键。

从这里到哪里取决于每种类型的区别。如果唯一的区别是不同类型之间的字段有所不同,并且只有几个类型,那么您可以使用一个类型表,向其中添加一个TypeID,并为每个记录中的每个类型设置每个字段(但有一项谅解,即某些字段对于每个记录都是空的)。

如果类型非常不同,则可以保留当前的设计,但可以将TypeID添加到每个Type表中。

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/200612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档