Sql 当一列相对其他表时,如何设计表和类?

Sql 当一列相对其他表时,如何设计表和类?,sql,database-design,Sql,Database Design,例如: table A A.Id A.Name A.ImgId A.InfoId table B B.Id B.Name B.ImgId B.InfoId table C C.Id C.Name C.InfoId table Img Img.Id Img.Content table Info Info.Id Info.Name Info.Content 也许B有Img,但C没有,所以我不想直接把Img推到桌子上。 如何设计表格以及如何设计班级。 我可以保存数据 有时会显示如下数据:

例如:

table A
A.Id
A.Name
A.ImgId
A.InfoId

table B
B.Id
B.Name
B.ImgId
B.InfoId

table C
C.Id
C.Name
C.InfoId

table Img
Img.Id
Img.Content

table Info
Info.Id
Info.Name
Info.Content
也许B有Img,但C没有,所以我不想直接把Img推到桌子上。 如何设计表格以及如何设计班级。

我可以保存数据

有时会显示如下数据:

我是否需要为a、info、img b、info、img c、info添加视图创建视图类别a、b、c和原始类别a、b、c?


尽量不要复制查询层代码。

不要直接将表模型用于视图模型,请添加一个视图模型层。

您当前的设计实际上并不糟糕。你是在问设计问题,还是需要帮助进行查询?@tim biegeleisen:是的,我必须显示a、B、C数据。我可以考虑A,B,C从信息中派生,并为A,Img,Info创建视图。那么我是否需要创建一个像view类和original类那样的类?
A.Id
A.Name
A.ImgContent
A.InfoContent