数据库设计-网上书店系统
一、需求分析
1.1 用户分析
网上书店系统的使用者主要有三种:普通用户、会员和管理员。 普通用户:浏览图书、查询图书、注册成为会员等; 会员:浏览图书、查询图书、加入购物车、修改购物车、订购图书、生成及查看订单、查看修改个人信息等; 管理员:浏览图书、查询图书、查看订单、处理订单、查看修改个人信息及更新图书信息等。
1.2 系统主要功能
通过对该系统进行用户分析之后即可设计出该系统的主要功能模块如下图所示:
1.3 数据字典
通过需求分析所设计出的数据字典如下表所示:
二、概念结构设计
本系统设计以下几个实体: 会员:属性有账号、姓名、性别、电话、邮箱; 管理员:属性有账号、姓名、性别、电话、工资; 订单:属性有订单号、地址、日期; 图书:属性有图书编号、书名、价格、数量; 普通用户:不具有属性。
这些实体之间的联系如下: (1)每个会员下多个订单,每个订单仅属于一个会员。 (2)每个订单中可以包含多种图书商品,每种图书商品可以出现在多个订单中。 (3)每个订单只能由一个管理员处理,一个管理员可以处理多个订单。 (4)每个普通用户、会员和管理员可以浏览和查看多本图书,每本图书可以被多个用户浏览查看。 (5)每个普通用户只能注册成为一个会员,一个会员只能由一个普通用户注册成为会员。
经过对各实体及其属性以及各实体间的联系进行分析后可设计出以下E-R图,下图为实体属性图:
下图为实体联系图:
下图为完整的E-R图:
三、逻辑结构设计
将概念结构设计出的E-R图转换为关系模型如下(关系的码用下划线标出): 会员(会员账号,会员姓名,会员性别,会员电话,会员邮箱) 订单(订单号,订单地址,订单日期,会员账号,管理员账号) 图书(图书编号,图书名,图书数量,图书价格) 管理员(管理员账号,管理员姓名,管理员性别,管理员电话,管理员工资) 购买(订单号,图书编号,购买数量)
四、物理结构设计
为本系统的逻辑数据模型选取合适的物理结构后可设计出数据库及数据表如下图所示: