数据库设计-网上书店系统

一、需求分析

1.1 用户分析

网上书店系统的使用者主要有三种:普通用户、会员和管理员。
普通用户:浏览图书、查询图书、注册成为会员等;
会员:浏览图书、查询图书、加入购物车、修改购物车、订购图书、生成及查看订单、查看修改个人信息等;
管理员:浏览图书、查询图书、查看订单、处理订单、查看修改个人信息及更新图书信息等。

1.2 系统主要功能

通过对该系统进行用户分析之后即可设计出该系统的主要功能模块如下图所示:

在这里插入图片描述

1.3 数据字典

通过需求分析所设计出的数据字典如下表所示:

关系 属性 说明
会员表 会员邮箱 用于接收平台信息(验证消息,促销活动等)
会员电话 订单到货时联系会员的途径
会员性别 只能男或女
会员账号 会员编号,可以唯一标识会员
会员姓名 会员的真实姓名
管理员表 管理员性别 只能为男或女
管理员电话 11位有效号码,联系管理员的唯一方式
管理员工资 值必须大于0,且只能为阿拉伯数字
管理员账号 管理员编号,可以唯一标识管理员,不可重复
管理员姓名 管理员的基本信息
图书表 图书价格 购买时会员所需支付的金额数
图书数量 仓库中剩余的图书数量
图书编号 唯一标识图书,用于检索
图书名 可用于查询检索
订单表 订单号 唯一标识订单,用于查询订单
订单地址 送货送达的地址
订单日期 会员下单的时间,只能为日期格式,且必须为合法日期
购买表 订单号 引用订单表中的订单号
图书编号 引用图书表中的图书编号
购买数量 用户下订单时所购买的图书数量

二、概念结构设计

本系统设计以下几个实体:
会员:属性有账号、姓名、性别、电话、邮箱;
管理员:属性有账号、姓名、性别、电话、工资;
订单:属性有订单号、地址、日期;
图书:属性有图书编号、书名、价格、数量;
普通用户:不具有属性。

这些实体之间的联系如下:
(1)每个会员下多个订单,每个订单仅属于一个会员。
(2)每个订单中可以包含多种图书商品,每种图书商品可以出现在多个订单中。
(3)每个订单只能由一个管理员处理,一个管理员可以处理多个订单。
(4)每个普通用户、会员和管理员可以浏览和查看多本图书,每本图书可以被多个用户浏览查看。
(5)每个普通用户只能注册成为一个会员,一个会员只能由一个普通用户注册成为会员。

经过对各实体及其属性以及各实体间的联系进行分析后可设计出以下E-R图,下图为实体属性图:

在这里插入图片描述

下图为实体联系图:

在这里插入图片描述

下图为完整的E-R图:

在这里插入图片描述

三、逻辑结构设计

将概念结构设计出的E-R图转换为关系模型如下(关系的码用下划线标出):
会员(会员账号,会员姓名,会员性别,会员电话,会员邮箱)
订单(订单号,订单地址,订单日期,会员账号,管理员账号)
图书(图书编号,图书名,图书数量,图书价格)
管理员(管理员账号,管理员姓名,管理员性别,管理员电话,管理员工资)
购买(订单号,图书编号,购买数量)

四、物理结构设计

为本系统的逻辑数据模型选取合适的物理结构后可设计出数据库及数据表如下图所示:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_51755720/article/details/121551801