




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
班级 学号 毕业论文(设计) 题 目 图书管理系统 姓 名 xxx 系 部 XXX 专业 XXX 指 导 教 师 XXX 职称 助教 日期 XXX 图书管理系统周聪【摘 要】 本系统采用快速的BDE链接数据库开发,使用流行的面向对象开发语言,实现了程序对数据库的访问,并对数据库的一般操作,包括添加修改和删除。通过实地调查,本系统基本满足用户的需要。系统采用大型企业常用的Oracle作为数据库,采用快速开发语言Delphi实现图书管理的基本功能。本系统是学校管理的一部分,所以数据库的设计从整个学校的角度出发,创建了用户表,权限表和程序管控表,以及图书表等等。本文详细介绍了系统的功能及实现方法,并对其客观评价,说明存在的缺点及今后需要改进的地方。 【关键词】 图书管理系统 Delphi面向 Oracle开发 1. 系统分析1.1主要功能模块的分析系统设置有权限管控,有权限的用户的操作记录都会记录到数据库当中,DBA拥有最高管理员权限,但是没有一般管理员的权限,以保障信息的安全。 本程序用户可以自己查询自己的操作记录。1.2登陆窗体设计使用DBA密码打开程序,添加一般管理员。DBA密码设置有密码修改功能,一般用户可以进行一般操作,包括用户的密码操作和图书管理的一般操作。一般的用户,第一次登陆要修改密码,密码和用户名一样,这是程序上限制的,修改好之后密码会有一个90天的有效期。1.3主窗体设计主窗体可以借阅图书,归还图书,图书与学生的查询,修改和删除操作。还可以按照条件对图书和学生进行查询以及相关操作。1.4其他窗体的设计 用户可以修改密码,用户的密码在过期之后会强制更改密码,密码的有效期限不变。这一块是系统写死的。DBA没有对图书管理的一般操作。添加用户操作,删除用户操作是DBA的特权。2. 和程序设计语言的介绍2.1 Oracle数据库及系统表的创建 Oracle环境下面建立了sfis98数据库,表格空间的是用USER01用户建立的,命名为BOOK.dbf。而我连接数据库的用户名和密码是sfis1/sfis1,这时候该怎么办呢;用Oracle的好处就在于我们可以将表格空间的权限赋给除USER01之外的其他用户,具体操作如下。在sys用户下面为USER01建立表格空间BOOK.dbf;a. Create tablespace USER01Datafile d:/oracle/oradate/sfis98/BOOK.dbfb. 表格空间的权限赋给sfis1用户;以上的操作都是在sys/sfis1 as sysdba下进行的。 下面介绍几张表的创建:a. 图书表,图书的编号、出版社、作者等信息都放在这个表里面,因为图书表的信息量非常大所以给图书编号字段加上唯一索引,对于新书入库book_user一栏是空的,只有借出时会将图书管理员的用户名添加到里面。b. 学生表,除了学生的基本信息外,增加了限制借书数量,借书限制天数,和学生种类三个字段。这些信息是图书管理员创建学生记录时写进数据库的,如后续有变动可以修改。c. 学生与图书表,只有学生编号和图书编号两个字段,当借书时会将学号和图书编号对应添加到表中,归还时删掉记录。d. 权限控制表,包含了所有使用数据库的用户名、密码、程序名称以过期时间,当添加用户、删除用户和修改密码时都是对此表的操作。e. 用户表,在整个学校系统中用户都是在一个表里面,当赋权给用户是程序会模糊查询用户,知道确定为止。f. 程序控制表,包含了程序的版本,可用性和程序名称;当版本升级时旧版本无法使用,已确保信息的及时与准确。当程序可用性字段元改成N时,程序停止使用,就会有更好的程序来替代它。以上的表都是创建在BOOK.dbf表格空间下面,初始大小是64K随数据量的增大,我们会将数据扩展到其它的表格空间。连结Oracle使用的是BDE驱动程序,所以只要装上Oracle的客户端和BDE再链接正确的地址,其它计算机就可以用程序访问sfis98数据库。2.2 Delphi开发语言的介绍Delphi是一个快速开发语言,语句比较简单,容易上手。Delphi使用的是Borland公司的BDE链接数据库,其效果相当于ADO,BDE优于ADO的地方在于BDE可以来回切换数据库,配置BDE时不需要任何代码,只需要选择客户端的类型和需要切换的数据库即可。Delphi是快速开发语言的代表,真正的程序员用C;聪明的程序员用Delphi。它的控件不一定都是Borland公司制作的,当我们对程序空间不满意时,可以自己创建控件。Delphi在生成程序时会经过编译的过程,在编译时系统会对不符合语法规范的地方予以提示,并精确到行,解释其具体错误;在程序设计过程中经常会遇到if else语句的嵌套,不注意是就会将其写错,在Delphi中当输入if时,按住ctrl加j组合键会出现语句模板供选择 ,当定义一个函数或者过程时组合键ctrl+shift+c可自动显示函数和过程的模板,除此之外还有说明,显示注释等功能。3. 系统主要功能模块3.1系统功能模块划分示意图连续输错3此,取消登陆图书管理学生管理归还图书借阅图书一般用户修改密码DBA添加删除用户。 用户选项借阅管理学生查询图书查询用户名密码错误退出再次输入主功能界面图书管理系统用户名密码正确用户名密码正确3.2表及其索引的创建创建表:CREATE TABLE SFIS1.C_book_T (book_id int,Book_no VARCHAR2(20),book_name VARCHAR2(30),book_author varchar2(30),book_concern varchar2(30),book_flag int,book_user int,book_time date)Alter table SFIS1.C_book_T add book_price varchar2(10)Alter table SFIS1.C_book_T add book_address varchar2(20)Alter table SFIS1.C_book_T add book_lei varchar2(20)创建索引:CREATE UNIQUE INDEX sfis1.c_book_t ON sfis1.c_book_t (book_id) 表的创建可以在链接Oracle的工具上进行创建的其它表就不一一列出。3.3主要的功能模块介绍3.3.1系统模块。这个模块是看不见的,只有异常情况时才能看见。程序没有登记到数据库中、序已经被停用、序的版本升级,据库异常时系统会报错,并提示相关的解决人员,这个模块的主要作用是管理链接到数据库的程序,对数据库宕机起到监视的作用。3.3.2登陆模块。这个模块是进入程序的入口,只有经过授权的用户才能进入。当密码错误、密码过期、用户没有申请权限,系统都会报错。修改密码时,当原密码错误,新密码长度小于7位,两次输入的密码不一致,都会有系统报错。在这个模块中如果系统没有dba密码,系统会自动创建dba密码,dba拥有添加删除用户的权限。3.3.3系统主接口。这是整个系统的主要模块,对图书管理的所有动作都是从这里开始,可以看到的是图书管理,图书查询和学生查询模块;可以直接点击按钮,也可以点击下拉菜单。3.3.4图书管理模块这是系统对数据库操作最多的模块,当输入学号时会跳出学生信息,并在下面的表中显示该学生所借的所有图书,当输入书号时学生信息中已借书就会增加1,同时下面的列裱中就会增加刚输入图书的所有信息。如果学生信息,图书信息不符合条件会有相应的系统报错。还书模块,和借书模块相反,每还一本书,学生信息已借书就会减1,同时列表也就少一本书。3.3.5图书管理模块这个模块的主要作用是对图书的添加删除和修改,当天数据有变动的图书会在下面的列裱中显示,书号在表中作为唯一索引不能重复;一个输入框有模糊查询的功能,查询的是系统里的所有图书,这个功能只能用书号来查,如果没有书号可以再图书查询中查询,这个模块在下面会讲到,为防止吴操作,在删除和修改图书时系统会提示是否进行该操作。在这个模块中,并不所有书的信息都是可以修改和添加的,有的是系统带出来的,比如新书入库的日期,图书的被借状态等等。3.3.6学生管理模块在这个模块中,学生信息可以被修改,删除,添加。学生的借书数量,借书期限,学生类型都可以修改,这一部份程序没有写死,就是为了满足不同人群的需要。3.3.7图书查询模块在这个模块中,可以按照不同的条件进行查询,提供的条件越多,查询得越具体,查询完毕之后如果有信息不对,可以记下书号到图书管理模块修改信息,其中查询已到期的书,可以选择按时间查询。查询已归还或未归还数目只要选中单选按钮即可。3.3.8学生查询模块和图书查询模块一样,学生也可与按照不同条件进行查询,查询后可以到学生管理模块进行修改。4. 程序的测试模块4.1系统控制模块在这个模块中程序没有登记到数据库中、序已经被停用、序的版本升级,据库异常时系统会报错,并提示相关的解决人员。4.2系统用户注册模块当密码错误、密码过期、用户没有申请权限,系统都会报错。修改密码时,当原密码错误,新密码长度小于7位,两次输入的密码不一致,系统都会报错。4.3主模块,通往各个模块的入口。4.3.1这个模块主要是操作点击图书管理4.3.2借书模块输入用户ID后,回车在右边会出现学生在系统里面的信息,在图书ID中输入书号书就已经借给该同学,图书的信息更新,图书的状态有0变为1,图书的借出日期是当前日期,图书的借出人员是右上角出现的管理员,管理员ID是在登录之后就已经显示在上面了。当超过数量后会有提示,操作停止4.3. 3还书模块和借阅图书流程相同,在还书后书的数量少1,同时列表少一条记录4.3.4图书管理模块,主要是对书信息的修改,删除和添加查询到图书后点击一条记录,记录里面的部份信息会显示在相应的字段,修改后点击修改即可完成。添加记录时只要将信息填写完整即可添加,删除时只要选中要删除的图书即可删除。当信息不完整或书号重复时或有相应的报错4.3.4学生管理模块添加,删除,修改用户都是在这个模块中,同样的当ID重复或信息不完整都会有相应的额报错4.3.5图书查询模块,可以按不同的条件查询,但条件越具体查询余额精确5. 结论在该系统的制作过程中会学到很多东西,当然也会遇到很多困难,该程序基本满足一般图书馆的需求。改程序操作简单易懂,在一般图书馆都配备条形码枪,所以输入时非常方便,对借书还书只需要刷入条形码即可,不需要手动输入任何数据,大大减轻了管理员的工作,当学生信息异常或其他信息时会有相应的报错和提示。程序中配有查询功能,对于图书信息不完整的用户可以模糊查询,减少了人力的浪费,该系统在使用之前需要在数据库中登记,如果程序占用数据库的资源很大,DBA通知程序开发人员经程序进行优化。程序的版本控制看似可有可无,其实有一定的作用,在程序升级时为及时将程序给用户使用又要防止用户使用旧版本,所以用版本控制来防止此类情况的发生。该程序设置的数据库的表格空间是100M,真正的图书馆是远远不够的,所以当程序交给用户时要告诉DBA多大的空间比较适合。另外本系统还存在一些缺点,当大批量新书入库时不可能是一个个的输入系统。同样的,当新生入学时,也不会是一个个输进去的。这时候就有两种方法,对图书可以批量导入。学生的话,可以将程序给同学自己登记。用户登录时的密码可以记录到数据库里面,DBA只需要查询一下就可以知道,为了安全,还应该增加加密算法在里面。该系统只是图书管理的日常用途故没有对其它方面进行开发,除此之外改程序还不能满足高级图书馆的管理需求,在以后的学习中会慢慢的改善,在此设计中发现了程序开发和数据库开发的技巧,最重要的是同学之间的相互讨论和研究。参考文献1王海亮.精通oracle 10g系统管理M.中国水利水电出版社2王沛.百例课堂 Delphi7 编程入门篇M.机械工业出版社3张晓林.Oracle DBA 数据库系统管理与应用M.清华大学出版社4滕永昌.Oracle数据库系统管理M.机械工业出版社5马晓玉.Oracle数据库管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电缆电气知识培训内容课件
- 电磁铁课件教学课件
- 高级会计师培训课件
- 高空护栏安全知识培训课件
- 《刘胡兰》课件 统编版二年级语文上册
- 电焊机保养与维护
- TDHL-d10-Tergurid-d-sub-10-sub-生命科学试剂-MCE
- R-DS86760016-生命科学试剂-MCE
- 高温施工中暑培训课件
- 电焊工初级知识培训课件
- 化工机械法兰连接课件
- 2025年事业单位工勤技能-河南-河南农业技术员一级(高级技师)历年参考题库含答案解析(5卷套题【单选100题】)
- 2025年不动产登记业务知识试题及答案(司法考试资料)
- (新教材)2025年秋期人教版二年级上册数学核心素养教案(第2单元)(教学反思有内容+二次备课版)
- 心理学基础(第2版) 课件 第7章 学习
- 2023年普通高等学校招生全国统一考试(全国乙卷)文综历史试题附答案
- (高清版)DB34∕T 5154-2025 基于云制造的工业互联网架构要求
- 党校中青班入学考试试题及答案
- 三支一扶培训
- 医疗卫生机构安全生产标准化管理规范
- 心内科出科汇报
评论
0/150
提交评论