您的当前位置:首页正文

数据库课程设计-网上书店数据库管理系统

2023-08-28 来源:钮旅网
网上书店数据库管理系统

1.需求分析

1.1 网上书店的工作过程:首先,用户进入网上书店的URL,可以浏览书店里所有的书籍,但是不能购买,如果想购买必须先在该网站注册。注册信息包括用户的注册网名,真实姓名,电话号码,家庭地址,以及卡号(为了简单起见,假设注册该网站的用户首先要去该书店的办公地址办理一张购书卡),邮箱地址(以便网站第一时间向用户提供新书通报,打折优惠等信息)。用户注册了该网站后,可以在网站购买书籍,购买时用户向网站的管理员提交订单,等管理员审核通过后向用户反馈书籍的具体信息以及发货信息。等顾客收货后确定收货完成该份订单。 1.2 数据流图:

库存 顾客 订单 处理订单 管理员 书籍

1.3 数据字典: 1.3.1 书籍信息表

含义说明:书店关系体统的核心信息,提供了书籍的具体信息。 组成:ISBN号,书籍名称,书籍作者,书籍出版年份,书籍价格 含义说明 的唯一标识, 书籍名称 书籍作者 书籍出版年份

书籍的名称 书籍的作者 字符型 字符型 80 10 日期型的长度 数据类型 数据长度 80 取值范围 任意合法字符且在长度范围内 合法的字符 合法字符 符合日期的规则 数据项 ISBN号 区别每本书字符型 书籍的出版日期型 日期 1.3.2 库存信息表 数据项 ISBN号 库存量 价格 折扣 库存下限 含义说明:书店关系系统的核心信息,提供了库存的信息。

组成:ISBN号,库存量,价格,折扣,库存下限(如果低于下限则提示进货) 含义说明 区别每本书的唯一标识 书籍的存货量 书籍的单价 书籍的折扣率 书籍在仓库中的最少数量

1.3.3 订单信息表 数据项 订单号 订购人 订购日期 订单书籍 书籍数量 发货日期

含义说明:书店关系系统的核心信息,提供了订单的具体信息。

组成:订单号,订购人,订购日期,订单书籍,书籍数量,发货日期。 含义说明 区别每个不同订单的唯一标识 订购人的注册网名 用户生成订单的时间 订单书籍的ISBN号 每份订单书籍的数量 管理员确定发货整型 日期型 10 日期型的长度 1-9999999999 满足特定的日期格式 日期型 字符型 日期型的长度 80 满足特定的日期格式 合法的字符 数据类型 字符型 字符型 数据长度 20 10 取值范围 合法的字符 合法的字符 数据类型 字符型 整型 浮点型 浮点型 整形 数据长度 80 10 10 4 10 取值范围 合法字符 1-9999999999 0.1-999999999 0.001-0.099 1-9999999999 的时间 1.3.4 顾客信息表

含义说明:书店关系系统的核心信息,提供了顾客的具体信息。 组成:注册名,真实姓名,家庭住址,联系方式,购书卡号。 含义说明 唯一区分用户的表示 顾客收货地址 数据类型 字符型 数据长度 20 20 100 20 30 取值范围 合法的字符 合法的字符 合法的字符 合法的字符 合法的字符 数据项 注册名 真实姓名 家庭住址 联系方式 购书卡号

顾客的真实姓名 字符型 字符型 顾客的电话号码 字符型 顾客的购书卡号 字符型 1.3.5 管理员信息表 含义说明:书店关系系统的核心信息,提供了雇员的基本信息,管理权限等。

组成:管理员编号,名字,密码,具体身份(超级管理员,书籍管理员,用户

管理员,订单管理员),管理员邮箱。

数据项 管理员编号 管理员名字 密码 具体身份 含义说明 唯一区分管理员的表识 管理员的姓名 管理员进入系统的密码 数据类型 字符型 字符型 字符型 数据长度 20 20 10 20 取值范围 合法的字符 合法的字符 合法的字符 “超级管理员”,“书籍管理员”“用户管理员” “订单管理员” 管理员管理范围 字符型 邮箱 管理员与用户交流方式 字符型 30 合法的邮箱地址 2.概念结构设计

根据对网上书店的需求分析,画出如下实体的ER图和实体之间的关系ER图。

ISBN号 名称 作者 出版年份 书籍 图-1 书籍信息ER图

价格 库存量 折扣 ISBN号 库存下限 库存

图-2 库存信息ER图

订购日期 订单书籍 书籍数量 发货日期订购人 订购号 订单 图-3 订单信息ER图

家庭住址 真实姓名 联系方式 注册名 购书卡号 顾客

图-4 顾客信息ER图

管理员真实姓名 密码 具体身份 管理员编号 邮箱 管理员

图-5 管理员信息ER图

书籍 书-订单 订单 订单-顾客 顾客 库存 库存-订单

图-6 实体之间关系ER图

3.逻辑结构设计

3.1 把ER图转换成相应的关系模型

(a) 书籍 {ISBN号,书籍名称,书籍作者,书籍出版年份}

(b) 订单 {订购号,订购人,订购日期,订购书籍,书籍数量,发货日期} (c) 库存 {ISBN号,库存量,价格,折扣,库存下限}

(d) 顾客 {注册名,真实姓名,家庭住址,联系方式,购书卡号

(e) 管理员 {管理员编号,管理员真实姓名,密码,具体身份,邮箱} (f) 书-订单 {订单号,ISBN号,书籍数量,发货日期}

(g) 订单-顾客 {订单号,注册名,订购日期} (h) 库存-订单 {ISBN号,订单号} 3.2 数据模型的优化

将关系模式订单垂直分解为书-订单,和订单-顾客。

4.物理结构设计

4.1 设计基本表

 书籍:

1. 表名: Books 2. 所有者:dbo 3. 源代码: CREATE TABLE Books( isbn CHAR(80),

Title CHAR(80),

Author CHAR(10),

Year_published DATE, PRIMARY KEY(isbn)) 4. 权限管理:

GRANT SELECT ,INSERT , DELETE , UPDATE ON Books TO 超级管理员 GRANT SELECT ,INSERT , DELETE , UPDATE ON Books TO 书籍管理员 GRANT SELECT ON Books TO 顾客

 库存:

1.表名:Store 2.所有者:dbo

3.源代码:CREATE TABLE Store_Book ( isbn CHAR(80), qty_in_stock INTEGER(10), price NUMERIC(10,2), discount NUMERIC(4,2), low_stock INTEGER(10), PRIMARY KEY (isbn))

4.权限管理:

GRANT SELECT ,INSERT , DELETE , UPDATE ON Store TO 超级管理员 GRANT SELECT ,INSERT , DELETE , UPDATE ON Store TO 书籍管理员

 顾客:

1. 表名: Customers 2. 所有者:dbo

3. 源代码:CREATE TABLE Customers( cname CHAR(20), realname CHAR(20), address CHAR(100), telephone CHAR(20), cardnum CHAR(30), PRIMARY KEY (cname)) 4. 权限管理:

GRANT SELECT ,INSERT , DELETE , UPDATE ON Customers TO 超级管理员 GRANT SELECT ,INSERT , DELETE , UPDATE ON Customers TO 用户管理员 GRANT SELECT ,INSERT , ON Customers TO顾客

 订单-顾客:

1. 表名:Orders 2. 所有者:dbo

3. 源代码:CREATE TABLE Orders ( ordernum CHAR(20), cname CHAR(20), order_date DATE,

PRIMARY KEY (ordernum),

FOREIGN KEY (cname) REFERENCES Customers) 4.权限管理:

GRANT SELECT ,INSERT , DELETE , UPDATE ON Orders TO 超级管理员 GRANT SELECT ,INSERT , DELETE , UPDATE ON Orders TO 订单管理员 GRANT SELECT ,INSERT , ON Orders TO 顾客

 订单-书:

1. 表名:Orderlists 2. 所有者:dbo

3. 源代码:CREATE TABLE Orderlists ( ordernum CHAR(20), Isbn CHAR(80), Qty INTEGER(10),

PRIMARY KEY (ordernum), FOREIGN KEY (isbn) REFERENCES Books) 4.权限管理:

GRANT SELECT ,INSERT , DELETE , UPDATE ON Orderlists TO 超级管理员

GRANT SELECT ,INSERT , DELETE , UPDATE ON Orderlists TO 订单管理员

GRANT SELECT ,INSERT , ON Orderlists TO 顾客

 管理员:

1. 表名:Managers

2. 3. 4.

所有者:dbo

源代码:CREATE TABLE Managers ( mgr_num CHAR(20), mgr_name CHAR(20), passwords CHAR(10), actor CHAR(20), mail CHAR(30),

PRIMARY KEY (mgr_num)) 权限管理:

GRANT SELECT ,INSERT , DELETE , UPDATE ON Managers TO 超级管理员 GRANT SELECT , UPDATE ON Managers TO 订单管理员 GRANT SELECT , UPDATE ON Managers TO 书籍管理员 GRANT SELECT , UPDATE ON Managers TO 用户管理员

为数据库管理系统设计规则

create rule Actor_rule as @ actor in('超级管理员','用户管理员',’书籍管理员’,’订单管理员’)

create rule Mail_rule as in str(@mail,’@’)>1 and right(@mail,1)<>’@’

5.数据库的实施 6.数据库的运行和维护

因篇幅问题不能全部显示,请点此查看更多更全内容