数据库设计实例-网上书店

数据库设计实例-网上书店

ID:42073808

大小:155.00 KB

页数:28页

时间:2019-09-07

数据库设计实例-网上书店_第1页
数据库设计实例-网上书店_第2页
数据库设计实例-网上书店_第3页
数据库设计实例-网上书店_第4页
数据库设计实例-网上书店_第5页
资源描述:

《数据库设计实例-网上书店》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第二篇设计篇数据库设计实例-网上书店1)需求分析2)概念结构设计3)逻辑结构设计4)数据库的物理设计5)数据库实施6)数据库运行与维护网上书店-需求分析用户提出以下要求:1)我希望我的用户可以浏览书目,并在因特网上提交订单。2)目前,我通过电话获取订单,我让大多数的公司客户给我打电话并指出所要书的ISBN和数量。用户通常使用信用卡来支付。3)然后我准备一项出货,其中包括他们所定购的书。如果我没有足够数量的库存,我会再增加定购所需书目,并推迟出货直到新订的书到货。网上书店-需求分析用户提出以下要求:4)我喜欢一次发出一个客户的所有订单。6)对于每一本书,书目信息包括该书的ISBN,书名,作

2、者,购入价,卖出价,以及该书的出版年份。5)我在网上的书目中包括我所卖的所有的书。7)我的大多数客户都是常客,我有他们的姓名和地址的记录。网上书店-需求分析用户提出以下要求:8)新的顾客必须先打电话给我并建立一个账号,然后才能使用我的网站。9)在我的网站上,顾客必须首先通过他们唯一的顾客标识号来确认身份,然后他们就可以浏览书目,并可以在线提交订单。网上书店-概念结构设计最初概念结构设计(E-R图)如下图所示:书ISBN书名作者现存数量出版年份价格Cid客户姓名地址数量订单订货日期发货日期信用卡号网上书店-出现的新问题A:如果一个客户在一天之内给同一本书提交两笔订单会怎样?B:第一笔订单将

3、被处理为生成一个新的“订单”联系,而第二笔订单将被处理为更新这个联系的数量属性。A:如果一个客户在一天之内给不同的书提交两笔订单呢?B:没问题,每一个订单关系集的实例将这个用户关联到不同的书上去。A:但是,如果一个客户在不同的日子里给同一本书提交两笔订单会怎样呢?网上书店-出现的新问题B:书和客户的属性必须共同为订单包含一个关键字。因此,这个设计不允许一个客户在不同的日期里为同一本书提交多笔订单。A:你说的有道理,我们暂且以这个设计为准。这次讨论到此为止。网上书店-逻辑结构设计逻辑结构设计:将E-R图映射为关系模型,生成如下表格:CreateTableBooks(isbnchar(10)

4、,titlechar(80),authorchar(80),qty_in_stockinteger,pricereal,year_publishedinteger,primarykey(isbn))网上书店-逻辑结构设计逻辑结构设计:将E-R图映射为关系模型,生成如下表格:CreateTableOrders(isbnchar(10),cidinteger,cardnumchar(16),qtyinteger,order_datadata,ship_datadata,Primarykey(isbn,cid),Forgignkey(isbn)referencesbooks,Forgignke

5、y(cid)referencescustomers)网上书店-逻辑结构设计逻辑结构设计:将E-R图映射为关系模型,生成如下表格:CreateTablecustomers(cidinteger,cnamechar(80),addresschar(200),primarykey(cid))网上书店-逻辑结构设计此时,书店主人又提出以下一些要求:1)客户应该能够在一个订单中购买若干不同的书。例如:一个客户想买3本“数据库系统概论”和5本“计算机网络”,那么他可以在一笔订单中购买这两本书。网上书店-逻辑结构设计此时,书店主人又提出以下一些要求:3)客户应该可以在一天中提交不止一笔订单,而且他们可

6、以区分出这些提交的订单。2)发货方法如下:一旦有一种书的存货足够,则将其发货,即使一个订单中包含多种书。因此如果书店现在有3本“数据库系统概论”,那么就可以发货,而“计算机网络”不够5本,则等到新定购书到货后再发货。网上书店-逻辑结构设计数据库设计人员对用户的需求进行了分析,得到如下两个新的需求:1)客户可以在一个订单中定购若干种不同的书;2)一个客户可以区分其在一天中提交的若干笔订单。为了满足这些新需求,在orders表中引入了一个新的属性ordernum(订单号),它唯一的标识了一笔订单,并且客户据此提交订单。但是,因为在一笔订单中可以购买若干种书,需要ordernum和isbn一起

7、来确定orders表中的qty(定购数量)和ship_data(发货日期)。修改后的orders表如下定义:网上书店-逻辑结构设计修改后的orders表:CreateTableOrders(ordernuminteger,isbnchar(10),cidinteger,cardnumchar(16),qtyinteger,order_datadata,ship_datadata,Primarykey(isbn,cid),Forgig

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。