系统采用加载纯Java数据库驱动程序的方式连接MySQL5.5数据库。在MySQL5.5中创建数据库bookShop,并在其中创建7张与系统相关的数据库。
4.1 数据库概念结构设计
根据系统设计与分析可以设计出如下数据结构:
(1)管理员:包含用户名和密码。管理员的用户名和密码由数据库管理员预设,不需要注册。
(2)用户:记录了网站用户的相关信息,包括用户ID和密码、真实姓名、通信地址、邮政编码、电话号码及电子邮件,密码提示问题和问题答案。注册用户的邮箱不能相同,用户ID要求唯一。
(3)书籍类型:将所有书籍按照标准划分类别,通过类别名称筛选出部分书籍。具体信息包含类型ID和类型名称。书籍类型由数据库管理员管理,包括新增和删除管理。
(4)书籍:记录了书籍的相关信息,主要有书籍编号、名称、原价、现价、库存、书籍图片以及类型。其中,书籍编号唯一,类型与“书籍类型”关联。
(5)出版社:包括出版社编号、名称。其中,出版社编号唯一。
(6)订单基础信息:描述了用户本次购物结算情况,包含订单编号、订单用户、订单书籍总价、订单状态以及下单时间。其中订单编号唯一,用户ID与“用户”关联。
(7)订单详细:一个订单中可以包含多个书籍,因此订单中详细对应了每一个书籍的详细信息,有订单编号、书籍编号、购买的书籍数量和单价等。为了防止书籍价格变动对订单总价产生影响,在订单的书籍详情中保留购买时的书籍单价,避免出现查看历史订单时书籍的总计价格与实际的支付金额出现不一致的情况。
4.2 数据库逻辑结构设计
将数据库概念结构图转换为MySQL数据库所支持的实际数据模型,即数据库的逻辑结构。
4.2.1 管理员信息表(ausertable)
表3-4 管理员信息表
4.2.2 用户信息表(busertable)
表3-5 用户信息表
4.2.3 书籍类型表(booktypetable)(www.xing528.com)
表3-6 书籍类型表
4.2.4 书籍表(booktable)
表3-7 书籍表
续表
4.2.5 出版社表(publisher)
表3-8 出版社表
4.2.6 订单表(Orders)
表3-9 订单表
4.2.7 详细订单表(OrderBook)
表3-10 详细订单表
4.3 创建数据表
以上给出了数据库中每张表的具体定义,各表之间还存在以下关系。例如每一份订单记录了用户本次购买的记录,用户可以进行多次购物,因此用户Users表与订单Orders表之间是一对多关系;每次可以购买一个或多个书籍,每一种书籍也可以同时被多个用户购买,因此用户订单与书籍之间是多对多关系;通过订单书籍OrderBook表记录每一个订单中包含了哪些书籍;每一个书籍都有对应的出版社和分类,出版社publisher表与书籍Book表是一对多关系;书籍分类Categories表与Book表是一对多关系。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。