基于数据仓库的图书管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档