基于MYSQL图书管理系统数据库设计
题目:基于MYSQL图书管理系统数据库设计 目录 1.题目概述 3 2.需求分析 3 2.1功能需求 3 2.2数据需求 4 2.3 数据安全与约束 4 2.4 数据流图 5 3.概要设计 6 3.1 实体及联系 6 3.2 ER图 6 4.逻辑结构设计 9 4.1 数据库模型 9 4.2 数据库模型函数依赖集 10 5.程序设计 12 5.1图书管理系统的功能模块 12 5.2主要模块的功能描述 12 5.3数据库源代码 13 5.3.1数据库表设计 13 5.3.2数据初始化 15 5.3.3单表查询 17 5.3.4借书操作 18 5.3.5超期处理 20 5.3.6还书操作 21 5.3.7书籍状态 23 5.3.8读者状态 24 6.运行环境描述 26 6.1选择语言 26 6.1.1 SQL语言的特点 26 6.1.2 SQL功能与特性 26 6.1.3 UML语言的特点 27 6.2选择数据库 27 7.参考文献 28 1.题目概述 在对该校的图书馆进行调研时发现,图书馆内的部分工作采用的还是手工操作,管理起来效率低下,对师生对图书的需求意图了解不够充分,不能及时的查询各类图书的存储状况等;图书的动态调整缓慢,不利于满足师生对图书的借阅需求。手工操作存在大量的弊端,例如一些人为因素,手动操作经常造成图书数据的遗漏和误报等。
学校图书馆为了提高管理和借阅效率,决定采用计算机管理,经与图书馆管理人员交谈,得知: (1)
学校师生必须在图书馆先办理借阅证,然后方可借阅图书资料。
(2)
图书馆对书籍原来有一套卡片登记制度,现在需要将其查询功能移植入计算机(当然相应地也必须建立图书登记、报废等记录)。
(3)
借阅图书从原来的手工填写借阅单据改为计算机登记借阅。
(4)
提供挂失、预约、综合查询等新功能以方便读者。
(5)
为了图书馆管理的需要,提供一定的统计功能。
2.需求分析 2.1功能需求 (1)图书管理 1. 新书入库:对新购进的图书进行必要的登记。
2.图书资料修改:对图书的数量,分类,流通/馆藏等资料进行修改。
3.图书查询提供多种查询,定位图书的方法。可以通过图书编号、类别、书名、作者、出版社、出版日期等信息查询。
(2)读者管理 1.增加新读者:为新读者办理借书证。读者要区分教师和学生。教师和学生可以借阅的图书的种类和数量不同。
2.读者资料修改:除能对个别读者的信息进行修改外,还能对读者信息进行批量修改。对借书证进行挂失、取消挂失、证件注销等处理。当读者有未还图书时,不允许注销。
3.读者资料查询:提供多种方法对读者信息,以及该读者的借阅信息进行查询。
(3)借阅管理 1.借书:根据书号借书。每本书有一定的借阅期限,每位读者借阅的数量不能超过允许的数量。图书借阅必须进行必要的登记,并通知读者还书的日期等相关事宜。若因为某种原因不能借出,要说明理由。如图书是馆藏或已借完等。
2.还书:对超期、损坏的图书应进行罚款处理。
3.挂失:对丢失图书视不同书籍进行不同数量的罚款。
4.预约:根据书号对已借完的图书进行预约。对预约的读者的证号、联系电话、地址、Email等信息进行登记。当预约图书被其他读者还回时要作记录,以便通知管理员通知预约读者。
5.续借:对续借次数要有限制。对已预约的图书不允许续借。
(4)综合查询 综合查询主要面向读者。普通读者能采用多种方式对图书的当前库存数量、图书内容等信息进行查询。也能根据借书证号对自己的借阅情况进行查询。
(5)统计 1.对不同种类图书的数量,库存等信息进行统计 2.对每种图书在一定时期的借阅次数,预约次数等信息进行统计。
3.对不同读者的借阅情况进行统计 2.2数据需求 (1)图书基本数据 1.银行标识:不超过10个汉字 2.帐号:18位数字,同一银行之下的帐号必须唯一 3.编号 4.ISBN号 5.书名:不超过30个汉字 6.文种 7.作者:因为可以有不止一个作者,规定一个作者的姓名长度不超过5个汉字,且为了查询方便,不能把多个作者放在同一个属性中。
8.出版社:不超过20个汉字 9.出版日期 10.价格 11.主题词1 12.主题词2 13.主题词3 14.流通册数 15.馆藏册数等 (2)读者基本数据 1.证号:不超过10位数字 2.姓名:不超过5个汉字 3.单位:不超过20个汉字 4.职务:不超过3个汉字或者用职务编号代替 5.卡数等 2.3 数据安全与约束 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;
系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
数据是在外部互联网络以及图书馆内部局域网中进行流动和存储的,要保证其在这一过程中的安全稳定。对于图书馆数据安全来说,就是要防止数据在传输和使用的过程中被非法复制、更改、删除和使用等。为了达到这一目的,就需要开发相应的信息管理技术和建立相应的图书馆数据信息管理系统。通过保障图书馆软件系统和硬件系统的安全稳定运行,使得图书馆数据服务系统可以持续工作,不因内部数据错误和外界人为或环境的干扰而出现中断,达到保护数据安全的最终目标。
2.4 数据流图 (1)图书借阅的业务流程图:
图2-1系统的数据流程图 3.概要设计 3.1 实体及联系 (1)书籍类别(种类编号,种类名称)
(2)读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)
(3)书籍(书籍编号,书籍名称,书籍类别,书籍作者,出版社名称,出版日期,登记日期,是否被借出)
(4)借阅(借书证编号,书籍编号,读者借书时间)
(5)还书(借书证编号,书籍编号,读者还书时间)
(6)罚款(借书证编号,读者姓名,书籍编号,书籍名称,罚款金额,借阅时间)
3.2 ER图 根据功能需求,可以建立实体之间的关系,进而实现逻辑结构功能。图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
(1)书籍类别实体E-R图:
图3-1书籍类别实体E-R图 (2)读者信息实体E-R图:
图3-2 读者信息实体E-R图 (3)书籍信息实体E-R图:
图3-3书籍信息实体E-R图 (4)借阅记录信息实体E-R图:
图3-4借阅记录信息实体E-R图 (5)归还记录信息实体E-R图:
图3-5归还记录信息实体E-R图 (6)罚款信息实体E-R图:
图3-6罚款信息实体E-R图 (7)总的信息实体E-R图:
图3-7总的信息实体E-R图 4.逻辑结构设计 4.1 数据库模型 数据字典:
表4-1 book_style 书籍类别信息表 表中列名 数据类型 可否为空 说明 bookstyleno varchar Not null(主键) 种类编号 bookstyle Varchar Not null 种类名称 表4-2 system_readers读者信息表 表中列名 数据类型 可否为空 说明 readerid Varchar Not null(主键) 读者借书证号 readername Varchar Not null 读者姓名 readersex Varchar Not null 读者性别 readertype Varchar Null 读者种类 regdate Datetime Null 登记日期 表4-3 system_book书籍信息表 表中列名 数据类型 可否为空 说明 bookid Varchar Not null(主键) 书籍编号 bookname Varchar Not null 书籍名称 bookstyle Varchar Not null 书籍类别 bookauthor Varchar Not null 书籍作者 bookpub Varchar Null 出版社名称 bookpubdate Datetime Null 出版日期 bookindate Datetime Null 收录日期 isborrowed Varchar Not Null 是否被借出 表4-4 borrow_record 借阅记录信息表 表中列名 数据类型 可否为空 说明 readerid Varchar Not null(外主键) 读者借阅证编号 bookid Varchar Not null(外主键) 书籍编号 borrowdate Varchar Not null 读者借书时间 表4-5 return_record 归还记录信息表 表中列名 数据类型 可否为空 说明 readername Varchar Not null(外主键) 读者借阅证编号 readerid Varchar Not null(外主键) 书籍编号 returndate Datetime Not null 读者还书时间 表4-6 reader_fee 罚款记录信息表 readerid Varchar Not null 读者借书证编号 readername Varchar Not null 读者姓名 bookid Varchar Not null(外主键) 书籍编号 bookname Varchar Not null 书籍名称 bookfee Varchar Not Null 罚款金额 borrowdate Datetime Not Null 借阅时间 4.2 数据库模型函数依赖集 (1)
书籍类别关系中种类编号为主键,其中函数依赖有:种类编号→种类名称。 因为书籍类别关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。 (2)书籍关系中书籍编号为主键,其中函数依赖有:书籍编号→书籍名称,书籍编号→书籍类别,书籍编号→书籍作者,书籍编号→出版社名称,书籍编号→出版日期,书籍编号→登记日期。 因为书籍关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。 (3)读者关系中读者借书证号为主键,其中函数依赖有:读者借书证号→读者姓名,读者借书证号→读者性别,读者借书证号→读者种类,读者借书证号→登记日期。 因为读者关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。 (4)借阅关系中(借书证编号,书籍编号)为主键,其中函数依赖有:(借书证编号,书籍编号)→读者借书时间。
因为借阅关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。
(5)
还书关系中(借书证编号,书籍编号)为主键,其中函数依赖有:(借书证编号,书籍编号)→读者还书时间。 因为还书关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。
(6)
罚款关系中书籍编号为主键,其中函数依赖有:书籍编号→借书证编号,书籍编号→读者姓名,书籍编号→书籍名称,书籍编号→罚款金额,书籍编号→借阅时间。 因为罚款关系中不存在非主属性对码的部分函数依赖和传递函数依赖关系,所以客户关系是属于3NF。
5.程序设计 5.1图书管理系统的功能模块 图5-1图书管理系统的功能模块 5.2主要模块的功能描述 本系统分为4个模块。包括用户管理模块,图书管理模块,借阅管理模块,和信息查询模块。
(1)用户管理模块 用户管理模块的功能主要包括用户信息(管理员用户、师生用户)的新增、修 改、删除、查询等功能。
1.新增用户借书证 面对学校每年大量的新入学新生,需提供快捷的、完善的用户增加功能。图书管理员用户的注册,为新进员工分配图书管理员账号,主要由系统管理员负责。
2.注销用户借书证 主要是在学生毕业时或职工离职时,可单个或批量删除用户信息,确保图书管理系统安全性。
3.修改用户信息 在图书馆的日常工作中难免发生问题或差错,会产生错误的用户信息,修改功能通过账号查找用户信息,并对用户估息的可修改项进行修改。
4.查询功能 通过用户管理模块,拥有查询权限的管理员可以查询用户及管理员的用户信 息,一般提供通过账号、姓名、借出图书所有者等信息进行查询,返回用户信息, 方便图书管理系统的统一管理。
(2)图书信息管理模块 图书信息管理模块主要包括图书信息录入、图书信息修改、图书信息删除、图书信息查询等功能。
1.图书信息录入 对新进图书进行图书信息的录入,单本图书录入一般由图书管理员负责,图书管理员录入图书基本信息,系统将根据图书的基本信息为图书分配一个唯一的编号,并实时更新数据库,方便用户查询。
2.图书信息修改 图书信息修改通过输入的图书名称、图书编号等基本信息中的一项或多项进行图书信息的查看,并修改该图书信息,这一个功能一般由图书管理员操作。
3.图书信息删除 图书删除功能通过录入图书名称、图书编号等基本信息中的一项或多项进行图书信息的查看,进而删除该图书信息,一般由拥有删除权限的图书管理员操作。
(3)借阅信息管理模块 借阅信息管理模块包括图书借阅、图书归还、超期罚款等功能。
1.图书借阅 图书借阅需审核用户信息及图书信,审核通过将修改系统数据库中图书信息以及用户信息。审核不通过将返问错误信息给用户。
2.图书归还 图书归还时,图书管理员将检查图书是否有破损,以及是否违反图书馆管理规则,例如图书过期等。审核完成后修改数据库中图书信息以及用户信息,完成图书归还工作。
3.超期罚款 用户在借阅过程中,如出现超期现象,将产生超期罚款,超期罚款缴纳前用户 图书证处于锁定状态,不容许继续借阅图书,直到用户解锁后,即用户交完罚款后,实时更新数据库。
(4)信息査询模块 信息查询模块主要为师生用户提供借阅信息查询功能,用户通过登录查询网站,录入用户学号,返回查询结果中包括借阅图书基本信息、借阅时间,归还时间,是否超期等信息。
5.3数据库源代码 5.3.1数据库表设计 (1)创建书本类别表 create table book_style ( bookstyleno varchar(30) primary key, bookstyle varchar(30) ) (2)创建书库表 create table system_books ( bookid varchar(20) primary key, bookname varchar(30) Not null, bookstyleno varchar(30) Not null, bookauthor varchar(30), bookpub varchar(30) , bookpubdate datetime, bookindate datetime , isborrowed varchar (2) , foreign key (bookstyleno) references book_style (bookstyleno), ) (3)创建借书证表 create table system_readers ( readerid varchar(9)primary key, readername varchar(9)not null , readersex varchar(2) not null, readertype varchar(10), regdate datetime ) (4)创建借书记录表 create table borrow_record ( bookid varchar(20) primary key, readerid varchar(9), borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid), ) (5)创建还书记录表 create table return_record ( bookid varchar(20) primary key, readerid varchar(9), returndate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) ) (6)创建罚款单表 create table reader_fee ( readerid varchar(9)not null, readername varchar(9)not null , bookid varchar(20) primary key, bookname varchar(30) Not null, bookfee varchar(30) , borrowdate datetime, foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) ) 5.3.2数据初始化 (1)初始化书籍类别表book_style insert into book_style(bookstyleno,bookstyle)values('1','哲学宗教') insert into book_style(bookstyleno,bookstyle)values('2','文学艺术') insert into book_style(bookstyleno,bookstyle)values('3','历史地理') insert into book_style(bookstyleno,bookstyle)values('4','数理科学') insert into book_style(bookstyleno,bookstyle)values('5','生物科学') insert into book_style(bookstyleno,bookstyle)values('6','交通运输') insert into book_style(bookstyleno,bookstyle)values('7','政治法律') (2)将已有的图书加入system_books表中 insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed ) values('20161112001','中国易学','1','刘正','中央编译出版社','2015-05-10','2015-10-25','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed ) values('20161112002','初妆张爱玲','2','陶舒天','新华出版社','2014-01-10','2015-05-26','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values('20161112003','明成祖传','3','晁中辰','人民出版社','2014-08-10','2015-05-27','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub,bookpubdate, bookindate, isborrowed ) values('20161112004','高等数学','4','李东','重庆大学出版社','2014-08-10','2015-05-28','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values('20161112005','转基因解析','5','杨青平','河南人民出版社','2014-01-10','2015-05-29','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values('20161112006','铁路选线设计','6','易思蓉','重庆大学出版社','2014-01-10','2015-05-30','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values('20161112007','民事诉讼实务教程','7','秦涛','华东理工大学出版社','2014-09-10','2015-05-31','1'); insert into system_books(bookid ,bookname, bookstyleno,bookauthor,bookpub, bookpubdate,bookindate, isborrowed ) values('20161112008','一楣月下窗','2','程然','四川人民出版社','2014-09-10','2015-05-30','1'); (3)将已有图书证的读者加入system_readers表中 insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20151101','姬彦雪','女','学生','2015-01-01 12:20'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20151102','郝永宸','男','学生','2015-01-02 13:15'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20151103','于新磊','男','学生','2015-01-03 13:33'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20151104','殷娜梅','女','学生','2015-01-04 12:01'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20151105','宋天鸣','男','学生','2015-01-05 15:23'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20111217','石逸轩','男','教师','2015-01-06 18:50'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20111202','孟灵丽','女','教师','2015-01-07 18:25'); insert into system_readers(readerid,readername,readersex,readertype,regdate) values('M0001','陈慧','女','管理','2015-01-10 16:20'); (4)添加已借书读者的记录,同时将在已借出的借阅标记置0 insert into borrow_record(bookid,readerid,borrowdate) values('20161112005','20151104','2015-07-11 12:20'); update system_books set isborrowed=0 where bookid='20161112005' and isborrowed='1'; insert into borrow_record(bookid,readerid,borrowdate) values('20161112008','20151101','2015-07-01 13:15'); update system_books set isborrowed=0 where bookid='20161112008' and isborrowed='1'; insert into borrow_record(bookid,readerid,borrowdate) values('20161112002','20151102','2015-07-03 13:33'); update system_books set isborrowed=0 where bookid='20161112002' and isborrowed='1'; insert into borrow_record(bookid,readerid,borrowdate) values('20161112004','20111217','2015-07-11 12:01'); update system_books set isborrowed=0 where bookid='20161112004' and isborrowed='1'; 5.3.3单表查询 (1)书籍类别表查询演示: 查询语句:select * from book_style 图5-2 表book_style中内容 (2)表书库表查询演示: 查询语句:select * from system_books 图5-3 表system_books中内容 (3)将已有图书证的读者加入读者表结果查询: 查询语句:select * from system_readers 图5-4 表system_readers中内容 (4)借书纪录表结果查询: 查询语句:select * from borrow_record 图5-4 表borrow_record中内容 5.3.4借书操作 (1)查询未被借出的书本:
查询语句:
select bookid 书籍编号,bookname 书籍名称 from system_books where isborrowed='1' 图5-5 未被借出的书本查询结果 (2)查询已被借出的书本:
查询语句:
select bookid 书籍编号,bookname 书籍名称 from system_books where isborrowed='0' 图5-6 已被借出的书本查询结果 (3)新增用户借书证:
Insert into system_readers(readerid,readername,readersex,readertype,regdate) values('20151106','马悦','女','学生',now()) 查询语句:
select * from system_readers where readerid='20151106' 图5-7 新增用户借书证查询结果 (4)注销用户借书证:
注销之前执行所有的还书过程,马悦借书证纪录就被删除了,同时要删除马悦归还纪录的内容。
delete from system_readers where readerid='20151106'; delete from return_record where readerid='20151106'; 确认马悦是否被删除 查询语句:
select * from system_readers where readerid='20151106' 图5-8 注销用户借书证查询结果 5.3.5超期处理 (1)现在对已有借书证的读者进行查询借书是否超期 查询语句(这里规定30天):
select system_readers.readerid 读者借书证编号,readername 读者姓名, system_books.bookid 书籍编号,bookname 书名,borrowdate 借书时间, datediff(now(),borrowdate)-30 from borrow_record ,system_readers,system_books where system_readers.readerid=borrow_record.readerid and system_books.bookid=borrow_record.bookid and datediff(now(),borrowdate)>=30 图5-9 借出超过30天的读者 (2)对超过天数的读者进行罚款,加入到罚款单里面,一天以0.1元扣除计算: insert into reader_fee(readerid,readername,bookid,bookname,bookfee,borrowdate); select * from reader_fee 图5-10 罚款单查询结果 5.3.6还书操作 (1)首先还书要在还书纪录中添加一条还书纪录 insert into return_record(bookid,readerid,returndate) select bookid,readerid,’2015-12-10’ from borrow_record where bookid='20161112004' 查询语句:
select * from return_record 图5-11 增加了20161112004纪录 (2)其次删除相应书本的借阅纪录 delete from borrow_record where bookid='20161112004' 查询语句:
select * from borrow_record 图5-12 删除20161112004记录 (3)最后在书库中标记该本书为1,表示归还了未借,可供其他读者借阅 update system_books set isborrowed=1 where bookid='20161112004' 查询语句:
select bookid 书籍编号,bookname 书籍名称,isborrowed 是否借出 from system_books where bookid='20161112004' 图5-13 标记设为'1' 5.3.7书籍状态 (1)查询所有书所对应的类别 查询语句:
select distinct bookname 书籍名称,bookstyle 书籍类别 from book_style,system_books where book_style.bookstyleno=system_books.bookstyleno 图5-14 书籍对应类别查询结果 (2)查询所有文学艺术类的书: 查询语句:
select distinct bookname 书籍名称,bookstyle 书籍类别 from book_style,system_books where book_style.bookstyleno=system_books.bookstyleno and system_books.bookstyleno='2' 图5-15 所有文学艺术类的书查询结果 (3)查询重庆大学出版社出版的书:
查询语句:
select distinct bookname 书籍名称,bookpub from book_style,system_books where bookpub='重庆大学出版社' 图5-16 所有重庆大学出版社的书查询结果 5.3.8读者状态 (1)查询什么人借了什么书 查询语句:
select readername 读者姓名,bookname 书籍名称 from borrow_record,system_books,system_readers where system_readers.readerid=borrow_record.readerid and system_books.bookid=borrow_record.bookid 图5-17 查询结果 (2)指定查询郝永宸借了什么书 查询语句:
select readername 读者姓名,bookname 书籍名称 from borrow_record,system_books,system_readers where system_readers.readerid=borrow_record.readerid and system_books.bookid=borrow_record.bookid and readername='郝永宸' 图5-18 查询结果 6.运行环境描述 6.1选择语言 本系统设计中用到了SQL语言和UML建模语言。
6.1.1 SQL语言的特点 (1)高度非过程化 应用SQL语言实现数据库编程,用户无需指明“如何完成”,只需告诉编程者需要完成的任务对象,极大地降低了用户的工作强度,提高了数据独立性。SQL是以集合的方式集中处理批记录,无须对单个记录进行操作或处理。SQL语句可以打包为一个集合作为数据库的输入,返回集合作为输出。该特性使得SQL的输出可作为另一条SQL语句的输入,该性质使用户可集中精力于所需要的结果。
(2)集成一致性 SQL语言集中了DDL(数据定义)、DML(数据操作)、DQL(数据查询)、DCL(数据控制)等数据库常用功能模块,有相对稳定的编程风格。SQL语言的功能贯穿数据库生命周期中不同阶段的任何内容,具体而言,有关系模式的界定、数据添加、新建数据库、数据查找、信息刷新、数据库维护以及数据库重构、数据库安全性保障等所有操作要求。SQL适用性强,适用于多种不同类型的数据库用户,包括终端用户、系统管理员、事务处理员、作业工作员等。SQL系统所提供的命令,既包含查找数据,又包含添加、修改和删除记录,添加、修改和删除数据对象,还包括数据及其对象的存取控制,保证数据库统一性和标准性。
(3)应用方式多样性 交互式使用方式:用户在联机交互式的环境下使用SQL语言,每输入一条命令,敲回车后系统就执行一条命令,并显示执行结果。这就是所谓的交互式的使用方式;
程序式使用方式:SQL语言不但可以嵌入到其他高级语言中(如C,FORTRAN等),也可以独立地组成一段SQL批处理程序,以应用程序的方式来提交给系统一并执行。
(4)语言功能强 SQL语言是介于关系代数和关系演算之间的语言,同时吸取了这两类语言的特点和长处。它有着丰富的语言功能,包括:数据定义功能;
数据查询功能;
数据操纵功能;
数据控制功能。基本的SQL命令易学易会易掌握,与以往DBMS专为某项操作提供单独语言相比,SQL将全部任务集成于单一语言,成为关系型数据库的通用语言。SQL语言是一种用户很容易掌握的语言,用户性能非常好,这也是它受到广大用户喜爱的原因之一。
6.1.2 SQL功能与特性 通过使用SQL命令,能够实现以下功能与特性:
(1)建立数据库表;
(2)变换数据库的变量及其他设置;
(3)在特定的数据层级中用户被授予相应的存取权限;
(4)对数据库表建立索引值;
(5)修改数据库表结构(新建、删除或是修改表字段);
(6)能够实现信息的添加;
(7)能够实现信息的删除;
(8)能够实现信息的变更;
(9)能够实现信息的查找。
6.1.3 UML语言的特点 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。
UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的公用机制。UML有3种基本的构造块:事物、关系和图。事物是对模型中最具有代表性的成分的抽象,包括结构事物,如类(Class)、接口(Interface)、协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node);
行为事物,如交互(Interaction)、态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。关系用来把事物结合在一起,包括依赖、关联、泛化和实现关系。UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。
6.2选择数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是用来存储一些结构化的、无危害的或不必要的冗余的数据的集合,并为之提供各种应用及服务。它产生的历史可以追溯到50年前,随着IT和市场的发展,特别是在20世纪90年代,数据库管理不仅体现在各种用户管理所需的数据存储和管理上,而且转化成各种数据管理的方式。数据库具有多种类型,从简单存储不同的数据表到能进行海量数据存储的大型数据系统,已被广泛使用。目前使用最广泛的是面向对象的数据库模型。数据库软件产品有很多种,比如DB2、MYSQL、Oracle、INFORMIX、Sybase、SQL Server、PostgreSQL、Access等数据库。Oracle数据库是数据库领域中的领先者,是世界上最流行的数据库平台之一,并且能很好的紧密结合网络技术。但是价格非常昂贵,不适用于本系统。微软公司的MS-SQL和Microsoft Windows操作系统能够完美兼容,符合大多数用户的使用习惯,功能强大,但是购买其软件仍然是不小的开销。
MYSQL数据库是一个小型关系型数据库管理系统,已被广泛应用于因特网上中小型企业。由于其体积小,速度快,总体拥有成本低,尤其是开放源码的特点,被很多中小型企业采用。MYSQL数据库特点是,具有可扩展性和可移植性,优越的稳定性、灵活性和强大的数据保护功能,可以支持大型数据库。最关键的,MYSQL数据库是一个用户可以直接从网上下载的完全免费的产品。所以,经过多方面的比较和考虑,本系统的数据库选用了MYSQL数据库。它不但能完全满足我校图书管理系统的需要,而且使用成本低,减小学校资金压力。
7. 参考文献 [1] 关雪仑. 高校图书管理系统的分析与设计[D]. 北京邮电大学 2012 [2] 宫昌利. 图书管理系统的设计与实现[D]. 山东大学 2009 [3] 李胤葵. 浅析图书馆数据安全管理[J]. 才智. 2010(21) [4] 吴德萍. 图书馆管理系统设计与开发[D]. 电子科技大学 2007 [5] 朱瑞. 图书馆管理信息系统的设计与实现[D]. 华东师范大学 2010 [6] 魏松,贺丹娜. 基于MYSQL的学生信息管理系统数据库设计[J]. 计算机光盘软 件与应用. 2012(14) [7] 崔娅萍,杨靖新. 利用 MySql 实现学生信息管理系统的后台数据管理[J].赤峰 学院学报:自然科学版,2012,8:39-40 [8] 应吉康,黄凛,汪华. 图书馆系统数据库设计研究[J].上海华东师范大学学报 (自然科学版),1994:4 北jing邮电大学
推荐访问:
上一篇:学校通风换气制度
下一篇:2021推广部工作总结