版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计(论文)题目:图书馆管理系统教学单位姓名学号年级专业指导教师职称讲师2010年4月20
摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断开展的新型应用工具,任何一个单位要生存要开展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是以的×××图书馆管理系统作为调研背景,针对×××图书馆管理部门的工作情况和工作需求,对其工作流程和工作内容做出充分的调查,然后根据调查设计出图书馆管理系统的总体结构规划,对学生档案的根本信息、图书档案,图书借阅等进行统一管理,便于查询、修改和打印。本管理系统采用VB6.0和SQLServer2000软件为开发工具,应用SQL查询语句对数据库进行修改、删除、查询等操作,应用ADO技术OLEDB应用程序和ODBC数据库,以上两种技术的应用使数据库的内容显示在VB的DataGrid控件之中。结合VB的面向对象编程的特点,应用VB将各个子窗体连接起来,将各个子窗体的MDIChild属性设置为True,使得各个子窗体以MDIForm为父窗体,子窗体在父窗体中显示但不可溢出父窗体。本管理信息系统主要实现的功能模块:读者管理,图书管理,流通管理,帮助,退出系统本系统界面友好,功能完善,操作简单,比较实用。关键词:控件、窗体、模块、数据库AbstractAlongwithinformationaltechnologythoroughinmanagement,themanagementinformationsystemismoreandmoreperfectinthetechnology.Thissystemisthenewtoolsformanagementoflibrary.Ifanybusinesswantdevelopmentandhavethehighefficiencyorganicallytoorganizetheinternalactivity,theymustestablishthemanagementoflibrarysystemwhichadaptswithowncharacteristic.ForthemanagementofSouthwestUniversityofNationalitylibrarysystem,wedesignaschoolregistermanagementinformationsystem,toStudentrecordsbasicinformation,theLibraryandArchives,theuserManagementinformationandsoon.Ontheunificationmanagement,isadvantageousfortheinquiry,therevisionandtheprinting.ThisarticleusesVBandSQLServer2002onSQLlanguageandADOtechnology.ConnectVBandSQLAbovetwotechnologiesforADOGrid.ChildformforMDIformdon’tmoveoutfatherformbyMDIchildwassetTure.Mainrealizationfunctionmodule:UserManagement,LibraryManagement,CirculationManagement,HelpManagement,QuitManagement.Thissystemcontactsurfacefriendly,operationsimple,quiteispractical.Keywords:Controls,thewindow,themodule,Database目录摘要 IAbstract II第1章绪论 11.1系统设计的背景 11.2系统的功能简介 11.3论文的组织结构 2第2章系统分析 4HYPERLINK2.1需求分析4HYPERLINK2.1数据流程分析…………..5第3章开发工具介绍 73.1开发工具的选择 73.2VisualBasic6.0概述 73.3VB的特点: 8第4章系统数据库设计 114.1与数据库相关的概念 114.2SQLSERVER数据库根本特点: 124.3SQLSERVER数据库及其根本操作 134.3.1新建数据库 134.3.2创立数据表 144.4VB与SQLSERVER2000的连接〔ADO〕 144.5数据库设计 154.4.1数据的属性 154.4.2数据库的总体E-R图 17第5章系统详细设计 185.1设计简述 185.2系统功能设计 185.2.1总模块 195.2.3 读者信息管理模块 245.2.4 图书流通信息管理 255.3系统功能实现 265.3.1根本信息管理模块窗体的实现 265.3.2读者变动信息管理窗体的实现 29第6章系统连接与测试 33第7章 结论 34致谢 35参考文献 36附录 1附录1:英文译文:SQL的简介 1附录2:图书馆管理系统的主要代码 6第1章绪论1.1系统设计的背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,已进入人类社会的各个领域并发挥着越来越重要的作用。学校中图书馆信息的管理水平还停留在纸介质的根底上,这样的机制已经不能适应时代的开展,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,并且这种老式的管理手段也浪费了许多人力和物力;在信息时代这种传统的管理方法必然被计算机为根底的信息管理所取代。作为计算机应用的一局部,使用计算机对读者档案信息进行管理,有着手工管理所无法比较的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、本钱低等,这些优点能够极大地提高图书档案管理的效率。本图书信息管理系统的设计是为适应信息化的要求,使图书信息管理部门管理读者和图书的信息提高到计算机化的水平而设计的。在课题的实现过程中,我先后屡次同×××图书馆管理部门处的老师进行沟通,逐步明确所要实现的目标,从而正确的进行设计,并实现了所要到达的功能,本系统能够极大地提高图书馆信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。1.2系统的功能简介图书馆管理系统的功能根本能够完成读者档案管理,图书档案管理,图书借阅,图书归还,图书罚款等的存储、修改和查询。并提供局部系统维护功能,使用户方便进行数据查询、修改和删除。本图书馆管理系统应该具有界面友好、思路清晰、方便易用、后台管理功能强大等功能。以计算机为根底的图书信息管理系统应该能够为读者提供充足的信息和快捷的操作手段。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性强和完整性强、数据平安性好的数据库。而对于后者那么要求应用程序功能完备,操作方便等特点。1.3论文的组织结构第二章系统分析,简单讨论图书信息管理系统的分析过程,重点说明图书信息管理系统包括的功能。第三章开发工具介绍,选用VB和SQL作为系统的开发工具的依据和两种开发工具的简单介绍。第四章系统数据库的设计,介绍数据库的设计思想和SQLServer2000的操作过程,以及数据库概念的介绍。第五章在系统详细设计,介绍了系统的内部结构和操作界面。第六章系统的连接与测试,对各个模块的连接做了说明和对连接后的系统做的系统测试,并列举的一个测试用例。第七章结论,总结整篇论文和毕业设计所作的工作,对系统的缺乏之处做了相应的说明,对以后的体统完善做了根本介绍。 第2章系统分析HYPERLINK2.1需求分析本系统的主要任务是实现×××图书馆信息管理部门对学生和图书的根本信息管理、读者档案管理、图书档案管理、图书借阅管理、图书归还,图书罚款管理以及退出等其它信息管理。其主要功能包括:2.1.1读者档案管理:档案添加:提供读者的信息添加。档案删除:删除读者个人信息。档案修改:本局部的功能主要是为了应对有的读者的根本信息在校期间发生变化,需要进行修改的情况。档案查询:对已有的学生信息进行查询,提供了按姓名,编号等信息的查询功能。2.1.2图书档案管理系统:图书新增:把新到的书籍、编号,书名、出版社,简介等信息写入数据库中。图书修改:当书籍信息发生变化时而必须有的功能。图书删除:当数目过期后,这些信息也就没有用了就需要删除。2.1.3图书借阅管理:读者查询:通过数据库的调用查询图书借阅:输入图书的编号,点击回车键。2.1.4图书归还管理:读者搜索:为了查询出读者的借书信息,从而消除借阅记录。图书归还:对指定读者借阅的图书进行图书归还操作。2.1.5图书罚款管理:对在限制的时间内没有归还图书或者是将图书弄丢,弄脏、破坏书籍等不符合图书馆管理法规的给予处理。关于:让读者了解到开发软件的编程人员个人信息。退出:结束效劳并退出。2.2数据流程分析2.2.1数据流程图 根据以上的系统功能描述,设计出顶层数据流图如下:退出退出关于界面图书罚款图书归还图书借阅流通管理图书档案管理读者档案信息管理图书馆管理系统主页面图书馆管理系统图2.1顶层数据流图2.2.2数据库读者根本信息(读者编号(C,20),姓名(C,20),性别(C,2),出生日期(Data),学号(C,10),联系方式(C,10),备注(C,20),图书借阅次数(C,10);是否挂失(C,100);图书根本信息(编号(C,10),书名(C,20),作者(C,30),出版社(C,200),现存量〔C,100),库存量〔C,100〕入库时间〔C,50〕,简介〔C,30〕;第3章开发工具介绍3.1开发工具的选择经过分析,我们使用Microsoft公司的VisiualBasic6.0和MicrosoftSqlServer2000开发工具,Microsoft公司的VisualBasic6.0,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。系统中大量采用SQL查询语句,界面友好,功能较强。MicrosoftServer2000数据库对提供数据库管理方面方便快捷,尤其是对数据库的表的操作简单易用,对于本系统在数据库的建立方面有着比其他数据库软件更大的优势。3.2VisualBasic概述微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。VisualBasic6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。VB是可视化设计具有“所见即所得〞的功能。在程序设计时,头脑中所想的应用程序界面,完全可以通过键盘与鼠标完成,而不用编制大量的代码。如果需要修改,也可利用键盘或鼠标完成,而底层的一些程序代码可由VB自动生成或修改。VB是事件驱动编程,在VB中把窗体及控件称为对象。这些对象组成了与用户交互的图形界面〔用户界面〕。用户通过鼠标和键盘和应用程序进行交互式最直接、最方便的,这时那些对象对鼠标、键盘操作所引起的事件做出响应。〔响应就是指执行一段应用程序,它不沿预定的路径执行,而是在响应不同事件时执行不同的代码。〕VB6.0是一种32位的开发工具,VB5.0以前的开发工具很多是在DOS和Window3x下使用的,因而它们根本上是16位的开发工具,VB6.0是运行在Windows9X或WindowNT操作系统下的,因此它是典型的32位开发工具。因此,实现本系统VB是一个相对较好的选择。3.3VB的特点:应用面向对象的程序设计方法:在VB中,应用面向对象的程序设计方法〔OOP〕,把程序和数据封装起来视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求,直接在屏幕上“画〞出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。事件驱动的编程机制:事件驱动是非常适合图形用户界面的编程方式。事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系。这样的应用程序代码一般较短,所以程序既易于编写又易于维护。VB提供了易学易用的应用程序集成开发环境:在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。结构化的程序设计语言:VB具有丰富的数据类型和结构化程序结构,而且简单易学。而且VB有许多独到之处:强大的数值和字符串处理功能。丰富的图形指令,可方便地绘制各种图形。提供静态和动态数组,有利于简化内存管理。过程可递归调用,使程序更为简练。支持随机文件访问和顺序文件访问。提供了一个可供给用程序调用的包含多种类型的图标库。具有完善的运行出错处理。支持多种数据库系统的访问:利用数据控件可访问的数据库系统有:MicrosoftAccess、Btrieve、dBASE、MicrosoftvisiualFoxPro和SQLServer2000等,也可访问MicrosoftExcel等多种电子表格。支持动态数据交换〔DDE〕、动态链接库〔DLL〕和对象的链接与嵌入〔OLE〕技术动态数据交换〔DDE〕的编程技术,使VB开发应用程序能与其他Windows应用程序之间建立数据通信。通过VB的动态链接库〔DLL〕技术,在VB程序中可方便地调用C语言或汇编语言编写的函数,也可调用Windows应用程序接口〔API〕函数,以实现SDK所能实现的功能。VB的核心是其对对象的链接与嵌入〔OLE〕的支持,它是访问所有对象的一种方法。利用OLE技术,VB将其他应用软件视为一个对象嵌入到VB应用程序中,进行各种操作,也可将各种基于Windows的应用程序嵌入到VB应用程序,实现声音、图像、动画等多媒体功能。第4章系统数据库设计4.1与数据库相关的概念〔1〕数据库数据库〔Database〕就是按一定的结构组织在一起的相关数据的集合。对于一个特定的数据库来说,它是集中、统一地保存、管理着某一单位或某一领域内所有有用信息的系统。这个系统根据数据间的自然联系结构而成,数据较少冗余,并且具有较高的数据独立性,能为多种应用效劳。如,学校中的所有学生的档案,公司企业的人事档案和有关的商务信息等。〔2〕数据表数据表〔Table〕可以比喻成一个存放原始数据的特定容器,是一种有关特定实体的数据集合。在一个数据表中,常常可以按照行或列的格式组织数据。对于每个实体分别使用的数据只需存储一次。这将提高数据库的效率,并减少数据输入错误。早期数据库系统的数据库,表和数据库是同一个概念,如dBase等,现在的数据库和表是不同的概念,如Access等。比方说,在学校中关于学生信息的数据保存在一个表中,而有关学生的成绩保存在另一张表中,两张表通过一定的关系联系到一起。〔3〕记录和字段数据表可以被分为行和列,行称为记录〔Record〕,列称为字段〔Fields〕。在表中同一行数据被称为一条记录。每一个信息行都可以设想为一个单独的实体,它可以根据需要进行存取或排列。例如,在前面所举的例子中,将学生表中的涉及同一学生的信息就包含在一条记录中。记录通常通过记录在数据表中的唯一的数据值来识别,这个数据值通常被称为主键。在表中同一列数据具有相似的信息,这些数据的列条目就是字段。例如:学号、姓名等等。每一个字段都通过明确的数据类型来进行识别,常见的数据类型有文本型、数字型、货币型等,字段必须定义特定的长度,每个字段在顶行用一个名字来说明其具体信息类别。〔4〕数据值 数据表中的行和列,即记录与字段的相交处就是值——存储的数据元素。数据值的特点是不唯一性,在同一个表中,同一个值可能会重复出现。而每个数据值的字段和记录却是唯一的,字段可以用字段名来识别,记录那么通常通过记录的某些唯一的特征符号来识别。J.Martin给数据库下了一个比较完整的定义:数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用效劳;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的假设干个数据库时,那么该系统包含一个"数据库集合"。4.3SQLServer数据库及其根本操作4.3.1新建数据库使用SQLServer2000新建一个数据库,首先安装MICROSOFTSQLServer。安装好以后,翻开控制台根目录?MicrosoftSQLServer,在旗下新建数据库组名,这里我新建的是44,然后翻开44在旗下的数据库中点击右键,在弹出的窗体中输入数据库的名称,点击确定,一个数据库就可以建成。4.3.2创立数据表表是SQLSERVER是数据库的根底,是信息的载体。其它对象如查询、窗体和报表,也是将表中的信息以各种形式表现出来,方便用户使用这些信息。在SQLSERVER2000中,创立表的方法有三种:一是使用设计器创立表;二是通过输入数据创立表;三是利用向导创立表。在这里,我们采用第二种方法创立表:在中文SQLSERVER2000中,可将数据直接输入到空白的数据表中,然后当保存这张新的数据表时,这个软件能分析数据并且自动为每一字段指定适当的数据类型及使用格式。为了执行该操作,首先要在数据库窗口中选定“对象〞列表中的“表〞项,然后单击工具栏中的“新建〞按钮,进入“新建表〞对话框后通过列表中的“数据表视图〞项,此后,屏幕上将显示一个空数据表提供有默认的列名称,即字段:字段1、字段2,……。此时,可以立即输入数据记录,建立数据表了。4.4VB与SQLServer的连接〔ADO〕ADO〔ActiveXDataObjects〕中文名叫ActiveX数据对象。是一种战略性的,高层次的,独立于编程语言的,可以访问任何种类数据源的数据访问接口。大多数VB程序员选择通过ADO来引用包括Oracle、ACCESS等数据库。ADO技术为连接数据源提供了三种方法:ADO数据控件、Dataenvironmentdesigner和代码中定义的对象。本程序应用的是在代码中定义对象的方法。连接:让ADO与数据库建立连接PublicSqlConnAsadodb.ConnectionPublicsConnAsStringPublicSubOpenConn()IfSqlConnIsNothing=TrueThenSetSqlConn=Newadodb.ConnectionEndIfIfSqlConn.State<>1ThenSqlConn.OpensConnEndIfEndSubPrivateSubClass_Initialize()sConn="Provider=MSDASQL.1;PersistSecurityInfo=False;DataSource=liblink"在这里我们新建的数据库以“liblink〞命名,表示liblink是数据源名称EndSub翻开了recordset对象之后,我们就可以使用它的addnew、,delete、update、movenext、find等方法了。4.5数据库设计4.4.1数据的属性 ⑴根本信息表的属性如图4.1图书馆管理系统图书馆管理系统读者档案管理图书档案管理流通管理帮助退出图书借阅图书归还图书罚款图形4-1数据库的总体E-R图学生学生图书馆借阅,归还读者图书包含于姓名学号专业Fig.4.2E-R图形图图4.5数据库E-R图第5章系统详细设计5.1设计简述实施教育管理信息化标准是教育信息化工作的重要组成局部,是标准教育管理的根底工作。加强教育管理信息标准化工作,对开展教育事业,保障教育信息化健康有序开展,建立健全学校的管理信息系统,合理开发和使用教育管理信息化软件产品,提高社会效益和经济效益具有重要意义。图书馆信息管理系统具备了读者信息管理、图书管理、流通管理等功能。根据学生处需要,这套图书管理系统软件系统功能齐全,是专门针对×××大学图书馆信息管理部门对图书和读者的信息的管理而设计的系统。5.2系统功能设计总模块用户总模块流程图如图5.3进入进入出口图书档案管理读者档案管理图书管理流通管理帮助退出档案查询图书借阅编程人员的信息关于返回退出图5.3用户模块流程图根本信息管理模块读者根本信息添加流程图如图5.4读者信息修改和删除模块的流程图如图5.5读者信息查询模块的流程图如图5.6进入进入选择读者信息连接数据库显示指定读者信息出口是删除修改删除数据保存数据否否是图5.5读者根本信息删除和修改模块流程图是是进入连接数据库输入指定编号指定读者编号存在显示指定编号的读者根本信息退出否图5.6读者根本信息查询流程图图5.4读者根本信息连接流程图进入输入读者根本信息连接数据库是否读者编号是重复保存数据出口读者信息管理模块读者信息管理模块的添加和查询模块的流程图如图5.7和图5.8退出退出是否进入图5.7读者信息管理流程图否出口输入编号变动信息连接数据库编号是否重复替换是保存数据指定编号存在出口否是进入连接数据库输入指定编号显示指定编号的图书变动信息图5.8读者数据流程图图书流通信息管理图书流通信息模块的流程图如图5.9和图5.105.3系统功能实现 根本信息管理模块窗体的实现图5.12根本信息模块菜单内容进入根本图书信息管理模块选择相应的操作包括:档案录入,档案删除,档案修改,档案查询,如图5.12。图5.13根本信息添加窗体写入根本信息添加学生信息在要求有特殊的填写方式的输入框边上有填写说明,完成添加后显示添加信息成功,如图5.13。图5.14根本信息删除窗体选择档案删除操作,在显示框中显示选中要删除的信息,然后点击删除按钮,显示信息删除成功,如图5.14。图5.15根本信息修改窗体选择档案修改操作,在显示框中选择要修改的信息,修改完后,点击修改按钮,显示修改成功,如图5.15。图5.16根本信息查询窗体选择档案查询操作,可以选择按读者编号查询,姓名查询,图书查询,选择相应的查询条件后,点击查询按钮,显示与查询条件相符的内容,图5.16。读者变动信息管理窗体的实现图5.17学籍变动菜单内容进入读者变动管理模块,选择相应的操作。包括:退读者罚款记录,读者所借阅的图书编号,以及读者罚款应收金额,如图5.17。图5.18学籍变动添加窗体选择任一登记模块后,均可以变化在改动读者更改原因,选择正确的变动原因,写入更改原因,点击读者管理按钮,显示读者信息,如图5.18。第6章系统连接与测试1)启动SQLServe2000中的"企业管理器",然后建立一个名为"liblink"的数据库。2)执行SQL脚本。启动SQLServe2000中的"SQL查询分析器",选择"SQLServer身份验证〔Q〕",〔这里的身份验证为WINDOWS登陆模式〕3)进入"SQL查询分析器"后,点击文件菜单下的"翻开"菜单项,找到"图书馆管理系统的SQLSERVER程序语言"文件夹中的即可生成"liblink"数据库。4)在WindowsXP下配置ODBC。翻开"控制面板"的"ODBC数据源〔32位〕",在ODBC数据源管理器中创立用户DSN。单击"添加"按钮,在弹出的对话框中选定"SQLServer",单击"完成"按钮,将弹出建立新的数据源到SQLServer对话框,在此对话框中的名称栏输入数据源名称"liblink",在效劳器栏中选择服务器,单击"下一步"按钮,登录方式选择"使用用户输入登录ID和密码的SQLServer验证",默认连接的数据库为liblink,效劳器为安装上的SQLSERVER自动配置的效劳器。结论经过三个多月的设计和开发,学生信息管理系统根本开发完毕。其功能根本符合用户需求,能够完成学生学籍的存储,班级信息的管理,成绩的管理,转学、退学、降级的管理和管理员的管理功能以及其他一些功能。并提供局部系统维护功能,使用户方便进行对数据库的数据添加、数据修改、数据删除。对于数据的一致性的问题也根本通过程序进行了有效的解决。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比方联机文档没有实现,打印功能没有实现,学籍变动信息和其他信息管理模块中的一些功能没有实现,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。致谢感谢我的导师傅春常,她在我做毕业设计的时间里给了我贴心的关心和指导,同时也感谢我的身边的同学,在我做设计途中所给予的帮助。正是有他们的付出和真诚的帮助才使我顺利的完成设计,再次表示深深的感谢!参考文献[1]洪国胜.VisualBasic5.0/6.0范例教程〔标准版〕[M].人民邮电出版社.2002.1~117[2]龚沛曾等.VisualBasic程序设计教程〔6.0版〕[M].高等教育出版社.2002.1~145[3]敬铮.SQLSERVER2000数据库设计管理与应用[M].国防工业出版社.2002.45~77[4]罗晓沛.数据库技术[M].华中理工大学出版社.2001.34~88[5]张立科.VisualBasic6.0程序设计参考手册[M].人民邮电出版社.2003.20~25[6]ThomasConnolly,CardynBegg.DatabaseSystem--APracticalApproachtoResign,ImplementationandManagent[M].人民邮电出版社.2003年6月.88~90[7]魏江江,林少果.VisualBasic根底编程百例[M].清华大学出版社.2001.87~111[8]林永,张乐强.VisualBasic6.0用户编程手册[M].人民邮电出版社.2002.99~167[9]皮鲁.用VB编的木马源代码[J].网络红皮书.2002,26〔3〕:1~6[10]源江科技.VB编程技巧280例[M].上海科学普及出版社.2002[11]江高举,刘致仪.马上学会SQLSERVER2002[M].中国铁道出版社.2001年9月1~188[12]can101208.VB与数据库连接技巧[13]明日科技刘彬彬高春艳王茜VisualBasic程序设计自学手册人民邮电出版社〔2007〕第194852号附录1:SQL的简介5.1SQL介绍本节概述SQL的目标、开展简史以及对数据库应用的重要性。SQL目标理想地说,数据库语言允许用户:建立数据库和关系结构完成根本数据管理任务,诸如从关系中插入、修改和删除操作数据。完成简单或复杂的查询。数据库语言必须功能丰富、结构简洁、易学易用。另外,语言必须易于移植,符合公认的标准,这样当我们更换到不同的DBMS时,仍可以使用相同的命令和语法结构。SQL语言满足这些要求。SQL语言是面向转换语言的实例,将输入的关系转换为所需的输出。作为语言,国际标准化组织〔ISO〕发布的SQL标准包括两个主要局部:数据定义语言〔DataDefinitionLanguage,DDL〕,定义数据库结构和数据的访问控制。数据操作语言〔DataManipulationLanguage,DML〕,定义数据检索和更新。SQL3出现以前,SQL仅包括数据定义和数据操作命令,不包括控制流命令,如IF…THEN…ELSE,GOTO或DO…WHILE。这些命令的实现必须用编程语言或任务控制语言或由用户交互决定。由于缺乏计算完整性,仅能用如下两种方式使用SQL。一种方法是,在终端交互地输入SQL语句。另一种方法是,将SQL语句嵌入到过程化语言中,这将在第21章详细讨论。第27章将讨论已于1999年成为标准的SQL3。SQL语言相对易学表现在:非过程化语言:用户只需描述所需的信息,不需给出获取该信息的具体过程。换句话说,SQL不需要指定数据的访问方法。SQL和大多数现代语言一样,是自由格式,这意味着语句的每一局部不必固定在屏幕上的特定位置。SQL命令由标准英语单词组成,如CREATETABLE,INSERT,SELECT等。例如:CREATETABLEStaff(staffNoVARCHAR(5),1NameVARCHAR(15),salaryDECIMAL(7,2));INSERTINTOStaffVALUES(‘SG16’,‘Brown’SELECTstaffNo,1Name,salaryFROMStaffWHEREsalary>10000;SQL能被数据库管理员、管理人员、应用程序开发者等各类终端用户广泛使用。现在,国际性的SQL语言标准已成为定义和操作关系数据库名义上和事实上的标准〔ISO,1992,1999a〕。SQL历史正如第3章所述,关系模型〔间接意义上的SQL〕起源于在IBMSanJose研究室工作的E.F.Codd发表的一篇论文(Codd,1970)。1974年,该研究室的D.Chamberlin定义了一种称为SQL的结构化英语查询语言,或称为SEQUEL。1976年,其修改版本SEQUEL/2出现,然后正式改名为SQL(ChamberlinandBoyce,1974;Chamberlinetal.,1976)。如今,仍有很多人将SQL读为“See-Quel〞,尽管官方的读法为“S-Q-L〞。IBM在SEQUEL/2的根底上推出了称为SystemR的DBMS原型,用于验证关系模型的可行性。除了其他方面的成果外,最重要的成果是开发了SQL。但是SQL的最初起源应当追溯到SystemR前期的SQUARE〔SpecifyingQueriesAsRelationalExpression〕语言,它是一种用英语句子表示关系代数的研究语言。20世纪70年代末期,现名的OracleCorporation推出了第一个基于SQL语言开发的商业RDBMS——Oracle数据库系统。不久,又出现了基于QUEL查询语言的INGRES数据库系统,QUEL语言和SQL语言相比,结构化特性更强,但与英语不大类似。当SQL成为关系数据库系统标准语言后,INGRES也转向支持SQL的DBMS。1981年和1982年,IBM公司分别在DOS/VSE和VM/CMS环境下推出了第一个商业RDBMS——SQL/DS数据库系统。随后又于1993年在MVS环境下推出DB2数据库系统。1982年,美国国家标准组织基于IBM公司提交的一份概论性建议文件开始着手制定关系数据库语言〔RDL〕的标准。1983年,ISO参与这一工作,并共同制定了SQL标准〔名称RDL从1984年不再使用,标准的草稿转变为与已有的各种SQL实现更加类似的形式〕。1987年,ISO组织最公布的标准受到有关人士的严厉批评。该领域内一位很有影响的研究员Date声称,诸如引用完整性规那么和某些关系运算符等一些重要的特性被忽略掉了。他还指出,该语言严重冗余,换句话说可用多种方法写相同的查询语句〔Date,1996,1997a,1990〕。许多批评是正确的,并且在标准公布之前就已为标准组织所了解。然而组织认为,更重要的是尽早公布标准,为语言和实现的开展奠定根底,而不是等待人们定义和认同所有特性。1989年,ISO组织公布了名为“完整性增强特性〞〔IntegrityEnhancementFeature〕的补充文件〔ISO,1989〕。1992年,对ISO标准进行了第一次比较大的修改,称为SQL2或SQL-92〔ISO,1992〕。尽管一些特性是第一次在标准中提及,但实质上,它们已在SQL许多实现的一个或多个版本中以局部或类似的形式得表达。直到1999年,标准的一个新版本形成,通常称为SQL3〔ISO,1999a〕。这个版本附加了包括支持面向对象数据管理等特性,将在本书27.4节讨论。供给商基于标准之上提供的特性称为扩展。比方标准仅为SQL数据库中的数据确定了六种不同的数据类型。许多实现以不同的方式扩展了这个数据类型表。SQL的每个实现称为一种“方言〞。没有两种方言完全相同,当前也没有方言和ISO标准完全匹配。而且当数据库供给商引进新的功能时,他们还扩展他们的SQL方言,使其离标准更远。但是SQL语言的核心局部还是越来越标准化了。虽然,SQL源于IBM公司的建议,但是它的重要性很快就激发了其他供给商建立了自己的实现系统。时至今日,成百个基于SQL的产品得到应用,而且新产品还在不断涌现。SQL的重要性SQL是第一个也是惟一一个得到普通认可的数据库标准语言。另一个数据库标准语言,即基于CODASYL网络模型的网络数据库语言〔NetworkDatabaseLanguage,NDL〕,只有很少认同者。近来大的供给商开发数据库产品都是基于SQL或是SQL接口的,这些供给商大多数都是标准制定组织的成员。供给商和用户都在SQL语言上进行了大量的投资。SQL已成为应用体系结构的一局部,如IBM的系统应用体系结构〔SystemApplicationArchitecture,SAA〕。SQL也成为许多大型的、有影响的组织的战略性选择,如支持UNIX标准的X/OPEN联盟。SQL也成为美国联邦信息处理标准〔FederalInformationProcessingStandard,FIPS〕,销售给美国政府的所有数据库产品都需满足该标准。供给商的国际联盟SQL访问组〔SQLSERVERGroup〕为SQL定义了一组增强特性以支持异构系统的互操作。SQL也被其他标准所使用,甚至作为一种定义工具影响了其他标准的开展。比方,ISO的信息资源目录系统〔InformationResourceDictionarySystem,IRDS〕标准和远程数据访问〔RemoteDataAccess,RDA〕标准。该语言的开发等到学术界的关注,它们提供了该语言的理论根底以及顺利实现所需的技术,特别是在查询优化、数据分布和平安领域。SQL面向新的市场,比方在联机分析处理〔OnlineAnalyticalProcessing,OLAP〕领域,而专门设计的实现也已出现。术语ISO组织公布的SQL标准并未使用形式化的术语,如关系、属性和元组,而使用通用的术语如表、列和行。使用中,通常用ISO的术语表示SQL语句。注意,SQL并不严格支持第3章所描述的关系模型的定义。例如,SQL允许SELECT语句产生的结果表中包含重复行,它按列进行排序并且允许用户对表中的行进行排序。附录2:图书馆管理系统的主要代码SQLSERVER数据库相关模块主要代码ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[FK_图书罚款_图书信息]')andOBJECTPROPERTY(id,N'IsForeignKey')=1)ALTERTABLE[dbo].[图书罚款]DROPCONSTRAINTFK_图书罚款_图书信息GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[图书归还_图书编号_fk]')andOBJECTPROPERTY(id,N'IsForeignKey')=1)ALTERTABLE[dbo].[图书归还]DROPCONSTRAINT图书归还_图书编号_fkGOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[图书借阅_图书编号_fk]')andOBJECTPROPERTY(id,N'IsForeignKey')=1)ALTERTABLE[dbo].[图书借阅]DROPCONSTRAINT图书借阅_图书编号_fkGOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[FK_图书罚款_读者信息]')andOBJECTPROPERTY(id,N'IsForeignKey')=1)ALTERTABLE[dbo].[图书罚款]DROPCONSTRAINTFK_图书罚款_读者信息GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[sf_图书借阅]')andOBJECTPROPERTY(id,N'IsProcedure')=1)dropprocedure[dbo].[sf_图书借阅]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[sf_图书归还]')andOBJECTPROPERTY(id,N'IsProcedure')=1)dropprocedure[dbo].[sf_图书归还]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[图书信息]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[图书信息]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[图书借阅]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[图书借阅]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[图书归还]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[图书归还]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[图书罚款]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[图书罚款]GOifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[读者信息]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[读者信息]GOCREATETABLE[dbo].[图书信息]( [编号][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL, [书名][varchar](200)COLLATEChinese_PRC_CI_ASNULL, [作者][varchar](100)COLLATEChinese_PRC_CI_ASNULL, [出版社][varchar](100)COLLATEChinese_PRC_CI_ASNULL, [现存量][int]NULL, [库存总量][int]NULL, [入库时间][smalldatetime]NULL, [简介][varchar](100)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GOCREATETABLE[dbo].[图书借阅]( [借阅编号][int]I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人2022工作计划
- 企业思想政治工作总结
- 教师工作计划总结10篇
- 2025成品油运输合同
- DB45T 2719-2023 公交专用车道设置规范
- 2025烟叶种植采购合同
- 文艺汇演活动总结-
- 游泳馆施工方案
- 四年级51劳动节作文300字5篇
- 排灌站维修方案
- 儿童流感诊疗及预防指南(2024医生版)
- 语文中考《非连续性文本阅读》专题精练(含答案解析)
- 【课件】第21课《小圣施威降大圣》课件2024-2025学年统编版语文七年级上册
- 工程计价学-001-国开机考复习资料
- 《孟母三迁》课本剧剧本:环境对成长的重要性(6篇)
- 《富马酸卢帕他定口崩片关键质量属性与标准研究》
- 走近非遗 课件 2024-2025学年湘美版(2024)初中美术七年级上册
- 新生儿坏死性小肠结肠炎临床诊疗指南解读 课件
- 网络数据安全管理条例
- 2024版2024年【人教版】二年级上册《道德与法治》全册教案
- 山东省泰安市2024届高三上学期期末数学试题(含答案解析)
评论
0/150
提交评论