基于数据仓库的图书管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于数据仓库的图书管理系统1.ER图
图1-1
2.数据库表
1)读者信息表
表2-1reader表
字段名称rId
major academy telephone borrowNum 数据类型
char(32)
varchar(50)
varchar(50)
varchar(50)
int
主键
Y
N
N
N
N
是否空
N
N
N
N
N
说明
主键
专业
学院
电话
借阅量
表2-2book 表
字段名称bId bName author price invNum category borrowDate position
rId 数据类型
char(32)
varchar(200)
varchar(50)
decimal(8,2)
int
varchar(50)
varchar(50)
varchar(50)
char(32)
主键
Y
N
N
N
N
N
N
N
N
是否空
N
N
N
N
N
N
N
N
N
说明
主键
书图名称
作者
单价
库存量
图书分类
借阅日期
存放位置读
者ID(外键)
3)订单条目表
表2-4 orderItem表
字段名称orderItemId quantity bId
price
oId 数据类型
char(32)
int
char(32)
float
Char(32)
主键
Y
N
N
N
N
是否空
N
N
N
N
N
说明
主键
数量
图书ID
单价订单
ID(外键)
4)订单表
表2-5order表
字段名称oId orderTime adminId 数据类型
char(32)
char(19)
char(32)
主键
Y
N
N
是否空
N
N
N
说明
主键
下单时间
管理员ID
表2-6admin表
字段名称adminId admiName adminpwd 数据类型
char(32)
varchar(50)
varchar(50)
主键
Y
Y
Y
是否空
N
N
N
说明
主键管理
员名称管理
员密码
3.需求分析
对每一个读者做借阅量的分析
对每一本图书做借阅量(受欢迎程度)的分析
对某一区域的每一本图书做借阅量(受欢迎程度)的分析对每一类图书做库存量分析
对每一类图书做订购量的分析
对每一个学院和专业做借阅量的分析
对年、季、月做借阅量的分析
4.主题域分析与星型模式
主题一:图书
主题二:读者
主题三:订单
1) 事实表:Purchase
2) 事实表:Borrow
5.SQL语句提取数据
1) 事实表Purchase
(事实:订购量,订购金额)
SELECT b.bId,a.adminId,oI.orderItemId,o.orderTime,oI.quantity,
oI.price,oI.quantity*oI.price total
FROM orders o,orderItem oI, admin a,book b
WHERE o.oId=oI.oId AND
a.adminId=o.adminId AND
b.bId=oI.bId
2) 事实表Borrow
(事实:借阅量,库存量)
SELECT b.bId,r.rId,b.position,b.borrowDate,r.borrowNum,b.invNum
FROM book b,reader r
WHERE r.rId=b.rId
3) 抽取date数据中的年月日
SELECT oId,YEAR(orderTime)as year,MONTH(orderTime)as month,DAY(orderTime) as day
from orders
4) 抽取代表位置的一串字符串中具体几位
(存储位置代表的含义:分类- 存储室号- 架号- 层号- 哪一本)SELECT bId,SUBSTRING(position,1,2) as category,
SUBSTRING(position,3,3)as roomNum,
SUBSTRING(position,6,2)as shelfNum,
SUBSTRING(position,8,2)as tierNum,
SUBSTRING(position,10,3) as num
FROM book