首页

> 学术发表知识库

首页 学术发表知识库 问题

关系数据库课程设计小论文

发布时间:

关系数据库课程设计小论文

一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语: 实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。 实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。 属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。 关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。 联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。 3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据结构、数据操作和完整性约束是构成数据模型的三要素。数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,用于DBMS的实现。 关系数据库采用关系模型作为数据的组织方式。 关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,Visual FoxPro等。 网络数据库也叫Web数据库。促进Internet发展的因素之一就是Web技术。由静态网页技术的HTML到动态网页技术的CGI、ASP、PHP、JSP等,Web技术经历了一个重要的变革过程。Web已经不再局限于仅仅由静态网页提供信息服务,而改变为动态的网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能。Web数据库就是将数据库技术与Web技术融合在一起,使数据库系统成为Web的重要有机组成部分,从而实现数据库与网络技术的无缝结合。这一结合不仅把Web与数据库的所有优势集合在了一起,而且充分利用了大量已有数据库的信息资源。图1-1是Web数据库的基本结构图,它由数据库服务器(Database Server)、中间件(Middle Ware)、Web服务器(Web Server)、浏览器(Browser)4部分组成。 Web数据库的基本结构 它的工作过程可简单地描述成:用户通过浏览器端的操作界面以交互的方式经由Web服务器来访问数据库。用户向数据库提交的信息以及数据库返回给用户的信息都是以网页的形式显示。 1.1.1 Internet技术与相关协议 Internet技术在Web数据库技术中扮演着重要的角色。Internet(因特网)专指全球最大的、开放的、由众多网络相互连接而成的计算机网络,并通过各种协议在计算机网络中传递信息。TCP/IP协议是Internet上使用的两个最基本的协议。因此也可以说Internet是全球范围的基于分组交换原理和TCP/IP协议的计算机网络。它将信息进行分组后,以数据包为单位进行传输。Internet在进行信息传输时,主要完成两项任务。 (1)正确地将源信息文件分割成一个个数据包,并能在目的地将源信息文件的数据包再准确地重组起来。 (2)将数据包准确地送往目的地。 TCP/IP协议的作用就是为了完成上述两项任务,规范了网络上所有计算机之间数据传递的方式与数据格式,提供了数据打包和寻址的标准方法。 1.TCP/IP协议 TCP协议(Transmission Control Protocol,传输控制协议)规定了分割数据和重组数据所要遵循的规则和要进行的操作。TCP协议能保证数据发送的正确性,如果发现数据有损失,TCP将重新发送数据。 2.IP协议 在Internet上传送数据往往都是远距离的,因此在传输过程中要通过路由器一站一站的转接来实现。路由器是一种特殊的计算机,它会检测数据包的目的地主机地址,然后决定将该数据包送往何处。IP协议(Internet Protocol,网际协议)给Internet中的每一台计算机规定了一个地址,称为IP地址。IP地址的标准是由4部分组成(例如202.112.203.11),其中前两部分规定了当前使用网络的管理机构,第3部分规定了当前使用的网络地址,第4部分规定了当前使用的计算机地址。 Internet上提供的主要服务有E-mail、FTP、BBS、Telnet、WWW等。其中WWW(World Wide Web,万维网)由于其丰富的信息资源而成为Internet最为重要的服务。 3.HTTP协议 HTTP协议(Hypertext Transfer Protocol,超文本传输协议)应用在WWW上,其作用是完成客户端浏览器与Web服务器端之间的HTML数据传输。 1.1.2 Web的工作原理与工作步骤 万维网简称为Web。Web可以描述为在Internet上运行的、全球的、交互的、动态的、跨平台的、分布式的、图形化的超文本信息系统。 1.Web的工作原理 Web是伴随着Internet技术而产生的。在计算机网络中,对于提供Web服务的计算机称为Web服务器。Web采用浏览器/服务器的工作方式。每个Web服务器上都放置着大量的Web信息。Web信息的基本单位是Web页(网页),多个网页组成了一个Web节点。每个Web节点的起始页称为“主页”,且拥有一个URL地址(统一资源定位地址)。Web节点之间及网页之间都是以超文本结构(非线性的网状结构)来进行组织的。 2.Web的工作步骤 Web的工作步骤如下。 (1)用户打开客户端计算机中的浏览器软件(例如Internet Explorer)。 (2)用户输入要启动的Web主页的URL地址,浏览器将生成一个HTTP请求。 (3)浏览器连接到指定的Web服务器,并发送HTTP请求。 (4)Web服务器接到HTTP请求,根据请求的内容不同作相应的处理,再将网页以HTML文件格式发回给浏览器。 (5)浏览器将网页显示到屏幕上. 图1-2 Web的工作步骤 1.1.3 WWW世界中的标记语言 1.HTML语言 HTML(Hypertext Markup Language,超文本标记语言)是创建网页的计算机语言。所谓网页实际上就是一个HTML文档。文档内容由文本和HTML标记组成。HTML文档的扩展名就是.html或.htm。浏览器负责解释HTML文档中的标记,并将HTML文档显示成网页。 (1)HTML标记 HTML标记的作用是告诉浏览器网页的结构和格式。每一个标记用尖括号<>括起来。大多数标记都有一个开始标记和一个结束标记。标记不分大小写。多数标记都带有自己的属性。例如字体标记有FACE、COLOR、SIZE等属性:FACE定义字体;COLOR定义字体的颜色;SIZE定义字体的大小。 使用格式: BEIJING 。 网页中有很多文本链接和图片链接。链接,又被称为超链接,用于链接到WWW万维网中的其他网页上。在HTML文档中表示超链接的标记是,通过属性HREF指出链接的网页地址URL。 使用格式: BEIJING 。 (2)HTML程序 HTML程序必须以标记开始,以标记结束。在和标记之间主要由两部分组成:文件头和文件体。文件头用标记 来标识,文件体用标记来标识。在文件的头部通常包含整个网页的一些信息。例如标记是用来说明网页的名称;标记是用来说明网页的其他信息,如设计者姓名和版权信息等。所有在浏览器中要显示的内容称为网页的主体,必须放在标记中。下面给出的是一个空网页的HTML程序。 (在此标记中写网页的标题) (在此标记中写网页的内容) (3)HTML规范 HTML规范又称为HTML标准,它总在不断地发展。每一新版本的出现,HTML都会增加新的特性和内容。有关HTML版本的详细信息请访问网站。 在不同的浏览器中,网页的显示效果可能会有所不同。每一个浏览器都使用自己独特的方式解释HTML文档中的标记,并且多数浏览器不完全支持HTML的所有特性。因为,像Microsoft和Netscape公司在HTML标准上又开发了一些特有的HTML标记和属性,称之为HTML的扩展。这些标记和属性只被他们自己的浏览器所识别,不可能被其他公司的浏览器识别。如果浏览器不能识别HTML文档中的标记,则会忽略这个标记。 (4)HTML程序的编辑环境与运行环境 HTML文档是一个普通的文本文件(ASCII),不包含任何与平台、程序有关的信息。因此HTML文档可以利用任何文本编辑器来方便地生成。要注意的是HTML文档的扩展名必须是.html或.htm。运行HTML文档可以在任何浏览器下进行,并可在浏览器上查看网页的HTML源代码。 关于HTML语言中标记的种类与使用方法将会在第5章中更详细地进行介绍。 2.可扩展标记语言(XML) HTML是Web上的通用语言,随着Internet的深入人心,WWW上的Web文件日益复杂化、多样化,人们开始感到了HTML这种固定格式的标记语言的不足。1996年W3C开始对HTML的后续语言进行研究,并于1998年正式推出了XML(Extensible Markup Language,可扩展标记语言)。在设计网页时,XML提供了比HTML更灵活的方法。 (1)XML语言的特点 XML是国际组织W3C为适应WWW的应用,将SGML (Standard Generalized Markup Language)标准进行简化形成的元标记语言。简单地说,XML是使用标记来描述内容或与内容相关的形式信息的通用语言。一个XML文档由标记和字符数据组成。 而作为元标记语言,XML不再使标记固定,允许网页的设计者定义数量不限的标记来描述内容,同时还允许设计者创建自己的使用规则。 (2)XML的DTD DTD(Document Type Definition,文档类型定义)是一组应用在XML文档中的自定义标记语言的技术规范。DTD中定义了标记的含义及关于标记的语法规则。语法规则中确定了在XML文档中使用哪些标记符,它们应该按什么次序出现,标记符之间如何 嵌套,哪些标记符有属性等等。DTD可以包含在它所描述的XML文档中,但通常它是一份单独的文档或者一系列文档。作为外部文件可通过URL链接,被不同的XML文档 共享。 XML把DTD的定义权开放,不同行业可以根据自己的实际需求定义描述内容的DTD,以适应本行业内部的信息交流和存档需要。因此,适合于不同行业、不同平台的标记语言大批涌现。 (3)XML的CSS与XSL 强调内容描述与形式描述的分离,一方面可以使XML文件的编写者更集中精力于数据本身,而不受显示方式的细节影响;另一方面允许为相同的数据定义不同的显示方式,从而适合于不同应用、不同媒体,使XML数据得到最大程度的重用。XML文档数据的显示形式是通过样式单定义的。CSS(Cascading Style Sheets)是XML使用的一种标准的级联样式单,XSL(Extensible Style Language)则是可扩展的样式语言。 由于XML允许用户创建任何所需的标记,而通用浏览器却既无法预期用户标记的意义,又无法为显示这些标记而提供规则,因此用户必须为自己创建的XML文档编写样式单,样式单可以实现共享。 浏览器对一个XML文档的处理过程是,首先去关联它所指定的样式单文件,如果该样式单是一个XSL文件,则按照规定对XML数据进行转换然后再显示,XSL本身也是基于XML语言的,可以将XML转化为HTML后再显示。如果该样式单是一个CSS文件,浏览器就会按照样式单的规定给每个标记赋予一组样式后再显示。 1.2 Web数据库访问技术 Web数据库访问技术通常是通过三层结构来实现的,如图1-3所示。目前建立与Web数据库连接访问的技术方法可归纳为CGI技术,ODBC技术和ASP、JSP、PHP 技术。 Web数据库访问的三层结构 1.2.1 CGI技术 CGI(Common Cateway Interface,通用网关界面)是一种Web服务器上运行的基于Web浏览器输入程序的方法,是最早的访问数据库的解决方案。CGI程序可以建立网页与数据库之间的连接,将用户的查询要求转换成数据库的查询命令,然后将查询结果通过网页返回给用户。一个CGI工作的基本原理如图1-4所示。 CGI程序需要通过一个接口才能访问数据库。这种接口多种多样,数据库系统对CGI程序提供了各种数据库接口如Perl、C/C++、VB等。为了使用各种数据库系统,CGI程序支持ODBC方式,通过ODBC接口访问数据库。 CGI工作流程 1.2.2 ODBC技术 ODBC(Open Database Connectivity,开放数据库互接)是一种使用SQL的应用程序接口(API)。ODBC最显著的优点就是它生成的程序与数据库系统无关,为程序员方便地编写访问各种DBMS的数据库应用程序提供了一个统一接口,使应用程序和数据库源之间完成数据交换。ODBC的内部结构为4层:应用程序层、驱动程序管理器层、驱动程序层、数据源层。它们之间的关系如图1-5所示。由于ODBC适用于不同的数据库产品,因此许多服务器扩展程序都使用了包含ODBC层的系统结构。 ODBC的内部结构 Web服务器通过ODBC数据库驱动程序向数据库系统发出SQL请求,数据库系统接收到的是标准SQL查询语句,并将执行后的查询结果再通过ODBC传回Web服务器,Web服务器将结果以HTML网页传给Web浏览器,工作原理如图1-6所示。 Web服务器通过ODBC访问数据库 由于Java语言所显示出来的编程优势赢得了众多数据库厂商的支持。在数据库处理方面,Java提供的JDBC为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口。它规定了Java如何与数据库之间交换数据的方法。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性。 1.2.3 ASP、JSP、PHP技术 ASP是Microsoft开发的动态网页技术,主要应用于Windows NT+IIS或 Windows 9x+PWS平台。确切地说ASP不是一种语言,而是Web服务器端的开发环境。利用ASP可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP支持多种脚本语言,除了VBScript和Pscript,也支持Perl语言,并且可以在同一ASP文件中使用多种脚本语言以发挥各种脚本语言的最大优势。但ASP默认只支持VBScript和Pscript,若要使用其他脚本语言,必须安装相应的脚本引擎。ASP支持在服务器端调用ActiveX组件ADO对象实现对数据库的操作。在具体的应用中,若脚本语言中有访问数据库的请求,可通过ODBC与后台数据库相连,并通过ADO执行访问库的操作。关于ASP的编程技术将会在第7章中详细介绍。 JSP是Sun公司推出的新一代Web开发技术。作为Java家族的一员,几乎可以运行在所有的操作系统平台和Web服务器上,因此JSP的运行平台更为广泛。目前JSP支持的脚本语言只有Java。JSP使用JDBC实现对数据库的访问。目标数据库必须有一个JDBC的驱动程序,即一个从数据库到Java的接口,该接口提供了标准的方法使Java应用程序能够连接到数据库并执行对数据库的操作。JDBC不需要在服务器上创建数据源,通过JDBC、JSP就可以实现SQL语句的执行。 PHP是Rasmus Lerdorf推出的一种跨平台的嵌入式脚本语言,可以在Windows、UNIX、Linux等流行的操作系统和IIS、Apache、Netscape等Web服务器上运行,用户更换平台时,无需变换PHP代码。PHP是通过Internet合作开发的开放源代码软件,它借用了C、Java、Perl语言的语法并结合PHP自身的特性,能够快速写出动态生成页面。PHP可以通过ODBC访问各种数据库,但主要通过函数直接访问数据库。PHP支持目前绝大多数的数据库,提供许多与各类数据库直接互连的函数,包括Sybase、Oracle、SQL Server等,其中与SQL Server数据库互连是最佳组合。 1.3 网络数据库应用系统的层次体系 当前,Internet/Intranet技术发展异常迅速,越来越多的数据库应用软件运行在Internet/Intranet环境下。在此之前,数据库应用系统的发展经历了单机结构、集中式结构、客户机/服务器(C/S)结构之后,随着Internet的普及,又出现了浏览器/服务器(B/S)结构与多层结构。在构造一个应用系统时,首先考虑的是系统的体系结构,采用哪种结构取决于系统的网络环境、应用需求等因素。 1.3.1 客户机/服务器结构 1.二层C/S结构 二层C/S结构是当前非常流行的数据库系统结构,在这种结构中,客户机提出请求,服务器对客户机的服务请求做出回答。它把界面和数据处理操作分开在前端(客户端)和后端(服务器端),这个主要特点使得C/S系统的工作速度主要取决于进行大量数据操作的服务器,而不是前端的硬件设备;同时也大大降低了对网络传输速度的要求,因为只须客户端把服务请求发送给数据库服务器,数据库服务器只把服务结果传回前端,如图1-7所示。 在设计时,对数据可能有如下不同的处理形式。 (1)在处理时,客户机先向服务器索取数据,然后释放数据库,即客户机发出的是文件请求,在客户机端处理数据,最后将结果送回服务器。这种处理方式的缺点很明显:所有的应用处理都在客户端完成,这就要求客户端的计算机必须有足够的能力,以便执行需要的任何程序。更为糟糕的是,由于所有的处理均在客户端完成,每次运行时都要将文件整体传送到客户端,然后才能执行。如:Student表中有30 000条记录,客户端发出命令: Select * From Student Where Sno='200101' 这条命令将要求服务器将Student表中的所有记录传送到客户端,然后在客户端执行查询,结果只用到一条记录;如果查询的记录不存在,网络传输的数据实际上是无 用的。如此大的数据传输量是不可想象的。因此,人们提出了在服务器中能够执行部分代码的客户机/服务器结构。 (2)在处理时,客户机接受用户要求,并发给服务器;在服务器端处理用户要求,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小。客户机向服务器发出的是处理请求,而不是文件请求,处理请求中的代码在服务器端执行后向客户机传送处理后的结果。 这样,为了特定任务,客户机上的程序和服务器上的程序协同工作:客户机端的代码用于完成用户的输入输出及数据的检查,而服务器端的代码完成对数据库的操作。 客户机/服务器结构的另一个主要特点在于软件、硬件平台的无关性。数据库服务器上的数据库管理系统集中负责管理数据,它向客户端提供一个开放的使用环境,客户端通过数据库接口,如ODBC(开放数据库连接)和SQL语言访问数据库,也就是说,不管客户端采用什么样的硬件和软件,它只要能够通过网络和数据库接口程序连接到服务器,就可对数据库进行访问。 在客户机/服务器结构中,常把客户机称为前台,而把服务器端称为后台。前台应用程序的功能包括用户界面、接收用户数据、处理应用逻辑、向后台发出请求、同时接收后台返回的结果,最后再将返回的结果按一定的格式或方式显示给用户。而后台服务器则负责共享外部设备、存取共享数据、响应前台客户端的请求并回送结果等工作。前台的应用程序和数据一般是用户专用的,而后台的数据和代码是所有用户可以共享的。 由于数据库服务器不仅要管理共享数据,保证数据的完整性,还要执行一部分代码,完成客户端的一些处理请求,所以对用于服务器的计算机提出较高的要求。最好要采用一台专用的服务器,有较快的处理速度,有大容量的硬盘和内存,支持磁带等大容量的存储设备。 上面讲的客户机/服务器结构将应用分在了客户机、服务器两级,称其为两层客户机/ 服务器结构。总之,两层C/S结构的基本工作方式是客户程序向数据库服务器发送SQL请求,服务器返回数据或结果。 这种C/S结构有两种实现方式,一种是客户来完成表示部分和应用逻辑部分,而服务器完成数据访问部分,这种情况是以客户为中心的,适用于应用相对简单、数据访问量不是很大的情况。另一种是以服务器为中心的,把一些重要的应用逻辑部分放到服务器上,这样可充分利用服务器的计算能力,减少网络上需要传送的数据。通常以存储过程和触发器的形式出现,但存储过程都依赖于特定数据库,不同数据库之间很难移植,而三层C/S结构可以很好地解决这个问题。 注意:触发器(trigger)是数据库系统中,一个在插入、删除、修改操作之后运行的记录级事件代码。不同的事件可以对应不同的动作。通常有3种类型的触发器:INSERT触发器、DELETE触发器和UPDATE触发器。 2.三层C/S结构 由于两层结构的客户机/服务器系统本身固有的缺陷,使得它不能应用于一些大型、结构较为复杂的系统中,故出现了3层结构的客户机/服务器系统,将两层结构中服务器部分和客户端部分的应用单独划分出来,即采用“客户机—应用服务器—数据库服务器”结构(如图1-8所示)。典型的数据库应用可分为三部分:表示部分、应用逻辑(商业逻辑)部分和数据访问部分,三层结构便是对应于这三部分。 图1-8 三层C/S结构 其中,应用服务器和数据库服务器可位于同一主机,也可位于不同主机。客户机是应用的用户接口部分,负责用户与应用程序的交互,运行在客户机端的软件也称为表示层软件。应用服务器存放业务逻辑层(也称为功能层)软件,是应用逻辑处理的核心,实现具体业务。它能响应客户机请求,完成业务处理或复杂计算。若有数据库访问任务时,应用服务器层可根据客户机的要求向数据库服务器发送SQL指令。应用逻辑变得复杂或增加新的应用时,可增加新的应用服务器。数据库服务器便是用来执行功能层送来的SQL指令,完成数据的存储、访问和完整性约束等。操作完成后再通过应用服务器向客户机返回操作结果。 1.3.2 浏览器/服务器结构 随着Internet技术和Web技术的广泛应用,C/S结构已无法满足人们的需要。因为在典型C/S体系中,通常为客户安装前端应用程序的做法已不再现实,并且限制客户端工作环境只能基于Windows、Macintosh或UNIX等操作系统也不切实际。于是基于浏览器/服务器结构(Browser/Server)的系统应运而生。 采用B/S结构后,在客户端只需安装一个通用的浏览器即可,不再受具体操作系统和硬件的制约,实现了跨平台的应用。 基于B/S结构的典型应用通常采用三层结构:“浏览器—Web服务器—数据库服务器”,B/S模式的工作原理是:通过浏览器以超文本的形式向Web服务器提出访问数据库的请求,Web服务器接受客户请求后,激活对应的CGI程序将超文本HTML语言转化为SQL语法,将这个请求交给数据库,数据库服务器得到请求后,进行数据处理,然后将处理结果集返回给CGI程序。CGI再将结果转化为HTML,并由Web服务器转发给请求方的浏览器,如图1-9所示。 图1-9 B/S工作原理 在B/S模式中,客户端的标准配置是浏览器,如IE;业务功能处理由独立的应用服务器处理,Web服务器成为应用处理的标准配置;数据处理仍然由数据库服务器处理。 从本质上讲,B/S结构与传统的C/S结构都是以同一种请求和应答方式来执行应用的,区别主要在于:C/S是一种两层或三层结构模式,其客户端集中了大量应用软件,而B/S是一种基于超链接(HyperLink)、HTML、Java的三级或多级C/S结构,客户端仅需单一的浏览器软件,是一种全新的体系结构,解决了跨平台问题。到目前,这两种结构在不同方面都有着广泛的应用。虽然C/S结构在Internet环境下明显不如B/S结构具有优势,但它在局域网环境下仍具有优势。 1.3.3 Internet/Intranet信息系统的多层体系结构 多层结构应用软件与传统的两层结构应用软件相比,有可伸缩性好、可管理性强、安全性高、软件重用性好等诸多优点,如何在Internet/Intranet环境下构建应用软件体系结构就成为一个非常重要的问题,也是现今软件体系研究的一个新热点。 目前各种技术层出不穷,如最初的静态HTML页面、简单的CGI网关程序、Java Applet程序,现在的ASP等Web数据库技术,还有动态的Java在线游戏及PHP技术等。 实际上,多层的概念是由Sun公司提出来的。Sun公司提出的多层应用体系包括4层:客户层、顶端Web服务层、应用服务层和数据库层。其中顶端Web服务层是Sun公司多层体系结构中非常重要的一层,它主要起代理和缓存的作用。顶端Web服务器的作用是缓存本地各客户机经常使用的Java Applet程序和静态数据,通常被放置在客户机所在的局域网内,起到一个Java Applet主机(向Web浏览器传送Java Applet程序的计算机)和访问其他服务的代理作用。与普通代理服务器的作用相同。构建多层结构应用软件时,选用Java平台是一个很好的选择,因为它跨越各应用平台。总之,在Java平台上构建多层应用软件体系代表着今后Internet/Intranet应用的趋势。

库存管理数据库系统原理与应用【摘 要】库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析如此情况,我们使用微软公司的VisualBasic开发工具,利用其提供的各种面向对象的开发工具,尤其是ADO,是能方便而简洁操纵数据库的智能化对象,短期内就可以开发出用户满意的可行系统。 关键字: 库存管理 ADO 面相对象 库存ABC分析 第一章 概述 1.1 库存管理的必要性 大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。 1.2 库存分类 企业怎样管理库存,是库存管理的最大难点和挑战。因此,通过MRPII物料主计划模块和采购模块建立计划与控制系统以有效地实施库存管理和采购补偿成为题中应有之义。通过调查,我们得知任何库存均可分为如下三类: A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。 B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。 C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。 显然,A类物品是关键;如果我们把精力集中于A类物品,使其库存压缩10-50%,就是总库存的相当可观的一笔压缩。 关于ABC分类方法有几条基本法则: a. 控制的程度: 对A类物品严加控制,包括做完备、准确的记录,高层监督和经常评审,从供应商按大合同订单频繁交货,对车间紧密跟踪以压缩提前期。 对B类物品做正常控制,包括良好的记录与常规的关注。 对C类物品尽可能使用简便的控制,诸如定期目视检查库存实物、简要记录或以简便标志法表明补充存货已经订货,采用大库存量与订货量以避免缺货,安排车间日程计划时给以低优先级。 b.优先级 在一切活动中给A类物品以高优先级以压缩其提前期与库存。 对B类物品予以正常处理,仅在关键时给以高优先级。 予C类物品以最低优先级。 c.订货过程 对A类物品提供及时、准确的采购信息和状态查询。计算机数据需要人工加以核对,进行阶段性盘点,以及频繁的评审以压缩库存。 对B类物品,按一定周期或当发生重大变化时评审一次库存数据和订货点,MRPII操作按例行公事处理。 对C类物品可以盘点处理或订货点计算。订货往往不用MRPII作计划。可以凭业务人员的经验加以控制。 由上可以看出库存管理的重要性。因此,库存管理是企业管理的重要组成部分。市场需要库存商品提供给用户,企业的经营需要库存保证各种药品的供应以进行药品的销售,库存对生产效率的提高有着极其重要的影响。因此,库存管理系统是计算机管理系统的中心。因为,所有企业的经营活动都离不开物流的活动。 1.3 库存管理的目标 库存管理的主要目标就是通过对仓库所有入出库活动的管理和控制及对库存数据有效的统计和分析,以保证企业生产中畅通的物流,使决策人员及早发现问题,采取相应措施,调整库存结构,缩短储备周期,加速资金周转,最大限度地降低库存占用,同时,通过周期性的仓库盘点,及时补救管理中的漏洞,使库存管理系统实时地反映企业中各个仓库的现时情况,为各类管理人员从不同侧面提供所需信息,以便协调企业经营收到更大效益,库存管理系统是协调企业生产经营的基础,其数据的准确性、方便的查询、有效的分析是整个计算机管理系统顺利运行的关键。 第二章 开发背景 企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。 根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。 一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。 第三章 系统分析 本系统采用了结构化生命周期法,结构化生命周期法是最常用的管理信息系统开发方法,分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现。其中系统调研分析阶段是最基础、也是最容易被开发人员忽视的环节。 3.1进行资料收集 在整个系统分析阶段,我在图书馆认真查看了很多关于仓库库存管理方面的书籍,收集到了相应的入库单、领料单、台账、物料卡、报表等资料。 入库单是入库单位在把相应的零部件送人仓库时必须填写的单据;领料单是领料人员从仓库中领取零部件时必须填写的单据(即出库);零部件台账(相当于本系统中的操作日志)实际是一个流水账,用于记录每天发生的入库、出库信息;物料卡(在本系统中用现有库存信息来表示)的作用是记录某一种零部件的数量变化,以便库管员盘查;报表是仓库向有关领导和部门定期提交的零部件库存汇总信息。收集到的入库单、领料单、零部件库存台账、零部件物料卡等单据和报表的实物样式在此略去,有兴趣者请参考有关类似企业的样本即可。 3.2绘制业务流程图 3.3用户需求分析 用户需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和系统的功能模块。用户需求调研结束之后,应该立即进行用户需求分析。 3.3.1应用程序结构确定 从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单用户应用程序结构、多层服务器应用程序结构、浏览器/服务器应用程序结构、客户机/服务器应用程序结构等5种类型。 本库存管理系统就采用了当前最流行的客户机/服务器应用程序结构(即C/S结构),此时,客户机提出请求,服务器对客户机的请求作出回应。通过对服务功能的分布实现了分工服务。数据存储层放在服务器上,业务处理层和界面表示层放在客户机上,因此又被称为“灵敏的客户机”结构。许多操作可以在本地的客户机上执行,只是当需要数据时,才向服务器发出请求。并使应用程序的处理更接近用户,使整个系统具有较好的性能,可以并行地处理应用程序的请求、减少了数据传输量、降低了服务器的负荷。由于条件所限,将此系统所有程序都置于一台计算机上,以便调试运行。3.3.2确定系统开发环境 由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境: ★网络操作系统:Windows2000;★数据库服务器:MicrosoftAccessr2000; ★服务器平台:Windows2000;★客户机平台:Windows95/98/NT/2000; ★前端开发工具:visualBasic6.0(企业版);★数据访问对象:ADO(本系统使用ADO控件,简化编程)。 3.3.3确定系统的功能模块 通过分析确定库存系统将包含6个主要功能模块,即系统模块、入库业务管理模块、出库业务管理模块、退料业务管理模块(还库业务管理模块)、盘点业务管理模块(报表输出)、需求管理模块。对于每一个功能模块,都包含了数据录入、编辑、查询、统计、打印、应急、帮助等功能。 第四章 系统设计 4. 1总体设计 4.1.1系统目标设计 系统开发的总体任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到企业仓库库存管理效率的目的。 4.1.2开发设计思想 库存管理的物资主要是企业生产中所需要的各种设备、原材料及零部件。进货时经检查合同确认为有效托收后,进行验收入库,填写入库单,进行入库登记。企业各个部门根据所需要的物资设备总额和部门生产活动需要提出物资需求申请。计划员根据整个企业的需求开出物资设备出库单,仓库管理员根据出库单核对发放设备、原材料及零部件。有些设备使用完毕需要及时归还入库,填写还库单。根据需要按照月、季、年进行统计分析,产生相应报表。 仓库库存管理的特点是信息处理量比较大。所管理的物资设备、原材料及零部件种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同,因此在管理上实现起来有一定的困难。在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门规格不统等问题。 在本系统的设计过程中,为了克服这些困难,满足计算机管理的需要,我们采取了下面的一些原则:  统一各种原始单据的格式,统一帐目和报表的格式。  删除不必要的管理冗余,实现管理规范化、科学化。  程序代码标准化,软件统一化,确保软件的可维护性和实用性。  界面尽量简单化,做到实用、方便,尽量满足企业中不同层次员工的需要。  建立操作日志,系统自动记录所进行的各种操作。 4.1.3系统功能分析 本系统需要完成的功能主要有以下几点。  库存管理的各种信息的输入,包括入库、出库、还库、需求信息的输入等。  库存管理的各种信息的查询、修改和维护。  设备采购报表的生成。  在材料库存中加入所允许的最大库存合最小库存字段,对所有库存物资实现监控和报警。  企业各个部门的物资需求管理。  操作日志的管理  库存管理系统的使用帮助。 4.2详细设计 4.2.1 系统功能模块设计 系统模块 a. 包括报表的打印及设置,操作日志的管理。 b. 管理员可以通过管理界面添加或删除用户,添加新管理员或删除原有管理员,验证用户的合法性,阻止非法用户登录。 c. 管理员或其他用户可以修改自己的密码。 (2) 入库模块 包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及打印 (3) 出库模块 包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及打印 (4) 还库模块 包括填写还库单,更新,删除还库记录,还库记录的查询及打印 (5) 需求模块 包括填写需求计划表,更新,删除采购计划信息,查看现有采购信息,采购信息的查询及打印,以及预测短期内的需求计划。 4.2.2数据库设计 数据库需求分析 通过对企业仓库管理内容和数据流程分析,设计的数据项合数据结构如下:  设备代码信息。包括的数据项有设备号、设备名称。  现有库存信息。包括的数据项有现有设备、现有数目、最大库存、最小库存等。  设备使用信息。包括的数据项有使用的设备、使用部门。数目。使用时间、出库时状态等。  设备采购信息。包括的数据项有采购的设备、采购员、供应商、采购数目、采购时间等。  设备归还信息。包括的数据项有归还设备、归还部门、归还数目、归还时间、经手人等。  设备需求信息。包括的数据项有需求的部门、需求设备、需求数目、需求时间等。 有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计。 数据库概念结构设计 这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。根据上面的设计规划出的实体有库存实体、出库实体、入库实体、采购实体、还库实体、需求实体。 数据库逻辑结构设计 在上面的实体以及实体之间关系的基础上,形成各个表格之间的关系。 4.3 代码设计 任何库存均可分为如下三类: A类物品:高值──价值占库存总值70-80%的相对少数物品。通常为物品的15-20%。 B类物品:中值──总值占库存总值的15-20%。物品数居中,通常占物品的30-40%。 C类物品:低值──库存总值几乎可以忽略不计,只占5-10%。是物品的大多数,通常占60-70%。 4.4 输入输出设计 本系统界面标准Windows形式,键盘输入(也可以用条形码读取),人机交互,容易使用。输入输出的设计考虑美观实用和通俗易懂,图文并茂。 4.5系统安全性设计 系统数据库中包含多个二维表,所以在系统与数据库的连接上,并没有把数据库和系统的连接直接写入代码,而是通过对服务器端进行系统设置,使数据库名及路径不可见,并通过ACCESS的数据库安全设置,保证了数据库的安全性。系统根据用户身份不同赋予不同权限,用户用密码登陆,同样也保证了系统数据的安全性。 第五章 系统实施 5.1、开发工具简介 本系统的前端开发工具,我选择了Visual Basic6.0,后台数据库采用Access2000。 5.1.1 VB简介 Visual意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。 5.1.2 VB功能特点  具有面向对象的可视化设计工具 在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能程序,因而程序设计的效率可大大提高。  事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只要编写响应用户动作的代码,而各个动作之间不一定有联系。  提供了易学易用的应用程序集成开发环境 在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。  结构化的程序设计语言 VB具有丰富的数据类型和结构化程序结构,作为一种程序设计语言,它还有如下一些特点:  强大的数值和字符串处理功能  丰富的图形指令,可方便地绘制各种图形  提供静态和动态数组,有利于简化内存的管理  过程可递归调用,使程序更为简练  支持随机文件和顺序文件的访问  提供了一个可供应用程序调用的包含多种类型的图标库  具有完善的运行出错处理  支持多种数据库系统的访问 利用数据控件可访问的数据库系统有:Microsoft Access、Btrieve、DBASE、Microsfot FoxPro和Paradox等,也可以访问Microsoft Excel、Lotus1-2-3等多种电子表格。  支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术  完备的HELP联机帮助功能 与Windows环境下的软件一样,在VB中,利用帮助菜单和F1功能键,用户可以随时方便地得到所需要的帮助信息。VB帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供了极大的方便。 VB程序设计的概念就是面向对象的概念,对象就是数据(DATA)和代码(CODE)互相结合的综合体。Windows上面的每一个图标,包括窗口本身都是对象,如果没有任何事情发生,对象处于停顿状态。当存在外来事件时,程序段执行,它的执 行是由外来事件决定的。因此是“事件”驱动的。 编写VB程序较为简单,首先将各个对象放在空白窗体上,然后将程序代码分别添加给对象或图标,将它们组合起来就可以随意运行了。 在VB中,窗体实际上是一个对象,VB的窗体含有许多内嵌特性,这使得用户界面部分的建立像是从一个目录中挑选一个个合适的控件,而不是从零开始一步一步地建立控件。这种开发者能亲眼看到的程序设计过程就是“可视化程序设计”(Visual Programming) 5.1.3 VB中的基本概念 对象:面向对象编程(OOP)的提法大家一定也很耳熟,虽然Visual Basic并不是完全的面向对象编程,但也利用了对象编程技术。对象简单地说就是大家经常看到的各种窗口、按钮、文本框甚至打印机等。 属性:如同电视有黑白、彩色之分一样,作为对象的Windows中的窗口也是有大有小,文本框的位置不可能完全一样,菜单要显示出不同的功能,这些都是由对象的属性决定的。不同对象的属性可能不同。属性一般决定了对象的位置、大小、显示等情况。 方法:就是对象能够做的事,如打印机对象就有打印(Print)方法、窗口对象支持隐藏(Hide)方法、很多对象支持移动(Move)方法等。 事件:就是对象对用户各种操作的反映情况。如用户用鼠标按一下按钮,就会触发按钮的“按”(Click)事件。 控件:控件就是Visual Basic提供的编程用的模块,与对象有直接的联系,如同积木的木块,使用这样的控件,就可以像拼图或堆积木一样“搭”、“拼”你的程序界面。Visual Basic中使用控件,简化了Windows中的窗口、按钮等对象的编程设计。每个控件都有各自的属性、事件及方法。只需修改这些特征你就可以随心所欲地编程了。最重要的是,你可以利用成千上万的各种扩充的控件来快速构造几乎能满足你任何要求的程序。例如,如果你不满意Windows简陋的媒体播放器,你就可以使用VB的多媒体控件在1小时以内设计一个完全自己风格的能够播放CD、VCD的多媒体播放器,而功能完全与之相当。 5.1.4 Access2000数据库简介 作为Microsoft的office套件产品之一,access已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库系统有所补充。它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,Microsoft FoxPro)和服务器、小型机及大型机上的许多SQL数据库。Access还完全支持Microsoft的OLE技术。 Access还提供windows操作系统的高级应用程序开发系统。Access与其它数据库开发系统之间相当显著的区别就是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是完全可视的!如果您能给它加上简短的VBA代码,那么您的程序决不比专业程序员潜心开发的程序差。Access的总体结构 Access将所有有名字的东西都成为对象(object),在Access 2000中,最重要的对象有表,查询,窗体,报表,宏和模块。 表 用户定义的存储资料的对象。每一个表都包含有关某个主体的信息。表包括存储不同种类资料的字段(列),而记录(行)则收集特定主体实例的所有信息。 查询 为来自一个或多个表的资料提供定制视图的对象。在Access中,可以利用图形化的实例查询机制(QBE)或通过SQL语句来建立查询。你可以在查询中选择、更新、插入或删除资料,也可以用查询来建立新表。 窗体 窗体是主要的人机接口。大量的操作(几乎所有)都要通过窗体完成。窗体通过运行宏(macro)或Visual Basic for Applicatinns(VBA)过程,来响应大量的事件。Access 2000为我们提供了强大的(同时也是相当方便的向导)来建立标准的Windows窗体。 报表 为格式化、计算、打印选定资料而设计的对象。它是衡量一个优秀的数据库的重要标准(有时甚至是唯一的标准)。 宏 为了响应已定义的事件,需要让Access去执行一个或多个操作,而宏就是对这些操作的结构化的定义对象。它可以让你像堆积木一样建立一个功能强大的程序,而无须写大量的代码。 模块 包括用VBA编码的定制过程的一个对象。模块提供了独立的动作流以捕获错误,而宏做不到。模块能直接响应窗体或报表事件,也可以从应用程序的任何地方被调用。 5.2 系统实现 5.2.1.系统管理模块实现 5..2.3入库模块的实现 5..2.4 出库模块实现 5.2.5设备采购模块实现,程序略 5.2.7设备代码模块实现5.2.9 操作日志模块实现第六章 系统使用说明 参考文献: 1. 数据库系统原理教程 王珊 陈红 清华大学出版社 2. 管理信息系统 王虎 张俊 武汉理工大学出版社 3. Visual Basic 数据库开发 E.Winemiller,J.Roff B.Heyman,R.Groom 著 清华大学出版社 4. PowerBuilder 8.0数据库系统开发实例导航 何旭洪 余建英 人民邮电出版社 5. VB6从入门道精通 『美』Gary cornell 著 北京希望电子出版社 6. managing Information Systems David L.Anderson著 清华大学出版社 7. Management Information Systems Raymond Mcleod,Jc George Schell 著 北京大学出版社

有图片的,这里发不了图片,满意我的论文加分后联系我,我发给你。基于关系数据库的模式匹配技术研究摘 要 随着 网络 技术的 发展 ,信息处理需要对大量的、异构的数据源的数据进行统一存取,多源异构数据的集成 问题 就显得十分重要。而模式匹配是数据集成领域的一个基本技术。文章提出一种解决关系数据库语义冲突问题的模式匹配技术,以实现异构数据的共享与互操作。关键词 数据集成;模式匹配;语义冲突1 引言随着 计算 机及网络技术的快速发展,网络上的各种信息以指数级爆炸性增长,成为了一个巨大的信息库,同时各 企业 单位开发了大量的软硬件平台各异的 应用 系统,在各种应用系统下又积累了丰富的数据资源。这样就形成了成千上万个异构的数据源,多为传统的关系数据库数据。这些数据资源由于软硬件平台各异、数据模型各异而形成了异构数据,使各数据源间的互操作变得复杂。为了更好地利用这些异构信息,以及不造成企业应用系统的重复建设和数据资源的浪费,模式匹配技术吸引了众多关注。本文针对模式匹配过程中存在的语义冲突进行分类,并提出了相应的解决策略,以达到异构数据源的共享和互操作。2 模式匹配中的冲突问题在数据集成领域中,由于数据源系统多是独立开发,数据源是相对自治的,因此描述数据的数据模型或存储结构经常会出现模式的不一致,数据源的自治性和数据源模式的异构性使数据源在共享和互操作上存在了语义冲突。这些正是模式匹配的焦点问题,它们形式上的性质使得人们很容易想到要用模式匹配去解决逻辑、语义和知识的描述问题。对于描述模式匹配中的语义冲突有两种较有代表性的分类[4]。第一种分类将冲突分为异类冲突、命名冲突、语义冲突和结构冲突。第二种分类主要是对第一类异类冲突概念的一个细致的改进,但和其它分类仍有细微的不同,它把异类冲突看作是语义不一致的一类(如语义冲突),把冲突分为命名冲突、域冲突、元数据冲突、结构冲突、属性丢失和硬件/软件不同。模式匹配是一项复杂而繁重的任务,所能集成的数据源越来越多,上述冲突情况也会越来越普遍,想解决所有的模式冲突是不现实的。本文主要解决关系数据模式之间的语义冲突。3 模式匹配中的语义冲突本文所提出的模式匹配 方法 是根据关系数据库的特点设计的。关系数据库中关系的基本单位是属性,属性本身就包含着语义信息,因此异构数据源语义相似性就围绕着数据源模式中的属性来进行,并在匹配的过程中解决异构数据源模式之间的一系列语义冲突。3.1 语义匹配体系结构本文提出的语义匹配体系结构采用数据集成中的虚拟法数据集成系统的典型体系结构,采用将局部模式匹配到全局模式的语义匹配体系结构,自下而上地建立全局模式。首先进行模式转化,消除因各种局部数据模式之间的差异所带来的 影响 ,解决各种局部模式之间的语义冲突等,然后在转化后的模式的基础上进行模式匹配,其主要手段是提供各数据源的虚拟的集成视图。数据仍保存在各数据源上,集成系统仅提供一个虚拟的集成视图和对该集成视图的查询的处理机制。系统能自动地将用户对集成模式的查询请求转换成对各异构数据源的查询。在这种体系结构中,中间层根本不实际存储数据,当客户端发出查询请求时,仅是简单地将查询发送到适当的数据源上。由于该方法不需要重复存储大量数据,并能保证查询到最新的数据,因此比较适合于高度自治、集成数量多且更新变化快的异构数据源集成。本文中的语义匹配的体系结构如图1所示。3.2 关系数据库模式中语义冲突问题分类及其解决策略大多数数据库系统提供了一套概念结构来对现实世界的数据进行建模。每一个概念结构被认为是一个类型,它可以是一种复杂类型或一种基本类型。类型和它所表示的数据间的联系就称为语义[3]。在关系数据库中,一个关系模式是一个有序对(R,c),其中R为模式所指向的关系(表)的名称,而c则为具有不同名称的属性的有限集。同时,属性也是一个有序对(N,D),其中N为属性的名称,而D则为一个域。可以看出关系模式的基本单位是属性。属性本身就包含着语义信息,因此模式语义相似性就围绕模式中的属性来进行,并在模式匹配的过程中解决异构数据库模式之间的一系列语义冲突。根据语义的定义,在关系数据库系统中,语义系统是由模式、模式的属性、模式中属性之间的联系和模式间的属性之间的联系构成。这里将语义分为3级:模式级、属性级和实例级。下面将异构模式中存在的语义冲突问题进行了分类,并阐述了各种语义冲突的解决策略:1)模式级冲突(1)关系命名冲突。包括关系名同义词和关系名同形异义词。前者进行换名或建立关系名同义词表以记载该类冲突;后者进行换名或建立关系名同形异义词表以记载该类冲突。(2)关系结构冲突。分为包含冲突和相交冲突。包含冲突是指在含义相同的两个关系 R1 和 R2 中一个关系的属性集是另一个的属性子集。相交冲突是指两关系属性集的交不为空,我们用 attrset 代表关系的属性集。对包含冲突:①如果两个关系的属性集相同即attrset(R1)=attrset(R2),则合并这两个对象,Merge(R1, R2)into R3;②如果 attrset(R1) attrset(R2),则 attrset(R2')=attrset(R2)-attrset(R1),attrset(R1') = attrset(R1);③对相交冲突:通常概括语义进行如下解决:generalize(R1,R2)其中 attrset(R3)=attrset(R1)∩attrset(R2), attrset(R1')= attrset(R1)-attrset(R3);attrset(R2')=attrset(R2)-attrset(R3)。(3)关系关键字冲突:两个含义相同的关系具有不同的关键字约束。包括候选关键字冲突和主关键字冲突。解决候选关键字冲突的 方法 是,将两关系的候选关键字的交集作为两关系的候选关键字;解决主关键字冲突的方法是,从两关系的公共候选关键字中选一个分别作为两关系的主关键字。(4)多对多的关系冲突:两个数据库中用不同数量的关系来表达现实世界的相同语义信息,就产生了多对多的关系冲突,这种冲突分3种:一对多,多对一和多对多。解决方法是在表示相同语义信息的数据库中关系之间建立映射来表示多对多的关系。2)属性级冲突(1)属性命名冲突:分属性名同义词冲突和属性名同形异义词。前者的解决方法是,换名或建立属性名同义词字典;后者的解决方法是,换名或建立属性名同形异义词字典。(2)属性约束冲突:分属性类型冲突和属性长度冲突两种。当在两个相关的关系R1和R2的属性N1和N2具有不同的属性类型时,就发生属性类型冲突。解决方法是在全局模式中将发生属性类型冲突的属性统一到某种属性类型。对属性长度的解决方法是,在全局模式中将发生属性长度类型冲突的属性对统一定义为最大者就可。(3)多对多的属性冲突:两个数据库中的关系分别用不同数量的属性来表达现实世界中相同的语义信息时,就发生了多对多的属性冲突,这种冲突分3种:一对多,多对一和多对多。解决方法是在表示相同语义信息的数据库中关系的属性之间建立映射来表示这种多对多的关系。3)实例级冲突(1)不兼容关系实例冲突:当含义相同的数据项在不同的数据库中存在不一致的数据值时就发生了不兼容关系实例冲突。其解决方法是:将关系实例的最近修改作为关系实例冲突部分的值,但不能保证数据的正确性。(2)关系实例表示冲突:关系实例表示冲突是指用不兼容的符号、量纲和精度来表示相关关系实例中等价的数据元素,主要包括表达冲突、量纲冲突和精度冲突。表达冲突是指在两个相关的关系R1和R2中含义相同的属性N1和N2具有不同的数据表达时,这种冲突使用语义值的概念来解决,即将表示同一概念的多种表达在全局数据中进行统一即可。量纲冲突是指在两个相关的关系R1和R2和中含义相同的属性N1和N2具有不同的量纲表示。量纲冲突也可以语义值加以解决,解决过程如下:分别定义发生量纲冲突的局部数据源的语义值模式和语义值说明,然后再定义全局数据模式中相应的语义值模式和语义值说明,将发生量纲冲突的属性值在全局模式中进行统一。精度冲突是指在两个相关的关系 R1 和 R2 中含义相同的属性具有不同的精度。其解决方法是在全局模式中将发生精度冲突的数据项定义为最高精度即可。4 总结本文针对异构数据源管理自治和模式异构的特点,提出了数据源集成模式匹配的体系结构,制定了匹配策略, 研究 了基于语义的模式匹配过程。以关系模式为 参考 模式,对异构数据源关系模式间可能存在的语义冲突 问题 进行了分类,并阐述了解决这些语义冲突的策略。参考 文献[1] Bergamaschi S, Castano S, Vincini M. Semantic Integration of Semistructured and Structured Data Sources [J]. SIGMOD Record, 1999, 28(1): 54-59.[2] Li W, Clifton C, Liu S. Database Integration Using Neural Network: Implementation and Experiences [J]. Knowledge and Information Systems, 2000, 2(1).[3] Reddy M P, Prasad B E, GReddy P. A Methodology for Integration of Heterogeneous Databases [J]. Information System, 1999,24(5).[4] Rahm E,Bernstein P.A Survey of Approaches to Automatic Schema Matching[J]. The International Journal on Very Large Data Bases (VLDB),2001,10(4):334-350.[5] 孟小峰,周龙骧,王珊.数据库技术 发展 趋势[J].软件学报,2004,15(12):1822-1835[6] 邓志鸿,唐世渭,张铭,等.Ontology研究综述[J].北京大学学报( 自然 科学 版),2002,38(5):730-738[7] 郭志鑫.基于本体的文档引文元数据信息抽取[J].微 计算 机信息,2006,22(6-3)相关文献:基于XML的多数据库系统集成数据模型 - 华中科技大学学报:自然科学版 - 卢晓蓉 陈传波 等基于CORBA和XML的多数据库系统研究 - 郑州轻工业学院学报:自然科学版 - 张素智,钱慎一,卢正鼎,集成数据库和文件系统的多数据库事务模型 - 华中理工大学学报 - 卢正鼎 肖卫军基于主动规则对象的分布式多数据库系统集成 - 小型微型计算机系统 - 胡华,高济,基于CORBA的多数据库系统 - 计算机科学 - 石祥滨 张斌基于XML的文件系统与多数据库系统的集成 - 小型微型计算机系统 - 卢正鼎 李兵 等基于CORBA/XML的多数据库系统的研究与实现 - 计算机研究与发展 - 卢正鼎 李兵 等多数据库系统集成平台CMDatabase体系结构 - 计算机工程 - 魏振钢 郭山清 贾忠伟多数据库系统的数据模式集成与查询处理 - 电脑开发与应用 - 陶世群数据库网格:基于网格的多数据库系统 - 计算机工程与应用 - 任浩 李志刚 肖侬高校学生收费系统基于多数据库系统集成的一种实践 - 昆明冶金高等专科学校学报 - 杨滨生,蒋涛勇,张中祥,谢静静,基于RDBMS的地理信息集成数据库系统 - 计算机工程 - 江崇礼 王丽佳 等基于CORBA的异构数据库系统集成模型的研究 - 现代计算机:下半月版 - 陈刚基于分布式对象技术的多数据库系统 - 计算机工程与科学 - 韩伟红 隋品波基于CORBA的多数据库系统互操作技术 - 计算机科学 - 肖明,肖毅,

论文数据库设计需要按照以下数据内容按顺序排列即可。

1、学院数据实体:学院名称、负责人、办公电话、学院编号。

2、学生数据实体:学号、密码、姓名、性别、民族、籍贯、出生日期、身份证号、联系电话、Email、备注、学院编号、所在班级、角色名称、论文编号。

3、教师数据实体:教师编号、密码、学院编号、所在科室、发布选题、教育程度、职称、姓名、性别、政治面貌、联系电话、Email、角色名称、备注。

4、角色数据实体:角色名称、权限名称。权限数据实体:权限名称、角色名称。以上的实体都是基本的数据实体。

由于操作模块的名称对应该权限,在程序初始化时这些数据都应该添加,教师论文管理系统的目的进行论文管理,因此还要包括如下的几个数据实体:

1、论文数据实体:论文编号、学院、作者、刊物名称、论文题目、收录情况、教师编号、学号、影响力、影响因子、引用次数、备注。

2、评审数据实体:教师编号、学号、论文编号、论文题目、评审意见、总分。

将数据概念结构设计转化为SQLSERVER2005数据库系统所支持的实际数据库模型,就是数据库的逻辑结构。在实体以及实体之间的关系基础上,形成数据库中的表格以及各个表格之间的关系。

扩展资料:

论文数据库设计注意事项:

1、标题。标题应鲜明、准确、精练地直接概括所进行的研究实践的主要内容和结果,正标题一般不超过20个字,如需有副标题,副标题一般不超过28个字。

2、内容提要。在主体内容前用200-500字扼要介绍论文的主要内容、采用的方法和得出的主要结论。

3、关键词。按照与论文内容紧密程度,另行依次列出3-5个关键词。

4、英文翻译内容。中文的标题、作者姓名、指导教师姓名、内容提要、关键词应翻译成英文。

参考资料:百度百科-文献数据库

中南大学数据库课程设计论文模板

数据库课程设计心得 范文 1: 在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本 方法 ,进一步提高我们综合运用所学知识的能力。 当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。 我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。 知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。 数据库课程设计心得范文2: 一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。 课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古 名言 的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。 数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。作为一门独立的课程在国外是从20XX年才开始设立的。20XX年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、 操作系统 、数据库系统及其他系统程序的重要基础。 通过这次模具设计,我在多方面都有所提高。 一、编译工具VisualC++ 很多程序在结构上是独立的,但是本此设计的程序功能不是零散的,它有一个连接是的程序是一个整体,怎样达到这种统一体呢?因为这个输出连接是贯穿始终的。说到这,就应该说以下我所应用的调试工具,也就是运行环境VisualC++,可以充分利用Windows的支持剪贴版和英文的特点。正是在实现循环链表的程序中充分利用这个特点,才能制作出全汉化的初始化画面。 二、巩固和温习了C语言 在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。 这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。 三、积累了宝贵的 经验 我这次课程设计代码中主要使用了链表的循环和遍历这两中操作。循环链表(CircularLinkedList)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。类似地,还有多重链的循环链表。在循环单链表中,表中所有结点被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。这样,空循环链表仅由一个自成循环的头结点表示。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。 这次课程设计我选中的题目是个人资料的管理。编写了一个可以简易使用的个人资料管理系统,可以进行资料的输入和管理。虽然在我的程序中有一部分是从网上搜索得来的,但我已经竭力将所获得的信息变成自己的资源,动手上机操作,在了解和看懂的基础上有所改变和创新,但是在的程序软件中还有部分的不足,需要加以更新。仅管,我并没能很好的利用所学数据结构的知识,但我也尽了自己最大的努力用我所学来完成这次的课程设计。同时,通过这次课程设计,我认识到了自己动手实践的弱势,特别是在编程方面,知道了计算机的实践操作是很重要的,只有通过上机编程才能充分的了解自己的不足。 四、对以后的学习充满了信心和期待 通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。 数据库课程设计心得范文3: 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇 文章 ,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。 首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到microsoft 公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。 通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。 来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。 开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。 与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊! 我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。

数据库课程设计题目:小型超市管理系统1、项目计划1.1系统开发目的(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。1.2背景说明21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。1.3项目确立针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。1.4应用范围本系统适应于各种小型的超市。1.5 定义(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。库存告警提示:当商品的库存数量低于库存报警数量时发出提示。(5)盘点:计算出库存、销售额、盈利等经营指标。1.6 参考资料《数据库原理及设计》 陶宏才编 清华大学出版社《SQL Server 2000 实用教程》范立南编 清华大学出版社《SQL Server 2000 编程员指南》李香敏编 北京希望电子出版社《轻松搞定 SQL Server 2000 程序设计》Rebecca M.Riordan编《软件工程规范》Watts S.Humphrey编 清华大学出版社《软件工程理论与实践》 Shari Lawrence Pfleeger编 清华大学出版社《软件需求分析》 Swapna Kishore编 机械工业出版社《软件工程思想》 林锐编2、逻辑分析与详细分析2.1系统功能 (1)、零售前台(POS)管理系统,本系统必须具有以下功能: 商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。 收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。 安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。  独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业(2)、后台管理系统,本系统必须具备以下功能 进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。 人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。(3)系统结构系统总体结构模块子系统结构功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。2.2、流程图前台管理系统顶层DFD图 第0层DFD图第1层DFD图2.3、户类型与职能(1)、员工(营业员): 通过商品条形码扫描输入商品到购买清单 操作软件计算交易总金额 操作软件输出交易清单 对会员进行会员卡扫描以便打折(2)、:超市经理 操作软件录入商品,供货商,厂商 操作软件制定进货计划 查询打印计划进货与入库记录 操作软件控制商品销售与否 查询打印销售情况 操作软件生成销售排行榜 查询库存明细记录 根据软件发出的库存告警进行入货 操作软件进行盘点计算(3)、总经理: 基本信息登记管理 员工操作权限管理 客户销售权限管理2.4、统开发步骤 确定参与者和相关的用况 为每个用况设计过程 建立顺序图,确定每个脚本中对象的协作 创建类,确定脚本中的对象 设计, 编码, 测试, 集成类 为过程编写系统测试案例 运行测试案例,检验系统2.5、系统环境需求 系统模式 本系统采用C/S模式作为开发模式 硬件环境 服务器端: 高性能的计算机一台, 普通的双绞线作为连接。 客户端: 普通的计算机或者工作站, 普通的双绞线作为连接。 软件环境 服务器端:安装SQL Server 2000的服务器版本,安装windows 2000服务器版本, 配置了诺顿等必须的防毒软件。 客户端: 安装SQL Server2000的服务器版本, 安装了VB等可视化开发工具软件, 安装windows2000服务器版本。2.6、系统安全问题信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。  系统要能重建 系统应该是可审查的 系统应能进行有效控制,抗干扰能力强 系统使用者的使用权限是可识别的3、基于UML的建模3.1语义规则用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。用例(use case):参与者(actor):3.2、UML模型3.21、系统UML模型 3.22、子系统UML模型(1)零售前台(POS)管理系统用例视图 (2)后台管理系统用例视图3.3、系统实现图4、超市销售系统概念设计文档(1)、系统ER图(2)、系统ER图说明1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。(3)、视图设计1) 交易视图(v_Dealing)——用于查询交易情况的视图;2) 计划进货视图(v_PlanStock)——用于查询进货计划的视图;3) 销售视图(v_Sale)——用于查询销售明细记录的视图;4) 入库视图(v_Stock)——用于查询入库情况的视图。5、逻辑设计文档(1)、系统关系模型a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)b) 用户表(用户编号,用户名称,用户密码,用户类型)c) 会员表(会员编号,会员卡号,累积消费金额,注册日期)d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期)e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话)h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)(2)、系统数据库表结构数据库表索引 表名 中文名MerchInfo 商品信息表User 用户表Menber 会员表Sale 销售表Dealing 交易表Stock 进货入库表Provide 供货商表Factory 厂商表商品信息表(MerchInfo)字段名 字段类型 长度 主/外键 字段值约束 对应中文名MerchID int 4 P Not null 商品编号MerchName Varchar 50 Not null 商品名称MerchPrice Money 4 Not null 价格MerchNum Int 4 Not null 库存数量CautionNum Int 4 Not null 库存报警数量PlanNum Int 4 null 计划进货数BarCode Varchar 50 Not null 条形码SalesProPrice Money 4 促销价格SalesProDateS Datetime 8 促销起日期SalesProDateE Datetime 8 促销止日期AllowAbate Int 4 Not null 允许打折AllowSale Int 4 Not null 允许销售FactoryID Varchar 10 F Not null 厂商编号ProvideID Varchar 10 F Not null 供货商编号用户表(User)字段名 字段类型 长度 主/外键 字段值约束 对应中文名UserID varchar 10 P Not null 用户编号UserName Varchar 25 Not null 用户名称UserPW Varchar 50 Not null 用户密码UserStyle Int 4 Not null 用户类型会员表(Menber)字段名 字段类型 长度 主/外键 字段值约束 对应中文名MemberID Varchar 10 P Not null 会员编号MemberCard Varchar 20 Not null 会员卡号TotalCost Money 4 Not null 累积消费金额RegDate Datetime 8 Not null 注册日期销售表(Sale)字段名 字段类型 长度 主/外键 字段值约束 对应中文名SaleID Varchar 10 P Not null 销售编号MerChID Varchar 10 F Not null 商品编号SaleDate Datetime 8 Not null 销售日期SaleNum Int 4 Not null 销售数量SalePrice Money 4 Not null 销售单额交易表(Dealing)字段名 字段类型 长度 主/外键 字段值约束 对应中文名DealingID Varchar 10 P Not null 交易编号DealingPrice Money 4 Not null 交易金额DealingDate Money 4 Not null 交易日期MemberID Varchar 10 会员卡号UserName Varchar 10 F Not null 用户名称入库纪录表(Stock)字段名 字段类型 长度 主/外键 字段值约束 对应中文名StockID Varchar 10 P Not null 入库编号MerchID Varchar 10 F Not null 入库商品编号MerchNum Int 4 Not null 入库数量MerchPrice Money 4 Not null 单额TotalPrice Money 4 Not null 总额StockDate Datetime 8 Datetime 入库日期PlanDate Datetime 8 Datetime 计划进货日期StockState Int 4 Not null 入库状态供货商表(Provide)字段名 字段类型 长度 主/外键 字段值约束 对应中文名ProvideID varchar 10 P Not null 供货商编号ProvideName Varchar 50 Not null 供货商名称ProvideAddress Varchar 250 供货商地址ProvidePhone Varchar 25 供货商电话厂商表(Provide)字段名 字段类型 长度 主/外键 字段值约束 对应中文名FactoryID varchar 10 P Not null 厂商编号FactoryName Varchar 50 Not null 厂商名称FactoryAddress Varchar 250 厂商地址FactoryPhone Varchar 25 厂商电话6、物理设计文档/*----------创建数据库----------*/create database SuperMarketdbon primary(name=SuperMarketdb,filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',size=100MB,maxsize=200MB,filegrowth=20MB)log on(name=SuperMarketlog,filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',size=60MB,maxsize=200MB,filegrowth=20MB)go/*----------创建基本表----------*/use [SuperMarketdb]go/*创建交易表*/CREATE TABLE Dealing ( DealingID int identity(1,1) Primary key , DealingDate datetime NOT NULL , DealingPrice money NOT NULL , UserName varchar(25) NULL , MemberCard varchar(20) NULL) GO/*创建厂商表*/CREATE TABLE Factory ( FactoryID varchar(10) Primary key , FactoryName varchar(50) NOT NULL , FactoryAddress varchar(250) NULL , FactoryPhone varchar(50) NULL )GO/*创建会员表*/CREATE TABLE Member ( MemberID varchar(10) Primary key , MemberCard varchar(20) NOT NULL , TotalCost money NOT NULL , RegDate datetime NOT NULL )GO/*创建商品信息表*/CREATE TABLE MerchInfo ( MerchID int identity(1,1) Primary key , MerchName varchar(50) Unique NOT NULL , MerchPrice money NOT NULL , MerchNum int NOT NULL , CautionNum int NOT NULL , PlanNum int NOT NULL , BarCode varchar(20) Unique NOT NULL , SalesProPrice money NULL , SalesProDateS datetime NULL , SalesProDateE datetime NULL , AllowAbate int NOT NULL , AllowSale int NOT NULL , FactoryID int NOT NULL , ProvideID int NOT NULL) GO/*创建供应商表*/CREATE TABLE Provide ( ProvideID varchar(10) Primary key , ProvideName varchar(50) NOT NULL , ProvideAddress varchar(250) NULL , ProvidePhone varchar(25) NULL )GO/*创建销售表*/CREATE TABLE Sale ( SaleID int identity(1,1) Primary key , MerChID int NOT NULL , SaleDate datetime NOT NULL , SaleNum int NOT NULL, SalePrice money NOT NULL) GO/*创建入库表*/CREATE TABLE Stock ( StockID int identity(1,1) Primary key , MerchID int NOT NULL , MerchNum int NOT NULL , MerchPrice money NULL , TotalPrice money NULL , PlanDate datetime NULL , StockDate datetime NULL, StockState int NOT NULL) GO/*创建用户表*/CREATE TABLE User ( UserID varchar(10) Primary key , UserName varchar(25) NOT NULL , UserPW varchar(50) NOT NULL , UserStyle int NOT NULL ,)GO/*----------创建表间约束----------*//*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/ALTER TABLE MerchInfo ADD CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY ( [FactoryID] ) REFERENCES Factory ( [FactoryID] ), CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY ( [ProvideID] ) REFERENCES Provide ( [ProvideID] )GO/*销售表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Sale ADD CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY ( [MerChID] ) REFERENCES MerchInfo ( [MerchID] ) ON DELETE CASCADE GO/*入库表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Stock ADD CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY ( [MerchID] ) REFERENCES MerchInfo ( [MerchID] ) ON DELETE CASCADE GO/*----------创建索引----------*//*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)GO/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)GO/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)GO/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)GO/*----------创建视图----------*//*创建用于查询交易情况的视图*/CREATE VIEW v_DealingASSELECT DealingDate as 交易日期, UserName as 员工名称, MemberCard as 会员卡号, DealingPrice as 交易金额FROM Dealing GO/*创建用于查询进货计划的视图*/CREATE VIEW v_PlanStockASSELECT Stock.StockID as SID, MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, Provide.ProvideName as 供货商, Stock.MerchNum as 计划进货数量, Stock.PlanDate as 计划进货日期FROM Stock,MerchInfo,Provide,FactoryWhere Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=0 GO/*创建用于查询销售明细记录的视图*/CREATE VIEW v_SaleASSELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, MerchInfo.MerchPrice as 商品价格, Sale.SalePrice as 销售价格, Sale.SaleNum as 销售数量, Sale.SaleDate as 销售日期FROM Sale INNER JOIN MerchInfo ON Sale.MerChID = MerchInfo.MerchID GO/*创建用于查询入库情况的视图*/CREATE VIEW v_StockASSELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, Provide.ProvideName as 供货商, Stock.MerchPrice as 入库价格, Stock.MerchNum as 入库数量, Stock.TotalPrice as 入库总额, Stock.StockDate as 入库日期FROM Stock,MerchInfo,Provide,FactoryWhere Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=1 GO7、小结和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如: 本系统只适合小型超市使用,不能适合中大型超市使用; 超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。

[1] 钱雪忠.数据库原理及应用[M].北京:邮电大学出版社.2007.8[2] 孙家广.软件工程[M].北京:高等教育出版社.2005.7[3] 戴小平.数据库系统及应用[M].北京:中国科学技术出版社[4] 李明欣.基于BootStrap3的JSP项目实例教程[M].北京:航空航天大学出版社[5] 赵洛育.html css javascript网页设计与制作从入门到精通[M].北京:清华大学出版社[6] 陈晓勇.MySQL DBA修炼之道[M].北京:机械工业出版社.2017.1

数据库查询优化研究论文课程设计

数据库课程设计题目:小型超市管理系统1、项目计划1.1系统开发目的(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。1.2背景说明21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。1.3项目确立针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。1.4应用范围本系统适应于各种小型的超市。1.5 定义(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。(4)促销:在一定时期内,某些商品会按低于原价的促销价格销售。库存告警提示:当商品的库存数量低于库存报警数量时发出提示。(5)盘点:计算出库存、销售额、盈利等经营指标。1.6 参考资料《数据库原理及设计》 陶宏才编 清华大学出版社《SQL Server 2000 实用教程》范立南编 清华大学出版社《SQL Server 2000 编程员指南》李香敏编 北京希望电子出版社《轻松搞定 SQL Server 2000 程序设计》Rebecca M.Riordan编《软件工程规范》Watts S.Humphrey编 清华大学出版社《软件工程理论与实践》 Shari Lawrence Pfleeger编 清华大学出版社《软件需求分析》 Swapna Kishore编 机械工业出版社《软件工程思想》 林锐编2、逻辑分析与详细分析2.1系统功能 (1)、零售前台(POS)管理系统,本系统必须具有以下功能: 商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。 收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。 安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。  独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业(2)、后台管理系统,本系统必须具备以下功能 进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。 销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。 库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。 人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。(3)系统结构系统总体结构模块子系统结构功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。功能描述:进货管理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。2.2、流程图前台管理系统顶层DFD图 第0层DFD图第1层DFD图2.3、户类型与职能(1)、员工(营业员): 通过商品条形码扫描输入商品到购买清单 操作软件计算交易总金额 操作软件输出交易清单 对会员进行会员卡扫描以便打折(2)、:超市经理 操作软件录入商品,供货商,厂商 操作软件制定进货计划 查询打印计划进货与入库记录 操作软件控制商品销售与否 查询打印销售情况 操作软件生成销售排行榜 查询库存明细记录 根据软件发出的库存告警进行入货 操作软件进行盘点计算(3)、总经理: 基本信息登记管理 员工操作权限管理 客户销售权限管理2.4、统开发步骤 确定参与者和相关的用况 为每个用况设计过程 建立顺序图,确定每个脚本中对象的协作 创建类,确定脚本中的对象 设计, 编码, 测试, 集成类 为过程编写系统测试案例 运行测试案例,检验系统2.5、系统环境需求 系统模式 本系统采用C/S模式作为开发模式 硬件环境 服务器端: 高性能的计算机一台, 普通的双绞线作为连接。 客户端: 普通的计算机或者工作站, 普通的双绞线作为连接。 软件环境 服务器端:安装SQL Server 2000的服务器版本,安装windows 2000服务器版本, 配置了诺顿等必须的防毒软件。 客户端: 安装SQL Server2000的服务器版本, 安装了VB等可视化开发工具软件, 安装windows2000服务器版本。2.6、系统安全问题信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。常见因素有:数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。  系统要能重建 系统应该是可审查的 系统应能进行有效控制,抗干扰能力强 系统使用者的使用权限是可识别的3、基于UML的建模3.1语义规则用例模型(use cases view)(用例视图)的基本组成部件是用例(use case)、角色(actor)和系统(system)。用例用于描述系统的功能,也就是从外部用户的角度观察,系统应支持哪些功能,帮助分析人员理解系统的行为,它是对系统功能的宏观描述,一个完整的系统中通常包含若干个用例,每个用例具体说明应完成的功能,代表系统的所有基本功能(集)。角色是与系统进行交互的外部实体,它可以是系统用户,也可以是其它系统或硬件设备,总之,凡是需要与系统交互的任何东西都可以称作角色。系统的边界线以内的区域(即用例的活动区域)则抽象表示系统能够实现的所有基本功能。在一个基本功能(集)已经实现的系统中,系统运转的大致过程是:外部角色先初始化用例,然后用例执行其所代表的功能,执行完后用例便给角色返回一些值,这个值可以是角色需要的来自系统中的任何东西。UML:是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示;它不是一种可视化的程序设计语言而是一种可视化的建模语言;不是工具或知识库的规格说明而是一种建模语言规格说明是一种表示的标准;不是过程也不是方法但允许任何一种过程和方法使用它。用例(use case):参与者(actor):3.2、UML模型3.21、系统UML模型 3.22、子系统UML模型(1)零售前台(POS)管理系统用例视图 (2)后台管理系统用例视图3.3、系统实现图4、超市销售系统概念设计文档(1)、系统ER图(2)、系统ER图说明1) 商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(员工)销售;2) 每个顾客可以购买多种商品,不同商品可由不同顾客购买;3) 每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。(3)、视图设计1) 交易视图(v_Dealing)——用于查询交易情况的视图;2) 计划进货视图(v_PlanStock)——用于查询进货计划的视图;3) 销售视图(v_Sale)——用于查询销售明细记录的视图;4) 入库视图(v_Stock)——用于查询入库情况的视图。5、逻辑设计文档(1)、系统关系模型a) 商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销止日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号)b) 用户表(用户编号,用户名称,用户密码,用户类型)c) 会员表(会员编号,会员卡号,累积消费金额,注册日期)d) 销售表(销售编号,商品编号,销售数量,销售金额,销售日期)e) 交易表(交易编号,用户名称,交易金额,会员卡号,交易日期)f) 进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态)g) 供货商表(供货商编号,供货商名称,供货商地址,供货商电话)h) 厂商表(厂商编号,厂商名称,厂商地址,厂商电话)(2)、系统数据库表结构数据库表索引 表名 中文名MerchInfo 商品信息表User 用户表Menber 会员表Sale 销售表Dealing 交易表Stock 进货入库表Provide 供货商表Factory 厂商表商品信息表(MerchInfo)字段名 字段类型 长度 主/外键 字段值约束 对应中文名MerchID int 4 P Not null 商品编号MerchName Varchar 50 Not null 商品名称MerchPrice Money 4 Not null 价格MerchNum Int 4 Not null 库存数量CautionNum Int 4 Not null 库存报警数量PlanNum Int 4 null 计划进货数BarCode Varchar 50 Not null 条形码SalesProPrice Money 4 促销价格SalesProDateS Datetime 8 促销起日期SalesProDateE Datetime 8 促销止日期AllowAbate Int 4 Not null 允许打折AllowSale Int 4 Not null 允许销售FactoryID Varchar 10 F Not null 厂商编号ProvideID Varchar 10 F Not null 供货商编号用户表(User)字段名 字段类型 长度 主/外键 字段值约束 对应中文名UserID varchar 10 P Not null 用户编号UserName Varchar 25 Not null 用户名称UserPW Varchar 50 Not null 用户密码UserStyle Int 4 Not null 用户类型会员表(Menber)字段名 字段类型 长度 主/外键 字段值约束 对应中文名MemberID Varchar 10 P Not null 会员编号MemberCard Varchar 20 Not null 会员卡号TotalCost Money 4 Not null 累积消费金额RegDate Datetime 8 Not null 注册日期销售表(Sale)字段名 字段类型 长度 主/外键 字段值约束 对应中文名SaleID Varchar 10 P Not null 销售编号MerChID Varchar 10 F Not null 商品编号SaleDate Datetime 8 Not null 销售日期SaleNum Int 4 Not null 销售数量SalePrice Money 4 Not null 销售单额交易表(Dealing)字段名 字段类型 长度 主/外键 字段值约束 对应中文名DealingID Varchar 10 P Not null 交易编号DealingPrice Money 4 Not null 交易金额DealingDate Money 4 Not null 交易日期MemberID Varchar 10 会员卡号UserName Varchar 10 F Not null 用户名称入库纪录表(Stock)字段名 字段类型 长度 主/外键 字段值约束 对应中文名StockID Varchar 10 P Not null 入库编号MerchID Varchar 10 F Not null 入库商品编号MerchNum Int 4 Not null 入库数量MerchPrice Money 4 Not null 单额TotalPrice Money 4 Not null 总额StockDate Datetime 8 Datetime 入库日期PlanDate Datetime 8 Datetime 计划进货日期StockState Int 4 Not null 入库状态供货商表(Provide)字段名 字段类型 长度 主/外键 字段值约束 对应中文名ProvideID varchar 10 P Not null 供货商编号ProvideName Varchar 50 Not null 供货商名称ProvideAddress Varchar 250 供货商地址ProvidePhone Varchar 25 供货商电话厂商表(Provide)字段名 字段类型 长度 主/外键 字段值约束 对应中文名FactoryID varchar 10 P Not null 厂商编号FactoryName Varchar 50 Not null 厂商名称FactoryAddress Varchar 250 厂商地址FactoryPhone Varchar 25 厂商电话6、物理设计文档/*----------创建数据库----------*/create database SuperMarketdbon primary(name=SuperMarketdb,filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',size=100MB,maxsize=200MB,filegrowth=20MB)log on(name=SuperMarketlog,filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',size=60MB,maxsize=200MB,filegrowth=20MB)go/*----------创建基本表----------*/use [SuperMarketdb]go/*创建交易表*/CREATE TABLE Dealing ( DealingID int identity(1,1) Primary key , DealingDate datetime NOT NULL , DealingPrice money NOT NULL , UserName varchar(25) NULL , MemberCard varchar(20) NULL) GO/*创建厂商表*/CREATE TABLE Factory ( FactoryID varchar(10) Primary key , FactoryName varchar(50) NOT NULL , FactoryAddress varchar(250) NULL , FactoryPhone varchar(50) NULL )GO/*创建会员表*/CREATE TABLE Member ( MemberID varchar(10) Primary key , MemberCard varchar(20) NOT NULL , TotalCost money NOT NULL , RegDate datetime NOT NULL )GO/*创建商品信息表*/CREATE TABLE MerchInfo ( MerchID int identity(1,1) Primary key , MerchName varchar(50) Unique NOT NULL , MerchPrice money NOT NULL , MerchNum int NOT NULL , CautionNum int NOT NULL , PlanNum int NOT NULL , BarCode varchar(20) Unique NOT NULL , SalesProPrice money NULL , SalesProDateS datetime NULL , SalesProDateE datetime NULL , AllowAbate int NOT NULL , AllowSale int NOT NULL , FactoryID int NOT NULL , ProvideID int NOT NULL) GO/*创建供应商表*/CREATE TABLE Provide ( ProvideID varchar(10) Primary key , ProvideName varchar(50) NOT NULL , ProvideAddress varchar(250) NULL , ProvidePhone varchar(25) NULL )GO/*创建销售表*/CREATE TABLE Sale ( SaleID int identity(1,1) Primary key , MerChID int NOT NULL , SaleDate datetime NOT NULL , SaleNum int NOT NULL, SalePrice money NOT NULL) GO/*创建入库表*/CREATE TABLE Stock ( StockID int identity(1,1) Primary key , MerchID int NOT NULL , MerchNum int NOT NULL , MerchPrice money NULL , TotalPrice money NULL , PlanDate datetime NULL , StockDate datetime NULL, StockState int NOT NULL) GO/*创建用户表*/CREATE TABLE User ( UserID varchar(10) Primary key , UserName varchar(25) NOT NULL , UserPW varchar(50) NOT NULL , UserStyle int NOT NULL ,)GO/*----------创建表间约束----------*//*商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束*/ALTER TABLE MerchInfo ADD CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY ( [FactoryID] ) REFERENCES Factory ( [FactoryID] ), CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY ( [ProvideID] ) REFERENCES Provide ( [ProvideID] )GO/*销售表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Sale ADD CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY ( [MerChID] ) REFERENCES MerchInfo ( [MerchID] ) ON DELETE CASCADE GO/*入库表中商品编号与商品信息表之间的外键约束*/ALTER TABLE Stock ADD CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY ( [MerchID] ) REFERENCES MerchInfo ( [MerchID] ) ON DELETE CASCADE GO/*----------创建索引----------*//*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)GO/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)GO/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)GO/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)GO/*----------创建视图----------*//*创建用于查询交易情况的视图*/CREATE VIEW v_DealingASSELECT DealingDate as 交易日期, UserName as 员工名称, MemberCard as 会员卡号, DealingPrice as 交易金额FROM Dealing GO/*创建用于查询进货计划的视图*/CREATE VIEW v_PlanStockASSELECT Stock.StockID as SID, MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, Provide.ProvideName as 供货商, Stock.MerchNum as 计划进货数量, Stock.PlanDate as 计划进货日期FROM Stock,MerchInfo,Provide,FactoryWhere Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=0 GO/*创建用于查询销售明细记录的视图*/CREATE VIEW v_SaleASSELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, MerchInfo.MerchPrice as 商品价格, Sale.SalePrice as 销售价格, Sale.SaleNum as 销售数量, Sale.SaleDate as 销售日期FROM Sale INNER JOIN MerchInfo ON Sale.MerChID = MerchInfo.MerchID GO/*创建用于查询入库情况的视图*/CREATE VIEW v_StockASSELECT MerchInfo.MerchName as 商品名称, MerchInfo.BarCode as 条形码, Factory.FactoryName as 厂商, Provide.ProvideName as 供货商, Stock.MerchPrice as 入库价格, Stock.MerchNum as 入库数量, Stock.TotalPrice as 入库总额, Stock.StockDate as 入库日期FROM Stock,MerchInfo,Provide,FactoryWhere Stock.MerchID = MerchInfo.MerchID and Provide.ProvideID=MerchInfo.ProvideID and Factory.FactoryID=MerchInfo.FactoryID and Stock.StockState=1 GO7、小结和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如: 本系统只适合小型超市使用,不能适合中大型超市使用; 超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。

系统优化,加内存

利用合理建表、索引、存储过程。

本文首先讨论了基于第三范式的数据库表的基本设计,着重论述了建立主键和索引的策略和方案,然后从数据库表的扩展设计和库表对象的放置等角度概述了数据库管理系统的优化方案。 关键词: 优化(Optimizing) 第三范式(3NF) 冗余数据(Redundant Data) 索引(Index) 数据分割(Data Partitioning) 对象放置(Object Placement) 1 引言 数据库优化的目标无非是避免磁盘I/O瓶颈、减少CPU利用率和减少资源竞争。为了便于读者阅读和理解,笔者参阅了Sybase、Informix和Oracle等大型数据库系统参考资料,基于多年的工程实践经验,从基本表设计、扩展设计和数据库表对象放置等角度进行讨论,着重讨论了如何避免磁盘I/O瓶颈和减少资源竞争,相信读者会一目了然。 2 基于第三范式的基本表设计 在基于表驱动的信息管理系统(MIS)中,基本表的设计规范是第三范式(3NF)。第三范式的基本特征是非主键属性只依赖于主键属性。基于第三范式的数据库表设计具有很多优点:一是消除了冗余数据,节省了磁盘存储空间;二是有良好的数据完整性限制,即基于主外键的参照完整限制和基于主键的实体完整性限制,这使得数据容易维护,也容易移植和更新;三是数据的可逆性好,在做连接(Join)查询或者合并表时不遗漏、也不重复;四是因消除了冗余数据(冗余列),在查询(Select)时每个数据页存的数据行就多,这样就有效地减少了逻辑I/O,每个Cash存的页面就多,也减少物理I/O;五是对大多数事务(Transaction)而言,运行性能好;六是物理设计(Physical Design)的机动性较大,能满足日益增长的用户需求。 在基本表设计中,表的主键、外键、索引设计占有非常重要的地位,但系统设计人员往往只注重于满足用户要求,而没有从系统优化的高度来认识和重视它们。实际上,它们与系统的运行性能密切相关。现在从系统数据库优化角度讨论这些基本概念及其重要意义: (1)主键(Primary Key):主键被用于复杂的SQL语句时,频繁地在数据访问中被用到。一个表只有一个主键。主键应该有固定值(不能为Null或缺省值,要有相对稳定性),不含代码信息,易访问。把常用(众所周知)的列作为主键才有意义。短主键最佳(小于25bytes),主键的长短影响索引的大小,索引的大小影响索引页的大小,从而影响磁盘I/O。主键分为自然主键和人为主键。自然主键由实体的属性构成,自然主键可以是复合性的,在形成复合主键时,主键列不能太多,复合主键使得Join*作复杂化、也增加了外键表的大小。人为主键是,在没有合适的自然属性键、或自然属性复杂或灵敏度高时,人为形成的。人为主键一般是整型值(满足最小化要求),没有实际意义,也略微增加了表的大小;但减少了把它作为外键的表的大小。 (2)外键(Foreign Key):外键的作用是建立关系型数据库中表之间的关系(参照完整性),主键只能从独立的实体迁移到非独立的实体,成为后者的一个属性,被称为外键。 (3)索引(Index):利用索引优化系统性能是显而易见的,对所有常用于查询中的Where子句的列和所有用于排序的列创建索引,可以避免整表扫描或访问,在不改变表的物理结构的情况下,直接访问特定的数据列,这样减少数据存取时间;利用索引可以优化或排除耗时的分类*作;把数据分散到不同的页面上,就分散了插入的数据;主键自动建立了唯一索引,因此唯一索引也能确保数据的唯一性(即实体完整性);索引码越小,定位就越直接;新建的索引效能最好,因此定期更新索引非常必要。索引也有代价:有空间开销,建立它也要花费时间,在进行Insert、Delete和Update*作时,也有维护代价。索引有两种:聚族索引和非聚族索引。一个表只能有一个聚族索引,可有多个非聚族索引。使用聚族索引查询数据要比使用非聚族索引快。在建索引前,应利用数据库系统函数估算索引的大小。 ① 聚族索引(Clustered Index):聚族索引的数据页按物理有序储存,占用空间小。选择策略是,被用于Where子句的列:包括范围查询、模糊查询或高度重复的列(连续磁盘扫描);被用于连接Join*作的列;被用于Order by和Group by子句的列。聚族索引不利于插入*作,另外没有必要用主键建聚族索引。 ② 非聚族索引(Nonclustered Index):与聚族索引相比,占用空间大,而且效率低。选择策略是,被用于Where子句的列:包括范围查询、模糊查询(在没有聚族索引时)、主键或外键列、点(指针类)或小范围(返回的结果域小于整表数据的20%)查询;被用于连接Join*作的列、主键列(范围查询);被用于Order by和Group by子句的列;需要被覆盖的列。对只读表建多个非聚族索引有利。索引也有其弊端,一是创建索引要耗费时间,二是索引要占有大量磁盘空间,三是增加了维护代价(在修改带索引的数据列时索引会减缓修改速度)。那么,在哪种情况下不建索引呢?对于小表(数据小于5页)、小到中表(不直接访问单行数据或结果集不用排序)、单值域(返回值密集)、索引列值太长(大于20bitys)、容易变化的列、高度重复的列、Null值列,对没有被用于Where子语句和Join查询的列都不能建索引。另外,对主要用于数据录入的,尽可能少建索引。当然,也要防止建立无效索引,当Where语句中多于5个条件时,维护索引的开销大于索引的效益,这时,建立临时表存储有关数据更有效。 批量导入数据时的注意事项:在实际应用中,大批量的计算(如电信话单计费)用C语言程序做,这种基于主外键关系数据计算而得的批量数据(文本文件),可利用系统的自身功能函数(如Sybase的BCP命令)快速批量导入,在导入数据库表时,可先删除相应库表的索引,这有利于加快导入速度,减少导入时间。在导入后再重建索引以便优化查询。 (4)锁:锁是并行处理的重要机制,能保持数据并发的一致性,即按事务进行处理;系统利用锁,保证数据完整性。因此,我们避免不了死锁,但在设计时可以充分考虑如何避免长事务,减少排它锁时间,减少在事务中与用户的交互,杜绝让用户控制事务的长短;要避免批量数据同时执行,尤其是耗时并用到相同的数据表。锁的征用:一个表同时只能有一个排它锁,一个用户用时,其它用户在等待。若用户数增加,则Server的性能下降,出现“假死”现象。如何避免死锁呢?从页级锁到行级锁,减少了锁征用;给小表增加无效记录,从页级锁到行级锁没有影响,若在同一页内竞争有影响,可选择合适的聚族索引把数据分配到不同的页面;创建冗余表;保持事务简短;同一批处理应该没有网络交互。 (5)查询优化规则:在访问数据库表的数据(Access Data)时,要尽可能避免排序(Sort)、连接(Join)和相关子查询*作。经验告诉我们,在优化查询时,必须做到: ① 尽可能少的行; ② 避免排序或为尽可能少的行排序,若要做大量数据排序,最好将相关数据放在临时表中*作;用简单的键(列)排序,如整型或短字符串排序; ③ 避免表内的相关子查询; ④ 避免在Where子句中使用复杂的表达式或非起始的子字符串、用长字符串连接; ⑤ 在Where子句中多使用“与”(And)连接,少使用“或”(Or)连接; ⑥ 利用临时数据库。在查询多表、有多个连接、查询复杂、数据要过滤时,可以建临时表(索引)以减少I/O。但缺点是增加了空间开销。 除非每个列都有索引支持,否则在有连接的查询时分别找出两个动态索引,放在工作表中重新排序。 3 基本表扩展设计 基于第三范式设计的库表虽然有其优越性(见本文第一部分),然而在实际应用中有时不利于系统运行性能的优化:如需要部分数据时而要扫描整表,许多过程同时竞争同一数据,反复用相同行计算相同的结果,过程从多表获取数据时引发大量的连接*作,当数据来源于多表时的连接*作;这都消耗了磁盘I/O和CPU时间。 尤其在遇到下列情形时,我们要对基本表进行扩展设计:许多过程要频繁访问一个表、子集数据访问、重复计算和冗余数据,有时用户要求一些过程优先或低的响应时间。 如何避免这些不利因素呢?根据访问的频繁程度对相关表进行分割处理、存储冗余数据、存储衍生列、合并相关表处理,这些都是克服这些不利因素和优化系统运行的有效途径。 3.1 分割表或储存冗余数据 分割表分为水平分割表和垂直分割表两种。分割表增加了维护数据完整性的代价。 水平分割表:一种是当多个过程频繁访问数据表的不同行时,水平分割表,并消除新表中的冗余数据列;若个别过程要访问整个数据,则要用连接*作,这也无妨分割表;典型案例是电信话单按月分割存放。另一种是当主要过程要重复访问部分行时,最好将被重复访问的这些行单独形成子集表(冗余储存),这在不考虑磁盘空间开销时显得十分重要;但在分割表以后,增加了维护难度,要用触发器立即更新、或存储过程或应用代码批量更新,这也会增加额外的磁盘I/O开销。 垂直分割表(不破坏第三范式),一种是当多个过程频繁访问表的不同列时,可将表垂直分成几个表,减少磁盘I/O(每行的数据列少,每页存的数据行就多,相应占用的页就少),更新时不必考虑锁,没有冗余数据。缺点是要在插入或删除数据时要考虑数据的完整性,用存储过程维护。另一种是当主要过程反复访问部分列时,最好将这部分被频繁访问的列数据单独存为一个子集表(冗余储存),这在不考虑磁盘空间开销时显得十分重要;但这增加了重叠列的维护难度,要用触发器立即更新、或存储过程或应用代码批量更新,这也会增加额外的磁盘I/O开销。垂直分割表可以达到最大化利用Cache的目的。 总之,为主要过程分割表的方法适用于:各个过程需要表的不联结的子集,各个过程需要表的子集,访问频率高的主要过程不需要整表。在主要的、频繁访问的主表需要表的子集而其它主要频繁访问的过程需要整表时则产生冗余子集表。 注意,在分割表以后,要考虑重新建立索引。 3.2 存储衍生数据 对一些要做大量重复性计算的过程而言,若重复计算过程得到的结果相同(源列数据稳定,因此计算结果也不变),或计算牵扯多行数据需额外的磁盘I/O开销,或计算复杂需要大量的CPU时间,就考虑存储计算结果(冗余储存)。现予以分类说明: 若在一行内重复计算,就在表内增加列存储结果。但若参与计算的列被更新时,必须要用触发器更新这个新列。 若对表按类进行重复计算,就增加新表(一般而言,存放类和结果两列就可以了)存储相关结果。但若参与计算的列被更新时,就必须要用触发器立即更新、或存储过程或应用代码批量更新这个新表。 若对多行进行重复性计算(如排名次),就在表内增加列存储结果。但若参与计算的列被更新时,必须要用触发器或存储过程更新这个新列。 总之,存储冗余数据有利于加快访问速度;但违反了第三范式,这会增加维护数据完整性的代价,必须用触发器立即更新、或存储过程或应用代码批量更新,以维护数据的完整性。 3.3 消除昂贵结合 对于频繁同时访问多表的一些主要过程,考虑在主表内存储冗余数据,即存储冗余列或衍生列(它不依赖于主键),但破坏了第三范式,也增加了维护难度。在源表的相关列发生变化时,必须要用触发器或存储过程更新这个冗余列。当主要过程总同时访问两个表时可以合并表,这样可以减少磁盘I/O*作,但破坏了第三范式,也增加了维护难度。对父子表和1:1关系表合并方法不同:合并父子表后,产生冗余表;合并1:1关系表后,在表内产生冗余数据。 4 数据库对象的放置策略 数据库对象的放置策略是均匀地把数据分布在系统的磁盘中,平衡I/O访问,避免I/O瓶颈。 ⑴ 访问分散到不同的磁盘,即使用户数据尽可能跨越多个设备,多个I/O运转,避免I/O竞争,克服访问瓶颈;分别放置随机访问和连续访问数据。 ⑵ 分离系统数据库I/O和应用数据库I/O。把系统审计表和临时库表放在不忙的磁盘上。 ⑶ 把事务日志放在单独的磁盘上,减少磁盘I/O开销,这还有利于在障碍后恢复,提高了系统的安全性。 ⑷ 把频繁访问的“活性”表放在不同的磁盘上;把频繁用的表、频繁做Join*作的表分别放在单独的磁盘上,甚至把把频繁访问的表的字段放在不同的磁盘上,把访问分散到不同的磁盘上,避免I/O争夺; ⑸ 利用段分离频繁访问的表及其索引(非聚族的)、分离文本和图像数据。段的目的是平衡I/O,避免瓶颈,增加吞吐量,实现并行扫描,提高并发度,最大化磁盘的吞吐量。利用逻辑段功能,分别放置“活性”表及其非聚族索引以平衡I/O。当然最好利用系统的默认段。另外,利用段可以使备份和恢复数据更加灵活,使系统授权更加灵活。

数据库论文设计

数据库方面的论文在键盘论文网里有很多的哦,你可以参考下的,我也是找他们帮忙指导的,效率非常高,呵呵,导师很顺利就通过了还有一点资料,你看下能不能用上关于全路客票发售和预订系统里的数据库研究主要的内容:1)《全路客票发售和预订系统》(以下简称客票系统)是国家“九五”计划 重点课题,一九九九年又被国家科委列为“重中之重”科研项目2)本文所论述 的内容是客票系统的一个重要组成部分,主要内容是分布式数据库通讯中间件 的设计、消息中间件的设计、技术实现以及在客票系统中的应用,介绍了数据 库通讯系统的推理机模型3)采用了Socket、IPC、多进程、多线程等多种编程 技术。本文从理论上、应用上对上述技术作了详细讨论。论文的框架结构:第一章 客票系统综述第一节 铁路客票系统发展概述21-24第二节 铁路客票系统目标与总体结构24-27第三节 客票系统数据分布方案的确定27-29第四节 客票系统的开发与运行环境29第二章 分布式数据库通讯系统方案的确定29-34第一节 客票系统分布式数据库间数据通讯的需求29-30第二节 客票系统分布式数据库间数据通讯的特点30-31第三节 分布式数据库通讯的国内外相关产品及解决方案31-33第四节 客票系统数据库之间通讯方案的确定33-34第三章 数据库通讯系统中间件的设计与实现34-50第一节 数据库之间通讯的数学模型34-35第二节 数据库通讯中间件(DBCS)所用的概念35-36第三节 数据库通讯中间件(DBCS)的设计36-40第四节 数据库通讯中间件(DBCS)的模块设计40-44第五节数据库通讯中间件(DBCS)的技术实现44-50第四章消息中间件(MCS)的设计与实现50-81第一节 消息中间件MCS概述50-51第二节 消息中间件中的一些概念51-53第三节 消息中间件的结构设计53-56第四节 消息中间件的流程设计56-61第五节 消息中间件的关键技术的实现61-70第六节 消息中间件的平台和应用支持70-71第七节 联机交易中间件71-81第五章 DBCS的功能与性能81-85第六章 数据库通讯系统在客票系统的应用85-91第一节 在客票系统的数据流图和DBCS的功能85-88第二节 DBCS在客票系统中的具体应用88-91第三节 DBCS系统应用效果91第七章 结束语91-92致 谢96参考文献:1王欣,魏生民;基于Java技术的分布式异构数据库Web访问技术[J];计算机工程与应用;2000年12期2张丽晖,王茜;多Agent协同系统的分布式数据访问[J];计算机应用;2003年11期3杨博 ,刘大有 ,杨鲲 ,张朝辉;移动Agent系统的主动通信机制[J];软件学报;2003年07期4刘振鹏,罗文劼,马威,李继民;基于协同式移动Agent的分布式数据库系统研究[J];计算机工程与设计;2003年11期5刘华志,李逸波,李连,朱爱红;基于Mobile Agent技术的分布式查询系统[J];微机发展;2003年12期6吕玉海,徐学洲;移动Agent技术的发展[J];西安电子科技大学学报;2002年03期大概就是这些了,如果还有不懂的,你看下键盘论文网吧

A、需求分析阶段:综合各个用户的应用需求。B、在概念设计阶段:用E-R图来描述。C、在逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。D、在物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。一展开就够论文字数了

这个论文好像比较难得写哦,在网上找现成的肯定不行啊,建议你还是找个可靠的代写,可以省很多心的。我就是找的一个,呵呵,很不错的。用支付宝的,安全你放心,他们是先写论文后付款的,不要定金,很放心的,看后再付款的。是脚印代写论文,网站是 脚印代写论文。你要求不高的话可以借鉴他们网站相关论文范文和资料,祝你好运哦

毕业论文管理系统数据库设计

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 (frm.bookname.value=='') {

alert('请输入书名');

frm.bookname.focus();

return false;

}

}

在提交按钮代码中加入OnSubmit="Return checkinput()"就可以完成对表单的验证了。

三数据库连接

对于Access数据库,一个文件就是一个数据库,所以可以利用数据驱动程序直接访问数据,这种方法需要利用动态连接字符串建立一个连接,具体连接字符如下:

Dim conn, connstr,db

db="./data/tushu.mdb"

connstr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath(db)

Set conn=Createobject("ADODB.Connection")

conn.Open connstr

这样就可连接数据了,再用SQL语句就可以读取表中数据了:

Set rs=CreateObject("ADODB.RecordSet")

sql="Select * From bookinfo"

rs.Open sql,conn,1,3

四对数据库的操作

连接好数据库后,我们就可以对表bookinfo的记录进增加、删除、修改等操作了。具体代码及释义如下:

(1):增加:

bianhao=Trim(Request("bianhao"))

sql="Select * From bookinfo Where 图书编号='"& bianhao &"'"

rs.Open sql,conn,1,3

If rs.recordcount<>0 Then

Response.Write "此图书编号已存在,请重新输入"

Response.Write "

"

Response.Write ""

Response.Write "返 回"

Else

注:在增加信息时,必须检索图书编号是否唯一,如不唯一会出给出提示:“此图书编号已存在,请重新输入”

rs.addnew

rs("书名")=trim(request("bookname"))

rs(“作者")=trim(request("author"))

……

rs.update

end if

Response.Redirect "addbook.html"

end if

set rs=nothing

(2)删除

本系统“删除”图书记录功能在查询模块中执行,但必须以管理员身份登录,才能显示对记录进行操作的功能:

删除记录采用SQL中的delete语句,代码如下:

bh=Request("bianhao")

If bh<>"" Then

conn.Execute "Delete From bookinfo Where 图书编号='"& bh &"'"

End If

(3)修改

修改只需rs.update命令即可完成,这里不再赘述。

(4)查询

本系统有精确查询、模糊查询、分类查询、编号查询、索书号查询、借阅人查询共六种方法。用SQL中select…where…就可以完成查询功能。如按分类查询:

tiaojian=Trim(request("tiaojian"))

Set rs=CreateObject("ADODB.RecordSet")

sql="select * from bookinfo where 图书分类= '"& tiaojian &"' order by 图书编号 desc"

rs.Open sql,conn,1,1

五、小结

此图书管理基本上可以实现图书管理的大部份工作,实现图书的计算机管理,方便借阅人员查询和借阅图书,更好的利用图书资源,把图书管理员从手工记录管理图书中解脱出来,提高了工作效率。

图书馆管理系统设计论文文献

[1]伍云辉. 程序天下 电子工业出版,2008

[2]武延军,赵彬.精通ASP网络编程. 人民邮电出版社,2000

[3][美]Michael Moncur JavaScript 入门经典 人民邮电出版,2007

图书管理信息系统设计

图书馆管理系统设计论文摘要

提要作为信息资源的集散地,图书馆在高校中的作用是尤为重要的,而图书馆传统人工管理方式已经无法快速、高效地应付日益增长的信息数据。随着计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。因此,图书管理信息系统也以方便、快捷、费用低的优点正慢慢地进入人们的生活,将传统的图书管理方式彻底解脱出来,从而使人们有更多的时间来获取信息、了解信息、掌握信息,更好地发挥图书馆强大的资源优势。

图书馆管理系统设计论文内容

关键词:图书管理信息系统;数据库应用;Visual Foxpro语言;windows HC

中图分类号:G251文献标识码:A

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。本是从我校图书馆的馆藏规模和实际操作流程程出发,针对图书馆管理的现状,经过详细的系统调查,结合效用和成本多方要素。利用Visual Foxpro6.0作为开发工具,为图书馆开发出的一个实用的单机版图书馆管理信息系统。全文共分为五部分,其分别为绪论、系统分析阶段、系统设计阶段、系统实施阶段、系统测试。

一、绪论

(一)系统开发背景。目前,在一些高校图书管理中,师生查找图书都是采用传统的查询方法,让读者在图书分类架上一本本地去查找,这样不仅很难找到自己所需要的图书,而且费时费力。而图书管理员在办理借书登记、查询读者借书记录时,管理人员必须在借书记录上一个个去查找,而要找到借书记录并删除该记录是件很麻烦的事情。每当新书入库时,图书管理员既要填写新书入库卡片,又要填写新书入库账目,不仅工作量大,而且在新书入库后要经历较长的时间方能借出。另外,因图书数量有限,必须对图书实行限量借阅,因此要实施弹性借书方法是件很困难的事。

为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对图书实施有效管理。该系统应具备以下功能:(1)能对各类图书实行分类管理;(2)提供必要的读者信息;(3)能进行各种高级查询;(4)具有图书检索功能等。这样,不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。

(二)数据库概述。从20世纪五十年代中期开始,计算机的应用由科学研究部门逐步扩展至企业、行政部门。至六十年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于六十年代末。现已形成相当规模的理论体系和实用技术。

数据库(Database)DB是统一管理的相关数据的集合。

数据库管理系统(Database Managerment System)DBMS是位于用户和 操作系统 之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

数据库系统(Database System)DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。

数据库技术是一门研究数据库的结构、存储、管理和使用的软件学科。

二、系统分析阶段

(一)系统可行性分析。系统可行性分析包括:技术的可行性、经济可行性、法律因素可行性。

技术可行性:结合本校图书馆规模和平时业务量的具体情况,本系统采用Visual Foxpro6.0作为开发平台,可以很容易实现图书馆相关信息的记录、维护、检索,并且可以在不添加任何设备的情况下,以较少的人力较快地完成系统的设计,实现系统的功能。

经济可行性:不需要额外开支,用现有的人力物力就可实现,软件成本很低。

法律可行性研究:研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。

(二)系统需求分析

1、图书管理信息系统的总体功能要求。简单的图书管理系统主要包括下面的功能:①借书处理:完成读者借书这一业务流程,核心为快速检索到学生需要的书籍。②还书处理:完成读者还书这一业务流程。③新书上架:完成新书资料的录入工作。④旧书下架:完成图书资料的删除工作。⑤读者查询:根据读者号,查询读者借阅情况,能够对读者的基本信息资料进行管理。⑥相关帮助:便于新的系统使用者能够快速掌握该系统的使用操作。

2、图书管理信息系统的性能需求。①要求有较强的 系统安全 性,对一定范围和程度内用户的错误操作有相应的系统自我保护功能。②系统的维护时间不能超过系统总运行时间的千分之五,系统每次的维护时间不能超过系统总运行时间的千分之一,系统的故障恢复时间不得超过系统故障时间的百分之五。③其他性能要求以其相关或类似的系统为参考。

三、系统设计阶段

(一)系统功能模块设计。鉴于以上各项功能要求,将该系统划分为以下六个模块:

1、图书信息模块。对图书的基本信息进行录入、删除、修改以前信息和进行简单查询功能。

2、查询检索模块。可对书目的基本信息进行检索,其查询条件可以是按分类检索;也可以是按照作者名、图书名称或出版社进行检索。同时,也可对读者的基本信息进行检索,查阅其借阅信息。

3、读者管理模块。对读者的基本信息进行录入管理,可自动生成会员代号,可自动记录会员的借阅信息。

4、数据维护模块。可对数据库中的各项基本数据信息进行数据备份和数据恢复,并可实现数据备份文件存贮路径的自由选择。

5、报表输出模块。对图书的基本信息、会员的基本信息、会员的借阅信息等数据可按照查询条件的不同按要求打印输出。

6、帮助模块。可以提供关于图书管理信息系统各项操作的详细帮助信息,并可实现对不同操作的定点帮助提示。

(二)数据库设计

1、数据描述

(1)静态数据描述。①图书一级分类表:包括一个数据表。其中的主要信息有:分类编号和一级分类名称。一级分类中将图书共分五大类,具体分类方法、编号和分类名称参照国家统一分类方法的规定。②图书二级分类表:包括五个数据表。其中的主要信息有:二级分类的编号和分类名称。二级分类中将图书共分为二十二个小类,并分别隶属于一级分类的五个大类中,其具体分类方法、编号和分类名称参照国家统一分类方法的有关规定。③图书明细分类表:包括二十二个数据表。其中的主要信息有:明细分类的编号和分类名称。明细分类又将二十二个小类明细的分为若干细小类别,其具体的分类方法、编号和分类名称参照国家统一分类方法的有关规定。

以上数据均按国家统一规定设置录入,不能做太大改变,分类名称可以有一定的缩略但不能影响其原有的意义。系统设计完成后不可以通过录入、删除的方式进行修改。

(2)动态数据

①图书的基本数据。包括一个数据表。其中的主要数据有图书编号:是对录入图书的统一编号,以便唯一区别图书;图书名称:图书出版时的封面印刷名称;作者:图书的编写者或编写单位或组织;出版社:出版发行该册图书的发行单位;录入日期:该册图书入库的时间;借阅次数:该图书总的被借阅次数;类别编号:给图书所属的明细分类的类别号,它应与明细分类表中的图书的类别编号一致;简介:对该册图书的内容总体概括介绍。

②读者基本数据:包括一个数据表。其中的主要数据有:读者代号:读者的统一编号,由系统自动生成,唯一的标示一个会员的身份;姓名:读者的真实姓名;电话:读者的有效联系电话,可选择填写;地址:读者的有效联系地址,可选择填写;身份证号:读者的身份证号码,可选择填写;注册日期:读者本人正式注册成功时的日期(为系统自动填写)。备注:读者的个人其他资料。

以上两部分数据的录入具有一定的界面,并提供修改的方式。还提供随时的查询,对查询结果有相应的显示和打印输出,对全体的数据可进行备份与恢复。

③借阅记录。包括一个数据表。其中的主要数据有:读者代号、图书编号、借阅日期。这些数据信息都是由系统自动填写。此表中的所有数据不提供修改方式,只供查阅、显示和打印输出。可以对全体数据进行备份和恢复。

④登录密码。包括一个数据表。其主要数据有:管理员代号、密码、权限。

2、数据库描述。该系统建立一个数据库,其中包括三十二个数据表。全部用Visual Foxpro实现。其中,部分数据表的结构和联系如图1所示。(图1)其他分类数据表的连接通过“下级分类表名”实现连接调用。

3、数据采集。对于图书分类数据表的信息参照国家图书分类方法;对于图书基本信息数据可通过对现存图书进行分类录入;对于读者方面的信息数据可以在系统运行使用中获得。

(三)用户界面设计。本系统设计原则:1、界面美观、操作方便并能高效率地完成工作;2、界面根据用户需求设计;3、界面能引导用户操作的功能,并能提供一些帮助功能。

主要的用户界面有:1、登录界面;2、主表单界面;3、各类信息查询;4、读者信息管理列表;5、图书信息管理列表等。

四、系统实施阶段

(一)计算机系统的性能和软硬件环境。在软件方面本系统运行平台为Windows2000专业版,开发工具采用易学易用的软件开发工具Visual Foxpro6.0。因Visual Foxpro6.0在应用程序的开发上具有灵活、效率高等特点和使用简便的数据库管理功能。硬件要求:Inter PentiumⅢ、128M内存、40G硬盘等。

(二)编写程序。依据各阶段的开发文档,使用Visual Foxpro6.0进行程序编写。此系统的编码设计(表单设计、代码设计、变量定义、控件的定义)严格按照大众化的标准和风格。

对于系统的帮助功能的实现,则使用windows help compiler来单独编译,最后通过Visual Foxpro提供的接口命令(set help to)和系统相连。帮助文件的数据字典、源代码见附件。

五、系统测试

测试的步骤主要有以下三个方面:1、单元测试:采用的是白盒测试法,检查模块控制结构的某些特殊路径;2、综合测试:采用的是自顶向下集成法;3、确认测试包括:功能测试、性能测试。

有关图书馆管理系统设计论文推荐:

1. 图书管理系统毕业论文

2. 浅谈图书馆管理论文

3. 关于图书馆设计论文

4. 图书馆管理毕业论文范文

5. 有关图书馆结构设计论文

6. 图书馆管理论文

学籍管理是高等院校学生管理事务中的一项重要工作,在管理过程中涉及大量的数据处理,它的内容对于学校的决策者和管理者来说都至关重要。下面是我为大家推荐的学生学籍管理系统论文,欢迎浏览。

《学籍管理系统软件计算机应用 》

一、引言:

学生档案管理系统是一个 教育 单位不可缺少的部分,它的 内容 对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着 科学 技术的不断提高, 计算 机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类 社会 的各个领域并发挥着越来越重要的作用。

作为计算机 应用 的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是 企业 的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发学生档案管理系统为例,谈谈其开发过程和所涉及到的 问题 及解决 方法 。

二、系统功能

现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应 时代 的 发展 ,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。

我作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我三年的所学编制出一个实用的程序来帮助中小学进行更有效的学籍管理。归纳起来,功能大约有以下几点:1.学生信息的录入。不同地域的学生通过各种途径不择地点、不择时间地自主上传自己的基本档案(不合要求的档案可以由管理员及时清除)。

2.学生信息的查询。学生的档案信息发在网上可以让全班、全校的人来查询。使用者可以通过多种方式(学期,年级,班级,姓名,学号等)的查询,查看自己需要的学生信息。

3.学生信息的修改。通过 网络 在任何地方,档案管理人员均可随时对转入、转出的学生进行添加和删除,实现了信息的动态管理。

好处为:

1. 可以存储历届的学生档案,安全、高效;

2. 只需一到二名档案录入员即可 操作系统 ,节省大量人力;

3. 可以迅速查到所需信息。

三.ASP的简单认识

ASP的全称是:Active Server Pages,是在服务器端脚本编译环境,使用它可以创建和运行动态、交互的Web服务器应用程序。ASP可以与HTML页、脚本命令和ActiveX组件组合创建交互的Web页和基于Web的功能强大的应用程序。ASP应用程序很容易开发和修改。所以笔者推荐广大教育工作者在教学工作繁忙的情况,使用ASP来制作适应教学的交互性强的动态网页是非常适合的。

以下罗列了 Active Server Pages 所独具的一些特点:

1.使用 VBScript ,JScript 等简单易用的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序的编写。

2.无须编译,容易编写,调试方便可在服务器端直接执行。

3.使用普通的文本编辑器,如 Windows 的记事本,或在FRONTPAGE等流行软件中都可进行编辑设计。

4.与浏览器无关 (Browser Independence)。用户端只要使用可执行 HTML 码的浏览器,即可浏览 ASP 网页的内容。 ASP所使用的脚本语言 (VBScript、Jscript) 均在 WEB 服务器端执行,用户端的浏览器不要求能够执行这些脚本语言。

5. ASP 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,如:REXX、Perl、Tcl等。脚本引擎是处理脚本程序的 COM(Component Object Model) 物件。

6.Active Server Pages 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人直接剽窃,提高了程序的安全性。

7.可使用服务器端的脚本来控制产生客户端的脚本。

8.ActiveX Server Components(ActiveX 服务器元件 ) 具有无限可扩充性。可以使用 Visual Basic 、 Java 、 Visual C++ 、 COBOL 等编程语言来编写你所需要的 ActiveX Server Component 。

由此可见,将ASP技术用于教育任务繁重的教师建设网站是最适合的。

由于笔者本文主题是讲解用ASP技术实现网上 作文 的自动化管理的过,其目的在于由一件具体事例的完成过程来抛砖引玉,使更多的教师懂得怎样在学校网站应用 现代 网络技术 实现网络自动化管理。所以对于网络的一些基础知识不作过多铺垫,下仅列出本文所需基础知识:

1. 懂得基本的HTML语言。

2. 懂得基本的VBScript 或JScript语言。

3. 有数据库操作基础,最少会一种数据库(如最简单的Microsoft Access)

四.网上学生学籍管理实现的目标

主要是对学生信息(如学号、姓名、性别、家庭住址等)进行管理。本模块又分为五个子模块:

(1)录入学生信息

(2)查询学生信息

(3)修改/删除学生信息

其中,学生信息查询不需登录即可使用,其他模块则需要先登录后才能使用。

五.网上学籍自动化管理实现的几个ASP文件简介

从本节开始我们逐渐深入地探讨如何用ASP技术实现以上目标。实现网上学籍的自动化管理和BBS、在线论坛等的建立机制有许多相似的地方,但在数据库的建立或管理方法方面却有许多不同之处。以下笔者以范例的方式来 分析 利用ASP技术来实现的方法。整个自动化管理机制大致可由如下几个ASP文件和一个数据库文件来组成,它们的大至功能如下。

(1)index.asp 进入本栏目后的第一显示页,显示本软件总体功能,提供多种对学生档案的管理方式,以及用户的注册。

(2)login.asp用于用户的注册。

《 学生学籍管理系统的研究 》

摘 要:本文对学生学籍管理系统的学生成绩管理、学生个人基本信息管理、课程管理、用户(管理员、教师、学生)管理及一些数据的统计与管理等功能进行研究。

【关键词】 管理系统 系统分析 数据库设计

1 前言

随着科学技术和管理方式的不断提高,办公方式、方法和手段已经由手工时代逐步向自动化办公发展。作为走在科学技术最前沿的学校,学籍管理的无纸化、网络化是学校决策科学化、数字化和管理现代化中的重要环节,也是开创学籍管理工作新局面必须走到道路。

学籍是指一个学生属于某个学校的合法身份或者资格的标记,是记录学生姓名等信息的册子,也是认定为某所学校学生的唯一依据。学生参加正规升学考试被学校正式录取后,按指定时间到学校办理入学、缴费、报到手续。由学校统一注册教育部学籍管理系统,获得学籍,它标志该学生以成为了学校中的一员。学籍管理系统是指学校对学生所获得的学籍资格进行管理的系统。

2 系统分析

学生学籍管理系统的总体目标是为学校解决学籍管理工作繁杂且准确性差的问题。彻底代替以往人工管理方式,提高学生学籍管理效率和信息准确性,快捷方便地对学生学籍信息进行操作,节省学校经费开支。加快赶上校园信息化建设的发展步伐。

学生学籍管理系统主要是对针对学生的学籍和成绩两大方面进行管理,为学校学籍、成绩管理人员对学生的学籍和成绩的查询、添加、修改和删除操作提供更好的平台,同时也为学生查询个人考试成绩提供快捷方便的途径。

学生学籍管理系统应具备以下几点功能:

(1)对用户的计算机能力要求较低,操作快捷方便。系统容易安装和方便维护;

(2)保证数据库管理的的准确性和安全性;能够实现与教务管理系统对接,满足学校管理要求。

(3)支持B/S模式,用户可以使用浏览器登录系统。

(4)由于系统涉及到个人隐私信息,需提高系统的保密性,根据各类不同的用户类别划分权限,设置用户帐户和密码。

(5)对学生成绩信息的查询、添加、修改和删除。用户根据实际情况需对某些数据进行修改和删除操作,考虑到记录较多,逐一查找非常费劲,应在进行修改和删除操作前利用查找功能,筛选出用户需要操作的相近记录,然后再从查找出的记录中选择需修改或删除的记录进行操作。

(6)学生学籍信息的查询、添加、修改和删除。此功能与对学生成绩信息的查询、添加、修改和删除操作要求一致,应先查找,然后再进行其他操作。

(7)学生学籍信息的录入。可以手动录入也可以从其他文件(excel或dbf)导入,但必须保证其准确性和有效性。

3 系统功能分析

系统管理,包含对密码的更改、数据字典(指年级、民族等字典项目)的查询、添加、修改和删除等;

用户管理,包含对用户信息的查询、添加、修改和删除等;

成绩管理,包含对成绩信息的查询、添加、修改和删除等;

课程管理,包含对课程信息的查询、添加、修改和删除等;

学生管理,包含对学生信息的查询、添加、修改和删除等。

对上面功能分析后进行集合,根据结构化程序设计的要求对系统功能进行分块。学生学籍管理系统功能模块图如图1所示:

4 数据库设计

学生信息:包含学生的学号、姓名、性别、民族、出生年月、生源地、家庭地址、联系电话、系别、专业、班级、入学年份、政治面貌、身份证号、学生状态等;

用户信息:包含用户名、密码、用户姓名等;

成绩信息:包含学生姓名、学号、课程编码、课程名称、考试方式、考试成绩、正考或补考等;

课程信息:包含课程编码、课程名称、课程总学时、理论学时、实验学时、课程学分、课程描述、考试方式、教师编号、教师姓名等;

数据字典:在增删改查过程中,能选择的就要使用列表框选择,以达到统一完整的目的。包括的数据项有使用标识、用户类型、入学年份、省份、政治面貌、民族、考试性质、学生状态。

5 详细设计

5.1 系统管理

登陆系统:起始页面为登陆页面,点击“登陆”按钮,若用户名、密码不匹配,则系统提示错误重新填写。若正确,则进入主功能页面。

修改密码:进入后列表显示所有课程信息,每个条目包含编号、名称、学分、学时、教师、是否使用等信息。

数据字典维护:数据字典维护功能可以进入系统数字字典维护页面,该页面可以对系统各处引用到的字典进行维护,包含学生的年级、在校状态、性别、政治面貌、班级等。

5.2 用户管理

学生管理:进入后列表显示所有学生个人信息,如学号、姓名、性别、系别、班级、专业、出生年月、家庭地址、联系电话、民族、政治面貌、学生状态等信息。

教师管理:进入该项功能后用表格形式所有教师信息显示出来,每个条目包含编号、姓名、是否使用等信息。

5.3 课程管理

进入后列表显示所有课程信息,每个条目包含编号、名称、学分、学时、教师、是否使用等信息。

5.4 成绩管理

进入后列表显示所有成绩信息,每个条目包含课程编码、课程名称、学生学号、学生姓名、学生班级、考试类型、考试成绩、操作等信息。

6 结束语

学籍对学生来说是非常重要的数据信息,而学生学籍管理系统就是用于管理这个数据信息的管理系统。该系统对于学校的管理者和学生都至关重要,应为用户提供快捷的录入、修改和查询功能,以满足各种用户的需求。

参考文献

[1] 李游,黄滨,田贵荣.基于WEB模式的学生学籍管理系统的设计与实现[J].教育信息化.2006.

[2] 黄宏志,许光.基于Web的高校学生学籍管理系统设计与实现[J].计算机与现代化.2012.

[3] 曹威.高校学生学籍管理系统设计与开发[j].科技信息.2010.

有关学生学籍管理系统论文推荐:

1. 学籍管理系统毕业论文

2. 学生信息管理系统论文

3. 学生管理系统论文

4. 学籍管理系统毕业设计论文

5. 浅谈学生信息管理系统论文

6. 学生信息管理系统研究论文

7. 学生信息管理系统设计论文

8. 学生成绩管理系统论文

相关百科

热门百科