文档视界 最新最全的文档下载
当前位置:文档视界 › 数据模型设计

数据模型设计

数据模型设计
数据模型设计

四、数据模型设计

4.1概念设计

4.1.1实体分析

在本系统中,主要包括二手书、用户以及管理员三个实体集,其中每个实体都有属于自己的独立的属性。此外,在系统中根据业务还可以找到购物车、订单、评论、留言和新闻五个实体集。

在实际分析中发现,购物车实体中如果以购物车号作为主键比较繁杂,且购物车记录会因为形成订单而删除,不易操作。因此采用用用户号作为主键的方法,每个用户在形成订单的时候可以清空自己选择购物车的特定内容。

4.1.2实体关系的总体分析

在以上几个实体中,购物车、订单、评论都是由书、用户两个实体之间的关系产生的,都需要建立一张单独的基本表。一个用户可以添加多条记录到当前购物车,一个用户可以形成多条订单记录,一个用户可以评论多本书,每本书可以有很多评论。

为方便操作,我们把用户号作为购物车号,这样可以解决一个用户将多样书籍添加到购物车,结算时形成一条订单查找删除购物车困难的问题。

4.1.3具体实体联系

一个用户可以购买多本书籍,一本书籍可以被多个用户购买(M:N)

一本书籍可以生成一个购物车,一个购物车可以包含多本书籍(M:1)

一条订单对应一个用户,一个用户对应多条订单(M:1)

一个用户拥有一个购物车,一个购物车对应一个用户(1:1)

一个购物车形成一条订单,一条订单包含一个购物车记录(1:1)

一个用户可以发表多个评论,一个评论只能由一个用户发表(1:M)

一本书可以有多个评论,一个评论对应一本书籍(1:M)

一个用户可以发表多条留言,一条留言只能由一个用户发布(1:M)

一个管理员可以回复多条留言,一条留言只能由一个管理员回复(1:M)

一个管理员可以处理多条订单,一个订单只能由一个管理员处理(1:M)

一个管理员可以添加多本书籍,一本书籍只能由一名管理员添加(1:M )

一名管理员可以发布多条新闻,一条新闻只能由一名管理员发布(1:M )

一个用户可以查看多条新闻,一条新闻可以被多个用户查看(M :N ) 4.1.4局部ER 图

A.一个用户可以购买多本书籍,一本书籍可以被多个用户购买(M :N )

发表

用户

留言

1

M

B.一本书籍可以生成一个购物车,一个购物车可以包含多本书籍(1:M )

发表

用户

留言

1

M

C.一条订单对应一个用户,一个用户对应多条订单(M :1)

发表

用户

留言

1

M

D.一个用户拥有一个购物车,一个购物车对应一个用户(1:1)

发表

用户

留言

1

M

E.一条订单包含一个购物车记录,一个购物车形成一条订单(1:1)

发表

用户

留言

1

M

F.一个用户可以发表多个评论,一个评论只能由一个用户发表(1:M )

发表

用户

留言

1

M

G .一本书可以有多个评论,一个评论对应一本书籍(1:M )

发表

用户

留言

1

M

H.一个用户可以发表多条留言,一条留言只能由一个用户发布(1:M )

发表

用户

留言

1

M

I.一个管理员可以回复多条留言,一条留言只能由一个管理员回复(1:M )

发表

用户

留言

1

M

L.一个管理员可以处理多条订单,一个订单只能由一个管理员处理(1:M )

发表用户留言

1M K.一个管理员可以添加多本书籍,一本书籍只能由一名管理员添加(1:M )

发表

用户

留言

1

M

L.一名管理员可以发布多条新闻,一条新闻只能由一名管理员发布(1:M )

发表

用户

留言

1

M

M.一个用户可以查看多条新闻,一条新闻可以被多个用户查看(M :N )

发表

用户

留言

1

M

4.1.4全局ER 图

用户留言发布购物车评论

书籍购买

M

1

M

N

对应

发表11

生成M 1订单对应

拥有1M 1

1

1

管理员

回复M 添加

处理

发布M

1

1

M 1新闻查

看M

M

M

N

M 1

4.2逻辑设计

4.2.1基本层次(管理员,用户,书籍)

管理员表(管理员号,管理员名,密码) 用户表(用户号,用户名,用户电话,密码)

书籍表(书号,书名,描述,价钱,类别,库存,图片存储路径,发行时间) 留言表(留言号,留言内容,留言标题,留言时间,用户名)

新闻表(新闻号,新闻标题,新闻内容,新闻类型,新闻范围,新闻时间)

回复表(回复号,回复人,回复时间,回复内容,回复标题,留言号)

4.2.2多对多关系,建立新表

评论表(评论号,评论内容,用户号,书号,评论时间)

订单表(订单号,用户号,订单时间,总价,订单状态)

购物车表(购物车号,书号,书名,价格,数量,订单号)

4.2.3对表进行翻译

Admin(AdID,AdName,PassWord)

Users(UserID,UserName,Tel,PassWord)

Book(BookID,BookName,Remark,Price,CategoryName,Stock,BookPhoto,CreateDate)

Message(MsgID,UserName,MsgText,MsgTime)

Tb_News(ID,Title,Content,Type,Categories,IssueDate)

Reply(ReplyID,ReplyRe,ReplyTime,ReplyText,ReplyName,MsgID)

Comment(CommentID,Text,UserID,BookID,CreateDate)

Dingdan(DingdanID,UserID,DingdanTime,Sum,Status)

Shelf(ShelfID,BookID,BookName,Price,Num,Dingdanma)

4.3物理设计

1.管理员Admin表

字段名称字段说明类型定义大小备注关系(外键)AdID 管理员号char 10 Primary key

AdName 管理员名varchar 50 Not null

Password 密码char 10 Not null

2.书籍Book表

字段名称字段说明类型定义大小备注关系(外键)BookID 期刊号char 10 Primary key

BookName 期刊名varchar 50 Not null Price 单价money 10 Not null

CategoryName 类别名char 10 Not null Stock 库存int 50 Not null

Bookphoto 期刊图片varchar 50 Not null

CreateDate 发行时间datetime 8

Remark 简介text

3.评论Comment表

字段名称字段说明类型定义大小备注关系(外键)ID 评论编号char 10 Primary key

Title 标题varchar 50

Body 内容varchar 1000 Not null

UserID 用户号char 10 Not null CK:UserID BookID 期刊号char 10 Not null CK:BookID CreateDate 创建时间datetime 8 Not null

4.CopyShelf表

字段名称字段说明类型定义大小备注关系(外键)ShelfID 购物车号char 10 Primary key

BookID 期刊号char 10 CK:BookID BookName 期刊名varchar 50 Not null

DingdanMa 订单号varchar 50 Not null Num 数量int 50 Not null

5.订单Dingdan表

字段名称字段说明类型定义大小备注关系(外键)DingdanID 订单号char 10 Primary key

UserID 用户号char 10 CK:UserID DingdanTime 订单时间datetime 8 Not null Status 状态char 10 Not null

Num 数量int 50 Not null

6.购物车Shelf表

字段名称字段说明类型定义大小备注关系(外键)ShelfID 购物车号char 10 Primary key

BookID 期刊号char 10 Not null CK:BookID BookName 期刊名varchar 50 Not null Price 价格money 10 Not null

Num 数量int 50 Not null

DingdanMa 订单号varchar 50 Not null

7.用户Users表

字段名称字段说明类型定义大小备注关系(外键)UserID 用户号char 10 Primary key

UserName 用户名varchar 50 Not null

UserTel 电话号码char 20 Not null

Password 密码char 10 Not null

8.留言Message表

字段名称字段说明类型定义大小备注关系(外键)MsgID 留言号char 10 Primary key

MsgRe 用户名Varchar 50 Not null https://www.docsj.com/doc/aa10928788.html,erName MsgText 留言内容Varchar 80 Not null

MsgTime 留言时间datetime Not null

MsgName 留言标题Varchar 50 Not NULL

9.通知tb_News表

字段名称字段说明类型定义大小备注关系(外键)ID 新闻号char 10 Primary key

Title 新闻标题Varchar 50 Not null

Content 新闻内容Varchar 2000 Not null

Type 新闻类别Varchar 50 Not null

categories 新闻范围Varchar 50 Not null

10.回复Reply

字段名称字段说明类型定义大小备注关系(外键)ReplyID 回复号Int Primary key

ReplyRe 回复人Varchar 50 Not null

ReplyTime 回复时间DateTime Not null

ReplyText 回复内容Varchar 80 Not null

ReplyName 回复标题Varchar 50 Not null

MsgID 留言号Int Not Null Message:MsgID

11.分类信息Category表

字段名称字段说明类型定义大小备注关系(外键)CategoryID 分类号Int Primary key

CategoryName 分类名称Varchar 50 Not null ParentID 父分类的ID值Int Not null

ShowOrder 显示顺序Int Not null

Remark 简介Varchar 2000 Not null

相关文档