图书馆数据库设计实例
- 格式:doc
- 大小:3.60 MB
- 文档页数:8
《SQL Server数据库课程设计》题目:图书借阅管理系统的设计与实现院、系:计算机信息与技术系学科专业:软件工程学号: B10060XXX ___学生姓名: XXXX指导教师:XX2012年06月目录引言1第一章需求分析1一、功能需求1二、数据需求2第二章概要设计2一、系统设计目标2二、系统功能设计2三、开发工具的选择3第三章详细设计5一。
实体E—R图5二. 表的设计6三.界面设计7第四章软件实现21一、登录实现21二、图书管理21三、图书借阅21四、图书查询21五、图书增加21第五章软件测试21一、测试方案21二、测试项目21三、测试项目及测试内容21四、测试用例21五、评价22第六章课程设计总结24参考文献25引言随着社会的发展,人们对知识的需求也不断地增长。
在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就势在必行.图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。
本软件针对图书馆的业务范围及工作特点,设计了图书查询、新增图书、图书借阅书以及图书归还等5个子系统,这5个子系统包括了图书馆的主要业务,可以全面实现对图书馆采购、编目、检索、统计和流通等业务的计算机管理,使图书馆管理水平和业务水平跃上一个新的台阶。
应用本系统可以在计算机上灵活、方便地管理图书,从而大大的提高了处理速率,使管理更加现代化。
本系统是根据实际情况和具体内容,按照一定的要求,科学、合理的进行系统分析、设计,具体包括画面设计、数据输入、查询、新增、删除等设计。
从而使本系统完全能满足经济性、灵活性、系统性及可靠性的要求。
本系统的实现的主要功能有:图书馆图书的查询、新书的入库、图书的借阅和归还等等功能,是一个基本可以满足借阅者和图书馆管理人员的需要的数据库。
图书数据库设计--------------------------------一.需求分析近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现一系列的问题。
因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。
系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。
使图书管理者便于对图书和读者的管理。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。
使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。
二.概念设计系统E-R图E—R图三.逻辑设计关系模式图四.系统功能分析1)建表#新建borrowPerson表create table borrowPerson(ID varchar(15) PRIMARY key,name varchar(15) not null,sex varchar(5) check(sex in ('男','女')),identity varchar(10) check(identity in ('学生','教师','其他')), phone varchar(20),location varchar(50))#新建bookNumber表create table booknumber(ISBN varchar(30) primary key check(ISBN like '%-%-%-%'), count int check(count>=0))#新建book表create table book(B_ID varchar(20) primary key,ISBN varchar(30) not null references booknumber,B_name varchar(50) not null,author varchar(50) not null,family varchar(20) not null,price float(2) default 0.00)#新建borrow表create table borrow(B_ID varchar(20) primary key references book,ID varchar(15) not null references borrowPerson,date Datetime not null)#新建publisher表create table publisher(P_name varchar(50) primary key,location varchar(50) not null,telenumber varchar(20))#新建publish表create table publish(P_name varchar(50) not null references publisher,B_ID varchar(20) not null references book,date datetime,primary key(P_name,B_ID))2)建视图#新建各种数的借阅情况视图create view borrow_of_details(book_name,borrowed_num,nbrrow_num,total_num)as select B_name,count(B_ID)-count,count,count(B_ID)from book natural join booknumbergroup by B_name,count#视图2,书的详情create view book_details(Book_name,Book_publisher,Book_price,ISBN) asselect B_name,P_name,price,ISBNfrom book natural join publish#视图3,借书人的详情create view borrowperson_details(b_ID,b_name,b_sex,b_identity) as select ID,name,sex,identityfrom borrowperson#视图4,出版社create view publish_details(pu_name,pu_number,pu_location) as select P_name,telenumber,locationfrom publisher3)查询#找出所有在2015年前借了书的人的名字select namefrom borrowperson natural join borrow natural join bookwhere date<2015#找出所有刚好借走了同一种书的最后一本数的人的名字和身份select name,identityfrom borrowperson natural join borrowwhere B_ID in (select B_IDfrom book natural join booknumberwhere count=1)#找出所有被借完关于数学的书的名字,书号(select B_name,B_IDfrom bookwhere ISBN in(select ISBNfrom booknumberwhere count=0))intersect(select B_name,B_IDfrom bookwhere B_ID in(select B_IDfrom borrow))#找出所有在广州出版社出版的数的名字select B_namefrom book natural join publishwhere P_name='广州出版社'#找出所有同种类型的书的数量,书名并按照价格的升序排序select B_name,price,count( distinct ISBN) as numfrom bookgroup by price ASC#找出所有在北京的出版社或被不同身份的人接走的书的名字(select B_namefrom bookwhere B_ID in(select B_IDfrom publish natural join publisherwhere location like '%北京%'))UNION(select B_namefrom bookwhere B_ID in(select B_IDfrom borrowwhere ID in(select ba.IDfrom borrowPerson as ba,borrowPerson as bbwhere ba.identity!=bb.identity)))#找出所有同一时间内多于5人借阅书的名字select B_name,ISBN,count(ISBN)as numfrom book natural join borrowgroup by B_name,ISBNhaving count(ISBN)>54)修改1.新增insert into borrowpersonvalues('201330330308','何树源','男','学生','67585','华山4栋201');insert into borrowpersonvalues('201330330309','黄德宝','男','学生','68578','华山4栋201');insert into borrowpersonvalues('201330330304','单汶进','男','学生','66582','华山4栋201');insert into borrowpersonvalues('201330330305','董永钊','男','学生','6897','华山4栋201');insert into borrowpersonvalues('201330330311','黄友生','男','学生','65265','华山4栋202');insert into booknumbervalues('978-7-111-4086-8',5);insert into booknumbervalues('978-7-111-4086-9',1);insert into booknumbervalues('978-7-111-4089-8',2);insert into publishervalues('广州出版社','020-********','广州天河区');insert into bookvalues('02001','978-7-111-4086-8','数据库','杨冬青','科学',59.00); insert into bookvalues('02002','978-7-111-4086-8','数据库','杨冬青','科学',59); insert into bookvalues('02003','978-7-111-4086-8','数据库','杨冬青','科学',59); insert into bookvalues('02004','978-7-111-4086-8','数据库','杨冬青','科学',59); insert into bookvalues('02005','978-7-111-4086-8','数据库','杨冬青','科学',59); insert into bookvalues('02006','978-7-111-4086-9','狗蛋日记','黄狗蛋','日记',9); insert into bookvalues('02007','978-7-111-4089-8','计算机图形学','张静','科学',39); insert into bookvalues('02008','978-7-111-4089-8','计算机概论','不详','科学',89);insert into publishvalues('02001','广州出版社','2016-01-25');insert into publishvalues('02002','广州出版社','2016-01-25');insert into publishvalues('02003','广州出版社','2016-01-25');insert into publishvalues('02004','广州出版社','2016-01-25');insert into publishvalues('02005','广州出版社','2016-01-25');insert into publishvalues('02006','广州出版社','2016-01-25');insert into publishvalues('02007','广州出版社','2016-01-25');insert into publishvalues('02008','广州出版社','2016-01-25');insert into borrowvalues('02001','201330330308','2016-01-26');2.修改update bookset price=99where B_ID='02001'update publisherset telenumber='020-********'where P_name='广州出版社';update borrowpersonset phone='67586'where ID='201330330308';update borrowpersonset location='泰山区7栋608'where ID='201330330308';3.删除delete from borrowpersonwhere ID='201330330307';delete from borrowwhere B_ID='02001';5)存储过程或函数#函数,返回书的种数create function different_book()returns integerdeclare num integer ;select count(*) into numfrom booknumber;return num;end#函数,查询书的属性create function book_deta(B_name varchar(50))returns table(B_ID varchar(20),ISBN varchar(30),B_name varchar(50),author varchar(50),family varchar(20),price float(2))return table(select B_ID,ISBN,B_name,author,family,pricefrom bookwhere book.B_name=book_deta.B_name);#过程,查询书名create procedure find_book(in book_ID varchar(20),out book_name varchar(50)) beginselect B_name into book_namefrom bookwhere ID=book_ID;end6)触发器#触发器1,当borrow被新增后出发booknumbercreate trigger booknumberup after insert on borrow#referencing new row as nrowfor each rowbeginupdate booknumberset count=count-1where ISBN in (select ISBNfrom bookwhere B_ID=new.B_ID);#触发器2,当borrow被删除后booknumbercreate trigger booknumberdown after delete on borrow #referencing new row as nrowfor each rowbeginupdate booknumberset count=count+1where ISBN in (select ISBNfrom bookwhere B_ID=old.B_ID);end#触发器3,当book被增加后booknumbercreate trigger bookndown after insert on book#referencing new row as nrowfor each rowbeginupdate booknumberset count=count+1where ISBN in (select ISBNfrom bookwhere B_ID=new.B_ID);end#触发器4,当book被删除后booknumbercreate trigger booknup after delete on book#referencing new row as nrowfor each rowbeginupdate booknumberset count=count-1where ISBN in (select ISBNfrom bookwhere B_ID=old.B_ID);end#触发器5,book价格更新create trigger changePrice after update of book on price referencing new row as nrowfor each rowbeginupdate bookset price=nrow.pricewhere ISBN=new.ISBNend五.结果[SQL]insert into publishvalues('02002','广州出版社','2016-01-25');受影响的行: 1时间: 0.041s[SQL]insert into publishvalues('02003','广州出版社','2016-01-25');受影响的行: 1时间: 0.037s[SQL]insert into publishvalues('02004','广州出版社','2016-01-25');受影响的行: 1时间: 0.068s[SQL]insert into publishvalues('02005','广州出版社','2016-01-25');受影响的行: 1时间: 0.042s[SQL]insert into publishvalues('02006','广州出版社','2016-01-25');受影响的行: 1时间: 0.053s[SQL]insert into publishvalues('02007','广州出版社','2016-01-25');受影响的行: 1时间: 0.043s六.感悟通过这次课程设计发现这其中需要的很多知识我们没有接触过,同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。
数据库表结构设计例子数据库表结构设计是数据库开发中的重要环节,它决定了数据的存储方式和数据之间的关系。
下面列举了10个不同领域的数据库表结构设计例子。
1. 学生信息表学生信息表包含学生的姓名、性别、出生日期、班级等字段,用于存储学生的基本信息。
此表的主键可以是学生的学号,用于唯一标识每个学生。
2. 课程信息表课程信息表用于存储课程的信息,包括课程名称、学分、教师等字段。
此表的主键可以是课程号,用于唯一标识每门课程。
3. 图书馆借阅记录表图书馆借阅记录表用于记录读者的借阅情况,包括书籍名称、借阅日期、归还日期等字段。
此表的主键可以是借阅记录的编号,用于唯一标识每条借阅记录。
4. 订单信息表订单信息表用于存储用户的订单信息,包括订单号、商品名称、购买数量、订单日期等字段。
此表的主键可以是订单号,用于唯一标识每个订单。
5. 电影评分表电影评分表用于存储用户对电影的评分信息,包括用户ID、电影ID、评分等字段。
此表的主键可以是用户ID和电影ID的组合,用于唯一标识每条评分记录。
6. 医院病人信息表医院病人信息表用于存储病人的基本信息,包括病人姓名、年龄、性别、病历号等字段。
此表的主键可以是病历号,用于唯一标识每个病人。
7. 酒店预订表酒店预订表用于记录用户的酒店预订信息,包括预订人姓名、入住日期、离店日期、房间类型等字段。
此表的主键可以是预订记录的编号,用于唯一标识每条预订记录。
8. 购物车表购物车表用于存储用户的购物车信息,包括商品名称、商品数量、商品价格等字段。
此表的主键可以是购物车项的编号,用于唯一标识每个购物车项。
9. 员工信息表员工信息表用于存储公司员工的信息,包括员工姓名、职位、入职日期等字段。
此表的主键可以是员工的工号,用于唯一标识每个员工。
10. 聊天记录表聊天记录表用于存储用户之间的聊天记录,包括发送者ID、接收者ID、发送时间、消息内容等字段。
此表的主键可以是聊天记录的编号,用于唯一标识每条聊天记录。
数据库设计关于图书馆管理系统的设计(有完整代码,史上最全!)《数据库》课程设计(2008/2009学年第2学期第18-19 周)数据库课程设计任务书⼀、⽬的1.掌握计算机管理信息系统设计的⼀般⽅法,主要包括系统分析、系统设计的组织和实施。
2.关系型数据库管理系统的编程技术,并能独⽴完成⼀般⼩系统的程序设计、调试运⾏等⼯作。
3.培养把所学知识运⽤到具体对象,并能求出解决⽅案的能⼒。
⼆、任务(任选其⼀)A.运⽤关系型数据库管理系统,实现本院图书馆管理信息系统。
具体要求如下:—图书、资料的登记、注销和查询。
—借书证管理,包括申请、注销借书证,查询借书证持有⼈等。
—借还图书、资料的登记、超期处理,超期拒借等。
—图书、资料查询,借、还图书和资料情况查询。
—图书、资料借阅情况的统计分析,拒此作为图书馆图书、资料订够的依据之⼀。
(本项不作为基本要求)B.运⽤关系型数据库管理系统,实现服务电话管理系统向客户现场派技术⼈员的服务公司可以⽤服务电话管理系统跟踪客户、员⼯、⼯作订单、发票、付款等等。
要求:数据库要存储以下信息:—客户信息—客户⼯需单信息—完成⼯需单所需⼈⼯—完成⼯需单所需部件—部件信息—付款信息—雇员信息完成的功能:—输⼊/查看客户⼯需单信息—输⼊/查看部件、雇员等其它信息—付款—打印发票等三、结果形式1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语⾔及查询结果。
2.上机实现。
四、考核1.课程设计态度(20分)。
2.递交的书⾯材料(40分)。
3.上机运⾏情况(40分)⽬录1.问题描述 (2)1.1背景 (2)1.2数据需求 (2)1.3事物需求 (3)1.4关系模式 (3)2.⽅案图表设计 (3)2.1E-R图 (3)2.2数据流程图 (8)2.3数据字典 (9)2.4关系图: (11)3.数据库源代码 (12)3.1数据库建⽴ (12)3.2数据初始化 (14)4.结果数据处理 (17)4.1单表查询 (17)4.2超期处理 (19)4.3还书操作 (20)4.4借书操作 (22)4.5书籍状态 (24)4.6读者状态 (24)5.结束语 (26)5.1课程设计⼼得 (26)1.问题描述1.1背景随着图书馆规模的不断扩⼤,图书数量也相应的增加,有关图书的各种信息量也成倍增加,⾯对着庞⼤的信息量,传统的⼈⼯⽅式管理会导致图书馆管理上的混乱,⼈⼒与物⼒过多浪费,图书馆管理费⽤的增加,从⽽使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定⼀套合理、有效,规范和实⽤的图书管理系统,对图书资料进⾏集中统⼀的管理。
数据库课程设计--图书馆管理系统数据库系统概论课程设计设计题目:图书管理系统学院:计算机信息与科学学院专业:计算机科学与技术学号:20110514323姓名:刘静指导教师:潘林森目录1.引言 .................................. 错误!未定义书签。
2. 需求分析阶段......................... 错误!未定义书签。
2.1任务概述(目标)………………………………………..错误!未定义书签。
2.2数据需求:..................................3 概念设计阶段.......................... 错误!未定义书签。
3.1 任务与目标……………………………………….错误!未定义书签。
3.2 各阶段的结果…………………………………………3.3各E-R图中联系的属性4.逻辑设计阶段 (12)4.1逻辑设计的任务和目标 (12)4.2数据组织 (12)4.2.1将E-R图转换为关系模型 (12)4.2.2模型优化 ............................................. 错误!未定义书签。
4.3具体的基本E-R图向关系模型转化5.物理设计阶段 (15)5.1物理设计阶段的目标与任务 (15)5.2数据存储方面 (15)5.3系统功能模块 (16)5.3.1 读者基本信息的查询和更新模块 (16)5.3.2 图书基本信息的查询和更新模块 (16)6.数据库实施阶段 (17)6.1建立数据库、数据表、视图、索引 (17)6.1.1 建立数据库 (17)6.1.2 建立数据表 (17)6.1.3 建立视图 (21)6.1.4 建立索引 (23)6.1.5 建立触发器 (23)6.2数据入库............................................................. 错误!未定义书签。
图书借阅管理系统的设计1.需求分析图书信息、借阅证件信息及图书借阅管理是一件非常繁琐但又及其重要的工作,因此有必要开发一个数据库管理系统,用来管理这些信息。
这篇课程设计介绍的就是图书借阅信息管理系统。
系统的具体要求如下所述:(1)图书信息的录入:要求能够将图书信息录入到数据库中。
(2)图书信息的修改:根据需要,修改、删除图书信息。
(3)用户登陆:根据用户权限登陆此系统。
(4)系统用户管理:要求可以管理系统的用户,包括添加、修改和删除用户。
(5)借阅证件信息录入:可以输入不同类型的借阅者信息,并根据需要修改、删除借阅证件信息。
(6)借阅证管理:包括借阅证丢失、过期等管理。
(7)借阅管理:包括借书、还书、过期还书与书籍丢失处罚等管理。
2.数据库设计数据库设计主要在SQL Server服务器端建立数据库和数据表,并实现数据处理功能。
本文所设计的数据库中要记录读者的借书情况、图书被借阅的情况以及读者、图书的基本情况。
下面对图书借阅管理系统所需的数据结构进行分析并创建数据库。
2.1 概念结构设计现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。
由于这个系统并不复杂,因此可采用自顶向下的设计方法。
自顶向下设计的关键是确定系统的核心活动。
所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。
确定了核心活动之后,系统就有了可扩展的余地。
对于这个图书借阅管理系统,其核心活动是借阅,读者与图书之间是通过借阅发生联系的。
因此,此系统包含的实体有:(1) 读者:用于描述一名读者的基本信息,用借书卡编号来标识。
(2) 图书:用于描述一本图书的基本信息,用图书编号来标识。
经过初步分析,可以得到此系统中各实体所包含的基本属性如下:读者:借阅证编号、读者姓名、工作单位、身份证号、借阅证类型、办证日期、证件状态。
图书:图书编号、图书名称、图书分类、作者、出版社、图书价格、图书封面由于一名读者可以同时借阅多本图书,而一本图书一次只能借给一名读者,因此读者和图书之间是一对多的联系。
目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (1)2.3 设计环境 (2)2.4 开发语言 (2)3 分析和设计 (2)3.1 系统E-R模型 (5)3.2 表空间及表的设计 (6)3.3 视图设计 (14)3.4 存储过程、函数、包的设计 (15)3.5 触发器设计 (22)3.6 角色、用户、权限设计 (24)3.7 备份方案设计 (25)4 课程设计总结 (27)参考文献 (28)致谢 (28)1 前言一个简单的图书管理系统包括图书馆内书籍的信息、学校在校师生的信息以及师生的借阅信息。
此系统功能面向图书馆管理员,可以完成书籍和读者的增加、删除和修改,制定借阅规则,以及对读者借阅、续借、归还、预约的确认。
2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。
本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。
同时要求对数据库的运营、管理及使用上进行必要的规划和实现。
2.2 课程设计任务(1)图书信息:包括图书编号、图书名称、所属类别等;(2)读者信息:包括读者编码、姓名、性别、专业等;(3)借还书信息:包括图书当前状态、被借还次数、借阅时间等。
基本要求:(1)根据需求,补充必要的数据库实体,建立ER模型,通过ER图表示。
(2)在Oracle中创建该系统的数据库,并在数据库中实现各表,写入一定的数据。
(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。
(4)从数据检验的角度出发,为相关的表建立至少1个触发器。
(5)从数据更新或修改的角度出发,设计至少1个存储过程。
(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。
(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。
数据库系统原理课程设计——图书借阅管理系统数据库系统原理课程设计报告图书借阅管理系统第1章设计背景与需求分析1.1设计背景1.1.1 图书管理的现状图书馆作为⼀种资源的集散地,图书和⽤户在借阅资料繁多,包含很多的信息管理,现在有很多的图书馆都是初步的开始使⽤,甚⾄尚未使⽤计算机进⾏资源管理,没有建⽴相对应的图书管理数据系统,⽽是使⽤⼈⼯计算,抄写进⾏,数据处理⼯作量⼤,容易出错和数据丢失。
1.2.2 选题的⽬的、意义图书管理系统数据库有着⼿⼯管理⽆法⽐拟的优点,如检索迅速、查找⽅便、可靠性⾼、存储量⼤、保密性好,成本低等等。
这些优点能极⼤提⾼图书管理的效率,因此,开发⼀套能够为⽤户提供充⾜的信息和快捷的查询⼿段的图书管理系统是⼗分必要的。
1.2功能需求1.2.1读者信息的增加、修改、删除等基本操作1.读者类别信息的输⼊,包括图书类型、图书册数等2.读者档案信息的输⼊,包括读者编号、读者类型等1.2.2图书信息的增加、修改、删除等基本操作。
1.图书类别信息的输⼊,包括类别编号,类别名称等。
2.图书类别信息的查询,修改,包括类别编号,类别名称等。
3.图书档案信息的输⼊,包括图书编号,图书名称,图书类别,作者名称,出版社名称,出版⽇期,图书页数,关键词,登记⽇期,备注信息等。
1.2.3图书流通管理1.图书征订管理2.图书借阅管理3.图书归还管理4.图书罚款管理1.3系统开发环境1、系统:Windows XP,7,8,102、开发平台:SQL SERVER 2070, VISUAL BASIC6.01.4S Q L S E R V E R2017概述SQL SERVER2017是⼀个关系数据管理系统,是微软公司推出的新版本,该版本增加了许多先进的功能,具有⽅便使⽤,可伸缩性好与软件集成度⾼等的优点,可以运⾏在个⼈电脑到⼤型多处理器的服务器等多种平台使⽤。
第2章数据库概念结构设计2.1实体型结构2.2实体间的联系1.⼀个出版社对应多个图书,⼀个图书对应⼀个出版社,出版社和图书是⼀对多联系。
图书馆管理系统一.图书馆管理系统需求分析1、系统目标设计系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化.能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。
能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。
提供方便的查询方法。
如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。
提供对书籍进行的预先预订的功能。
提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改.能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
2、系统功能需求分析(1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等.(2) 书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3) 借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。
(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理满足以上需求的系统主要包含有一下几个子系统(1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。
(2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能.(3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。
(4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。
(5)帮助功能子系统。
二、系统动态建模1、用例图、图书馆管理系统的用例图从用例图中我们可以看出管理员和读者之间对本系统所具有的用例。
管理员所包含的用例有:(1)登录系统:管理员可以通过登录该系统进行各项功能的操作(2)书籍管理:包括对书籍的增删改等。
学号:课程设计题目图书借还书数据库设计学院计算机科学与技术学院专业班级姓名指导教师唐祖锴2013 年 1 月9 日图书借还书数据库设计1、图书馆借还书系统介绍图书馆作为一个机构或组织的文化服务场所,提供了许多的文献检索与图书借阅功能。
而如今大量的文献有人工进行管理已经很不现实了,所以需要一个有效的管理系统来进行图书管理。
在图书管理系统中重点是实现图书的新增、修改、删除、借阅、归还,以及读者的管理、管理员的管理。
要考虑各个实体之间的联系,设计出数据冗余最小、范式级别尽可能高的和健壮性强的图书管理系统。
2、需求分析说明书2.1数据库分析通过对本校图书馆的图书管理系统的功能分析和实际调查,所设计的数据库系统包括以下几个数据库信息:(1)管理员(adminstrator):工作号、密码、姓名、性别、电话、住址、备注(2)读者(reader):学号、姓名、性别、联系电话、邮箱、所在院系、生效时间、失效时间、密码(3)借还表(borrow):学号、条形码、借书日期、应还日期、续借次数、是否归还、归还日期、扣费、借阅次数(4)图书(book):条形码、索引号、书名、作者、出版社、出版日期、简介、入库日期、馆藏地址、是否在馆、借阅次数、续借次数2.2数据库功能分析各模块的功能取决于用户的身份,以管理员登陆具有以下功能:(1)增加新书(2)删除无用、过期图书(3)增加、修改读者信息(4)把图书借出给读者(5)删除过期用户(6)对图书逾期未换进行扣费以用户账号登录具有以下权限:(1)查看正在借阅的图书(2)查看已经借阅过的图书(3)具有一次续借权限所有用户有以下权限:(1)按不同条件查看图书信息(2)查看借阅量前10名的图书图书馆借阅的业务流程图见下:借阅过程:还书过程:续借过程:2.3数据字典数据项数据项名数据类型长度值域范围说明工作号字符型20 不为空密码字符型30 不为空姓名字符型12 不为空性别字符型 1 男或女联系电话字符型20住址字符型50备注ntext学号字符型20 不为空姓名字符型12 不为空性别字符型 1 男或女邮箱字符型30联系电话字符型20所在系字符型20 不为空生效时间时间型失效时间时间型数据结构数据流数据存储处理过程3、概念设计E-R图4、逻辑结构设计管理员(adminstrator):工作号、密码、姓名、性别、电话、住址、备注读者(reader):学号、姓名、性别、联系电话、邮箱、所在院系、生效时间、失效时间、密码借还表(borrow):学号、条形码、借书日期、应还日期、续借次数、是否归还、归还日期、扣费、借阅次数图书(book):条形码、索引号、书名、作者、出版社、出版日期、简介、入库日期、馆藏地址、是否在馆、借阅次数、续借次数说明:下划线为主键,黑体字为外键5、物理结构设计管理员:读者:图书:借阅:6、系统主要查询功能及SQL语句应用程序的界面及功能如下:开始界面:此界面是起始界面,没有用到任何数据源。
数据库课程设计实验报告摘要随着人类社会的不断进步,科学技术有了长足的发展,尤其是在当今中国知识经济时代,知识大爆炸带来了全球图书企业的飞速发展,这些书籍为科技的发展做出了巨大的贡献。
人类短短的几十年创造了大量的书籍资源,但是图书数量之多,也使得其管理起来非常的繁琐,随着信息时代的到来,图书的信息化管理使得问题得以解决,图书馆管理系统的出现就显得水到渠成了。
本系统主要上可以分为两大模块:图书馆管理员模块和读者登录模块,并在这两大模块下分成多个子模块。
图书的使用对象是借阅者,例如学生,教师,管理员;而管理者同时也是图书馆的管理者。
因此根据这些信息,本系统的主要功能就是:实现图书馆图书信息的管理和维护,如用户信息管理,管理员信息管理,图书浏览,书架管理信息,图书馆规则维护,新书入库,整理图书,修改图书信息和进行查询等;以及系统的图书信息查询,图书的借出和归还等功能图书信息管理系统能够为用户提供充足的信息和快捷的查询手段.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
目录:第一章:需求分析1,学生用户端2,教师用户端第二章:总体设计1,系统分析2,可行性分析3,系统目标4,系统功能设计5,构建开发环境第三章:数据库设计1,数据库分析2,项目E-R图3,数据库表的设计第四章:程序模块设计1,用户登录模块2,数据库操纵框架3,登录界面实现4,管理端界面的设计5,查询图书界面模块6,借阅预约图书功能模块7,归还挂失图书功能8,图书超期处理模块9,学生用户管理模块10,,管理员管理模块11,超级管理员功能开发第五章:主要模块界面第六章:程序源代码第七章:参考文献1,需求分析当决定要开发一个信息系统时,首先要对信息系统的需求进行分析,需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。
抽象出当前系统的逻辑模型。
在理解当前系统“怎么做”的基础上,抽取其“做什么”的本质,从而从当前系统的物理模型抽象出当前系统的逻辑模型。
目录1 前言 (2)2 需求概述 (2)2.1 读者登记处 (2)2.2 图书总管部门 (2)2.3图书借还处 (2)3 业务流程分析 (3)4概念结构设计 (4)4.1实体 (4)4.2图 (5)5逻辑结构设计 (6)5.1一般逻辑模型设计 (6)5.2具体逻辑模型设计 (6)6数据库保护设计 (7)6.1设计表间关系 (7)6.2 完整性设计 (8)7数据库应用系统的实现 (8)8结束语 (12)9 附注语言 (13)1 前言数据库技术和的飞速发展,使他们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。
对于拥有庞大人员的学校的管理来讲,数据的有效使用是一个学校能否进行有效管理的一个关键。
学校作为一个学习的地方,一定会有一个图书馆。
有图书馆就必定要有管理,这样学校图书管理系统就显得更为重要。
学校图书管理系统适应于绝大多数的学校图书馆的管理。
应用此系统可以将众多的学生信息和图书信息进行有效的管理,提高学校的效率。
2 需求概述2.1 读者登记处学生或教师需要通过办理图书证之后才能进行图书借阅。
图书证包括借书证号,姓名,读者类型,借书人单位等信息。
在读者登记处,需要把读者的有关信息添加到信息系统中保存,当读者信息发生改变时,需要对计算机里的内容进行相应的修改。
当读者办理退证手续时,需要删除相应的读者信息。
另外,生成超过期限未还书的读者信息表,通知读者应尽快还书等。
2.2 图书总管部门2.2.1图书管理部门负责书籍和出版社等的信息管理,具体如下:(1)图书信息管理。
完成图书的录入、修改、删除和查询功能。
在查询图书信息时,可随时查询书库中现有书籍的类型、书号、书名、作者、数量等信息。
所有书籍都可由书号唯一标识。
(2)为了方便业务往来,需保存出版社相关信息。
这些信息包括出版社编号、名称、电话、邮编、地址、联系人等。
2.3图书借还处2.3.1图书借还处负责图书的借阅和归还工作。
图书馆管理系统数据库分析与设计一、 需求分析用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能够充分满足各种信息的输入和输出。
在调查有关图书馆管理信息需求的基础上,我们主要考虑以下几方面的需求:1 图书馆读者需求2 图书馆管理人员需求3 数据的可靠性和数据的输入,查询的方便快捷性对图书馆管理信息系统分析后,我们将系统分为几个模块:借阅管理模块,读者信息管理模块,图书信息管理模块,系统管理模块。
其主要功能如下:1 借阅管理模块主要功能如下:⑴为读者办理,修改,注销借书证,输入读者借书证基本信息等,定制读者的借阅权限⑵通过借书证查询图书信息,借出图书信息,借阅图书借出的图书不能在当天归还。
每次借阅后读者最多可以续借一册图书一次。
⑶读者还书程序及管理人员的处理程序:对于超期的图书,图书管理系统将自动向读者电子邮箱中发一封电子邮件催还图书。
在本馆所借的文献资料,均应在规定的期限内按时归还。
逾期不还者,将分别按以下规定处理:中文图书借阅:每册每天罚款0.2元。
新书借阅和外文图书借阅:每册每天罚款0.5元。
在超期图书归还并缴清罚款之前,读者不可借阅图书;超期图书也不能续借。
2读者信息管理模块主要功能如下:⑴读者基本信息的输入,如:编号,姓名、性别、类型(学生、教师等)、单位、电子信箱等⑵读者信息的修改,注销等功能⑶添加新的读者及其信息等3图书信息管理模块主要功能如下:⑴制作书籍的各种信息管理,如:所属藏馆,新旧书,中外文分类,名称、作者、ISBN 号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号等⑵书籍信息的修改,新图书的入库管理和废弃图书信息的注销等4系统管理模块主要功能如下:⑴用户登陆⑵修改密码⑶添加,注销用户二、E-R图根据以上分析,我们先得出局部E-R图,然后得出整体E-R图:1 借书系统E-R 图图中各实体属性如下:读者:编号、姓名、层次(专科生、本科生、研究生)、性别、类型(学生、教师等)、单位、电子信箱借书证:借书证号、编号、姓名、借阅册数、借期、是否允许续借、续借期限 书本:图书编号、名称、作者、ISBN 号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号、中外新(中文书、外文书、新书)库存表:图书编号、所属藏馆借出信息:图书编号、借书证号、借书日期、归还日期读者办理借书证借查借出信息书本出库存表2 还书系统E-R 图:读者:编号、姓名、层次(专科生、本科生、研究生)、性别、类型(学生、教师等)、单位、电子信箱借书证:借书证号、编号、姓名、借阅册数、借期、是否允许续借、续借期限 书本:图书编号、名称、作者、ISBN 号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号、中外新(中文书、外文书、新书)库存表:图书编号、所属藏馆借出信息:图书编号、借书证号、借书日期、归还日期 管理员:管理员编号、管理员姓名、登陆密码读者办还借书证书本出库存表借出信息催管理员检超期罚款3整体图书管理系统E-R 图:读者:编号、姓名、层次(专科生、本科生、研究生)、性别、类型(学生、教师等)、单位、电子信箱借书证:借书证号、编号、姓名、借阅册数、借期、是否允许续借、续借期限 书本:图书编号、名称、作者、ISBN 号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号、中外新(中文书、外文书、新书)库存表:图书编号、所属藏馆借出信息:图书编号、借书证号、借书日期、归还日期 管理员:管理员编号、管理员姓名、登陆密码读者办借书证借书本出催检库存表借出信息管理员查超期罚款不可当天借还三、数据字典属性名 数据类型 域 约束 编号 字符型 2201110001-2201110900姓名 字符型层次 字符型性别 字符型类型 字符型单位 字符型电子信箱 字符型借书证号 字符型 020*******-0201000900借阅册数 数值型借期 数值型是否允许续借 字符型 是或否 续借期限 字符型名称 字符型作者 字符型ISBN号 字符型出版地 字符型出版社 字符型出版时间 日期型字数 数值型单价 数值型内容简介 字符型所属分类号 字符型中外新 字符型图书编号 字符型 A01-B84所属藏馆 字符型借书日期 日期型归还日期 日期型管理员编号 字符型管理员姓名 字符型登陆密码 字符型。
数据库设计实例分析
一、需求分析实例
现要开发高校图书管理系统。经过可行性分析和初步的需求调查,确
定了系统的功能边界,该系统应能完成下面的功能:
(1)读者注册。
(2)读者借书。
(3)读者还书。
(4)图书查询。
1、数据流图
顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加
工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,
再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解
为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理
系统的第0层数据流图
从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询
这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构
建这些处理的第1层数据流图。下面的图8-7分别给出了借书、还书、查询子功能的第1
层数据流图
2、数据字典
数据项
数据项名称:借书证号
别名:卡号
含义说明:惟一标识一个借书证
类型:字符型
长度:20
……
数据结构
(1)名称:读者类别
含义说明:定义了一个读者类别的有关信息
组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额
(2)名称:读者
含义说明:定义了一个读者的有关信息
组成结构:姓名+性别+所在部门+读者类型
(3)名称:图书
含义说明:定义了一本图书的有关信息
组成结构:图书编号+图书名称+作者+出版社+价格
……
数据流
(1)数据流名称:借书单
含义:读者借书时填写的单据
来源:读者
去向:审核借书
数据流量:250份/天
组成:借书证编号+借阅日期+图书编号
(2)数据流名称:还书单
含义:读者还书时填写的单据
来源:读者
去向:审核还书
数据流量:250份/天
组成:借书证编号+还书日期+图书编号
……
数据存储
(1)数据存储名称:图书信息表
含义说明:存放图书有关信息
组成结构:图书+库存数量
说明:数量用来说明图书在仓库中的存放数
(2)数据存储名称:读者信息表
含义说明:存放读者的注册信息
组成结构:读者+卡号+卡状态+办卡日期
说明:卡状态是指借书证当前被锁定还是正常使用
(3)数据存储名称:借书记录
含义说明:存放读者的借书、还书信息
组成结构:卡号+书号+借书日期+还书日期
说明:要求能立即查询并修改
……
处理过程
(1)处理过程名称:审核借书证
输入:借书证
输出:认定合格的借书证
加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表
中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的
借书证。
……
二、概念结构设计实例
1.标识图书管理系统中的实体和属性
参照数据字典中对数据存储的描述,可初步确定三个实体的属性为:
读者:{卡号,姓名,性别,部门,类别、办卡日期,卡状态}
读者类别:{类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额}
图书:{书号,书名,作者,价格,出版社,库存数量}
借还记录:{卡号,书名,借书日期,还书日期}
其中有下划线的属性为实体的码。
2.确定实体间的联系
三、逻辑结构设计实例
1、图书管理系统的关系模型
将在概念结构阶段得到的基本E-R图转换成关系模型,如下表所示:
关系名 属性及码 其他约束条件
读者 借书证号,姓名,性别,部门,类别代码,办证日期,借书证状态 1、 类别代码引用读
者类别关系中的类别
代码;
2、 姓名不允许为空;
3、 类别代码不允许
为空
读者类别 类别代码,类别名称,可借阅数量,可借阅天数,超期罚款额 类别名称不允为空
图书 书号,书名,作者,价格,出版社,库存数量 1、 书名不允许为空;
2、 库存数量不允许
为空
借还 借书证号,书号,借书日期,还书日期 1、 借书证号引用读
者关系中的借书证号;
2、 书号引用图书关
系中的书号
2、将关系设计成SQL Server 2005下相应的表
reader(读者表)
字段名 字段含义 字段类型 长度 小数 是否为空 列级约束
CardID 借书证号(卡号) Char 20 NOT NULL Primarykey
Name 姓名 Char 16 NOT NULL
Sex 性别 Bit NULL
Dept 部门 Char 30 NULL
ClassID 类别代码 Int NOT NULL Foreign key
references
dzclass(ClassID)
Bzdate 办证日期 datetime NULL
Cardstate 借书证状态(卡状态) bit NULL
表级约束
dzclass(读者类别表)
字段名 字段含义 字段类型 长度 小数 是否为空 列级约束
ClassID 类别代码 Int NOT NULL Primarykey
ClassName 类别名称 Char 16 NOT NULL
PermitDay 可借阅天数 Int NULL
PermitQty 可借阅数量 Int NULL
Penalty 超期罚款额 Money NULL
表级约束
book(图书表)
字段名 字段含义 字段类型 长度 小数 是否为空 列级约束
BookID 书号 Char 20 NOT NULL Primarykey
BookName 书名 varchar 20 NOT NULL
Editer 作者 Varchar 8 NULL
Price 价格 Money NULL
Publisher 出版社 Varchar 20 NULL
Qty 库存数量 Int NOT NULL
表级约束
borrow(借还表)
字段名 字段含义 字段类型 长度 小数 是否为空 列级约束
CardID 借书证号 Char 20 NOT NULL Foreign key
references
reader(CardID)
BookID 书号 char 20 NOT NULL Foreign key
references
book(BookID)
Bdate 借书日期 Datetime NOT NULL
Sdate 还书日期 Datetime NULL
表级约束 Primarykey(CardID,BookID,Bdate)