网站数据库设计与实现.pptx

上传人:莉*** 文档编号:87327577 上传时间:2023-04-16 格式:PPTX 页数:107 大小:913.22KB
返回 下载 相关 举报
网站数据库设计与实现.pptx_第1页
第1页 / 共107页
网站数据库设计与实现.pptx_第2页
第2页 / 共107页
点击查看更多>>
资源描述

《网站数据库设计与实现.pptx》由会员分享,可在线阅读,更多相关《网站数据库设计与实现.pptx(107页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、6.1 网站数据库概述 网站数据库是实现动态网站的一个有力的工具,目前具有一定规模的网站建设都离不开数据库的使用。网络数据库(Web数据库)系统数据库系统是网络数据库系统的重要组成部分。那么,让我们来看看什么是网站数据库。第1页/共107页什么是网站数据库 我我们们把把能能够够为为网网站站提提供供后后台台数数据据支支持持,网网站站后后台台服服务务程程序序能能够够根根据据访访问问者者提提供供的的资资料料,到到网网站站的的后后台台数数据据库库搜搜索索数数据据,并并将将搜搜索索的的结结果果或或数数据据经经整整理理返返回回给给访访问问者者的后台数据库称为的后台数据库称为网站数据库网站数据库。6.1 网

2、站数据库概述第2页/共107页6.1 网站数据库概述第3页/共107页 网站数据库是整个网站的数据中心,所有网站的数据(特别是那些需要经常更新的数据)都可以存放在网站数据库中。网站数据库的更新是通过网页程序实现的。网站的后台服务器端程序通常具有数据库访问的功能,通过访问数据输入界面,通过页面向数据库输入所需的数据;用户浏览器还可以作为数据查询的输入界面,通过页面传递查询条件,网页后台服务器程序部分可以查询数据库,然后把查询结果返回到浏览器,通过用户浏览器把结果显示出来;同时用户浏览器还可以发出数据操作指令,网站后台服务器程序收到这些数据库指令后,可以对数据库进行更新、删除等操作,操作完成后,再

3、在浏览器上显示操作结果。这些网站数据库的访问控制过程如图。6.1 网站数据库概述第4页/共107页网站数据库的开发环境设计开开发一个网站数据一个网站数据库是有是有许多种解决方案的。多种解决方案的。不同的操作系不同的操作系统平台使用的数据平台使用的数据库管理系管理系统可能也不同,可能也不同,通常某种网站操作系通常某种网站操作系统及建及建设技技术和某种数据和某种数据库管理管理软件,件,是一一是一一对应的。的。6.1 网站数据库概述第5页/共107页数据库技术发展背景 网站程序设计技术主要应用于对网页进行动态的控制、实现和网站页面与用户之间的交互、实时访问网站的后台数据库,以及实现一些网页特效等作用

4、。其中,HTML语言是基础中的基础。6.2 网站后台数据库技术第6页/共107页6.2 网站后台数据库技术访问Web数据库的一般过程 数据库访问技术1访问Web数据库的一般过程第7页/共107页6.2 网站后台数据库技术2常用的Web数据库接口技术以下简单介绍几种常用的Web数据库接口技术。(1)CGICGI是最早使用的Web数据库链接技术,一般运用VB、C/+,Perl等语言编写CGI程序,并通过编译成为可执行程序。CGI程序的优点是:容易上手,易于掌握。CGI程序的缺点是:难以修改,每次修改都需要重新编译,不仅调试困难,而且难以查错,运行效率较低。用户的每一表单(form)都需要执行一个可

5、执行程序文件,当多个用户同时发出请求时,必然使多个可执行程序文件同时在内存上运行,在服务器上形成“瓶颈”,大大降低服务器的执行速度。另外CGI协议适应性较差,缺乏与用户的访问交互。CGI是早期的较为成熟的Web数据库技术,已在大量的网站上使用,尤其在UNIX平台上。第8页/共107页6.2 网站后台数据库技术(2)ADCMicrosoftADC(advanceddataconnector)具有一个访问数据库的ActiveX控件。与普通的Web数据库处理不同,它并不在服务器端运行,而是在客户端的浏览器上实现访问数据库的操作(可访问支持ODBC的数据库),因而要求客户端上使用支持ActiveX的浏

6、览器,如IE5.0及Netscape等。ADC可从服务器上自动下载并被安装到客户端,可以使用脚本语言(如VBScript及JavaScript等)编程。ADC的缺点是仅在客户端访问数据库,因此大量的数据需驻留在客户端,在浏览器访问数据时,虽然减少了与服务器端之间的频繁数据交换,提高运行效率,但访问数据库应用程序的性能会受到一定的限制。第9页/共107页6.2 网站后台数据库技术(3)ASP与ADOASP采用ADO(ActiveXDataObject,ActiveX数据对象组件)实现对数据库的访问。它是个无需进行编译的应用程序环境,支持OpenScript接口,可以使用这个标准的任一种脚本语言,

7、如VBScript及JavaScript等。这些语言能够调用相应的组件完成某种功能。ASP可以用多线程方式在服务器的进程中运行,可对多用户程序进行并行优化处理,可以建立动态性强和功能齐全的网站。与CGI相比,ASP具有以下特点:易于掌握,功能齐全,便于高效开发出Web应用软件。运行效率较高(CGI以磁盘文件方式进行数据交换),因为ASP是以数据流方式与浏览器进行数据交换。采用多线程的工作方式,更节省系统资源。可以将HTML文本与程序文本组合,无需编译,易于编程与调试。第10页/共107页6.2 网站后台数据库技术(4)ODBCODBC(开放式数据库连接)是一种用C语言编制,适用于不同的DBMS

8、(数据库管理系统)数据存取标准的应用程序接口。它包含4个组件,即应用程序、驱动程序管理器(drivermanager),驱动程序和数据源。其驱动程序管理器可以将多种平台的数据库相连接,每种数据库引擎均需要向驱动程序管理器登录自己的ODBC驱动程序,以进行相应的数据访问。ODBC向应用程序提供统一的标准接口,这为ODBC的开放性奠定了基础。第11页/共107页6.2 网站后台数据库技术(5)JDBCJDBC是Java应用程序接口,用于执行SQL语句,是API(ApplicationProgrammingInterface应用程序编程接口)集合。JDBC中设置了多种Java程序连接数据库的框架,由

9、一组Java语言编写的类和接口组成,其目标是让多种数据库用户用Java程序或Java的脚本语言实现对数据库的访问。JDBC保持了ODBC的基本特征,也独立于特定的数据库。使用相同源代码的应用程序通过动态加载不同的JDBC驱动程序访问不同的DBMS。在连接不同的DBMS时各个数据库管理系统通过不同的URL(统一资源定位器)来标识。JDBC的总体结构类似于ODBC,也具有相应的组件:应用程序、驱动程序管理器、驱动程序和数据源。JDBC的使用方法主要有3种,即通过ODBC与数据库连接、直接用JDBC与数据库连接及通过中间层完成计算,运用JDBC驱动程序连接数据库。第12页/共107页6.2 网站后台

10、数据库技术(6)大型数据库专用接口许多著名的数据库厂商都为自己的数据库系统提供高性能的接口,如SybaseWeb.sql是由Sybase公司开发的网络数据库软件,需要与网络服务器配合,它使用标准和扩充的HTML,PerlScript与SQL可以访问数据库。Oracle公司也提供了OracleWebApplicationServer,可实现访问数据库的各种功能服务,执行PL/SQL可以对Oracle9i进行访问。第13页/共107页建立网站如何选择合适的数据库目前常用的建立中小型数据目前常用的建立中小型数据库工具一般有工具一般有AccessAccess、MySQLMySQL、SQLServerS

11、QLServer等,那么,当你想做一个网站等,那么,当你想做一个网站时,到底,到底哪一种数据哪一种数据库是适合自己的呢是适合自己的呢?以下分以下分别介介绍一下一下这几种数几种数据据库的特点及功能。的特点及功能。1 1 AccessAccess是一种桌面数是一种桌面数库,适合数据量少的,适合数据量少的应用,在用,在处理少理少量数据和量数据和单机机访问的数据的数据库时是很好的,效率也很高。但是它是很好的,效率也很高。但是它的同的同时访问客客户端不能多于端不能多于4 4个。早期的个。早期的AccessAccess数据数据库有一有一定的极限,如果数据达到定的极限,如果数据达到100M100M左右,很容

12、易造成服左右,很容易造成服务器器IISIIS假假死,或者消耗掉服死,或者消耗掉服务器的内存器的内存导致服致服务器崩器崩溃。在。在Access2003Access2003以后的,如果服以后的,如果服务器的配置的合理,中小型公司器的配置的合理,中小型公司的企的企业2020以上的客以上的客户端也收到不端也收到不错的效果,可以同的效果,可以同时使用,使用,包括包括查询,输入数据等,出入数据等,出错现象象较少。少。6.2 网站后台数据库技术第14页/共107页6.2 网站后台数据库技术2 2 SQLServerSQLServer是基于服是基于服务器端的中型的数据器端的中型的数据库,可以适合大容量数据的,

13、可以适合大容量数据的应用,在功能上管理上也要比用,在功能上管理上也要比AccessAccess要要强得多。在得多。在处理海量数据的效率,理海量数据的效率,后台开后台开发的灵活性,可的灵活性,可扩展性等方面展性等方面强大。因大。因为现在数据在数据库都使用都使用标准的准的SQLSQL语言言对数据数据库进行管理,所以如果是行管理,所以如果是标准准SQLSQL语言,两者基本上都可言,两者基本上都可以通用的。以通用的。SQLServerSQLServer特点:特点:真正的客真正的客户机机/服服务器体系器体系结构。构。图形化用形化用户界面,使系界面,使系统管理和数据管理和数据库管理更加直管理更加直观、简单

14、。丰富的丰富的编程接口工具,程接口工具,为用用户进行程序行程序设计提供了更大的提供了更大的选择余地。余地。SQLServerSQLServer与与WindowsNTWindowsNT完全集成,利用了完全集成,利用了NTNT的的许多功能,如多功能,如发送和接送和接受消息,管理登受消息,管理登录安全性等。安全性等。具有很好的伸具有很好的伸缩性,可跨越从运行性,可跨越从运行Windows95/98Windows95/98的膝上型的膝上型电脑到运行到运行Windows2000Windows2000的大型多的大型多处理器等多种平台使用。理器等多种平台使用。对WebWeb技技术的支持,使用的支持,使用户能

15、能够很容易地将数据很容易地将数据库中的数据中的数据发布到布到WebWeb页面上。面上。SQLServerSQLServer提供数据提供数据仓库功能,功能,这个功能只在个功能只在OracleOracle和其他更昂和其他更昂贵的的DBMSDBMS中才有。中才有。第15页/共107页3 3 MySQLMySQL是一个开放源是一个开放源码的小型关系型数据的小型关系型数据库管理系管理系统。目前。目前MySQLMySQL被被广泛地广泛地应用在用在InternetInternet上的中小型网站中。由于其体上的中小型网站中。由于其体积小、速度快、小、速度快、总体体拥有成本低,尤其是开放源有成本低,尤其是开放源

16、码这一特点,使一特点,使许多中小型网站多中小型网站为了降低网站了降低网站总体体拥有成本而有成本而选择了了MySQLMySQL作作为网站数据网站数据库MySQLMySQL特点:特点:MySqlMySql的核心程序采用完全的多的核心程序采用完全的多线程程编程。程。线程是程是轻量量级的的进程,可灵活程,可灵活地地为用用户提供服提供服务,而不,而不过多的占用系多的占用系统资源。源。MySqlMySql可运行在不同的操可运行在不同的操作系作系统下。下。MySqlMySql有一个非常灵活而且安全的有一个非常灵活而且安全的权限和口令系限和口令系统。当客。当客户与与MySqlMySql服服务器器连接接时,所有

17、的口令,所有的口令传送被加密,而且送被加密,而且MySqlMySql支持主机支持主机认证。MySqlMySql支持支持ODBCforWindowsODBCforWindows。MySqlMySql支持所有的支持所有的ODBC2.5ODBC2.5函数和其他函数和其他许多函数,多函数,这样就可以用就可以用AccessAccess连接接MySqlMySql服服务器,从而使得器,从而使得MySqlMySql的的应用被大大用被大大扩展。展。MySqlMySql支持大型的数据支持大型的数据库。MySqlMySql拥有一个快速而且有一个快速而且稳定的基于定的基于线程的内程的内存分配系存分配系统,稳定性好具有

18、定性好具有强大的大的查询功能。功能。6.2 网站后台数据库技术第16页/共107页分析网站的数据内容1分析数据内容的原则分析网站数据内容,实质上是将现实世界中的事物表示在计算机之中。在这里我们首先介绍一下实体和属性的概念:实体(entity):客观存在且可以相互区别的事物。实体既可以是个具体的事物,例如一个学生、一辆汽车、一篇新闻等等,也可以是一个抽象的事物,例如一场球赛、一次活动等等。属性(attribute):实体有若干特性,每一个特性称为属性。每个属性有一个值域,值域的类型可以是整型、实型或字符串型。例如学生有学号、姓名、年龄、性别等属性,新闻有发表时间、出版社、新闻主题、新闻关键字等属

19、性。6.3 数据库设计第17页/共107页6.3 数据库设计确定网站数据的内容就是把现实世界中的各种实体表现在计算机中,主要是要把实体的属性准确地在计算机中反映出来。属性的表示对于实体的表示是至关重要的,实体的存在其实是一组属性的集合,而属性当前值的不同组合就反映了实体的不同状态。因此,分析网站数据的内容就是要准确地找出实体的属性集,并把它们描述在计算机当中。确定实体的属性集的原则是被确定的属性对于该实体是必要的(有用的),并且,应该是可区别的、有明确定义的。必要的是指该属性在表示实体时是必须的,没有了该属性所得到的实体状态是不完整和不确定的。例如,对于一个学生实体,姓名是最显然的必要属性,没

20、有了这个属性就无法知道这个实体具体表示哪个学生了(也就是不确定了)。第18页/共107页2分析数据内容的例子下面我们以一个商业网站IT营销网的实例来分析网站的数据内容。在本例网站中,我们要完成的任务是如何将新闻浏览功能,发表评论功能、社区讨论功能所要操作的对象表示在网站数据库中。也就是找出它们操作的对象,以及这些对象实体的属性集。对于新闻浏览功能,我们的操作对象是新闻。新闻文章的一些主要属性如下:6.3 数据库设计第19页/共107页6.3 数据库设计新闻ID 新闻标题是否有插图插图名字新闻内容新闻级别发布日期新闻来源所属栏目名称栏目级数父栏目名称关键字相关新闻是否可发表评论是否定制 第20页

21、/共107页6.3 数据库设计分析网站的数据内容之间的联系1各种联系模式两个不同的两个不同的实体集之体集之间的的联系有以下三种情况。系有以下三种情况。(1 1)1 1:1 1联系系如果如果实体集体集E1E1中每个中每个实体(即一个体(即一个值)至多和)至多和实体集体集E2E2中一个中一个实体有体有联系,反之亦然,那么系,反之亦然,那么实体集体集E1E1和和E2E2的的联系称系称为“一一对一一联系系”,记为“1 1:1 1联系系”。例如例如飞机的座位和乘客之机的座位和乘客之间,学校与校,学校与校长之之间都是都是1 1:1 1联系,系,如如图6-36-3所示。所示。图6-36-3实体之体之间一一对

22、一一联系示意系示意图(2 2)1 1:联系系如果如果实体集体集E1E1中每个中每个实体与体与实体集体集E2E2中任意个(零个或多个)中任意个(零个或多个)实体有体有联系,而系,而E2E2实体集中每个体集中每个实体至多与体至多与E1E1中一个中一个实体有体有联系,那么称系,那么称E1E1和和E2E2的的联系系为“一一对多多联系系”,记为“1 1:联系系”。例如,在学校里,系和学生之。例如,在学校里,系和学生之间,工厂里,工厂里车间和和职工之工之间都都是是1:M1:M联系,如系,如图6-46-4所示。所示。第21页/共107页6.3 数据库设计(3 3)M M:N N联系系如果如果实体集体集E1E

23、1中每个中每个实体与体与实体集体集E2E2中任意个(零个或多个)中任意个(零个或多个)实体有体有联系,反之系,反之亦然,那么称亦然,那么称E1E1和和E2E2的的联系系为“多多对多多联系系”,记为“M M:N N联系系”。例如,学生与例如,学生与课程之程之间,商店与,商店与顾客之客之间都是都是M M:N N联系。系。上面上面3 3种种联系是系是实体集之体集之间最基本的最基本的联系。系。类似地也可以定似地也可以定义多个多个实体集体集(三个三个或三个以上或三个以上)之之间的各种的各种联系,也可以定系,也可以定义同一个同一个实体集的体集的实体体间联系。系。另外,另外,M M:N N联系在系在计算机中

24、表示起来是十分复算机中表示起来是十分复杂的,但是我的,但是我们可以引入两个可以引入两个1 1:M M的的联系来表示一个系来表示一个M M:N N的的联系,只要在中系,只要在中间加入一个抽象出来的加入一个抽象出来的实体集。例如,我体集。例如,我们要要表示学生与表示学生与课程的关系,我程的关系,我们在原来学生和在原来学生和课程两个程两个实体集的基体集的基础上引入了上引入了“学生学生v v课程程”这样一个一个实体集,就可以形成体集,就可以形成“学生学生”与与“学生学生v v课程程”之之间是是1 1:M M的关系和的关系和“课程程”与与“学学生生V V课程程”之之间也是也是1 1:M M的关系了。的关

25、系了。第22页/共107页6.3 数据库设计数据数据库设计是是对一个一个给定的定的应用用环境,构造最境,构造最优的数据的数据库模式,建立数据模式,建立数据库及其及其应用系用系统,使之能,使之能够有效地存有效地存储数据,数据,满足各足各种用种用户的的应用需求。即信息要求和用需求。即信息要求和处理要求,大型数据理要求,大型数据库设计既是既是涉及多学科的涉及多学科的综合性技合性技术,又是一,又是一项庞大的工程大的工程项目。它要求从事目。它要求从事数据数据库设计的的专业人人员应具具备多方面的技多方面的技术和知和知识,除要了解,除要了解计算算科学的基科学的基础知知识和和软件工程的原理和方法,掌握程序件工

26、程的原理和方法,掌握程序设计的方法和的方法和技巧,具技巧,具备数据数据库的基本知的基本知识和数据和数据库设计技技术外,外,还应充分了解充分了解应用用领域的域的业务知知识,才能,才能设计出符合具体出符合具体领域要求的数据域要求的数据库应用用系系统。本。本节主要介主要介绍关系数据关系数据库设计的基本概念、步的基本概念、步骤和方法,并通和方法,并通过实例例设计进行行说明。通明。通过本本节学学习,可以了解:,可以了解:数据数据库设计的基本步的基本步骤;关系数据关系数据库设计方法:基于方法:基于E-RE-R模型的数据模型的数据库设计方法和用方法和用户视图法;法;第23页/共107页6.3 数据库设计数据

27、库设计的基本步骤 按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段。如图所示。第24页/共107页数据库设计步骤第25页/共107页6.3 数据库设计1需求分析阶段2概念模型设计阶段3逻辑模型设计阶段4数据库物理设计阶段物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到约束和具体的程序设计。(1)存储记录结构设计:包括记录的组成,数据项的类型、长度,以及逻辑记录到存储记录的映射。(2)确定数据存放位置:可以把经常同时被访问的数据组合在一起,“记录聚簇(cluster)”技术能满足这个要求。(3)存取方法的设计:存取路径分为主存取路径及辅存取路径,前者

28、用于主键检索,后者用于辅助键检索。(4)完整性和安全性考虑:设计者应在完整性、安全性、有效性和效率方面进行分析,做出权衡。(5)程序设计第26页/共107页6.3 数据库设计5数据库实施阶段根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施阶段。实施阶段主要有三项工作。(1)建立实际数据库结构。对描述逻辑设计和物理设计结果的程序即“源模式”,经DBMS编译成目标模式并执行后,便建立了实际的数据库结构。(2)装入试验数据对应用程序进行调试。试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情

29、况。(3)装入实际数据,进入试运行状态。测量系统的性能指标,看是否符合设计目标。如果不符,则返回到前面,修改数据库的物理模型设计甚至逻辑模型设计。第27页/共107页6.3 数据库设计6数据库运行和维护阶段数据库系统正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。运行维护阶段的主要任务有四项:(1)维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与备份,发生故障后及时恢复。(2)监测并改善数据库运行性能:对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施。(3)根据用户要求对数据库现有功能进行扩充。(4)及时改正运行中

30、发现的系统错误。第28页/共107页2.4 确定网站的主题确定网站的主题关系数据库基本概念1关系数据库关系模型把世界看作是由实体和联系构成。所谓实体就是指现实世界中具有区分与其他事物的特征或属性并与其他实体有联系的对象。在关系模型中,实体通常以表的形式来表现。表是由行和列组成的,行表示数据的记录,列表示记录中的域。表的每一行描述实体的一个实例,表的每一列描述实体的一个特征或属性。所谓联系就是实体之间的关系,联系分为三种:一对一、一对多和多对一,通过联系就可以用一个实体的信息来查找另个实体的信息。关系模型把所有的数据都组织在表中,表反映了现实世界中的事实和值。第29页/共107页6.3 数据库设

31、计2常见的数据库对象(1)表表是包含数据库中所有数据的数据库对象。表定义为列的集合。与电子表格相似,数据在表中是按行和列的格式组织排列的:每行代表唯一的一条记录,而每列代表记录中的一个域。每个表代表某类对用户有意义的对象。例如,可在一个学校数据库内找到班级表、教师表和学生表。表有两个主要组件。列:每列代表由表建模的对象的某种特性,每列又称一个字段,列的标题称为字段名。行:每行代表由表建模的对象的个别事件。第30页/共107页6.3 数据库设计(2)索引索引是对数据库表中一个或多个列的值进行排序的结构,可以利用索引快速访问数据库表中的特定信息。如果想按特定职员的“姓”来查找,与在表中搜索所有的行

32、相比,索引有助于更快地获取信息。索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针。数据库使用索引的方式与使用书的目录很相似,通过搜索索引找到特定的值,然后跟随指针到达包含该值的行。在数据库关系图中,可以为选定的表创建、编辑或删除索引键属性页中的每个索引类型。当保存附加在此索引上的表或包含此表的数据库关系图时,索引同时被保存。通常情况下,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引将占用磁盘空间,并且降低添加、删除和更新行的速度。不过在多数情况下,索引所带来的数据检索速度的优势大大超过它的不足之处。然而,如果应用程序非常频繁地更新数据,或磁盘空间有限,

33、那么最好限制索引的数量。第31页/共107页6.3 数据库设计(3)视图视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是SELECT语句。SELECT语句的结果是构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在Transact-SQL语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列其一或所有功能。将用户限定在表中的特定行上,例如,只允许雇员看见工作跟踪表内记录其工作的行。将用户限定在特定列上,例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名列、办公室列、工作电话列和部门列,而不能看见任何包含工资信息或个人

34、信息的列。将多个表中的列联接起来,使它们看起来像一个表。聚合信息而非提供详细信息。例如,显示一个列的和,或列的最大值和最小值。第32页/共107页6.3 数据库设计(4)关系图关系图实际上是数据库表之间的关系示意图,利用它可以编辑表与表之间的关系。(5)CHECK约束CHECK约束通过限制输入到列中的值来强制域的完整性。这与FOREIGNKEY(外键)约束控制列中数值相似。区别在于它们如何判断哪些值有效,FOREIGNKEY约束从另一个表中获得有效数值列表,CHECK约束从逻辑表达式判断而非基于其他列的数据。例如,通过创建CHECK约束可将age列的取值范围限制在2030之间,从而防止输入的年

35、龄超出正常的年龄范围。第33页/共107页6.3 数据库设计可以通过任何基于逻辑运算符返回结果true或false的逻辑表达式来创建CHECK约束。例如:age=20ANDage姓名性别年龄E-mail第86页/共107页6.6 ASP程序管理数据库实例图6-32检索数据运行结果运行结果如图6-32所示。第87页/共107页第88页/共107页6.6 ASP程序管理数据库实例向数据库中添加记录向数据库中添加数据一般要用到SQL语句:“INSERTINTO.(.)VALUES(,.)”将姓名为“teresa”的新记录添加到friends数据库中的ASP程序的实例,代码如下。tr姓名性别年龄E-m

36、ail图6-32添加数据运行结果运行结果如图6-32所示。更改数据库中的记录更改数据库中记录一般要用到SQL语句:“UPDATESET=WHERELIKE.”在friend数据库中把姓名为”teresa”记录的Email地址改为的ASP程序实例,代码如下:tr姓名性别年龄E-mail第92页/共107页第93页/共107页6.6 ASP程序管理数据库实例运行结果如图6-33所示。从数据库中删除记录从数据库中删除记录一般要用到SQL语句:“DELETEFROM.WHERELIKE”一个从创建的friends数据库中删除姓名为”teresa”记录的ASP程序实例,代码如下:%OptionExpli

37、citResponse.Expires=0Dimcn,SQL1,SQL2,rsSetcn=Server.CreateObject(“ADODB.Connection”)第94页/共107页6.7 Web数据库应用性能的提高6.7Web数据库应用性能的提高设计一个能经得起考验的Web数据库应用程序(例如为几千个客户服务的联机购物应用程序)的最大挑战,在于如何合理地管理数据库连接。打开并且保持数据库连接,即使在没有信息传输时,也会严重耗费数据库服务器的资源并且可能会导致连接性问题。设计良好的Web数据库应用程序将回收数据库连接并能够补偿由于网络堵塞造成的延迟。第95页/共107页6.7 Web数据

38、库应用性能的提高1建立链接的位置有三个位置可以建立连接,即在Application对象、Session对象及每个ASP网页中。下面介绍实现的方法及其优缺点。(1)在Application对象中建立连接在Application对象中建立连接的方法是要修改Globalasa中的Application_OnStart事件,添加以下连接数据库代码:cn=DSN=SQLdsnsetapplication(“conn”)=ServerCreateObject(“ADODB.connection”)application(“conn”).open(cn)然后在每个页面都有类似的一段代码:SQL=“”Setr

39、s=application(conn).Excute(SQL)第96页/共107页6.7 Web数据库应用性能的提高这种方法的特点是始终只有一个连接,并且连接始终是打开的,它的缺点是当用户很多时,所有的用户同时使用这一个连接,势必形成系统性能的瓶颈。(2)在Session对象中建立连接在Session对象中建立连接的方法是要修改Globalasa中的Session_OnStart事件,添加以下连接数据库代码:Setsession(“conn”)=server.CreateObject(“ADODB.connection”)session(“conn”).open(application(“co

40、nn”)然后在每个页面都有类似的一段代码:SQL=”.”Setrs=session(conn).Excute(SQL)这种方法的缺点是显而易见的,当用户很多时,打开的连接数目将会非常可怕。同时每个用户打开连接需要的时间很短,每个用户连接在一开始打开以后,就进入空闲时间,这么多的空闲连接浪费了大量的系统内存。第97页/共107页6.7 Web数据库应用性能的提高(3)在ASP网页中建立连接在每个ASP网页中建立连接的方法是加入如下代码:Setapplication(“conn”)=server.CreateObject(“ADODB.connection”)Cn.open(application

41、(“conn”)SQL=”Setrs=cn.Excute(SQL)这种方法的优点是只有当处理到该页面时,才创建数据库的连接,即使有很多的用户,但同时建立的连接数却相对其他两种方法都少很多,这样就减轻了服务器的负担。这种方法显著的缺点就是速度慢,因为建立连接需要时间,但同时,这种速度问题还可以通过建立缓冲池的方法来缓解,下面将介绍。第98页/共107页6.7 Web数据库应用性能的提高2使连接超时活动的突然增长可能使数据库服务器变得十分笨拙,大量增加建立数据库连接的时间。结果,过长的连接延时将降低数据库的性能。用Connection对象的ConnectionTimeout属性可以限制放弃连接尝试

42、并发出错误消息之前应用程序等待的时间。例如下面的脚本设置ConnectionTimeout属性,在取消连接尝试之前等待20秒。Setcn=Server.CreateObject(“ADODB.Connection”)Cn.ConnectionTimeout=20Cn.Open“DSN=SQLtest”默认的ConnectionTimeout属性是30秒。注意:在将ConnectionTimeout属性合并到数据库应用程序之间,一定要确保连接提供程序和数据源支持该属性。第99页/共107页6.7 Web数据库应用性能的提高3共享连接经常建立和中断数据库连接的Web数据库应用程序可能会降低数据库服

43、务器的性能。ASP支持用ODBC35的共享特性有效管理连接。连接共享维持打开的数据库连接并管理不同的用户共享该连接,以维持其性能和减少空闲的连接数。对每一个连接请求,连接池首先确定池中是否存在空闲的连接。如果存在,连接池返回连接而不是建立到数据库的新连接。如果希望将ODBC驱动程序加入到连接共享中,则必须配置数据库驱动程序并在WindowsNT注册表中设置驱动程序的CPTimeout属性。当ODBC断开连接时,连接被存入池中,而不是被断开。CPTimeout属性决定在连接池中的连接保留的时间长度。如果在池中连接保留的时间比CPTimeout设置的时间长,则连接将被关闭并且从池中删除。CPTim

44、eout的默认值是60秒。第100页/共107页6.7 Web数据库应用性能的提高可以通过创建如下设置的注册表键来有选择地设置CPTimeout的属性,从而启用特定ODBC数据库驱动程序的连接池。HKEY-LOCAL_MACHINESOFTWAREODBCODBCINST.INIdriver-nameCPTimeout=timeout(REG_SZ,unitsareinseconds)例如,下面的键将SQLServer驱动程序的连接池的超时设置定为180秒。HKEY-LOCAL_MACHINESOFTWAREODBCODBCINST.INISQLServerCPTime_out=180注意:默

45、认情况下,通过将CPTimeout设置为60秒,Web服务器将激活SQLServer的连接池。第101页/共107页6.7 Web数据库应用性能的提高4使用跨页连接尽管可以通过存储ASP的Application对象的连接重复使用跨页连接,但是,始终使连接保持打开是不必要的,也没有充分利用连接池的优点。如果有许多用户需要连接到同一个ASP数据库应用程序,一个好方法就是将跨页连接字符串置于ASP的Application对象中,重复使用数据库连接。例如,可以在Global.asa文件的Application_OnStart事件过程中指定连接字符串,如下面的脚本所示:Application.lockA

46、pplication(“ConnectionString”)=”FILEDSN=MyDatabase.dsn”Application.unlock然后,在每一个访问数据库的ASP文件中写入:第102页/共107页6.7 Web数据库应用性能的提高要想创建连接对象的实例,使用以下脚本:cn.OpenApplication(”ConnectionString”)对于打开的连接,可以在页尾写入以下脚本,关闭连接:Cn.Close在单个用户需要重复使用跨页连接的情况下,使用Session对象连接比使用Application对象更好。5关闭连接要想更好地使用连接池,就应尽快地关闭数据库连接。默认情况下,

47、当脚本执行完以后,连接将被终止。当不再需要连接时将其关闭,就可以减少对数据库服务器的请求并可以使其他用户能够使用该连接。第103页/共107页6.7 Web数据库应用性能的提高可以使用Connection对象的Close方法终止Connection对象和数据库之间的连接。下例的程序的功能是打开连接,然后将其关闭:本章小结本章我们从网络数据库的概念,到数据库的设计及实现都进行了详细的介绍。其中,重点介绍了数据库的建立以及访问数据库的各种方法,并以实例介绍了管理数据库的主要方法。第104页/共107页习题六六1实训题(1)利用Access建立一个学生通讯录数据库TX.MDB,其中一个表的名字为TX

48、L,其中有学号,姓名,年龄,爱好,电话,EMAIL等字段,并设定学号为主键。(2)上机完成上题所建数据库系统DSN的配置。(3)DreamweaverMX面向Web的站台的建立与编辑。(4)上机用Dreamweavermx完成数据库连接的配置,数据库利用第一题所建的TX数据库。第105页/共107页习题六六2.思考题(1)如何配置Access数据库系统DSN?(2)ASP的访问数据库的方式有哪几种?各有什么特点?(3)ADO是什么?它有什么优点?(4)ODBC的作用是什么?通过ODBC,可以选择创建的DSN类型有哪些?(5)Web服务器必须和数据库服务器安装在同一台机器上吗?(6)如果Web服务器和数据库服务器分开装在两台不同的服务器上,那么配置上会有什么变化?哪一台服务器是DreamweaverMX站点管理模式中的远程测试服务器?第106页/共107页感谢您的观看。第107页/共107页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com