您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第6章 网站数据库设计及实现
第6章网站数据库设计及实现6.1网站数据库概述网站数据库是实现动态网站的一个有力的工具,目前具有一定规模的网站建设都离不开数据库的使用。网络数据库(Web数据库)系统数据库系统是网络数据库系统的重要组成部分。那么,让我们来看看什么是网站数据库。6.1.1什么是网站数据库我们把能够为网站提供后台数据支持,网站后台服务程序能够根据访问者提供的资料,到网站的后台数据库搜索数据,并将搜索的结果或数据经整理返回给访问者的后台数据库称为网站数据库。6.1网站数据库概述6.1网站数据库概述网站数据库是整个网站的数据中心,所有网站的数据(特别是那些需要经常更新的数据)都可以存放在网站数据库中。网站数据库的更新是通过网页程序实现的。网站的后台服务器端程序通常具有数据库访问的功能,通过访问数据输入界面,通过页面向数据库输入所需的数据;用户浏览器还可以作为数据查询的输入界面,通过页面传递查询条件,网页后台服务器程序部分可以查询数据库,然后把查询结果返回到浏览器,通过用户浏览器把结果显示出来;同时用户浏览器还可以发出数据操作指令,网站后台服务器程序收到这些数据库指令后,可以对数据库进行更新、删除等操作,操作完成后,再在浏览器上显示操作结果。这些网站数据库的访问控制过程如图。6.1网站数据库概述6.1.2网站数据库的开发环境设计开发一个网站数据库是有许多种解决方案的。不同的操作系统平台使用的数据库管理系统可能也不同,通常某种网站操作系统及建设技术和某种数据库管理软件,是一一对应的。6.1网站数据库概述6.2.1Web数据库技术发展背景网站程序设计技术主要应用于对网页进行动态的控制、实现和网站页面与用户之间的交互、实时访问网站的后台数据库,以及实现一些网页特效等作用。其中,HTML语言是基础中的基础。6.2网站后台数据库技术6.2网站后台数据库技术访问Web数据库的一般过程6.2.2Web数据库访问技术1.访问Web数据库的一般过程6.2网站后台数据库技术2.常用的Web数据库接口技术以下简单介绍几种常用的Web数据库接口技术。(1)CGICGI是最早使用的Web数据库链接技术,一般运用VB、C/C++,Perl等语言编写CGI程序,并通过编译成为可执行程序。CGI程序的优点是:容易上手,易于掌握。CGI程序的缺点是:难以修改,每次修改都需要重新编译,不仅调试困难,而且难以查错,运行效率较低。用户的每一表单(form)都需要执行一个可执行程序文件,当多个用户同时发出请求时,必然使多个可执行程序文件同时在内存上运行,在服务器上形成“瓶颈”,大大降低服务器的执行速度。另外CGI协议适应性较差,缺乏与用户的访问交互。CGI是早期的较为成熟的Web数据库技术,已在大量的网站上使用,尤其在UNIX平台上。6.2网站后台数据库技术(2)ADCMicrosoftADC(advanceddataconnector)具有一个访问数据库的ActiveX控件。与普通的Web数据库处理不同,它并不在服务器端运行,而是在客户端的浏览器上实现访问数据库的操作(可访问支持ODBC的数据库),因而要求客户端上使用支持ActiveX的浏览器,如IE5.0及Netscape等。ADC可从服务器上自动下载并被安装到客户端,可以使用脚本语言(如VBScript及JavaScript等)编程。ADC的缺点是仅在客户端访问数据库,因此大量的数据需驻留在客户端,在浏览器访问数据时,虽然减少了与服务器端之间的频繁数据交换,提高运行效率,但访问数据库应用程序的性能会受到一定的限制。6.2网站后台数据库技术(3)ASP与ADOASP采用ADO(ActiveXDataObject,ActiveX数据对象组件)实现对数据库的访问。它是—个无需进行编译的应用程序环境,支持OpenScript接口,可以使用这个标准的任一种脚本语言,如VBScript及JavaScript等。这些语言能够调用相应的组件完成某种功能。ASP可以用多线程方式在服务器的进程中运行,可对多用户程序进行并行优化处理,可以建立动态性强和功能齐全的网站。与CGI相比,ASP具有以下特点:易于掌握,功能齐全,便于高效开发出Web应用软件。运行效率较高(CGI以磁盘文件方式进行数据交换),因为ASP是以数据流方式与浏览器进行数据交换。采用多线程的工作方式,更节省系统资源。可以将HTML文本与程序文本组合,无需编译,易于编程与调试。6.2网站后台数据库技术(4)ODBCODBC(开放式数据库连接)是一种用C语言编制,适用于不同的DBMS(数据库管理系统)数据存取标准的应用程序接口。它包含4个组件,即应用程序、驱动程序管理器(drivermanager),驱动程序和数据源。其驱动程序管理器可以将多种平台的数据库相连接,每种数据库引擎均需要向驱动程序管理器登录自己的ODBC驱动程序,以进行相应的数据访问。ODBC向应用程序提供统一的标准接口,这为ODBC的开放性奠定了基础。6.2网站后台数据库技术(5)JDBCJDBC是Java应用程序接口,用于执行SQL语句,是API(ApplicationProgrammingInterface应用程序编程接口)集合。JDBC中设置了多种Java程序连接数据库的框架,由一组Java语言编写的类和接口组成,其目标是让多种数据库用户用Java程序或Java的脚本语言实现对数据库的访问。JDBC保持了ODBC的基本特征,也独立于特定的数据库。使用相同源代码的应用程序通过动态加载不同的JDBC驱动程序访问不同的DBMS。在连接不同的DBMS时各个数据库管理系统通过不同的URL(统一资源定位器)来标识。JDBC的总体结构类似于ODBC,也具有相应的组件:应用程序、驱动程序管理器、驱动程序和数据源。JDBC的使用方法主要有3种,即通过ODBC与数据库连接、直接用JDBC与数据库连接及通过中间层完成计算,运用JDBC驱动程序连接数据库。6.2网站后台数据库技术(6)大型数据库专用接口许多著名的数据库厂商都为自己的数据库系统提供高性能的接口,如SybaseWeb.sql是由Sybase公司开发的网络数据库软件,需要与网络服务器配合,它使用标准和扩充的HTML,PerlScript与SQL可以访问数据库。Oracle公司也提供了OracleWebApplicationServer,可实现访问数据库的各种功能服务,执行PL/SQL可以对Oracle9i进行访问。6.2.3建立网站如何选择合适的数据库目前常用的建立中小型数据库工具一般有Access、MySQL、SQLServer等,那么,当你想做一个网站时,到底哪一种数据库是适合自己的呢?以下分别介绍一下这几种数据库的特点及功能。1.Access是一种桌面数库,适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。早期的Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器IIS假死,或者消耗掉服务器的内存导致服务器崩溃。在Access2003以后的,如果服务器的配置的合理,中小型公司的企业20以上的客户端也收到不错的效果,可以同时使用,包括查询,输入数据等,出错现象较少。6.2网站后台数据库技术6.2网站后台数据库技术2.SQLServer是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer特点:真正的客户机/服务器体系结构。图形化用户界面,使系统管理和数据库管理更加直观、简单。丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。3.MySQL是一个开放源码的小型关系型数据库管理系统。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,使许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库MySQL特点:MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,可灵活地为用户提供服务,而不过多的占用系统资源。MySql可运行在不同的操作系统下。MySql有一个非常灵活而且安全的权限和口令系统。当客户与MySql服务器连接时,所有的口令传送被加密,而且MySql支持主机认证。MySql支持ODBCforWindows。MySql支持所有的ODBC2.5函数和其他许多函数,这样就可以用Access连接MySql服务器,从而使得MySql的应用被大大扩展。MySql支持大型的数据库。MySql拥有一个快速而且稳定的基于线程的内存分配系统,稳定性好具有强大的查询功能。6.2网站后台数据库技术6.3.1分析网站的数据内容1.分析数据内容的原则分析网站数据内容,实质上是将现实世界中的事物表示在计算机之中。在这里我们首先介绍一下实体和属性的概念:实体(entity):客观存在且可以相互区别的事物。实体既可以是—个具体的事物,例如一个学生、一辆汽车、一篇新闻等等,也可以是一个抽象的事物,例如一场球赛、一次活动等等。属性(attribute):实体有若干特性,每一个特性称为属性。每个属性有一个值域,值域的类型可以是整型、实型或字符串型。例如学生有学号、姓名、年龄、性别等属性,新闻有发表时间、出版社、新闻主题、新闻关键字等属性。6.3数据库设计6.3数据库设计确定网站数据的内容就是把现实世界中的各种实体表现在计算机中,主要是要把实体的属性准确地在计算机中反映出来。属性的表示对于实体的表示是至关重要的,实体的存在其实是一组属性的集合,而属性当前值的不同组合就反映了实体的不同状态。因此,分析网站数据的内容就是要准确地找出实体的属性集,并把它们描述在计算机当中。确定实体的属性集的原则是被确定的属性对于该实体是必要的(有用的),并且,应该是可区别的、有明确定义的。必要的是指该属性在表示实体时是必须的,没有了该属性所得到的实体状态是不完整和不确定的。例如,对于一个学生实体,姓名是最显然的必要属性,没有了这个属性就无法知道这个实体具体表示哪个学生了(也就是不确定了)。2.分析数据内容的例子下面我们以一个商业网站IT营销网的实例来分析网站的数据内容。在本例网站中,我们要完成的任务是如何将新闻浏览功能,发表评论功能、社区讨论功能所要操作的对象表示在网站数据库中。也就是找出它们操作的对象,以及这些对象实体的属性集。对于新闻浏览功能,我们的操作对象是新闻。新闻文章的一些主要属性如下:6.3数据库设计6.3数据库设计新闻ID新闻标题是否有插图插图名字新闻内容新闻级别发布日期新闻来源所属栏目名称栏目级数父栏目名称关键字相关新闻是否可发表评论是否定制6.3数据库设计6.3.2分析网站的数据内容之间的联系1.各种联系模式两个不同的实体集之间的联系有以下三种情况。(1)1:1联系如果实体集E1中每个实体(即一个值)至多和实体集E2中一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1联系”。例如飞机的座位和乘客之间,学校与校长之间都是1:1联系,如图6-3所示。图6-3实体之间一对一联系示意图(2)1:M联系如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2实体集中每个实体至多与E1中一个实体有联系,那么称E1和E2的联系为“一对多联系”,记为“1:M联系”。例如,在学校里
本文标题:第6章 网站数据库设计及实现
链接地址:https://www.777doc.com/doc-3188122 .html