首页 » PHP和MySQL Web开发(原书第4版) » PHP和MySQL Web开发(原书第4版)全文在线阅读

《PHP和MySQL Web开发(原书第4版)》8.2 设计Web数据库

关灯直达底部

知道什么时候需要一个新表,以及需要哪些键,需要掌握很高的技巧。关于实体关系图和数据库规范化也有很多资料介绍,但是它已经超出了本书的范围,所以本书将不再详细介绍这些内容。但是在大多数情况下,我们可以遵循一些基本的设计原则。下面以Book-O-Rama的内容为例。

8.2.1 考虑要建模的实际对象

当创建一个数据库时,我们经常为现实世界的实体和关系建立模型,并且存储这些实体对象与关系的信息。

通常,要建模的每一种现实世界对象都需要有自己的表。考虑这样一个问题:我们要保存所有客户的同类信息。如果有一组属于同一类型的数据,就可以很容易根据这些数据创建一个表。

在Book-O-Rama的例子中,我们希望保存客户、所有出售的图书和订单的详细情况的信息。所有客户都有姓名和地址。每一个订单都有日期、总金额和所订购的图书。而每一本图书都有国际标准图书号(ISBN)、作者、标题和价格。

这些信息集将告诉我们,在这个数据库中,至少需要建立3个表:Customers、Orders和Books。这个初始模式如图8-3所示。

图 8-3 Customers表、Orders表和Books表组成了初始模式

现在,通过模型,我们还无法知道哪本图书在哪个订单中被订购了。稍后我们将处理这个问题。