知网查重论文样例--二手外文教材网站的数据库设计
4.3.1 概念设计
概念模型是现实世界到机器世界的一个中间层次。是对信息世界的建模,是对现实世界到信息世界的第一次抽象,是数据库设计人员和用户之间进行交流的语言。概念模型应该能够方便、准确地表示信息世界中的概念,其表示方法有很多,但最著名、最常用的是在1976年提出的实体-联系方法,也称为E-R模型[8]。本次设计的E-R模型如下:
本设计通过之前的分析规划出的数据库表主要有:用户表,购物车信息表,订单信息表,图书信息表,图书分类表,管理员表以及二手书交互信息表。它们之间的关系下图(图4-3-1 E-R图)所示:
图4-3-1 E-R图
其中用户表和购物车信息表是1:1的关系,规定一个用户只能申请一个购物车;用户表和订单信息表示1:N的关系,一个用户可以下多个订单;图书信息表与订单信息表和购物车信息表都是1:N的关系;图书分类表与图书信息表是1:N的关系。管理员表与其它几张表没有明显的关系;二手书交互信息表由于是一张临时记录的表,需要后台管理员再处理,所以暂时与其它表的关系不明显。
4.3.2 逻辑设计
逻辑模型是用户通过数据库管理系统看到的现实世界,它描述了数据库数据的整体结构。通常由数据结构、数据操作和数据完整性约束三部分组成。逻辑数据模型中最广为接受的是层次模型、网状模型、关系模型。本次设计的逻辑设计就是关系模型。关系模型是目前最为重要的一种模型,是对现实世界信息化描述的第二个抽象阶段分析。描述的方法。它是建立在严格的数学概念的基础上,用二维表来表示实体集属性间的关系以及实体之间联系的形式化模型[8]。
由图4-3-1中的E-R图分析,将信息实体转换为关系模型如下:
用户表(用户ID,用户名,性别,登录密码,邮箱,联系方式,联系地址,购物车ID)
订单信息表(订单ID、用户ID、图书ID、数量、日期、总金额、是否提交、是否付款、是否发货、联系地址、联系方式、留言评价、留言内容、留言时间、是否货到付款、是否确认收货)
图书信息表(图书ID、图书名称、作者、出版社、单价、库存、图书图片、分类编号、简单介绍、是否热门推荐、已售数量)
管理员表(管理员ID、管理员名、登录密码、性别、邮箱)
图书分类表(分类编号、图书ID)
购物车信息表(购物车ID、图书ID、用户ID、是否已购买)
二手书交互表(姓名、联系方式、图书名称、单价、数量、中介费、是否确认)
如上所示的关系模型中满足每一个非主属性既不部分依赖于码,也不传递依赖于码,所以本次设计的关系模式满足3NF。
4.3.3 数据库表结构
本次设计的二手外文教材网站的数据库表如下所示,每个表格对应数据库中的一张表,具体如表4-1到表4-7所示。
表4-1用户表(dbo.T_user)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
userID | 用户ID | bigint | 否 | |
username | 用户名 | nvarchar(50) | 否 | |
password | 登录密码 | nvarchar(50) | 否 | |
sex | 性别 | nchar(10) | 是 | |
邮箱 | nvarchar(50) | 是 | 用在用户忘记密码后,将原密码发往此邮箱。 | |
address | 联系地址 | nvarchar(MAX) | 是 | 用户购买时的默认联系地址 |
lianxfangs | 联系方式 | nvarchar(50) | 是 | 用户购买时的默认联系方式 |
gwucheID | 购物车ID | bigint | 否 | 注册后自动生成与用户ID相同的购物车ID |
表4-2管理员表(dbo.T_gly)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
glyID | 管理员ID | bigint | 否 | |
glyname | 管理员名 | nvarchar(50) | 否 | |
password | 登录密码 | nvarchar(50) | 否 | |
sex | 性别 | nchar(10) | 是 | |
邮箱 | nvarchar(50) | 是 |
表4-3图书分类表(dbo.T_tusfenl)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
fenlbhao | 分类编号 | nvarchar(50) | 否 | |
tusID | 图书ID | nvarchar(50) | 否 |
表4-4图书信息表(dbo.T_tusxinx)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
tusID | 图书ID | nvarchar(50) | 否 | |
tusname | 图书名称 | nvarchar(50) | 否 | |
zuozhe | 作者 | nvarchar(50) | 是 | |
chubshe | 出版社 | nvarchar(50) | 是 | |
danj | 单价 | bigint | 否 | |
kucun | 库存 | bigint | 否 | |
picture | 图书图片 | nvarchar(50) | 是 | |
fenlbhao | 分类编号 | nvarchar(50) | 否 | |
jiandjshao | 简单介绍 | nvarchar(MAX) | 是 | |
shfourmtj | 是否热门推荐 | nchar(10) | 否 | 由店家决定是否是热门推荐,在前台热门商品中显示。 |
yishoushul | 已售数量 | bigint | 是 | 每次将卖出的数量累计,销量前三的为热门商品。 |
ghuoshngID | 供货商ID | bigint | 是 | 记录图书的进货来源 |
表4-5购物车信息表(dbo.T_gwchxinx)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
gwucheID | 购物车ID | bigint | 否 | |
tusID | 图书ID | nvarchar(50) | 否 | |
userID | 用户ID | bigint | 否 | |
shifgoum | 是否购买 | nchar(10) | 否 | 当“是否购买”为“是”时,前台页面显示“已经购买”;当为“否”时,前台页面显示“立即购买”,可直接进行购买。 |
表4-6订单信息表(dbo.T_dingdxinx)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
dingdID | 订单ID | bigint | 否 | |
tusID | 图书ID | nvarchar(50) | 否 | |
userID | 用户ID | bigint | 否 | |
riqi | 日期 | datetime | 是 | |
number | 数量 | bigint | 否 | |
zongjie | 总金额 | bigint | 否 | |
lianxdzhi | 联系地址 | nvarchar(MAX) | 否 | 如果用户注册时登记了联系地址则默认显示;若要换联系地址则可重新输入。 |
lianxfangs | 联系方式 | nvarchar(50) | 否 | 如果用户注册时登记了联系方式则默认显示;若要换联系方式则可重新输入。 |
shifoutj | 是否提交 | nchar(10) | 否 | 用户是否提交订单 |
shifoufk | 是否付款 | nchar(10) | 否 | 用户提交订单后是否付款 |
shifoufh | 是否发货 | nchar(10) | 否 | 用户付款后,店家是否发货 |
liuypingj | 留言评价 | nchar(10) | 是 | 用户确认收货后留言评价 |
liuyneir | 留言内容 | nvarchar(MAX) | 是 | 用户确认收货后留言评价的内容 |
liuytime | 留言时间 | datetime | 是 | 用户确认收货后留言评价的时间 |
shifouhdfk | 是否货到付款 | nchar(10) | 否 | 用户的付款方式是货到付款还是网上支付 |
shifoush | 是否确认收货 | nchar(10) | 否 | 用户是否确认收货。若为“是”,则前台查看订单时显示为交易完毕;否则则显示为“确认收货”并去评价 |
表4-7二手书交互表(dbo.ershoushu)
列名 | 说明 | 数据类型 | 是否可为空 | 备注 |
xingm | 姓名 | nvarchar(50) | 否 | |
lianxfangs | 联系方式 | bigint | 否 | |
tusname | 图书名称 | nvarchar(50) | 否 | |
danj | 单价 | bigint | 否 | 买家希望售卖的价格 |
shul | 数量 | bigint | 否 | 买家代售的图书数量 |
zongjf | 中介费 | bigint | 否 | 二手书交互要店家收中介费,中介费为总金额的代售总金额的10% |
Shifouqr | 是否确认 | nchar(10) | 否 | 店家是否确认代售 |