哪个数据库关系更好? (冗余或更少加入)

时间:2017-10-06 19:38:57

标签: database relational-database

我有五张学校用桌(例如),我使用实体框架。

Look This Image (Tables Relationship)

例如,我希望获得一个考试记录的“书名”。

  “1”中的

  我必须加入“考试”,“教”和“书”才能得到书的名字。

     

int“2”:   我必须加入“考试”和“预订”才能获得Book的名称。   2“加入”但我们有冗余。

哪一个更好? 1还是2?


和另一个问题:
在“2” “加入”更好还是使用它?

第一步:我从ExamTable获得了BookId。
第二步:我通过BookId从BookTable获取BookName

int BookId = db.Exams.Where(w => w.ExamId == 23).SingleOrDefault().BookId;
string BookName = db.Books.Where(w => w.BookId == BookId).SingleOrDefault().BookName;

1 个答案:

答案 0 :(得分:1)

没有人可以告诉你哪一个更好,因为这与用例本身有关。

但我建议你做的一件事是不使用Entity Framework来访问表,而是创建进行连接的视图,并使用EF查询视图(甚至是存储过程)。

这使得EF的使用更容易,并且调整视图的性能比调整EF查询更简单。