分类: 电脑/网络
解析:
各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解datamodule4adoquery2sqladd('SELECT借书证号,密码FROM[user]WHERE(借书证号=:tt)');
datamodule4adoquery2parameters[0]value:=username;
datamodule4adoquery2open;
在为TQuery或TADOquery部件设置SQL属性时调用Close方法总是很安全的,如果TQuery或TADOquery部件已经被关闭了,调用Close方法时不会产生任何影响。在应用程序中为SQL属性设置新的SQL命令语句时,必须要调用Clear方法以清除SQL属性中现存的SQL命令语句,如果不调用Clear方法,便调用Add方法向SQL属性中设置SQL命令语句,那么新设置的SQL命令语句会追加在现存SQL命令语句后面,在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。
在这里要特别注意的,一般情况下TQuery或TADOquery部件的SQL属性只能包含一条完整的SQL语句,它不允许被设置成多条SQL语句。当然有些数据库服务器也支持在TQuery或TADOquery部件的SQL属性中设置多条SQL语句,只要数据库服务器允许这样,我们在编程时可以为SQL属性设置多条SQL语句。
在为TQuery或TADOquery部件设置完SQL属性的属性值之后,也即编写好适当的SQL程序之后,可以有多种方式来执行SQL程序。
在设计过程中,设置完TQuery或TADOquery部件的SQL属性之后将其Active属性的值置为True,这样便可以执行SQL属性中的SQL程序,如果应用中有与TQuery或TADOquery部件相连的数据浏览部件(如TDDGridTDBEdit等)那么在这些数据浏览部件中会显示SQL程序的执行结果。
在应用程序运行过程中,通过程序调用TQuery或TADOquery组件的Open方法或ExecSQL方法可以执行其SQL属性中的SQL程序。Open方法和ExecSQL方法是不一样的。Open方法只能用来执行SQL语言的查询语句(Select命令),并返回一个查询结果集,而ExecSQL方法还可以用来执行其它常用的SQL语句(如INSERT,UPDATE,DELETE等命令),例如:
Query1Open(这样会返回一个查询结果集)
如果调用Open方法,而没有查询结果时,会出错。此时应该调用ExecSQL方法来代替Open方法。如:
Query1ExecSQL(没有返回结果)
当然在设计应用程序时,程序设计人员是无法确定TQuery或TADOquery组件中的SQL语句是否会返回一个查询结果的。对于这种情况应当用Try…Except模块来设计程序。在Try部分调用Open方法,而在Except部分调用ExceSQL方法,这样才能保证程序的正确运行。
例如:
Try
Query1Open
Except
Query1ExecSQL
End
通过Tquery或TADOquery组件可以获得两种类型的数据:
u“活动”的数据
这种数据就跟通过TTable部件获得的数据一样,用户可以通过数据浏览部件来编辑修改这些数据,并且当调用Post方法或当焦点离开当前的数据浏览部件时,用户对数据的修改自动地被写回到数据库中。
u非活动的数据(只读数据)
用户通过数据浏览部件是不能修改其中的数据。在缺省情况下,通过TQuery部件获得的查询结果数据是只读数据,要想获得“活动”的数据,在应用程序中必须要设置Tquery或TADOquery组件的RequestLive属性值为True,然而并不是在任何情况下(通过设置RequestLive的属值True)都可以获得“活动”的数据的,要想获得“活动”的数据,除了将TQuery部件的RequestLive属性设置为True外,相应的SQL命令还要满足以下条件。
本地SQL语句查询情况下,要得到可更新的数据集,SQL语句的限制为:
n查询只能涉及到一个单独的表
nSQL语句中不能包含ORDERBY命令
nSQL语句中不能含聚集运算符SUM或AVG
n在Select后的字段列表中不能有计算字段
n在Select语句WHERE部分只能包含字段值与常量的比较运算,这些比较运算符是:Like,>,<,>=,<=。各比较运算之间可以有并和交运算:AND和OR
当通过SQL语句查询数据库服务器中的数据库表:
n查询只能涉及到一个单独的表
nSQL语句中不能包含ORDERBY命令
nSQL语句中不能含聚集运算符SUM或AVG运算
另外,如果是查询Sybase数据库中的表,那么被查询的表中只能有一个索引。
如果在应用程序中要求TQuery或TADOquery组件返回一个“活动”的查询结果数据集,但是SQL命令语句不满足上述约束条件时,对于本地数据库的SQL查询,BDE只能返回只读的数据集。对于数据库服务器中的SQL查询,只能返回错误的代码。当Tquery或TADOquery组件返回一个“活动”的查询结果数据集时,它的CanModIfy属性的值会被设置成True。
§34MSSQLServer简述
SQLServer是一个后台数据库管理系统,它功能强大 *** 作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQLServer的接口。SQLServer是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。于1988年推出了第一个OS/2版本,在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本,该版本继承了SQLServer70版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。MSSQLServer不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQLServer数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQLServer的数据库处理方式,则是使用面向对象的 *** 作方式与精神,也就是说,SQLServer的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。
SQLServer企业管理器是SQLServer的主要管理工具,它提供了一个遵从MMC标准的用户界面,使用户得以:
·定义SQLServer实例组。
·将个别服务器注册到组中。
·为每个已注册的服务器配置所有SQLServer选项。
·在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限。
·在每个已注册的服务器上定义并执行所有SQLServer管理任务。
·通过唤醒调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本。
·唤醒调用为SQLServer定义的各种向导。
·
第三章图书管理系统设计分析
§41应用需求分析
图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行 *** 作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。
图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。
图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。并且还应具有生成催还图书报表,并打印输出的功能。
在本系统中由于没有打印机设备供试验,所以预先把报表打印改成报表预览。
设计不同用户的 *** 作权限和登陆方法
对所有用户开放的图书查询
借阅者维护借阅者个人部分信息
借阅者查看个人借阅情况信息
维护借阅者个人密码
根据借阅情况对数据库进行 *** 作并生成报表
根据还书情况对数据库进行 *** 作并生成报表
查询及统计各种信息
维护图书信息
维护工作人员和管理员信息
维护借阅者信息
处理信息的完整性
对借阅过期的图书生成报表
图4-2图书管理系统数据库应用需求的总结
根据以上所做的需求分析,并略掉一些细节(如不考虑用户的登录;对记录的维护),得出以下的三层数据流图。
§42系统功能模块划分
系统功能框图如图4-10所示。
§43系统数据库设计
431概念设计
在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。
利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
(1)设计局部ER模式
实体和属性的定义:
图书(图书编号,图书名称,作者,出版社,出版日期,备注,价格,数量,)
借阅者(借书证号,姓名,性别,身份z,联系电话,密码)
身份(身份编号,身份描述,最大借阅数)
图书类别(图书类别编号,类别描述)
ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。联系定义如图4-5所示。解释如下:
u一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有;
u一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;
u一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。
(2)设计全局ER模式
所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。
1)确定公共实体类型
为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候眩
2)局部ER模式的合并
合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
3)消除冲突
冲突分为三类:属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
3)全局ER模式的优化
在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
综上所述,“图书管理系统”的全局ER模式如图4-13所示。
432关系数据库的逻辑设计
由于概念设计的结果是ER图,DBMS一般采用关系型(本人所使用的MSSQLServer就是关系型的DBMS),因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。
(1)导出初始关系模式
book(图书编号#,图书名称,图书类别#,作者,出版社,出版日期,备注,价格,数量)class(图书类别#,类别名)user(借书证号#,姓名,性别,身份编号#,身份z,联系电话,密码)ID(身份编号#,身份描述,最大借阅数)Owner(借书证号#,图书编号#,借书日期)
图4-14关系模式集
(2)产生子模式
子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。
借书子模式(借书证号#,姓名,图书编号#,图书名称,借书日期)
图4-15部分子模式
(3)根据设计中出现的问题本人在写系统时还加入了两个关系模式:
1、ownertemp:用于工作人员在处理借书、还书工作时临时存储借书、还书信息,以便打印报表时使用。
2、keyer:用于存储工作人员和图书馆管理员的用户名和密码及权限,以便工作人员或图书馆管理员进入相应的功能模块时进行验证用户的身份。
433数据库的实现
我选用MicrosoftSQLServer2000(企业版)数据库来进行数据库的逻辑设计。首先创建七个基本数据库表如表4-1-4-7所示,然后根据全局ER图,建立各个表之间的联系,如图4-8所示。
表4-1借阅者基本信息表的结构(User)
表4-2图书信息表的结构(Book)
表4-3图书类别信息表的结构(Class)
表4-4借阅者身份信息表的结构(ID)
表4-5借阅情况信息表的结构(Owner)
表4-6借阅情况临时存储信息表的结构(Ownertemp)
注:在owner表和ownertemp表中加入了索引字段,用来唯一标识一条借书记录,并且设置为标识,标识种子为1。
表4-7工作人员和管理员信息表的结构(Keyer)
图4-8数据库表间联系图
第五章图书管理系统应用程序设计
§51系统窗体模块组成
§52数据模块窗体的设置
在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工件,而且要保证这些数据源的确是相同的也需花一番功夫。那么,能不能将这些数据源集中管理,最好是做成一个统一的模块,需要时就将该模块引入而不必直接 *** 作数据源本身呢?数据模块(DataModule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可被需要的地方随时引入。
但本人在开发这个系统时,开始使用了一下数据模块,但在使用过程中却碰到了一些问题。并且考虑这个系统使用到的TADOQuery控件比较多,如果使用数据控件可能会带来管理上的麻烦,如弄混各个数据控件的作用。还考虑到使用动态生成ADOQuery可能会更节省资源。所以在本人的系统中,开始做的第一个模块“借阅者个人模块”中还稍微使用了一下数据模块。但在后面做的两个模块中大多都是用动态生成ADOQuery来实现的。并且由于SQL语句是动态加入的所以datamodule中的控件也不会多。
§53启动画面的实现
启动画面是为了给用户一个良好的印像,加深软件的亲和力,没有实际的功能,在Form1窗体中加入了Image和Time组件。启动画面的窗体略,主要的源代码如下:
§54用户登录窗体的的实现
本窗体是为三种不同的用户(一般用户,工作人员,管理员)提供选择以进入不同的模块,满足不同用户的需求。源代码比较简单,略。
§55用户密码认证窗体的的实现
本窗体是为了让工作人员或图书馆管理员按照用户名和密码进行登录,并且跟据用户名检查Keyer表中的“权限”字段,以分辩进入图书馆管理人员模块还是进入工作人员模块。窗体界面、源代码如下
§56借阅者服务模块的实现
借阅者服务窗体的功能主要是图书的查询,个人借阅情况查看及个人部分信息的修改。界面图如下:
561图书查询功能的实现
在本系统中,任何人都有权限使用查询功能,不做任何限制。界面如下,
由于实现的查询功能有多种,如按图书编号、图书名称等字段进行完全体配查找和部分体配的模糊查找,还有按多个条件进行逻辑与或是逻辑或的多条件查找。其中实现的方法者差不多,所以只给出多条件查找的代码,如下:
562借阅者登录功能的实现
这个功能的实现与工作人员和管理人员登录功能实现的方法大致一样,并且还要简单。是从User表中查到到借阅证号与密码,看与用户输入的是否一致。如果一致,那么用户就可查看自已的借阅情况并维护自己的部分信息。源代码与借阅者登录界面都略。
563借阅者借阅情况功能的实现
当借阅者正确登录到系统后,此功能将被激活,使用户能查看到自身的借阅情况。在此系统中,信息的显示一般用ListView来实现,只在较少的情况下用到了DBgrid,因为我觉得ListView更好实现,并能使信息数据对用户的完全分离。
在这里跟据借阅者的不同要求实现借阅情况的查询,有检查所有的借阅情部、某本书的借阅情况、和根据已借阅天数的来查询。其中根椐借阅天数来查询更有代表性,有方式一和方式二。以下给出此功能的源代码
按借阅天数查询方式一
按借阅天数查询方式二
564借阅者个人资料维护功能的实现
此功能实现当前借阅者部份资料的修改,但借书证号和身份类别这样的信息不允许修改,这是图书馆管理员模块的功能。在此界面中点击修改按钮将出现“修改”窗体(Form8),点击修改密码按钮将出现groupbox8,在这里进行密码修改。关键源代码如下。
这里给出个人部分信息修改的源代码:
这里给出密码修改的源代码:
57工作人员-图书借阅/归还模块的实现
571工作人员进行图书借阅功能实现
在这个功能中,工作人员输入借阅者的借阅证号和所要借阅的图书的图书编号,然后点击借阅按钮就可进行图书借阅。考虑到实际中可能会出现只知图书名而不知图书编号的情况,在此界面下方加入了一个转换功能,可以把图书名称转换成图书编号,再进行图书借阅。
在借阅完成后会生借阅报表以便借阅者检查和确认,借阅报表的打印效果如下图,实现比较简单,略去实现过程。
572工作人员进行图书归还功能实现
在此功能中,工作人员根据借阅者的借书证号和归还的图书编号进行图书的归还工作。并且根据现实中可能会出现的只知图书名不知图书编号的归还情况,所以加入了按书籍名称进行归还的功能。这个功能是图书借阅功能中把图书名称转换成图书编号的一种改进方法,这样就不用如借阅功能中一样要先转换再借阅了。归还完成后,同样会打印出归还报表以便用户检查和确认。
58图书馆管理员模块的实现
581图书馆管理员图书管理功能的实现
在这个功能中可以在(*图书编号)中输入图书编号,点查找按钮后就会在各个相应的组件中显示出信息,或按图书名称模糊查找到所要的记录,在各个相应的组件中显示第一条记录的信息,也可在下端的ListView组件中点击某一条记录,在各个相应的组件中也会显示所选记录的信息。在入库功能中只要不是相同的图书编号并且带*号提示的字段不为空就可插入新的图书记录。删除则删除那些Book表中的图书记录,如果借出还可依用户要求连带删除owner表中的记录。因为图书修改与图书入库的功能与工作人员记录修改和工作人员记录添加的实现过程一样,所以下面仅给出删除功能的源代码,如下
582图书馆管理员工作人员和管理员管理功能的实现
在此功能中可以加入工作人员或是管理员,或是修改他们的密码、权限。
在此功能中如果选中ListView中的记录,则在右边相应的组件中显示出信息,并且管理员还可对这些记录进行修改或加入新的记录。并且也可以点删除按钮删除选中的一条或多条记录。删除功能与图书记录的删除一般,所以下面只给出添加与修改的实现过程。
583图书馆管理员修改图书类别及统记功能的实现
在此窗体中能对图书的类别进行删除,添加和修改,这模块的功能的实现过程与图书记录的删除,添加和修改一样的,但是这个窗体还能跟据图书类别进行统计,还可根据Book表和owner表统计出图书总数目,库存图书数目,借出图书数目及借阅过期的图书数目。在这里给出统计图书总数目,库存图书数目,借出图书数目及借阅过期的图书数目的实现过程中的几个函数和过程
584图书馆管理员借阅者管理功能的实现
查询借阅者可根据借阅者的借书证号或姓名或身份编号查找到借阅者的信息,也可以实行模糊查找,这个功能的实现与前面图书查找的实现过程一般,就不再详细说明。
585图书馆维护借阅者管理功能的实现
此功能能对借阅者信息进行查看添加、删除、修改。在这里给出刷新按钮的实现过程
586图书馆身份维护功能的实现
这一部分是对借阅者身份进行管理,能对身份进行添加、删除、修改。并且同样的在listview中选中某条或多条记录时会在相应的右边的组件中显示出信息。此功能实现过程与前面所叙有雷同,略。
587图书馆借阅者统计功能的实现
此功能按借阅者身份进行统计,得出具有某种身份的借阅者总数,此种身份的并借阅图书的借阅者数和所借阅的图书数,在下面给出实现过程。
588图书馆统计借阅过期记录功能的实现
打印出的借阅过期催还报表如下图所示:
此报表能显示按借书证号升序排列的借阅信息超过限定时限的信息,其中主要的SQL语句如下:
59系统信息显示的实现
显过本系统的信息,并且右边的字向上滚动显示,主要实现如下:
①建立Access数据库
先新建一个数据库(access):建立Microsoft Access->命名为Text->否->打开->设计(添加学生所需信息)->表保存命名为lm(information)->否
②进行ADO配置
“开始” -> “程序” -> “Borland Delphi 7” ->“File” ->“Open Project” ->“Project1” -> Ctrl+F12选择“Main” ,按F12后出现MainForm窗体:
1)在程序主窗体MainForm上放置一个 “ADOConnection1”在Properties里LoginPrompt的属性设为false;ConnectionString ->Use ConnectionString 点Build” ->“Microsoft Jet 40 OLE DB Provider”后点“下一步”,选择创建的Access 2003 数据库的路径->“测试连接”出现成功后点“确定”->ok;Connected属性设为True;
2)在主窗体上放一个“ADOTable1”属性Connection->ADOConnection1,属性TableName->lm,属性Active->T(简称阀门);
3) 在主窗体上放DataSource1->DataSet->ADOTable1;4)在主窗体上放一个-DBGrid1-->DataSource->DataSource1;
①splashForm在工程文件(dpr)中核心代码
SplashForm := TSplashFormCreate(Application); //启动屏创建
ApplicationCreateForm(TMainForm, MainForm); //创建主窗体
ApplicationCreateForm(TLoginForm, LoginForm); //创建用户验证窗体
SplashFormClose; //关闭启动屏窗体
SplashFormFree; //释放启动屏窗体所占的内存
②loginForm核心代码
LoginFormModalResult := mrOK; //确定按钮,可以进入主界面
LoginFormModalResult := mrCancel; //取消按钮
③mainForm 核心代码
1) 在Onshow中的核心代码:
LoginFormShowModal;
if LoginFormModalResult = mrCancel then
ApplicationTerminate //(登陆界面进入主界面的过程中只要用户名密码都对时,登陆界面自动消失)
2) 在录入按钮的核心代码:
ADOQuery1SQLClear;
ADOQuery1SQLAdd('Insert Into lm(num, name, sex,
shijian,class,zhuzhi,link,gs,yy,jsj)');
ADOQuery1SQLAdd('Values (:snum,:sname,:ssex,:sshijian,
:sclass,:szhuzhi,:slink,:sgs,:syy,:sjsj)');
ADOQuery1ParametersParamByName('sNum')Value := Edit1Text;
(输入学生的基本信息跟各科成绩后,点“录入”,便可在DBGrid1中添加所输入的信息)。
3) 在修改按钮的核心代码:
ADOQuery1SQLClear;
ADOQuery1SQLAdd(‘Update lm');
ADOQuery1SQLAdd(‘set num=:snum, name=:sname sex=:ssex,shijian=:sshijian,class=:sclass,zhuzhi=:szhuzhi,link=:slink,gs=:sgs; yy=:syy,jsj=:sjsj');
ADOQuery1SQLAdd(‘ Where Num = :sNum2');
ADOQuery1ParametersParamByName(‘snum')Value := Edit11Text;
(在“输入要修改的学号”处输入某学号,再重新输入该基本信息与各科成绩,点击即可)。
4) 在删除按钮的核心代码:
ADOQuery1SQLClear;
ADOQuery1SQLAdd(‘Delete From lm Where num = :snum');
ADOQuery1ParametersParamByName(‘snum')Value := Edit1Text;
ADOQuery1ExecSQL;
showmessage(‘ok'); //d出对话框,提示 *** 作成功
(输入学号,即可删除该学号的全部信息)。
5) 在查询按钮的核心代码:
ADOQuery2Close;
ADOQuery2SQLClear;
ADOQuery2SQLAdd(‘Select From lm Where num = :snum');
ADOQuery2ParametersParamByName(‘snum')Value :=Edit1Text;
ADOQuery2Open
(通过输入学号,点击“查询”按钮后即可查询该学号对应的信息)。
6) 刷新核心代码:
ADOTable1Close ;
ADOTable1Open; //对录入,修改,删除,查询的 *** 作数据进行刷新。
21世纪,人类社会正面临知识经济和信息社会的急剧变革,世界各个角落的人们都强烈地感受到新时代的冲击与震撼。下面是我为大家整理的图书馆管理系统设计论文,供大家参考。
图书馆管理系统设计论文篇一图书管理系统设计
图书馆管理系统设计论文摘要
摘要本文介绍了利用ASP+Access编写图书管理系统的实现主要步骤与部分技术代码。
图书馆管理系统设计论文内容
关键字ASP;Access
随着计算机 网络技术 的普及和发展,现已逐渐进入信息化社会。人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发基于网络平台的图书管理信息系统已经成为图书管理部门的必要因此,我按照图书管理部门的需要,采用ASP+Acces实现了此图书管理系统。
一、ASP+Access
ASP是Active Server Page的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和 其它 程序进行交互,是一种简单、方便的编程工具。
Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。
由于Access存储方式简单,易于维护管理、移植性好,所以本系统采用ASP做为编程工具、Access做数据库来开发
二、系统模块
此系统共分为八大模块,包括图书简介、 规章制度 、图书录入、归还图书、图书查询、新购图书、未归图书、系统维护。名模块的功能如下:
一图书简介:把图书进行分类和定义索书号,以方便查询。
二规章制度:主要介绍图书管理的订购、借阅、归还等制度。
三图书录入:对新购图书按书名、作者、分类、编号等图书信息进行录入。
四图书归还:此模块是图书管理员对归还的图书,按照图书编号进行入库管理。
五图书查询:按图书信息一些主要字段对数据库进行查询并显示。
六新购图书:查询某一时间段以后所购买的图书并显示。
七未归图书:显示未归的图书,并分页显示。
八系统维护:对数据库进行备份和恢复。
三、设计数据库
此图书管理系统数据库里主要有以下几个表:
User:用来存储图书管理员的用户名和密码。字段为user、pwd。
Menu:存储程序主页面的菜单名称和链接地址。字段为ID、父菜单ID、位置、URl、字体颜色、菜单项。
Bookinfo:用来存储图书的各种信息。字段为书名、作者、图书分类、图书编号、索书号、出版社、版期版次、购入日期、价格、排架号、是否借阅、借阅日期、应归还日期、借阅科室、借阅人、备注。
Dept:用来存储科室名称。字段为dept。
四、程序设计
一登录模块及Session的使用
由于此系统有些功能是不允许普通用户使用的,如图书录入、图书归
还等模块,所以本系统采用以管理员登录的方式,来判断是何种用户使用本系统,如果是普通用户,点击“以普通用户登录”,就可以使用本系统,但图书录入、归还图书和系统维护等模块不能使用。
由于有些功能模块不允许普通用户使用,故在登录模块程序语句定义一个Session:Session("UserAcc") = Trim(rs("User"))。 Session在计算机中,尤其是在网络应用中,称为“会话”,用于保持状态的基于 Web 服务器的 方法 。Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。因此,在限制普通用户使用并用If判断Session("UserAcc")是否为空即可。
二表单验证
在图书录入模块中,需要填写图书的各种信息,在提交表单时如果某
些信息为空,IE就会显示出错,因此,在提交表单之前对表单进行验证,JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证,只需编写一个函数就可以实现。函数如下
function checkinput() {
if (frmbooknamevalue=='') {
alert('请输入书名');
frmbooknamefocus();
return false;
}
}
在提交按钮代码中加入OnSubmit="Return checkinput()"就可以完成对表单的验证了。
三数据库连接
对于Access数据库,一个文件就是一个数据库,所以可以利用数据驱动程序直接访问数据,这种方法需要利用动态连接字符串建立一个连接,具体连接字符如下:
Dim conn, connstr,db
db="/data/tushumdb"
connstr="Provider=MicrosoftJetOLEDB40;DataSource="&ServerMapPath(db)
Set conn=Createobject("ADODBConnection")
connOpen connstr
这样就可连接数据了,再用SQL语句就可以读取表中数据了:
Set rs=CreateObject("ADODBRecordSet")
sql="Select From bookinfo"
rsOpen sql,conn,1,3
四对数据库的 *** 作
连接好数据库后,我们就可以对表bookinfo的记录进增加、删除、修改等 *** 作了。具体代码及释义如下:
(1):增加:
bianhao=Trim(Request("bianhao"))
sql="Select From bookinfo Where 图书编号='"& bianhao &"'"
rsOpen sql,conn,1,3
If rsrecordcount<>0 Then
ResponseWrite "此图书编号已存在,请重新输入"
ResponseWrite "
"
ResponseWrite ""
ResponseWrite "返 回"
Else
注:在增加信息时,必须检索图书编号是否唯一,如不唯一会出给出提示:“此图书编号已存在,请重新输入”
rsaddnew
rs("书名")=trim(request("bookname"))
rs(“作者")=trim(request("author"))
……
rsupdate
end if
ResponseRedirect "addbookhtml"
end if
set rs=nothing
(2)删除
本系统“删除”图书记录功能在查询模块中执行,但必须以管理员身份登录,才能显示对记录进行 *** 作的功能:
删除记录采用SQL中的delete语句,代码如下:
bh=Request("bianhao")
If bh<>"" Then
connExecute "Delete From bookinfo Where 图书编号='"& bh &"'"
End If
(3)修改
修改只需rsupdate命令即可完成,这里不再赘述。
(4)查询
本系统有精确查询、模糊查询、分类查询、编号查询、索书号查询、借阅人查询共六种方法。用SQL中select…where…就可以完成查询功能。如按分类查询:
tiaojian=Trim(request("tiaojian"))
Set rs=CreateObject("ADODBRecordSet")
sql="select from bookinfo where 图书分类= '"& tiaojian &"' order by 图书编号 desc"
rsOpen sql,conn,1,1
五、小结
此图书管理基本上可以实现图书管理的大部份工作,实现图书的计算机管理,方便借阅人员查询和借阅图书,更好的利用图书资源,把图书管理员从手工记录管理图书中解脱出来,提高了工作效率。
图书馆管理系统设计论文文献
[1]伍云辉 程序天下 电子工业出版,2008
[2]武延军,赵彬精通ASP网络编程 人民邮电出版社,2000
[3][美]Michael Moncur JavaScript 入门经典 人民邮电出版,2007
图书馆管理系统设计论文篇二图书管理信息系统设计
图书馆管理系统设计论文摘要
提要作为信息资源的集散地,图书馆在高校中的作用是尤为重要的,而图书馆传统人工管理方式已经无法快速、高效地应付日益增长的信息数据。随着计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。因此,图书管理信息系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底解脱出来,从而使人们有更多的时间来获取信息、了解信息、掌握信息,更好地发挥图书馆强大的资源优势。
图书馆管理系统设计论文内容
关键词:图书管理信息系统;数据库应用;Visual Foxpro语言;windows HC
中图分类号:G251文献标识码:A
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。本是从我校图书馆的馆藏规模和实际 *** 作流程程出发,针对图书馆管理的现状,经过详细的系统调查,结合效用和成本多方要素。利用Visual Foxpro60作为开发工具,为图书馆开发出的一个实用的单机版图书馆管理信息系统。全文共分为五部分,其分别为绪论、系统分析阶段、系统设计阶段、系统实施阶段、系统测试。
一、绪论
(一)系统开发背景。目前,在一些高校图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且在新书入库后要经历较长的时间方能借出。另外,因图书数量有限,必须对图书实行限量借阅,因此要实施d性借书方法是件很困难的事。
为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。该系统应具备以下功能:(1)能对各类图书实行分类管理;(2)提供必要的读者信息;(3)能进行各种高级查询;(4)具有图书检索功能等。这样,不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。
(二)数据库概述。从20世纪五十年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至六十年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于六十年代末。现已形成相当规模的理论体系和实用技术。
数据库(Database)DB是统一管理的相关数据的集合。
数据库管理系统(Database Managerment System)DBMS是位于用户和 *** 作系统 之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
数据库系统(Database System)DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
数据库技术是一门研究数据库的结构、存储、管理和使用的软件学科。
二、系统分析阶段
(一)系统可行性分析。系统可行性分析包括:技术的可行性、经济可行性、法律因素可行性。
技术可行性:结合本校图书馆规模和平时业务量的具体情况,本系统采用Visual Foxpro60作为开发平台,可以很容易实现图书馆相关信息的记录、维护、检索,并且可以在不添加任何设备的情况下,以较少的人力较快地完成系统的设计,实现系统的功能。
经济可行性:不需要额外开支,用现有的人力物力就可实现,软件成本很低。
法律可行性研究:研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。
(二)系统需求分析
1、图书管理信息系统的总体功能要求。简单的图书管理系统主要包括下面的功能:①借书处理:完成读者借书这一业务流程,核心为快速检索到学生需要的书籍。②还书处理:完成读者还书这一业务流程。③新书上架:完成新书资料的录入工作。④旧书下架:完成图书资料的删除工作。⑤读者查询:根据读者号,查询读者借阅情况,能够对读者的基本信息资料进行管理。⑥相关帮助:便于新的系统使用者能够快速掌握该系统的使用 *** 作。
2、图书管理信息系统的性能需求。①要求有较强的 系统安全 性,对一定范围和程度内用户的错误 *** 作有相应的系统自我保护功能。②系统的维护时间不能超过系统总运行时间的千分之五,系统每次的维护时间不能超过系统总运行时间的千分之一,系统的故障恢复时间不得超过系统故障时间的百分之五。③其他性能要求以其相关或类似的系统为参考。
三、系统设计阶段
(一)系统功能模块设计。鉴于以上各项功能要求,将该系统划分为以下六个模块:
1、图书信息模块。对图书的基本信息进行录入、删除、修改以前信息和进行简单查询功能。
2、查询检索模块。可对书目的基本信息进行检索,其查询条件可以是按分类检索;也可以是按照作者名、图书名称或出版社进行检索。同时,也可对读者的基本信息进行检索,查阅其借阅信息。
3、读者管理模块。对读者的基本信息进行录入管理,可自动生成会员代号,可自动记录会员的借阅信息。
4、数据维护模块。可对数据库中的各项基本数据信息进行数据备份和数据恢复,并可实现数据备份文件存贮路径的自由选择。
5、报表输出模块。对图书的基本信息、会员的基本信息、会员的借阅信息等数据可按照查询条件的不同按要求打印输出。
6、帮助模块。可以提供关于图书管理信息系统各项 *** 作的详细帮助信息,并可实现对不同 *** 作的定点帮助提示。
(二)数据库设计
1、数据描述
(1)静态数据描述。①图书一级分类表:包括一个数据表。其中的主要信息有:分类编号和一级分类名称。一级分类中将图书共分五大类,具体分类方法、编号和分类名称参照国家统一分类方法的规定。②图书二级分类表:包括五个数据表。其中的主要信息有:二级分类的编号和分类名称。二级分类中将图书共分为二十二个小类,并分别隶属于一级分类的五个大类中,其具体分类方法、编号和分类名称参照国家统一分类方法的有关规定。③图书明细分类表:包括二十二个数据表。其中的主要信息有:明细分类的编号和分类名称。明细分类又将二十二个小类明细的分为若干细小类别,其具体的分类方法、编号和分类名称参照国家统一分类方法的有关规定。
以上数据均按国家统一规定设置录入,不能做太大改变,分类名称可以有一定的缩略但不能影响其原有的意义。系统设计完成后不可以通过录入、删除的方式进行修改。
(2)动态数据
①图书的基本数据。包括一个数据表。其中的主要数据有图书编号:是对录入图书的统一编号,以便唯一区别图书;图书名称:图书出版时的封面印刷名称;作者:图书的编写者或编写单位或组织;出版社:出版发行该册图书的发行单位;录入日期:该册图书入库的时间;借阅次数:该图书总的被借阅次数;类别编号:给图书所属的明细分类的类别号,它应与明细分类表中的图书的类别编号一致;简介:对该册图书的内容总体概括介绍。
②读者基本数据:包括一个数据表。其中的主要数据有:读者代号:读者的统一编号,由系统自动生成,唯一的标示一个会员的身份;姓名:读者的真实姓名;电话:读者的有效联系电话,可选择填写;地址:读者的有效联系地址,可选择填写;身份z号:读者的身份z号码,可选择填写;注册日期:读者本人正式注册成功时的日期(为系统自动填写)。备注:读者的个人其他资料。
以上两部分数据的录入具有一定的界面,并提供修改的方式。还提供随时的查询,对查询结果有相应的显示和打印输出,对全体的数据可进行备份与恢复。
③借阅记录。包括一个数据表。其中的主要数据有:读者代号、图书编号、借阅日期。这些数据信息都是由系统自动填写。此表中的所有数据不提供修改方式,只供查阅、显示和打印输出。可以对全体数据进行备份和恢复。
④登录密码。包括一个数据表。其主要数据有:管理员代号、密码、权限。
2、数据库描述。该系统建立一个数据库,其中包括三十二个数据表。全部用Visual Foxpro实现。其中,部分数据表的结构和联系如图1所示。(图1)其他分类数据表的连接通过“下级分类表名”实现连接调用。
3、数据采集。对于图书分类数据表的信息参照国家图书分类方法;对于图书基本信息数据可通过对现存图书进行分类录入;对于读者方面的信息数据可以在系统运行使用中获得。
(三)用户界面设计。本系统设计原则:1、界面美观、 *** 作方便并能高效率地完成工作;2、界面根据用户需求设计;3、界面能引导用户 *** 作的功能,并能提供一些帮助功能。
主要的用户界面有:1、登录界面;2、主表单界面;3、各类信息查询;4、读者信息管理列表;5、图书信息管理列表等。
四、系统实施阶段
(一)计算机系统的性能和软硬件环境。在软件方面本系统运行平台为Windows2000专业版,开发工具采用易学易用的软件开发工具Visual Foxpro60。因Visual Foxpro60在应用程序的开发上具有灵活、效率高等特点和使用简便的数据库管理功能。硬件要求:Inter PentiumⅢ、128M内存、40G硬盘等。
(二)编写程序。依据各阶段的开发文档,使用Visual Foxpro60进行程序编写。此系统的编码设计(表单设计、代码设计、变量定义、控件的定义)严格按照大众化的标准和风格。
对于系统的帮助功能的实现,则使用windows help compiler来单独编译,最后通过Visual Foxpro提供的接口命令(set help to)和系统相连。帮助文件的数据字典、源代码见附件。
五、系统测试
测试的步骤主要有以下三个方面:1、单元测试:采用的是白盒测试法,检查模块控制结构的某些特殊路径;2、综合测试:采用的是自顶向下集成法;3、确认测试包括:功能测试、性能测试。
有关图书馆管理系统设计论文推荐:
1 图书管理系统毕业论文
2 浅谈图书馆管理论文
3 关于图书馆设计论文
4 图书馆管理毕业论文范文
5 有关图书馆结构设计论文
6 图书馆管理论文
1开发背景数据库技术和Internet的飞速发展,使它们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于任何一个企业来说,数据是企业重要的资产,如何有效利用这些数据,对于企业发展起着极其重要的作用。随着我国市场经济的迅速发展和人们生活水平的不断提高,图书馆藏书的树木逐渐增大,这也挑战了图书管理方面的技术,以前的人工管理方式已经不再适应现在的环境,取而代之的是先进的图书管理系统,通过使用PowerBuilder创建的图书管理系统可以让管理人员方便而快捷的进行管理、查询、借阅、录入等工作。2需求分析21系统目标图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统开发的总体任务是实现各种信息的系统化,规范化和自动化。22需求定义图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者类别管理、读者档案管理、图书类型管理、图书档案管理以及图书流程管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。其系统的功能模块图如下:图2-1系统功能模块图针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:读者信息属性:读者学号,读者姓名,读者性别,联系电话,所在院系,生效日期,失效日期,违章状况,累计借书主键:读者学号书籍信息属性:ISBN,书名,作者,出版社,出版日期,简介主键:ISBN管理员信息属性:工作号,姓名,性别,电话,家庭住址主键:工作号23数据流程231读者作为学生对图书管理系统的要求有:1能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。2能够方便地借阅图书、续借图书、归还图书。3能够查询自己的基本资料、借阅图书情况。4能够熟悉图书管理系统的使用。读者进入系统工作的流程图为:2-1进入系统工作的流程图232图书管理员作为图书管理员,他们对图书管理系统的要求有:1能方便的对图书进行录入登记,注销陈旧的书籍。2能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。3能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。图书管理员工作的流程图为:2-2图书管理员工作流程图3功能描述系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有5部分:(1)图书基本情况的录入,修改,删除等基本 *** 作。1.书籍类别标准的制定,类别信息的输入,包括类别编号,类别名称,关键词,备注信息等。2.书籍类别信息的查询,修改,包括类别编号,类别名称,关键词,备注信息等。3.书籍信息的输入,包括书籍编号,书籍名称,书籍类别,作者名称,出版社名称,出版日期,书籍页数,关键词,登记日期,备注信息等。(2)借书卡模块。1.新生借书证。2.丢失借书证。(3)实现借书功能。1.借书信息的输入,包括借书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。2.借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。(4)实现还书功能。1.还书信息的输入,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。2.还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。(5)能方便的对图书进行查询。对超期的情况能自动给出提示信息4概念模型设计各部分E-R图如下:(1)读者信息类别实体E-R图4-1读者类别实体E-R图(2)书籍信息类别实体E-R图4-2书籍类别实体E-R图(3)图书借阅实体E-R图:4-3图书借阅实体E-R图(4)投诉管理实体E-R图:4-4投诉管理实体E-R图4-5实体之间关系的E-R图借阅关系(读者、管理员、书籍三元关系)图4-6CDM图5逻辑模型设计和优化从理论‘E-R模型’到理论‘关系模型’的整理转换,通过E-R模型到关系模型的转化,可以得到如下关系模式:借阅关系属性:工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注。主键:工作号,读者学号,ISBN管理员_书籍关系属性:工作号,ISBN,添加时间,是否在馆主键:工作号,ISBN管理员_学生关系属性:工作号,读者学号,确认借还主键:工作号,读者学号通过由概念模型设计得到CDM图powerdesigner转换成对应的PDM图:PDM图51图书信息表列名数据类型可否为空ISBNvarchar否书名varchar否作者varchar否出版社varchar是出版日期datetime是简介varchar是52读者信息表列名数据类型可否为空读者学号varchar否读者姓名varchar否读者性别varchar否联系电话varchar是所在院系varchar否53管理员信息表列名数据类型可否为空工作号varchar否姓名varchar否性别varchar否电话varchar是家庭住址varchar是54借阅表列名数据类型可否为空工作号char否ISBNchar否读者学号char否借阅日期datetime否还书日期datetime否是否续借char否55管理员_书籍列名数据类型可否为空工作号char否ISBNchar否添加时间datatime是是否在馆char是56管理员_学生列名数据类型可否为空工作号char否读者学号char否借还确认char否6物理设计和实施从理论‘关系模型’到实现\实施‘数据库建立’,物理文件的安排和建立索引61建立索引为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:(1)读者信息(读者学号)(2)书籍信息(ISBN)(3)管理员信息(工作号)(4)借阅(工作号,读者学号,ISBN)(5)管理员_书籍(工作号,ISBN)(6)管理员_学生(工作号,读者学号)62SQL语句如下所示:/==============================================================//Table:书籍信息//==============================================================/createtable书籍信息(ISBNchar(20)notnull,书名char(20),作者char(10),出版社char(15),出版日期char(30),简介char(160),constraintPK_书籍信息primarykey(ISBN));/==============================================================//Index:书籍信息_PK//==============================================================/createuniqueindex书籍信息_PKon书籍信息(ISBNASC);/==============================================================//Table:投诉//==============================================================/createtable投诉(工作号char(10)notnull,学号char(10)notnull,投书意见char(100),投诉日期char(30),受诉日期char(30),constraintPK_投诉primarykey(工作号,学号));/==============================================================//Index:投诉_PK//==============================================================/createuniqueindex投诉_PKon投诉(工作号ASC,学号ASC);/==============================================================//Index:投诉_FK//==============================================================/createindex投诉_FKon投诉(工作号ASC);/==============================================================//Index:投诉2_FK//==============================================================/createindex投诉2_FKon投诉(学号ASC);/==============================================================//Table:登记//==============================================================/createtable登记(工作号char(10)notnull,学号char(10)notnull,ISBNchar(20)notnull,证书日期char(30)notnull,还书日期char(30)notnull,违章状况char(160),累计借书char(160),备注char(160),constraintPK_登记primarykey(工作号,学号,ISBN));/==============================================================//Index:登记_PK//==============================================================/createuniqueindex登记_PKon登记(工作号ASC,学号ASC,ISBNASC);/==============================================================//Index:登记_FK//==============================================================/createindex登记_FKon登记(工作号ASC);/==============================================================//Index:登记2_FK//==============================================================/createindex登记2_FKon登记(学号ASC);/==============================================================//Index:登记3_FK//==============================================================/createindex登记3_FKon登记(ISBNASC);/==============================================================//Table:管理员信息//==============================================================/createtable管理员信息(工作号char(10)notnull,姓名char(10),性别char(5),电话char(15),所在院系char(25),constraintPK_管理员信息primarykey(工作号));/==============================================================//Index:管理员信息_PK//==============================================================/createuniqueindex管理员信息_PKon管理员信息(工作号ASC);/==============================================================//Table:读者信息//==============================================================/createtable读者信息(学号char(10)notnull,姓名char(10),性别char(5),电话char(15),所在院系char(25),constraintPK_读者信息primarykey(学号));/==============================================================//Index:读者信息_PK//==============================================================/createuniqueindex读者信息_PKon读者信息(学号ASC);7主要数据 *** 纵语句71管理员 *** 作(1)注册(register)INSERTINTO管理员(工作号,姓名,性别,电话,家庭住址,备注)VALUES(#工作号,#姓名,#性别,#电话,#家庭住址,#备注)说明:在登记 *** 作后,管理员得到一个唯一的工作号,可以根据这个工作号采查询和修改数据。(2)注销(unregister)DELETEFROMProviderWHERE(工作号=#工作号);(3)修改个人信息(update)UPdate管理员Set(工作号=#工作号,姓名=#姓名,性别=#性别,电话=#电话,家庭住址=#家庭住址)WHERE(工作号=#工作号)(4)增加书籍(addbooks)INSERTINTO图书(ISBN,书名,作者,出版社,出版日期,简介,)VALUES(#ISBN,#书名,#作者,#出版社,#出版日期,#简介,#备注)INSERTINTO管理员_书籍表(工作号,ISBN,添加时间,是否在馆)VALUES(#工作号,#ISBN,#添加时间,#是否在馆)(5)删除书籍(deletebooks)DELETE图书WHERE(ISBN=#ISBN)(6)修改书籍(updatebooks)UPDATE图书(书名=#书名,作者=#作者,出版社=#出版社,出版日期=#出版日期,简介=#简介)WHERE(ISBN=#ISBN)72读者 *** 作(1)注册(register)INSERTINTO读者(读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注)VALUES(#读者学号,#读者姓名,#读者性别,#联系电话,#所在系,#生效日期,#失效日期,#违章状况,#累计借书,#备注)说明:在登记 *** 作后,读者得到一个唯一的ID,可以根据这个ID来查询和修改自己的信息。(2)注销(unregister)DELETE读者WHERE(读者学号=#读者学号)(3)修改个人信息(update)UPDATE读者Set(读者姓名=#读者姓名,联系电话=#联系电话,所在系=#所在系,生效日期=#生效日期,失效日期=#失效日期,违章状况=#违章状况,累计借书=#累计借书,备注=#备注)WHERE(读者学号=#读者学号)(4)查询(select)SELECTISBN,书名,作者,出版社FROM图书WHEREISBN=#ISBNOR书名=#书名73管理员对借阅关系的 *** 作(1)插入读者的信息(insert)INSERTINTO借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)VALUES(#工作号,#读者学号,#ISBN,#是否续借,#借书日期,#还书日期,#备注)(2)更新信息(update)①更新借出信息UPDATE借阅SET(借书日期=#借书日期,还书日期=借书日期+30,是否续借=0)WHERE(工作号=#工作号AND读者学号=#读者学号ANDISBN=#ISBN)UPDATE管理员_图书SET(是否在馆=0)WHERE(ISBN=#ISBN)UPDATA学生SET(累积借书=累积借书+1)WHERE(读者学号=#读者学号)INSERTINTO管理员_学生(工作号,读者学号,确认借还,ISBN)VALUES(#工作号,#读者学号,”0”,#ISBN))②更新续借信息UPDATE借阅SET(是否续借=#是否续借)WHERE(工作号=#工作号AND读者学号=#读者学号ANDISBN=#ISBN)③更新还书信息UPDATE管理员_图书SET(是否在馆=1)WHERE(ISBN=#ISBN)UPDATE管理员_学生SET(确认借还=”1”)WHERE(工作号=#工作号AND读者学号=#读者学号ANDISBN=#ISBN)
以上就是关于急需图书馆系统数据流图,关系模型,ER图全部的内容,包括:急需图书馆系统数据流图,关系模型,ER图、数据库课程设计 图书馆管理系统、图书馆管理系统设计论文等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)