毕业论文设计-图书馆管理系统_第1页
毕业论文设计-图书馆管理系统_第2页
毕业论文设计-图书馆管理系统_第3页
毕业论文设计-图书馆管理系统_第4页
毕业论文设计-图书馆管理系统_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业设计论文题目图书馆管理系统教学单位姓名学号年级专业指导教师职称讲师2010年4月20日摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型应用工具,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本系统是以的图书馆管理系统作为调研背景,针对图书馆管理部门的工作情况和工作需求,对其工作流程和工作内容做出充分的调查,然后根据调查设计出图书馆管理系统的总体结构规划,对学生档案的基本信息、图书档案,图书借阅等进行统一管理,便于查询、修改和打印。本管理系统采用VB60和SQLSERVER2000软件为开发工具,应用SQL查询语句对数据库进行修改、删除、查询等操作,应用ADO技术OLEDB应用程序和ODBC数据库,以上两种技术的应用使数据库的内容显示在VB的DATAGRID控件之中。结合VB的面向对象编程的特点,应用VB将各个子窗体连接起来,将各个子窗体的MDICHILD属性设置为TRUE,使得各个子窗体以MDIFORM为父窗体,子窗体在父窗体中显示但不可溢出父窗体。本管理信息系统主要实现的功能模块读者管理,图书管理,流通管理,帮助,退出系统本系统界面友好,功能完善,操作简单,比较实用。关键词控件、窗体、模块、数据库ABSTRACTALONGWITHINFORMATIONALTECHNOLOGYTHOROUGHINMANAGEMENT,THEMANAGEMENTINFORMATIONSYSTEMISMOREANDMOREPERFECTINTHETECHNOLOGYTHISSYSTEMISTHENEWTOOLSFORMANAGEMENTOFLIBRARYIFANYBUSINESSWANTDEVELOPMENTANDHAVETHEHIGHEFFICIENCYORGANICALLYTOORGANIZETHEINTERNALACTIVITY,THEYMUSTESTABLISHTHEMANAGEMENTOFLIBRARYSYSTEMWHICHADAPTSWITHOWNCHARACTERISTICFORTHEMANAGEMENTOFSOUTHWESTUNIVERSITYOFNATIONALITYLIBRARYSYSTEM,WEDESIGNASCHOOLREGISTERMANAGEMENTINFORMATIONSYSTEM,TOSTUDENTRECORDSBASICINFORMATION,THELIBRARYANDARCHIVES,THEUSERMANAGEMENTINFORMATIONANDSOONONTHEUNIFICATIONMANAGEMENT,ISADVANTAGEOUSFORTHEINQUIRY,THEREVISIONANDTHEPRINTINGTHISARTICLEUSESVBANDSQLSERVER2002ONSQLLANGUAGEANDADOTECHNOLOGYCONNECTVBANDSQLABOVETWOTECHNOLOGIESFORADOGRIDCHILDFORMFORMDIFORMDONTMOVEOUTFATHERFORMBYMDICHILDWASSETTUREMAINREALIZATIONFUNCTIONMODULEUSERMANAGEMENT,LIBRARYMANAGEMENT,CIRCULATIONMANAGEMENT,HELPMANAGEMENT,QUITMANAGEMENTTHISSYSTEMCONTACTSURFACEFRIENDLY,OPERATIONSIMPLE,QUITEISPRACTICALKEYWORDSCONTROLS,THEWINDOW,THEMODULE,DATABASE目录摘要IABSTRACTII第1章绪论111系统设计的背景112系统的功能简介113论文的组织结构2第2章系统分析421需求分析421数据流程分析5第3章开发工具介绍731开发工具的选择732VISUALBASIC60概述733VB的特点8第4章系统数据库设计1141与数据库相关的概念1142SQLSERVER数据库基本特点1243SQLSERVER数据库及其基本操作13431新建数据库13432创建数据表1444VB与SQLSERVER2000的连接(ADO)1445数据库设计15441数据的属性15442数据库的总体ER图17第5章系统详细设计1851设计简述1852系统功能设计18521总模块19523读者信息管理模块24524图书流通信息管理2553系统功能实现26531基本信息管理模块窗体的实现26532读者变动信息管理窗体的实现29第6章系统连接与测试33第7章结论34致谢35参考文献36附录1附录1英文译文SQL的简介1附录2图书馆管理系统的主要代码6第1章绪论11系统设计的背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,已进入人类社会的各个领域并发挥着越来越重要的作用。学校中图书馆信息的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,并且这种老式的管理手段也浪费了许多人力和物力;在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。作为计算机应用的一部分,使用计算机对读者档案信息进行管理,有着手工管理所无法比拟的优点例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大地提高图书档案管理的效率。本图书信息管理系统的设计是为适应信息化的要求,使图书信息管理部门管理读者和图书的信息提高到计算机化的水平而设计的。在课题的实现过程中,我先后多次同图书馆管理部门处的老师进行沟通,逐步明确所要实现的目标,从而正确的进行设计,并实现了所要达到的功能,本系统能够极大地提高图书馆信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。12系统的功能简介图书馆管理系统的功能基本能够完成读者档案管理,图书档案管理,图书借阅,图书归还,图书罚款等的存储、修改和查询。并提供部分系统维护功能,使用户方便进行数据查询、修改和删除。本图书馆管理系统应该具有界面友好、思路清晰、方便易用、后台管理功能强大等功能。以计算机为基础的图书信息管理系统应该能够为读者提供充足的信息和快捷的操作手段。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性强和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,操作方便等特点。13论文的组织结构第二章系统分析,简单讨论图书信息管理系统的分析过程,重点说明图书信息管理系统包括的功能。第三章开发工具介绍,选用VB和SQL作为系统的开发工具的依据和两种开发工具的简单介绍。第四章系统数据库的设计,介绍数据库的设计思想和SQLSERVER2000的操作过程,以及数据库概念的介绍。第五章在系统详细设计,介绍了系统的内部结构和操作界面。第六章系统的连接与测试,对各个模块的连接做了说明和对连接后的系统做的系统测试,并列举的一个测试用例。第七章结论,总结整篇论文和毕业设计所作的工作,对系统的不足之处做了相应的说明,对以后的体统完善做了基本介绍。第2章系统分析21需求分析本系统的主要任务是实现图书馆信息管理部门对学生和图书的基本信息管理、读者档案管理、图书档案管理、图书借阅管理、图书归还,图书罚款管理以及退出等其它信息管理。其主要功能包括211读者档案管理档案添加提供读者的信息添加。档案删除删除读者个人信息。档案修改本部分的功能主要是为了应对有的读者的基本信息在校期间发生变化,需要进行修改的情况。档案查询对已有的学生信息进行查询,提供了按姓名,编号等信息的查询功能。212图书档案管理系统图书新增把新到的书籍、编号,书名、出版社,简介等信息写入数据库中。图书修改当书籍信息发生变化时而必须有的功能。图书删除当数目过期后,这些信息也就没有用了就需要删除。213图书借阅管理读者查询通过数据库的调用查询图书借阅输入图书的编号,点击回车键。214图书归还管理读者搜索为了查询出读者的借书信息,从而消除借阅记录。图书归还对指定读者借阅的图书进行图书归还操作。215图书罚款管理对在限制的时间内没有归还图书或者是将图书弄丢,弄脏、破坏书籍等不符合图书馆管理法规的给予处理。216关于让读者了解到开发软件的编程人员个人信息。217退出结束服务并退出。22数据流程分析221数据流程图根据以上的系统功能描述,设计出顶层数据流图如下退出关于界面图书罚款图书归还图书借阅流通管理图书档案管理读者档案信息管理图书馆管理系统主页面图书馆管理系统图21顶层数据流图222数据库读者基本信息读者编号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章开发工具介绍31开发工具的选择经过分析,我们使用MICROSOFT公司的VISIUALBASIC60和MICROSOFTSQLSERVER2000开发工具,MICROSOFT公司的VISUALBASIC60,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。系统中大量采用SQL查询语句,界面友好,功能较强。MICROSOFTSERVER2000数据库对提供数据库管理方面方便快捷,尤其是对数据库的表的操作简单易用,对于本系统在数据库的建立方面有着比其他数据库软件更大的优势。32VISUALBASIC概述微软公司的VISUALBASIC60是WINDOWS应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。VISUALBASIC60提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。VB是可视化设计具有“所见即所得”的功能。在程序设计时,头脑中所想的应用程序界面,完全可以通过键盘与鼠标完成,而不用编制大量的代码。如果需要修改,也可利用键盘或鼠标完成,而底层的一些程序代码可由VB自动生成或修改。VB是事件驱动编程,在VB中把窗体及控件称为对象。这些对象组成了与用户交互的图形界面(用户界面)。用户通过鼠标和键盘和应用程序进行交互式最直接、最方便的,这时那些对象对鼠标、键盘操作所引起的事件做出响应。(响应就是指执行一段应用程序,它不沿预定的路径执行,而是在响应不同事件时执行不同的代码。)VB60是一种32位的开发工具,VB50以前的开发工具很多是在DOS和WINDOW3X下使用的,因而它们基本上是16位的开发工具,VB60是运行在WINDOWS9X或WINDOWNT操作系统下的,因此它是典型的32位开发工具。因此,实现本系统VB是一个相对较好的选择。33VB的特点应用面向对象的程序设计方法在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章系统数据库设计41与数据库相关的概念(1)数据库数据库(DATABASE)就是按一定的结构组织在一起的相关数据的集合。对于一个特定的数据库来说,它是集中、统一地保存、管理着某一单位或某一领域内所有有用信息的系统。这个系统根据数据间的自然联系结构而成,数据较少冗余,并且具有较高的数据独立性,能为多种应用服务。如,学校中的所有学生的档案,公司企业的人事档案和有关的商务信息等。(2)数据表数据表(TABLE)可以比喻成一个存放原始数据的特定容器,是一种有关特定实体的数据集合。在一个数据表中,常常可以按照行或列的格式组织数据。对于每个实体分别使用的数据只需存储一次。这将提高数据库的效率,并减少数据输入错误。早期数据库系统的数据库,表和数据库是同一个概念,如DBASE等,现在的数据库和表是不同的概念,如ACCESS等。比如说,在学校中关于学生信息的数据保存在一个表中,而有关学生的成绩保存在另一张表中,两张表通过一定的关系联系到一起。(3)记录和字段数据表可以被分为行和列,行称为记录(RECORD),列称为字段(FIELDS)。在表中同一行数据被称为一条记录。每一个信息行都可以设想为一个单独的实体,它可以根据需要进行存取或排列。例如,在前面所举的例子中,将学生表中的涉及同一学生的信息就包含在一条记录中。记录通常通过记录在数据表中的唯一的数据值来识别,这个数据值通常被称为主键。在表中同一列数据具有相似的信息,这些数据的列条目就是字段。例如学号、姓名等等。每一个字段都通过明确的数据类型来进行识别,常见的数据类型有文本型、数字型、货币型等,字段必须定义特定的长度,每个字段在顶行用一个名字来表明其具体信息类别。(4)数据值数据表中的行和列,即记录与字段的相交处就是值存储的数据元素。数据值的特点是不唯一性,在同一个表中,同一个值可能会重复出现。而每个数据值的字段和记录却是唯一的,字段可以用字段名来识别,记录则通常通过记录的某些唯一的特征符号来识别。JMARTIN给数据库下了一个比较完整的定义数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合“。43SQLSERVER数据库及其基本操作431新建数据库使用SQLSERVER2000新建一个数据库,首先安装MICROSOFTSQLSERVER。安装好以后,打开控制台根目录MICROSOFTSQLSERVER,在旗下新建数据库组名,这里我新建的是44,然后打开44在旗下的数据库中点击右键,在弹出的窗体中输入数据库的名称,点击确定,一个数据库就可以建成。432创建数据表表是SQLSERVER是数据库的基础,是信息的载体。其它对象如查询、窗体和报表,也是将表中的信息以各种形式表现出来,方便用户使用这些信息。在SQLSERVER2000中,创建表的方法有三种一是使用设计器创建表;二是通过输入数据创建表;三是利用向导创建表。在这里,我们采用第二种方法创建表在中文SQLSERVER2000中,可将数据直接输入到空白的数据表中,然后当保存这张新的数据表时,这个软件能分析数据并且自动为每一字段指定适当的数据类型及使用格式。为了执行该操作,首先要在数据库窗口中选定“对象”列表中的“表”项,然后单击工具栏中的“新建”按钮,进入“新建表”对话框后通过列表中的“数据表视图”项,此后,屏幕上将显示一个空数据表提供有默认的列名称,即字段字段1、字段2,。此时,可以立即输入数据记录,建立数据表了。44VB与SQLSERVER的连接(ADO)ADO(ACTIVEXDATAOBJECTS)中文名叫ACTIVEX数据对象。是一种战略性的,高层次的,独立于编程语言的,可以访问任何种类数据源的数据访问接口。大多数VB程序员选择通过ADO来引用包括ORACLE、ACCESS等数据库。ADO技术为连接数据源提供了三种方法ADO数据控件、DATAENVIRONMENTDESIGNER和代码中定义的对象。本程序应用的是在代码中定义对象的方法。连接让ADO与数据库建立连接PUBLICSQLCONNASADODBCONNECTIONPUBLICSCONNASSTRINGPUBLICSUBOPENCONNIFSQLCONNISNOTHINGTRUETHENSETSQLCONNNEWADODBCONNECTIONENDIFIFSQLCONNSTATE1THENSQLCONNOPENSCONNENDIFENDSUBPRIVATESUBCLASS_INITIALIZESCONN“PROVIDERMSDASQL1PERSISTSECURITYINFOFALSEDATASOURCELIBLINK“在这里我们新建的数据库以“LIBLINK”命名,表示LIBLINK是数据源名称ENDSUB打开了RECORDSET对象之后,我们就可以使用它的ADDNEW、,DELETE、UPDATE、MOVENEXT、FIND等方法了。45数据库设计441数据的属性基本信息表的属性如图41图书馆管理系统读者档案管理图书档案管理流通管理帮助退出图书借阅图书归还图书罚款图形41442数据库的总体ER图学生图书馆借阅,归还读者图书包含于姓名学号专业FIG42ER图形图45数据库ER图第5章系统详细设计51设计简述实施教育管理信息化标准是教育信息化工作的重要组成部分,是规范教育管理的基础工作。加强教育管理信息标准化工作,对发展教育事业,保障教育信息化健康有序发展,建立健全学校的管理信息系统,合理开发和使用教育管理信息化软件产品,提高社会效益和经济效益具有重要意义。图书馆信息管理系统具备了读者信息管理、图书管理、流通管理等功能。根据学生处需要,这套图书管理系统软件系统功能齐全,是专门针对大学图书馆信息管理部门对图书和读者的信息的管理而设计的系统。52系统功能设计521总模块用户总模块流程图如图53进入出口图书档案管理读者档案管理图书管理流通管理帮助退出档案查询图书借阅编程人员的信息关于返回退出图53用户模块流程图523基本信息管理模块读者基本信息添加流程图如图54读者信息修改和删除模块的流程图如图55读者信息查询模块的流程图如图56进入选择读者信息连接数据库显示指定读者信息出口是删除修改删除数据保存数据否否是图55读者基本信息删除和修改模块流程图是进入连接数据库输入指定编号指定读者编号存在显示指定编号的读者基本信息退出否图56读者基本信息查询流程图图54读者基本信息连接流程图进入输入读者基本信息连接数据库是否读者编号是重复保存数据出口523读者信息管理模块读者信息管理模块的添加和查询模块的流程图如图57和图58退出是否进入图57读者信息管理流程图否出口输入编号变动信息连接数据库编号是否重复替换是保存数据指定编号存在出口否是进入连接数据库输入指定编号显示指定编号的图书变动信息图58读者数据流程图524图书流通信息管理图书流通信息模块的流程图如图59和图510图59图书编号设置流程图进入输入相关信息连接数据库是否图书编号是否存在保存数据出口图510图书编号查询流程图是进入连接数据库输入指定编号指定编号存在显示指定读者编号的信息否退出53系统功能实现531基本信息管理模块窗体的实现图512基本信息模块菜单内容进入基本图书信息管理模块选择相应的操作包括档案录入,档案删除,档案修改,档案查询,如图512。图513基本信息添加窗体写入基本信息添加学生信息在要求有特殊的填写方式的输入框边上有填写说明,完成添加后显示添加信息成功,如图513。图514基本信息删除窗体选择档案删除操作,在显示框中显示选中要删除的信息,然后点击删除按钮,显示信息删除成功,如图514。图515基本信息修改窗体选择档案修改操作,在显示框中选择要修改的信息,修改完后,点击修改按钮,显示修改成功,如图515。图516基本信息查询窗体选择档案查询操作,可以选择按读者编号查询,姓名查询,图书查询,选择相应的查询条件后,点击查询按钮,显示与查询条件相符的内容,图516。533读者变动信息管理窗体的实现图517学籍变动菜单内容进入读者变动管理模块,选择相应的操作。包括退读者罚款记录,读者所借阅的图书编号,以及读者罚款应收金额,如图517。图518学籍变动添加窗体选择任一登记模块后,均可以变化在改动读者更改原因,选择正确的变动原因,写入更改原因,点击读者管理按钮,显示读者信息,如图518。第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自动配置的服务器。第7章结论经过三个多月的设计和开发,学生信息管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储,班级信息的管理,成绩的管理,转学、退学、降级的管理和管理员的管理功能以及其他一些功能。并提供部分系统维护功能,使用户方便进行对数据库的数据添加、数据修改、数据删除。对于数据的一致性的问题也基本通过程序进行了有效的解决。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档没有实现,打印功能没有实现,学籍变动信息和其他信息管理模块中的一些功能没有实现,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。致谢感谢我的导师傅春常,她在我做毕业设计的时间里给了我贴心的关怀和指导,同时也感谢我的身边的同学,在我做设计途中所给予的帮助。正是有他们的付出和真诚的帮助才使我顺利的完成设计,再次表示深深的感谢参考文献1洪国胜VISUALBASIC50/60范例教程(标准版)M人民邮电出版社200211172龚沛曾等VISUALBASIC程序设计教程(60版)M高等教育出版社200211453敬铮SQLSERVER2000数据库设计管理与应用M国防工业出版社200245774罗晓沛数据库技术M华中理工大学出版社200134885张立科VISUALBASIC60程序设计参考手册M人民邮电出版社200320256THOMASCONNOLLY,CARDYNBEGGDATABASESYSTEMAPRACTICALAPPROACHTORESIGN,IMPLEMENTATIONANDMANAGENTM人民邮电出版社2003年6月88907魏江江,林少果VISUALBASIC基础编程百例M清华大学出版社2001871118林永,张乐强VISUALBASIC60用户编程手册M人民邮电出版社2002991679皮鲁用VB编的木马源代码J网络红皮书2002,26(3)1610源江科技VB编程技巧280例M上海科学普及出版社200211江高举,刘致仪马上学会SQLSERVER2002M中国铁道出版社2001年9月118812CAN101208VB与数据库连接技巧WWW21CODECOM200513明日科技刘彬彬高春艳王茜VISUALBASIC程序设计自学手册人民邮电出版社(2007)第194852号附录1SQL的简介51SQL介绍本节概述SQL的目标、发展简史以及对数据库应用的重要性。511SQL目标理想地说,数据库语言允许用户建立数据库和关系结构完成基本数据管理任务,诸如从关系中插入、修改和删除操作数据。完成简单或复杂的查询。数据库语言必须功能丰富、结构简洁、易学易用。另外,语言必须易于移植,符合公认的标准,这样当我们更换到不同的DBMS时,仍可以使用相同的命令和语法结构。SQL语言满足这些要求。SQL语言是面向转换语言的实例,将输入的关系转换为所需的输出。作为语言,国际标准化组织(ISO)发布的SQL标准包括两个主要部分数据定义语言(DATADEFINITIONLANGUAGE,DDL),定义数据库结构和数据的访问控制。数据操作语言(DATAMANIPULATIONLANGUAGE,DML),定义数据检索和更新。SQL3出现以前,SQL仅包括数据定义和数据操作命令,不包括控制流命令,如IFTHENELSE,GOTO或DOWHILE。这些命令的实现必须用编程语言或任务控制语言或由用户交互决定。由于缺乏计算完整性,仅能用如下两种方式使用SQL。一种方法是,在终端交互地输入SQL语句。另一种方法是,将SQL语句嵌入到过程化语言中,这将在第21章详细讨论。第27章将讨论已于1999年成为规范的SQL3。SQL语言相对易学表现在非过程化语言用户只需描述所需的信息,不需给出获取该信息的具体过程。换句话说,SQL不需要指定数据的访问方法。SQL和大多数现代语言一样,是自由格式,这意味着语句的每一部分不必固定在屏幕上的特定位置。SQL命令由标准英语单词组成,如CREATETABLE,INSERT,SELECT等。例如CREATETABLESTAFFSTAFFNOVARCHAR5,1NAMEVARCHAR15,SALARYDECIMAL7,2INSERTINTOSTAFFVALUESSG16,BROWN,8300SELECTSTAFFNO,1NAME,SALARYFROMSTAFFWHERESALARY10000SQL能被数据库管理员、管理人员、应用程序开发者等各类终端用户广泛使用。现在,国际性的SQL语言标准已成为定义和操作关系数据库名义上和事实上的标准(ISO,1992,1999A)。512SQL历史正如第3章所述,关系模型(间接意义上的SQL)起源于在IBMSANJOSE研究室工作的EFCODD发表的一篇论文CODD,1970。1974年,该研究室的DCHAMBERLIN定义了一种称为SQL的结构化英语查询语言,或称为SEQUEL。1976年,其修改版本SEQUEL/2出现,然后正式改名为SQLCHAMBERLINANDBOYCE,1974CHAMBERLINETAL,1976。如今,仍有很多人将SQL读为“SEEQUEL”,尽管官方的读法为“SQL”。IBM在SEQUEL/2的基础上推出了称为SYSTEMR的DBMS原型,用于验证关系模型的可行性。除了其他方面的成果外,最重要的成果是开发了SQL。但是SQL的最初起源应当追溯到SYSTEMR前期的SQUARE(SPECIFYINGQUERIESASRELATIONALEXPRESSION)语言,它是一种用英语句子表示关系代数的研究语言。20世纪70年代末期,现名的ORACLECORPORATION推出了第一个基于SQL语言开发的商业RDBMSORACLE数据库系统。不久,又出现了基于QUEL查询语言的INGRES数据库系统,QUEL语言和SQL语言相比,结构化特性更强,但与英语不大类似。当SQL成为关系数据库系统标准语言后,INGRES也转向支持SQL的DBMS。1981年和1982年,IBM公司分别在DOS/VSE和VM/CMS环境下推出了第一个商业RDBMSSQL/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或SQL92(ISO,1992)。尽管一些特性是第一次在标准中提及,但实质上,它们已在SQL许多实现的一个或多个版本中以部分或类似的形式得体现。直到1999年,标准的一个新版本形成,通常称为SQL3(ISO,1999A)。这个版本附加了包括支持面向对象数据管理等特性,将在本书274节讨论。供应商基于标准之上提供的特性称为扩展。比如标准仅为SQL数据库中的数据确定了六种不同的数据类型。许多实现以不同的方式扩展了这个数据类型表。SQL的每个实现称为一种“方言”。没有两种方言完全相同,当前也没有方言和ISO标准完全匹配。而且当数据库供应商引进新的功能时,他们还扩展他们的SQL方言,使其离标准更远。但是SQL语言的核心部分还是越来越标准化了。虽然,SQL源于IBM公司的建议,但是它的重要性很快就激发了其他供应商建立了自己的实现系统。时至今日,成百个基于SQL的产品得到应用,而且新产品还在不断涌现。513SQL的重要性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)领域,而专门设计的实现也已出现。514术语ISO组织公布的SQL标准并未使用形式化的术语,如关系、属性和元组,而使用通用的术语如表、列和行。使用中,通常用ISO的术语表示SQL语句。注意,SQL并不严格支持第3章所描述的关系模型的定义。例如,SQL允许SELECT语句产生的结果表中包含重复行,它按列进行排序并且允许用户对表中的行进行排序。附录2图书馆管理系统的主要代码SQLSERVER数据库相关模块主要代码IFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBOFK_图书罚款_图书信息ANDOBJECTPROPERTYID,NISFOREIGNKEY1ALTERTABLEDBO图书罚款DROPCONSTRAINTFK_图书罚款_图书信息GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO图书归还_图书编号_FKANDOBJECTPROPERTYID,NISFOREIGNKEY1ALTERTABLEDBO图书归还DROPCONSTRAINT图书归还_图书编号_FKGOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO图书借阅_图书编号_FKANDOBJECTPROPERTYID,NISFOREIGNKEY1ALTERTABLEDBO图书借阅DROPCONSTRAINT图书借阅_图书编号_FKGOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBOFK_图书罚款_读者信息ANDOBJECTPROPERTYID,NISFOREIGNKEY1ALTERTABLEDBO图书罚款DROPCONSTRAINTFK_图书罚款_读者信息GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBOSF_图书借阅ANDOBJECTPROPERTYID,NISPROCEDURE1DROPPROCEDUREDBOSF_图书借阅GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBOSF_图书归还ANDOBJECTPROPERTYID,NISPROCEDURE1DROPPROCEDUREDBOSF_图书归还GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO图书信息ANDOBJECTPROPERTYID,NISUSERTABLE1DROPTABLEDBO图书信息GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO图书借阅ANDOBJECTPROPERTYID,NISUSERTABLE1DROPTABLEDBO图书借阅GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO图书归还ANDOBJECTPROPERTYID,NISUSERTABLE1DROPTABLEDBO图书归还GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO图书罚款ANDOBJECTPROPERTYID,NISUSERTABLE1DROPTABLEDBO图书罚款GOIFEXISTSSELECTFROMDBOSYSOBJECTSWHEREIDOBJECT_IDNDBO读者信息ANDOBJECTPROPERTYID,NISUSERTABLE1DROPTABLEDBO读者信息GOCREATETABLEDBO图书信息编号VARCHAR50COLLATECHINESE_PRC_CI_ASNOTNULL,书名VARCHAR200COLLATECHINESE_PRC_CI_ASNULL,作者VARCHAR100COLLATECHINESE_PRC_CI_ASNULL,出版社VARCHAR100COLLATECHINESE_PRC_CI_ASNULL,现存量INTNULL,库存总量INTNULL,入库时间SM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论