当前位置: 首页 > 编程语言 > C#

同表同列的数据建模共享

时间:2023-04-10 10:55:05 C#

同表同列的数据建模我有很多列数和名称都相同的表,因为它们都是查找表。例如,有LabelType和TaskType表。LabelType和TaskType表有TypeID和TypeName列。它们将用作其他表中的外键,例如带有shippingLog表的LabelType表和带有EmployeeTask表的TaskType表。LabelTypeTableTypeIDTypeName1Fedex2UPS3USPSTaskTypeTableTypeIDTypeName1Receiving2Pickup3Shipping到目前为止,我有20多张桌子,我预计它会继续增加。我对此没有问题,但我只是想知道是否有更好或更智能的表格使用方法。我什至考虑过将所有这些表组合成一个查找类型表,并通过从查找表中添加外键来区分它们。查找表可能包含Label、Task等数据。然后我只需要一个或两个表来查找所有这些查找数据。如果您有更好或更智能的数据建模方法,请告诉我。仅仅因为数据具有相似的结构并不意味着它具有相同的含义或相同的约束。将查找表分开。这使外键保持独立,因此数据库可以保护自己免于引用错误类型的查找数据。1我希望关系数据库支持继承,你可以在父表中定义基本结构,只需在子表中添加特定的FK。就目前而言,您需要在DDL中忍受一些重复...注意:“保持查找表分开”规则的一个例外可能是您的系统需要是动态的(即能够添加新类型的在没有数据库的情况下查找数据实际上会创建新的物理表),但这似乎不是您提出问题的方式。1使用大型查找表,仅FK不会阻止(例如)ShippingLog表引用EmployeeTask表的行。您可以通过使用标识关系和迁移PK来保护自己免受这种情况的影响,但并非没有引入一些冗余并需要一些谨慎的约束。简单地做正确的事情并将查找表分开会更干净,也可能更有效。将查找表分开。它在查找时间上更快,并且在添加新的查找表时,您将在查找之间进行数百万次查找。很多表不是大问题。以上就是C#学习教程:同表同列数据建模的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: