教育科研机构网站设计.docx
- 文档编号:8641849
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:82
- 大小:3.86MB
教育科研机构网站设计.docx
《教育科研机构网站设计.docx》由会员分享,可在线阅读,更多相关《教育科研机构网站设计.docx(82页珍藏版)》请在冰豆网上搜索。
教育科研机构网站设计
任务四、数据库结构设计
相关知识:
对于规模较大的网站,为了实现网上信息访问的实时性、动态性、交互性,对网上数据进行高效存取,一般需要数据库的支持,因此,需要开发基于Web数据库的动态、交互性应用程序。
一、Web数据库
所谓的Web数据库,可以简单的定义为基于Web的数据库应用系统,即以浏览器作为输入界面输入数据,然后浏览器将这些数据返回给网站,网站再对这些数据进行处理,其具体工作过程如图2.10所示。
当Web服务器接收到HTTP请示后,若发现请求的是一个静态的HTML页面,则Web服务器无需数据库服务器的帮助,直接使用基本的Web服务即可。
若发现请求的是一个动态页面,则Web服务器能够实现对数据库的动态的及时地查询,根据需求从数据库中取出相应的数据,并对其进行相应的处理,然后动态生成一个新的HTML页面返回给Web服务器,最后由Web服务器通过HTTP协议将这个页面传递给客户机,客户机接收这个页面,并将其显示在浏览器中。
图2.10三层次的Web数据库系统模型
目前,在实现Web数据库系统的连接和应用时,Web数据库技术也可采用多层体系结构,如图2.11所示,借助中间件来连接Web服务器和数据库服务器。
中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库。
最基本的中间件技术有公共网关接口CGI和应用程序接口API两种。
图2.11多层次的Web数据库系统模型
二、Web数据库访问技术
目前,数据库访问技术很多,较流行的有代表性的服务器端的脚本编程技术如下:
1、ASP技术
ASP即Active Server Pages,是由微软创建的Web应用开发标准,是服务器端的脚本编写环境,ASP服务器已经包含在IIS服务器中。
通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。
asp支持VBScript和JavaScript等脚本语言,默认为VBScript。
当用户使用浏览器申请一个*.asp主页时,Web服务器响应该请求,调用ASP引擎,并解释其中的脚本文件(JScript或者VBScript)。
若脚本指令中含有访问数据库的请求,则通过ODBC与后台数据库相连,由数据库访问组件ADO执行访问数据库的操作。
ASP脚本是在服务器端解释执行的,它依据访问数据库的结果集自动生成HTM主页,返回给客户端显示。
正是因为ASP在服务器端运行,运行结果以HTM主页的形式返回给用户浏览器,故ASP源程序不会泄密,增加了系统的安全。
另外,ASP是面向对象的脚本环境,用户可按需自行增加ActiveX组件来扩充其功能。
用ASP构建动态网站最好的操作系统是WindowsNT/2000Server,后台支持的数据库是MicrosoftSQLServer7.0/2000,Web服务器是IIS4.0/5.0。
2、PHP技术
PHP即HypertextPreprocessor,目前最流行的服务器脚本语言之一,是一种基于服务器端来创建动态页面的嵌入式脚本语言,具有很强的数据库访问能力,它的执行效率要高于普通的CGI程序。
当浏览者打开主页时,服务器端便执行PHP的命令并将执行结果发送到访问者的浏览器中。
PHP是一种完全开放源代码的免费软件,可以跨越平台,运行在WindowsNT操作系统和多种版本的UNIX操作系统上。
目前,网站使用最多的是PHP+MySQL+Apache基于UNIX(或者Linux)下的服务器策略。
3、JSP技术
JSP即JavaServerPages,是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,解决了目前ASP和PHP的通病——脚本级执行,是一种新一代的站点开发语言。
在传统的HTML网页中加入Java程序片段和JSP标记,就构成了JSP网页。
其中,程序片段可以操作数据库、重新定向网页以及发送E-Mail等等。
当在访问JSP网页时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
用JSP构建动态网站时,操作系统可以选用Unix、Linux或Windows平台,Web服务器可以选择商业或免费的服务器软件,后台数据库可根据实际情况选择。
4、ColdFusion技术
目前,在众多的WEB开发工具中,ColdFusion简单和基于标签的语法框架使其变的简单易学。
它拥有一个功能强大的集成开发环境(IDE),能够满足需要承受最大工作负载的商业性站点的要求,从而使ColdFusion的制作和开发更加快捷。
ColdFusion的独特性在于它能够使你的工作更快速、效果更好。
三、常用的网站数据库
要想建立一个高效的动态网站,选择一个好的数据库管理系统是非常重要的。
目前常用的数据库系统如下:
1、MicrosoftAccess数据库管理系统
MicrosoftAccess是以标准JET为引擎的桌面型数据库系统,具有界面友好,易学易用,开发简单,接口灵活等特点,因此,具有较大的用户群体。
但它只适合数据量少的应用。
虽然它在处理少量数据和单机访问数据库时很好,效率很高,但它的同时访问客户端不能多于4个,而且access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器IIS的假死,或者消耗掉服务器的内存导致服务器崩溃。
所以,对于中小型企业、对于刚刚创建网站,规模和访问量还处在起步阶段的用户,MicrosoftAccess数据库是其首选。
2、MicrosoftSQLServer数据库管理系统
MicrosoftSQLServer是基于服务器端的中型数据库,可以适合大容量数据的应用。
它在处理海量数据的效率、后台开发的灵活性、可扩展性等方面强大,是目前最流行、最实用,使用也最广泛的数据库管理系统。
它具有如下特点:
(1)真正的C/S体系结构。
(2)图形化的操作界面,使系统管理和数据库管理更加直观,更加简单。
(3)丰富的编程接口工具,可以为用户进行程序设计提供更大的选择余地。
(4)与WindowsNT完全集成。
(5)具有很好的伸缩性,可以跨越多种平台使用。
(6)对Web技术的支持,使用户能够很容易将数据库中的数据发布到网络上。
(7)提供数据仓库功能。
3、Oracle数据库管理系统
Oracle数据库是以高级结构化查询语言为基础的大型关系数据库,是目前最流行的C/S体系结构的数据库之一。
它的分布式结构可以将数据和应用驻留在多台电脑上,而相互间的通信是透明的。
Oracle具有如下特点:
(1)支持大型数据库、多用户的高性能的事务处理。
(2)数据安全性控制和完整性控制。
(3)遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准,因此,它是个开放的系统。
(4)支持分布式数据库与分布处理。
(5)可移植性、可连接性。
(6)良好的兼容性。
4、MySQL数据库管理系统
MySQL是完全网络化的跨平台的关系型数据库系统,是一个开放源码的小型数据库管理系统,目前被广泛应用在Internet上的中小型网站中。
它具有很多优势,不仅使用简单、管理方便、运行速度快,而且功能强大、安全可靠性强,被认为是建立数据库驱动的动态网站的最佳产品。
PHP+MySQL+Apache号称为Linux平台下建立网站的黄金组合。
MySQL具有如下特性:
(1)核心程序采用完全的多线程编程。
(2)MySQL支持多种平台。
如可以支持Windows95/98/NT/2000、UNIX、Linux、SUNOS等多种平台。
(3)非常灵活和安全的权限和口令系统。
(4)支持ODBC(开放数据库互连)forWindows。
(5)支持大型的数据库,记录数可以为上千万条。
(6)数据类型多样。
(7)具有强大的查询功能。
(8)非常快速和稳定的基于线程的内存分配系统。
四、开放数据源ODBC
ODBC(OpenDatabaseConnectivity)即开放数据库连接,是微软公司开放服务体系WOSA的标准组成部分,它建立了一组规范,并提供了一组对数据库访问的应用程序编程接口API,使用结构化查询语言SQL作为数据库的访问语言。
ODBC是为最大的互用性而设计的。
一个基于ODBC的应用程序对数据库的操作不依赖于任何数据库管理系统DBMS,它不直接与数据库管理系统DBMS打交道,所有的数据库操作均由对应的数据库管理系统DBMS的ODBC驱动程序来完成,故应用程序和具体的数据库调用分离开来,所以,不论是FoxPro、Access、MySQL,还是Oracle数据库,均可用ODBCAPI进行访问,大大增加了应用程序和数据库的无关性。
由此可见,当后台的数据库发生改变时,如由SQLServer数据库改为Oracle数据库,只需通过ODBC指定新的数据源,即指定Oracle的驱动程序接受来自应用程序的SQL命令,而应用程序代码几乎不需修改。
ODBC的工作原理如图2.12所示。
图2.12ODBC的工作原理图
目前,微软、第三方软件开发商和终端应用客户都大力支持ODBC,微软公司已经实现了相当数量的ODBC数据源,如图2.13所示,下拉列表中都是已经实现了的ODBC数据源。
一个完整的ODBC应包含:
应用程序、ODBC管理器、驱动程序管理器、ODBCAPI、ODBC驱动程序、数据源。
图2.13可以选择的ODBC数据源驱动程序
五、数据库连接组件ADO
数据库连接组件ADO是ASP中一个独立的外置对象,是一项容易使用并且可扩展的将数据库访问添加到Web页的技术。
我们可以使用ADO编写脚本连接到ODBC兼容的数据库或OLEDB兼容的数据源,它能够自如的控制数据的显示、查询以及对数据的修改、删除和添加。
ADO不仅易于使用、高速度,而且低内存支出、占用磁盘空间较少。
ADO包含了七个对象,三个主对象是连接对象(Connection)、命令对象(Command)、记录集对象(Recordset);四个对象是字段对象(Field)、参数对象(Parameter)、错误对象(Error)、属性对象(Property)。
包含了四个数据集合,为Fields数据集合、Properties数据集合、Parameters数据集合、Errors数据集合。
对象与集合的关系如图2.14所示,通过这七个对象以及集合,用户可以很方便建立数据库的连接,执行SQL查询,以及完成相应地数据访问等操作。
图2.14ADO对象与数据集合的关系图
1、连接对象(Connection)
连接对象(Connection)负责与数据库实际的连接动作,以及处理一些命令和事务。
其他的对象都必须依赖于Connection对象的连接才能发挥其特有的功能。
(1)Connection对象的创建
可以使用ASP中Server对象的CreateObject方法来创建Connection对象,语法如下:
SetConn=Server.CreateObject("ADODB.Connection")
其中,Conn字符串为用户自定义。
(2)Connection对象的方法
●Open方法
功能:
打开一个对象与数据源的连接。
语法:
Conn.OpenConnectionstring,Username,Password
说明:
Conn为创建的Connection对象,Connectionstring是连接字符串,Username为用户名,Password为密码。
●Close方法
功能:
关闭一个对象与数据源的连接。
语法:
dbcon.Close
说明:
采用Close方法关闭对象与数据源的连接后,conn对象并不会消失,只是释放其所占有的内存资源。
要将对象完全从内存中删除,可将对象变量设置为Nothing。
●Execute方法
功能:
执行一个查询命令。
语法:
没有返回结果的命令格式为connection.ExecuteCommandText,RecordsAffected,Options;有返回结果的命令格式为SetrecordSet=connection.Execute(CommandText,RecordsAffected,Options),其结果返回一个RecordSet对象。
说明:
CommandText为运行的SQL命令,RecordsAffected返回该命令影响的记录条数,Options的取值及代表的含义如表2.1所示。
参数常量
对应的常数值
含义
AdCmdUnknown
-1
默认值,表CommandText参数类型未知。
AdCmdText
1
表CommandText参数类型为一般命令。
AdCmdTable
2
CommandText参数为存在表的名称。
AdCmdStoreProc
3
CommandText参数为一个存储过程。
表2.1Options的取值
●BeginTrans、CommitTrans、RollbackTrans方法
BeginTrans方法:
开始新事务。
CommitTrans方法:
保存任何更改并结束当前事务,也有可能启动新事务。
RollbackTrans方法:
取消当前的事务,不把数据修改保存到数据库中。
(3)Connection对象的属性
●ConnectionTimeout属性:
设置Connection对象的Open方法与数据库连接时的最长等待时间,默认15秒。
●CommandTimeout属性:
设置Connection对象的Execute方法运行的最长执行时间,默认30秒。
●ConnectionString属性:
在使用Connection对象的Open方法打开数据源时,提供连接信息的字符串。
包括Provider参数(提供者的名字)、DataSource参数(指定数据源的名字)、UserID参数(指定连接数据源时用户的ID)、Password参数(指定连接数据源时用户的密码)及FileName参数(指定要连接的数据库的名字)等。
●CursorLocation属性:
有两个取值,一个为adUseClient,是使用客户端的游标;一个为adUseServer(默认),是使用服务器端的游标。
●Attributes属性:
是Connection对象的特征。
它可以设置两个值:
adXactCommitRetaining表示在调用CommitTrans方法后,自动启动新事务;adXactAbortRetaining表示在调用RollbackTrans方法后,自动启动新事务。
●DefaultDatabase属性:
当前所连接的数据库的缺省名称。
●Mode属性:
设置修改数据库的权限。
语法格式为Connection.Mode=ModeValue。
●Version属性:
返回ADO的版本号。
2、命令对象(Command)
命令对象(Command)是负责对数据库执行命令和操作的对象,使用它可以查询数据库并返回RecordSet对象中的记录,以便执行大量的操作或修改数据库的结构。
(1)Command对象的属性
●ActiveConnection属性:
设定该Command对象操作由哪一个Connection对象指定连接的数据库。
●CommandText属性:
程序所要对数据库下达的命令文本。
●CommandType属性:
指示Command对象的类型。
●CommandTimeout属性:
设置Command对象Execute方法的最长执行时间,默认值为30秒。
●State属性:
用来取得Command对象的状态。
●Prepared属性:
指示在执行命令前是否预编译。
(2)Command对象的方法
●CreateParameter方法
功能:
创建一个新的Parameter对象。
语法:
Setparameter=command.CreateParameter(Name,Type,Direction,Size,Value)
说明:
Name可选,代表Parameter对象的名称;Type可选,指定Parameter对象数据类型;Direction可选,确定Parameter是输入、输出或存储过程的返回值;Size可选,指定参数值最大长度;Value可选,指定Parameter对象的值。
●Execute方法
功能:
执行在CommandText属性中定义好的查询、SQL语句或存储过程。
语法:
有返回结果的语法格式为setcmd=command.Execute(RecordsAffected,Parameters,Options);无返回结果的语法格式为command.Execute(RecordsAffected,Parameters,Options)。
说明:
RecordsAffected用来返回该操作所影响的记录的数量,Parameters是用SQL语句传送的参数值,Options用来说明Command对象的CommandText属性。
3、记录集对象(Recordset)
记录集对象(Recordset)表示的是来自数据表或命令执行结果的记录集,就像一个二维数组,它负责浏览和操作从数据库中取出的数据。
(1)Recordset对象的方法
●Open方法
功能:
可以打开代表数据表、查询结果或者以前保存的RecordSet中记录的游标。
语法:
recordSet.OpenSource,ActiveConnection,CursorType,LockType,Options
说明:
Source指定数据源,ActiveConnection指定与数据库的连接信息,CursorType是游标类型,LockType是加锁类型,Options是参数类型。
●Close方法
功能:
关闭所指定的RecordSet对象。
语法:
RecordSet.Close
●AddNew方法
功能:
向数据库中插入一条新记录。
语法:
RecordSet.AddNew
说明:
在空记录中加入数据的方法如下所示:
rs(字段1)=值1
rs(字段2)=值2
......
rs.update
●Delete方法
功能:
从数据库中删除指定的记录。
语法:
RecordSet.Delete
●MoveFirst,MoveLast,MoveNext,MovePrevious,Move方法
Move:
将当前记录指针移动到指定的位置。
语法:
rs.movenmb,Startrow。
其中,rs是Recordset对象,nmb指要移动的行数,Startrow是指开始的行标签。
MoveFirst:
将当前记录指针移动到RecordSet对象的第一条数据记录。
MoveLast:
将当前记录指针移动到最后一条数据记录。
MoveNext:
将当前记录指针向后移动一条记录。
MovePrevious:
将当前记录指针向前移动一条记录。
●Update、CancelUpdate、UpdateBatch、CancelBatch方法
Update:
将RecordSet对象中当前记录的修改保存到数据库中。
CancelUpdate:
取消在调用Update方法前所做的修改。
UpdateBatch:
成批更新数据。
CancelBatch:
取消成批更新
●Clone方法
功能:
创建多个RecordSet对象副本。
语法:
SetNewRecordSet=RecordSet.clone(LockType)。
●GetRows方法
功能:
可以取得多条记录。
语法:
Array=recordSet.GetRows(Rows,Start,Fields)。
说明:
Rows指定要检索的记录数,Start指定起始行,默认值为当前记录,Fields指定被取回到数组的数据字段。
(2)Recordset对象的属性
●ActiveConnection属性:
指定Connection对象名称或是一串包含数据库连接信息的字符串。
语法为:
RecordSet.ActiveConnection=ActiveConnectionValue
●Source属性:
指定记录集中数据的来源。
语法为:
RecordSet.Source=Source
●BOF属性:
判断记录集对象的记录指针是否在文件头。
●EOF属性:
判断记录集对象的记录指针是否在文件尾。
●PageSize属性:
指定每页所含记录的条数。
如:
RS.PageSize=12。
●PageCount属性:
返回记录集在PageSize属性指定每页所含记录的条数后折合的总的页数。
●AbsolutePage属性:
返回记录指针当前指向的页数。
●RecordCount属性:
返回一个Recordset对象包括多少条记录。
●MaxRecords属性:
可以限定从一个数据库查询满足条件的记录到记录集中的最大的记录条数。
●Bookmark属性:
记录当前数据指针位置。
●EditMode属性:
指示当前记录的编辑状态。
●Filter属性:
用来过滤当前记录集中的记录。
●Status属性:
用来表示当前记录的处理状态。
六、数据库的访问流程
首先先创建与数据库的连接,然后设定要操作的数据库命令,执行命令,得到数据。
在得到数据以后,就可以对其执行浏览、增加、删除、修改等相关的数据操作。
一般情况下,这一步使用记录集对象(Recordset)的有关方法和属性完成。
最后,关闭整个数据库,清除有关的对象。
七、数据库的访问方法
●通过设置系统数据源(SystemDSN),即通过设置ODBC的方法来连接数据库。
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"DSN=dsnstring;UID=sa;PWD=;Database=txl"
说明:
第1行语句:
创建Connection对象。
第2行语句:
dsnstring为建立的系统DSN的名字字符串;UID为访问数据库的用户名;PWD为访问数据库的密码;txl为建立的数据库的名字。
●使用驱动程序连接方法。
不采用DSN连接数据库,直接指定ODBC驱动程序连接数据库。
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"Driver={SQLServer};Server=zjf;Database=txl;UID=sa;PWD=;"
说明:
Driver指定数据源驱动程序的名称,SQLServer为{SQLServer}。
Server指定数据源服务器的名称。
Setconn=Server.CreateObject("ADODB.Connection")
conn.open
"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&Server.mappath("db.mdb")
说明:
以上代码是连接MicrosoftAccess数据库的写法,其中DBQ是指向Access数据库的地址。
●通过OLEDB连接。
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"Provider=sqloledb;
DataSource=zjf;InitialCatalog=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教育 科研机构 网站 设计