数据库课程设计_ _ 图书馆管理系统方案

上传人:xmg****18 文档编号:120455769 上传时间:2020-02-06 格式:DOC 页数:31 大小:1.30MB
返回 下载 相关 举报
数据库课程设计_ _ 图书馆管理系统方案_第1页
第1页 / 共31页
数据库课程设计_ _ 图书馆管理系统方案_第2页
第2页 / 共31页
数据库课程设计_ _ 图书馆管理系统方案_第3页
第3页 / 共31页
数据库课程设计_ _ 图书馆管理系统方案_第4页
第4页 / 共31页
数据库课程设计_ _ 图书馆管理系统方案_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《数据库课程设计_ _ 图书馆管理系统方案》由会员分享,可在线阅读,更多相关《数据库课程设计_ _ 图书馆管理系统方案(31页珍藏版)》请在金锄头文库上搜索。

1、. . . . .目 录1 前言12 需求分析12.1 课程设计目的12.2 课程设计任务12.3 设计环境22.4 开发语言23 分析和设计23.1 系统E-R模型53.2 表空间及表的设计63.3 视图设计143.4 存储过程、函数、包的设计153.5 触发器设计223.6 角色、用户、权限设计243.7 备份方案设计264 课程设计总结27参考文献28致 谢281 前言一个简单的图书管理系统包括图书馆内书籍的信息、学校在校师生的信息以及师生的借阅信息。此系统功能面向图书馆管理员,可以完成书籍和读者的增加、删除和修改,制定借阅规则,以及对读者借阅、续借、归还、预约的确认。2 需求分析2.1

2、 课程设计目的通过专业课程设计,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。同时要求对数据库的运营、管理及使用上进行必要的规划和实现。2.2 课程设计任务(1)图书信息:包括图书编号、图书名称、所属类别等;(2)读者信息:包括读者编码、姓名、性别、专业等;(3)借还书信息:包括图书当前状态、被借还次数、借阅时间等。基本要求:(1)根据需求,补充必要的数据库实体,建立ER模型,通过ER图表示。(2)在Oracle中创建该系统的数据库,并在数据库中实现各表,写入一定

3、的数据。(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。(4)从数据检验的角度出发,为相关的表建立至少1个触发器。(5)从数据更新或修改的角度出发,设计至少1个存储过程。(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。2.3 设计环境(1)WINDOWS 2000/2003/XP系统(2)Oracle数据库管理系统2.4 开发语言PL/SQL语言3 分析和设计(1)功能简介借阅功能:图书出借时考虑三个问题:读者是否因为超期、罚款等情况被关闭了借阅权限;该书是否不在库中;读

4、者是否已经借满其限额。如果不存在以上情况,则可以出借。预约功能:读者想借的书如果不在库中(已经被出借),读者可以预约该图书,当该图书被归还时系统给读者发送邮件,提醒他来借阅,此时其他读者也可以借阅该书。续借功能:读者还书的时候可以续借该图书,续借的过程包括先执行还书操作,再执行借阅操作。(2)发送催还邮件管理员可以发送邮件提醒读者到期还书。读者管理功能:对读者信息进行查看、添加、修改、删除。将读者分为不同类别,赋以不同权限。系统管理功能:对管理员的登录账号、密码进行添加、修改、删除。规则管理功能:对图书借阅规则进行查看、添加、修改、删除。(3)需求描述针对一般图书管理信息系统的需求,通过对图书

5、管理工作过程的内容和数据流程分析,设计如下面所示的数据项:1)读者信息属性:读者编号,读者姓名,联系电话,邮箱地址,所在系,权限状况,读者类型,备注主键:读者编号2)书籍信息属性:图书编号,ISBN,书名,作者,出版社,出版日期,简介,封面图片,价格,学科类型,藏书类型主键:图书编号3)管理员信息属性:编号,账号 ,密码主键:编号4)读者类型属性:编号,类型,说明主键:编号5)藏书类型属性:编号,类型,说明主键:编号6)学科类型属性:编号,类型,说明主键:编号7)借阅信息属性:图书编号,读者编号,借阅日期,应还日期主键:图书编号,读者编号8)预约信息属性:图书编号,读者编号,预约日期主键:图书

6、编号,读者编号9)借阅规则属性:图书类型,读者类型,期限,册数,续借次数,逾期罚款主键:图书类型,读者类型本系统共设计9个表、6个序列、4个存储过程、3个函数、4个触发器其中存储过程有:1)检查借阅是否超期的存储过程;2)判断读者可否进行借阅的存储过程;3)计算超期罚款的存储过程;4)发送邮件的存储过程;其中函数有:1)计算图书应归还日期的函数;2)计算读者可借阅图书册书的函数;3)计算读者已经借阅某类型图书的册数的函数;其中触发器有:1)删除藏书类型的触发器;2)删除读者类型的触发器;3)删除图书的触发器;4)删除读者的触发器。本系统的功能可以在以下几个方面进行拓展和完善练习添加和使用以下命

7、名块:1)修改读者类型的触发器;2)修改藏书类型的触发器;3)将图片存储为Blog类型的存储过程;4)将超期未还的读者借阅权限关闭的存储过程;5)计算读者应交欠费的存储函数。练习添加以下系统功能:1)管理员添加、修改、删除系统公告的功能;2)管理员权限开通/关闭的功能;3)上传图片的功能(本系统中只实现了保存图片地址);4)批量删除图书或读者的功能。3.1 系统E-R模型数据库需要表述的信息有以下几种:(1)读者信息(2)书籍信息(3)管理员信息(4)藏书分类信息(5)图书学科分类信息(6)读者分类信息(7)读者与书籍之间的关系(借阅关系E-R图)(8) 读者类型与书籍类型之间的关系(规则关系

8、E-R图)3.2 表空间及表的设计表1 管理员用户表(admin)列名类型长度约束备注Idnumber11主键管理员编号usernamevarchar210非空管理员帐号passwordvarchar211非空帐号密码表2 读者类型(reader_type)列名类型长度约束备注typeidnumber11主键类型编号typenamevarchar220非空类型名称demovarchar2100说明表3 读者表(reader)列名类型长度约束备注readeridnumber11主键读者编号namevarchar210非空读者姓名telephonevarchar215联系电话emailvarcha

9、r230邮箱地址deptvarchar220所在院系rightnumber1取值为0或1借阅权限readertypenumber11外键读者类型demovarchar21000说明表4 藏书类型表(book_type)列名类型长度约束备注typeidnumber11主键类型编号typenamevarchar220非空类型名称demo varchar2100说明表5 学科类型表(book_class)列名类型长度约束备注classidnumber11主键类型编号classnamevarchar220非空类型名称demo varchar2100说明表6 图书表(book)列名类型长度约束备注boo

10、kidnumber11主键书籍编号booknamevarchar220非空书籍名称author1varchar220非空书籍作者author2varchar220书籍作者author3varchar220书籍作者pubdatedate出版日期publishvarchar230出版社photovarchar2100图片地址abstractvarchar24000内容简介Pricenumber7,2非空价格ISBNvarchar217非空书籍ISBN码bookclassnumber11外键学科类型booktypenumber11外键藏书类型表7 借阅表(borrow)列名类型长度约束备注reade

11、ridnumber11联合主键,外键读者编号bookidnumber11联合主键,外键图书编号borrowdatedate出借日期duedate应还日期表8 预约表(preconcert)列名类型长度约束备注readeridnumber11联合主键,外键读者编号bookidnumber11联合主键,外键图书编号predatedate预约日期表9 规则表(rule)列名类型长度约束备注booktypenumber11联合主键,外键藏书类型号readertypenumber11联合主键,外键读者类型号daysnumber5非空期限(天)numnumber5非空册数(本)renewnumber5非空

12、续借次数(次)overtimenumber5,2非空逾期处罚(元/册/天)(1)创建数据表语句create table admin(id number(11) primary key,username varchar2(10) not null,password varchar2(11) not null);在SQL Developer中创建数据表截图3-1所示:图3-1 admin数据表create table reader_type(typeid number(11) primary key,typename varchar2(20) not null,demo varchar2(100)

13、;在SQL Developer中创建数据表截图3-2所示:图3-2 reader_type数据表create table reader(readerid number(11) primary key,name varchar2(10) not null,telephone varchar2(15),email varchar2(30),dept varchar2(20),right number(1) check(right=0 or right=1),readertype number(11) references reader_type(typeid),demo varchar2(1000);在SQL Developer中

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号