图书管理系统数据库设计_001.doc

上传人:wj 文档编号:1296483 上传时间:2023-04-30 格式:DOC 页数:7 大小:57.50KB
下载 相关 举报
图书管理系统数据库设计_001.doc_第1页
第1页 / 共7页
图书管理系统数据库设计_001.doc_第2页
第2页 / 共7页
图书管理系统数据库设计_001.doc_第3页
第3页 / 共7页
图书管理系统数据库设计_001.doc_第4页
第4页 / 共7页
图书管理系统数据库设计_001.doc_第5页
第5页 / 共7页
图书管理系统数据库设计_001.doc_第6页
第6页 / 共7页
图书管理系统数据库设计_001.doc_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统数据库设计_001.doc

《图书管理系统数据库设计_001.doc》由会员分享,可在线阅读,更多相关《图书管理系统数据库设计_001.doc(7页珍藏版)》请在冰点文库上搜索。

图书管理系统数据库设计_001.doc

数据库设计题

某高校的图书管理系统需求描述如下:

l该系统有图书管理员和读者两类用户。

l实现按图书类别、ISBN、图书名称、关键词(每种图书最多可同时录入4个关键词)、出版社或作者(每种图书最多可同时录入3个作者)等手段检索图书信息;实现图书的借出和归还管理,并可对图书的借用情况进行各种查询和统计。

l图书管理员负责添加、删除和更新图书信息。

所有图书实行分类管理,每一种图书属于且仅属于某一类;每一种图书由ISBN唯一标识;每一种图书可能库存多册。

l图书管理员负责添加、删除和更新读者信息。

读者分教师、职工、研究生和本科生等几种类别,对于不同类别的读者可以同时借阅图书的册数不一样,图书的借期也不一样。

l读者可以按规定在一定期限内借阅一定数量的图书,同一种图书仅允许在借1册,只有图书有库存时才能借阅。

读者可以预订目前借不到的图书。

一旦预订的图书被归还或购买入库,系统立即通知预订者。

l读者逾期不归还图书的,每本每天按一定的标准(如0.1元/本·天)收取罚金;丢失图书的可以买相同版次的新书归还(图书管理员对归还的新书按丢失图书的信息编码入库)或按原价3倍的金额进行赔偿(图书管理员删除丢失图书的库存信息)。

请完成:

1.分别画出借书、还书业务的处理流程。

2.设计该图书管理系统的E-R模型,E-R图重点是描述各实体集之间的联系,对于E-R图中的每一个实体集请通过数据字典定义它的相关属性。

3.将E-R模型转化为关系模式,请标出每一个关系中的主码和外码。

4.定义一个视图Utilization,它实现按年、ISBN汇总统计图书借阅情况,视图中包含年份、ISBN、图书名称、库存册数、借阅次数、平均每册借阅次数等属性。

1.

N

Y

N

Y

N

N

Y

结束

开始

是否继续借书?

读者选择要借的书

读者是否达到借书最大量?

读者是否已在借该书?

该书是否还有

库存?

办理借书手续

更改相关信息

是否预定?

办理预定手续

增加预定信息

N

Y

Y

图1借书流程

Y

Y

Y

Y

N

N

N

N

办理丢失图书的赔偿手续,并删除丢失图书的库存信息

是否继续归还?

结束

办理丢失图书所归还新书的入库手续

办理归还手续

修改图书库存信息

办理罚款手续

开始

选择要归还的图书

是否逾期?

是否丢失?

是否买新书赔偿?

图2还书流程

2.参考解法一

类似于实体集“借阅归还记录”和联系集“借阅图书”、“读者借阅”可画出实体集“预订记录”和联系集“预订图书”、“读者预订”。

图书

读者

借阅归还记录单

借阅图书

读者借阅

办理借书

管理员

处罚单

处罚

图书分类表

分类

分类

读者分类表

办理还书

写作

作者表

设置

关键词表

3.

图书分类号:

Bookclass(classNo,className)

图书:

Book(ISBN,classNo,bookName,authorNo,keywordNo,publishingName,price,publishingDate,shopDate,shopNum,retainedNum)

作者:

Author(authorNo,authorName,sex,workunit)

图书作者:

BookAuthor(authorNo,ISBN)

关键词:

Keyword(keywordNo,keyword)

图书关键词:

BookKeyword(keywordNo,ISBN)

借阅归还记录:

Borrow(borrowNo,readerNo,ISBN,borrowDate,shouldDate,returnDate,borrowEmployeeNo,returnEmployeeNo)

读者:

Reader(readerNo,readerName,sex,identitycard,workunit,readerClassNo)

读者分类:

ReaderClass(readerClassNo,readerClass,borrowNumLimit,borrowTimeLimit)

——readerClass的取值有:

”教师”、”职工”、”本科生”、”研究生”等

图书管理员:

Employee(employeeNo,employeeName,sex,salary)

处罚单:

Ticket(ticketNo,ticketClass,ticketAmount,borrowNo,ticketEmployeeNo)

——ticketClass的取值有:

”逾期归还”、”丢失赔偿”、”丢失赔书”等

2.参考解法二

一个借书单可以同时借阅多本不同的书。

图书分类、读者分类、作者、关键词等同上。

读者

借书单

预订图书

读者预定

管理员

还书

读者借书

借阅图书

处罚单

处罚

写作

作者表

设置

关键词表

借书

图书分类表

读者分类表

分类

预订单

分类

图书

3.

图书分类号:

Bookclass(classNo,className)

图书:

Book(ISBN,classNo,bookName,authorNo,keywordNo,publishingName,price,publishingDate,shopDate,shopNum,retainedNum)

作者:

Author(authorNo,authorName,sex,workunit)

图书作者:

BookAuthor(ISBN,authorNo)

关键词:

Keyword(keywordNo,keyword)

图书关键词:

BookKeyword(ISBN,keywordNo)

借书单:

Borrow(borrowNo,readerNo,borrowDate,shouldDate,borrowEmployeeNo)

借阅归还明细:

BorrowDetail(borrowNo,ISBN,returnDate,returnEmployeeNo)

读者:

Reader(readerNo,readerName,sex,identitycard,workunit,readerClassNo)

读者分类:

ReaderClass(readerClassNo,readerClass,borrowNumLimit,borrowTimeLimit)

——readerClass的取值有:

”教师”、”职工”、”本科生”、”研究生”等

图书管理员:

Employee(employeeNo,employeeName,sex,salary)

处罚单:

Ticket(ticketNo,ticketClass,ticketAmount,borrowNo,ISBN,ticketEmployeeNo)

——ticketClass的取值有:

”逾期归还”、”丢失赔偿”、”丢失赔书”等

4.

针对参照解法一的E-R模型:

CREATEVIEWUtilization

As

SELECTyear(borrowDate)ASyear,a.ISBN,bookName,shopNum,count(*)ASborrowNum,borrowNum/shopNumASavgNum

FROMBorrowASa,BookASb

WHEREa.ISBN=b.ISBN

GROUPBYyear(borrowDate),a.ISBN,bookName,shopNum

或(更好!

CREATEVIEWUtilization

As

SELECTyear,b.ISBN,bookName,shopNum,borrowNum,borrowNum/shopNumASavgNum

FROMBookASb,

(SELECTyear(borrowDate)ASyear,ISBN,count(*)ASborrowNum

FROMBorrow

GROUPBYyear(borrowDate),ISBN)ASa

WHEREa.ISBN=b.ISBN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2