1

正在考虑在 c# 中创建一个小型应用程序,但想听听一些关于使用这种方法处理我的项目的反馈。

Basically I will have 2 tables in MSSQL

    These are just examples....

 **TableType
      TableTypeID     
      Type


    TableInfo
      InfoID
      TableTypeID
      Name
      Color
      Size
      TagNumber**

因此,当用户想要创建一个新表时说鸟,该值将进入 tabletype 创建一个 autoid,然后将 Type 设置为鸟。鸟的名称、颜色、大小将进入 TableInfo 表。

但是现在假设他们想创建一个名为 auto 的新表。因此,auto 将再次进入type列下的tabletype,然后 auto 的颜色、大小、tagnumber 将全部进入下一个表。

这是解决这个问题的正确方法吗,还是这会在未来引起很多编程问题

谢谢

4

2 回答 2

2

这是对表继承的一种奇怪的滥用,这不是一个好主意。

如果您想在关系数据库中存储有关鸟类的信息,您应该有一个名为 Bird(s) 的表,它只存储有关鸟类的信息。并有一个不同的汽车。

您可以考虑对相关类型使用表继承,例如TitsSwallows

于 2012-09-03T17:50:06.243 回答
0

是的,根据您提供的信息,这可能是一种方法。

我猜你会超时添加不同的表类型,甚至可能是动态的,并且你的代码将根据这些表类型映射到业务逻辑端的不同对象类型。

但是,您的名称令人困惑,而不是使用 TableType,也许更好的名称可能是 RecordType 和 RecordDetails 或 RecordInfo。

于 2012-09-03T17:49:04.827 回答