日期:2014-05-19  浏览次数:20496 次

Duwamish7数据库设计之我不明白(一)
1.我一直不太明白为什么Addresses表中有一个Cutomerid字段,这个外键感觉有些莫名其妙?
2.为什么使用Authors、BookAuthor和Books表表示书籍与作者的关系,而不是在Books表中增加一个Author字段?

------解决方案--------------------
因为一本书可能有多个作者。


------解决方案--------------------
1、Cutomerid应该与Cutomer表关联,表示该地址为对应该Cutomerid的客户的地址

2、一个Author通常会写不止一本书,因此建一个作者表无可厚非;
一本Book可能会是多个Author编写的,因此Book和Author的对应关系用一张单独的表维护也很正常
------解决方案--------------------
樓上的正解
------解决方案--------------------
详细了解了例子的功能后,对于表结构设计的理解会更清晰!
------解决方案--------------------
1、Addresses的表结构是什么?列出来看看

2、书店例子没有根据作者查询的功能,但是在现实中的书店有这个功能;另外,如果设计数据库关系模型只考虑眼前的需求,这样的设计通常都是不完善而且很快就会被证实是要不得的。