教学前言
课程介绍
师资介绍
教材介绍
课程计划
教学大纲
教学计划
实训计划
课程总表
教学内容
作业考试
作业上传
在线测试
测验考试
互动讨论
学习论坛
疑难解答
意见建议
 
 
章节:
第1章 相关的基础知识
1.4 Web数据库 FLASH版演示教案
重点:
SQL语言
难点:
SQL语言
内容:

动态网页开发所用的数据库称为Web数据库。简单地说,就是用浏览器作为输入界面,用户输入所需要的数据,浏览器将这些数据返回给Web服务器,Web服务器再对这些数据进行处理,例如修改数据库中的数据,或者对数据库中的数据进行查询,最后网站将执行的结果返回浏览器,通过浏览器显示给用户。
与普通数据库一样,Web数据库也是存放数据的系统,事实上,Web数据库所用的系统和通常我们所用的数据库系统是相同的。目前比较流行的Web数据库系统主要有Access、SQL Server、Oracle和FoxPro,其中最常用的是Access和SQL Server。
1.4.1 Access和SQL Server
Accsee是微软Office系列办公软件包的重要组成部分,安装Office时默认自动安装了Access。Access配置简单、移植方便,但效率低,适合做小型动态网站的Web数据库。
本书的范例和实例中,我们采用Access为Web数据库,主要考虑到以下几方面:
▲ Access数据库使用简单,用户能迅速掌握它的使用方法。
▲ 对于一般的单位网站或个人网站,Access数据库存储与管理数据的功能绰绰有余。
▲ 如果ASP系统是基于Access数据库开发的,现在想把数据库转换成SQL Server数据库也很方便,只要利用SQL Server的导入功能就能轻松实现这种转换。由于存取Access和SQL Server数据库采用的都是标准SQL语言,ASP程序几乎不用改写,需要改写的就是连接数据库的语句。
SQL Server是微软提供的运行在Windows操作平台上的数据库系统,操作也比较简便,性能稍逊于Oracle,属于大型数据库。通常在使用ASP开发大中型动态网站时使用SQL Server作为Web数据库。
1.4.2 数据库管理
Web开发通常使用浏览器/服务器(Browse/Server,B/S)构架。这种构架客户端采用浏览器提供用户界面,风格统一,对客户端要求低;服务器使用Web服务器,提供基于Web的动态网页,集中管理,开发灵活。通常的应用往往需要访问数据库,为减少服务器的负担,可以将Web服务器和数据库服务器分离,从而产生了三层结构。其中,客户端使用浏览器向Web服务器发送请求,Web服务器连接数据库服务器,在数据库服务器存取数据,最后形成网页,返回给客户端。这种结构有以下优点:
▲ 集中式管理,便于系统的修改和维护,大大增加了系统的灵活性。
▲ 集中式计算,客户端使用服务器提供的数据,减少了对客户端的要求。
▲ 分步式的资源共享,分摊运算负担,有利于提高系统性能和开发效率。
▲ 更便捷的安全管理,这种结构只有Web服务器可以访问数据库上的敏感数据,我们既可以在Web服务器上验证用户,也可以在数据库服务器上设置权限,使安全管理更灵活可靠。
使用Web数据库和使用普通的关系数据库一样,需要对数据库进行日常的管理和维护,包括建库、索引维护、用户管理、视图维护、数据备份和恢复,以及数据的迁移等。对于大型的数据库还需要管理网络接口。管理员可以使用命令行方式,通过输入命令语句完成相应的操作。目前,大多数的数据库产品都提供了简便的工具,帮助管理员在图形方式下更方便地完成相应的管理工作。命令行方式的命令语句兼容标准的SQL语句。图形工具是数据库产品自带的,不同的产品各有不同。
对于Web开发人员来说,除了需要掌握数据库的日常管理方法,完成数据库的维护,还需要了解如何查询数据库中的数据,完成数据的发布。
由于关系型数据库在一开始不是针对Internet设计的, 因此通过Web连接数据库,通常需要采用中间接口。常用的包括ODBC(Open DataBase Connectivity,开放数据库连接),JDBC(Java DataBase Connectivity,Java数据库连接),和OLE DB等。采用不同的Web开发平台所用的连接接口也各不相同。
1.4.3 SQL语言
1.SQL语言概念
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。使用时只需给出“做什么”的命令,而不必考虑“怎么做”。SQL功能强大,简单易学,并且使用方便,已经成为了数据库操作的基本语言,所有的关系型数据库均支持SQL。
2.SQL语言特点
SQL语言特点表现在以下几方面:
(1)功能的一体化
SQL语言提供了完备的数据定义、数据操纵及数据控制功能,它将非关系型数据库系统的数据操纵、数据定义和数据管理集于一体,为数据库应用系统的开发提供了良好的环境。利用SQL可以实现数据库生命周期中的各种活动,包括对数据库的建立及重构,对表的定义及修改,对数据的插入、查询、更新和删除等操作,以及对数据库的维护与安全性控制等等。
(2)高度的描述性
SQL是一种高度非过程化的语言,非过程化语言又称为描述性语言。在使用这种语言进行数据操作时,用户只需要指出“做什么(What)”就可以了,而无须指明“怎么做(How)”。也就是说,用户只告诉系统想要做什么数据,但并不规定如何获得这些数据的过程。他们不必去了解存取路径、对存取路径的选择及语句操作的具体执行等信息,在数据库中查找所期望数据的“导航”过程是由系统自动完成的。可见,这种描述性语言的使用大大减轻了用户的负担,简化了应用的开发,也有助于提高数据的独立性。
(3)操作方式的面向集合性
目前的程序设计语言仅具有记录级的处理能力,而SQL却是一种集合级的语言。它处理的对象是元组的集合,一条查询语句返回的结果是符合查询条件的元组集合。相类似,增、删与改也可以同时对一系列的元组进行操作。
(4)两种使用方式语法结构的统一性
SQL既是一种交互式语言,又是一种嵌入式语言。其中,交互式语言用于联机交互方式,用户在终端键盘上直接键入SQL命令,就可以对数据库进行各种所需要的操作。作为嵌入工语言,SQL语句可嵌入宿主语言程序中使用,宿主语言包括C、Pascal以及Java语言等等。在这两种方式中,SQL的语法结构基本上是一致的,这给用户在不同的方式下对数据库进行操作带来了极大的方便。
(5)语言的简洁、易学性
SQL语言简洁、易学、易用。整个SQL语言只用了9个动词就完成了数据控制、数据操纵和数据定义的核心功能。而且,SQL语法简单,与英语口语很接近,初学者经过短期学习就可方便地使用它了。
3.SQL语句
ASP程序要访问数据库,就要用上SQL语言。所以学好SQL语言对ASP编程是非常重要。下面介绍ASP中常用的SQL语句,见表1-8。

表1-8 SQL语句
SQL语句
功能
Select语句 查询记录
Insert语句 添加记录
Delete语句 删除记录
Update语句 更新记录
Create Table语句 创建数据表
Alter Table语句 修改数据表
Drop Table语句 删除数据表

其中前四个语句是最常用的,我们下面着重介绍。
(1)Select语句
实现数据库查询,是最重要的语句。语法为:
Select[top数值]字段 form 数据表 [where条件][order by 字段]
注意:本书语法的表示方式,“[”及“]”之间的内容可选;“|”表示“或”的意思。
说明:
▲ top数值:表示只选取多少条记录。例如Top 5 表示只选取前5条记录。
▲ 字段:指明要查询的字段,如果是几个字段,中间用逗号相隔。
▲ 数据表:指明要查询的数据表,如果是几个数据表,中间用逗号相隔。
▲ 条件:查询中要满足的条件。
举例如下:
Select * from users
说明:从表users中选取全部记录。
Select name,class,age from users
说明:从表users选取指定列name、class、age的记录,注意语句中列之间用逗号相隔。
Select * from users where class="信息五班"
说明:根据条件选取记录
Select * from users order by age asc
说明:查询结果排序,asc表示按升序排,升序是默认的排序,所以asc可省略不写。
Select * from users order by age desc
说明:查询结果排序,desc表示按降序排。
Select top 10 * from users
说明:只先选取前10条记录。
Select name,(test1+test2+test3) as testnum from users
说明:从表中原有的字段产生派生字段,“test1+test2+test3”将字段test1、test1、test1值相加产生派生字段testnum,注意在这里test1、test1、test1为数字类型的字段,所派生的字段testnum并不是表中的真正字段,但派生出来后,以后就可以用testnum来引用。
Select * from users where name like "%张%"
说明:模糊查找,从表中查找姓名中含有“张”字的记录。
(2)Insert语句
用于向数据库添加记录。语法如下:
Insert into 数据表(字段1,字段2,…)values(字段1的值,字段2的值,…)
说明:
▲ values中字段值的顺序一定要与前面的字段顺序相对应。
▲ 字段之间,字段值之间用逗号相隔。
▲ 如果某字段的类型为字符型或日期型,该字段值要用引号括起来,单引号双引号都可以。
▲ 引号可以嵌套,但内层引号要用单引号或是用两个双引号来表示一个单引号。
举例如下:
Insert into users(name,class,age) values("张三","信息五班","20")
说明:向表users插入一条新记录。
(3)Delete语句
用于从数据表中删除记录。语法如下:
Delete from 数据表[where 条件]
说明:
▲ where 条件,可以按条件从表中删除记录。
▲ 如果没有“where 条件”,则表示删除表中所有记录。
举例如下:
Delete from users where name="张三"
说明:从表中删除张三的记录。
(4)Update语句
更新数据表中的记录。语法如下:
Update 数据表名 set 字段1=字段值1,字段2=字段值2,…[where 条件]
说明:
▲ where 条件,可以按条件从表中更新记录。
▲ 如果没有“where 条件”,则表示更新表中所有记录。
举例如下:
Update users set class="信息六班" where name="张三"
说明:从表中更新张三的class字段值。


你问我答 简说ASP
什么是Web数据库?
ASP系统中通常要使用数据库用于信息存储,比如公司动态信息、客户留言等。

ASP常用的数据库系统有Access和SQL Server。

前台ASP技术+后台数据库技术才能开发功能强大的ASP系统。
ASP系统所采集的信息可以不存储在数据库中吗?
可以。
EXCEL、记事本都可以存储,甚至你可以将表单采集的信息发送至您的电子邮箱。但存储在Access或SQL Server中是常用的方式。
为什么大多数中小型ASP网站选择 Access为数据库?
Accsee是微软Office系列办公软件包的重要组成部分,安装Office时默认自动安装了Access。Access配置简单、移植方便,但效率低,适合做中小型动态网站的Web数据库。
▲ Access数据库使用简单,用户能迅速掌握它的使用方法。
▲ 对于一般的单位网站或个人网站,Access数据库存储与管理数据的功能绰绰有余。
▲ 如果ASP系统是基于Access数据库开发的,现在想把数据库转换成SQL Server数据库也很方便,只要利用SQL Server的导入功能就能轻松实现这种转换。由于存取Access和SQL Server数据库采用的都是标准SQL语言,ASP程序几乎不用改写,需要改写的就是连接数据库的语句。
SQL Server:
是微软提供的运行在Windows操作平台上的数据库系统,操作也比较简便,属于大型数据库。通常在使用ASP开发大中型动态网站时使用SQL Server作为Web数据库。
Access数据库作为网站数据库,有什么要注意事项?

1.Access数据库文件名不能用中文,但表名和字段名可以用中文。

2.不要使用time、table等敏捷单词为表名或字段名,不然ASP系统工作时,可能报错。

3.字段如果是文本数据类型,只能存储不超过255个字符,超过的字符自动删除,所以如果此字段需要存储的字符数较多,可以设置为“备注”数据类型。

什么是SQL语言?

前台ASP程序与后台数据库结合,才能实现强大功能的ASP系统。对数据库进行查询、删除、添加、更新记录操作,则是通过SQL语句。

SQL是专为数据库而建立的标准操作命令集。

查询Select语句

Select * from users
说明:从表users中选取全部记录。
Select name,class,age from users
说明:从表users选取指定列name、class、age的记录,注意语句中列之间用逗号相隔。
Select * from users where class="05网络4"
说明:根据条件选取记录
Select * from users order by age asc
说明:查询结果排序,asc表示按升序排,升序是默认的排序,所以asc可省略不写。
Select * from users order by age desc
说明:查询结果排序,desc表示按降序排。
Select top 10 * from users
说明:只先选取前10条记录。
Select name,(test1+test2+test3) as testnum from users
说明:从表中原有的字段产生派生字段,“test1+test2+test3”将字段test1、test1、test1值相加产生派生字段testnum,注意在这里test1、test1、test1为数字类型的字段,所派生的字段testnum并不是表中的真正字段,但派生出来后,以后就可以用testnum来引用。
Select * from users where name like "%张%"
说明:模糊查找,从表中查找姓名中含有“张”字的记录。

添加Insert语句


用于向数据库添加记录。语法如下:
Insert into 数据表(字段1,字段2,…)values(字段1的值,字段2的值,…)
说明:
▲ values中字段值的顺序一定要与前面的字段顺序相对应。
▲ 字段之间,字段值之间用逗号相隔。
▲ 如果某字段的类型为字符型或日期型,该字段值要用引号括起来,单引号双引号都可以。
举例如下:
Insert into users(name,class,age) values("张三","信息五班","20")
说明:向表users插入一条新记录。
删除Delete语句
用于从数据表中删除记录。语法如下:
Delete from 数据表[where 条件]
说明:
▲ where 条件,可以按条件从表中删除记录。
▲ 如果没有“where 条件”,则表示删除表中所有记录。
举例如下:
Delete from users where name="张三"
说明:从表中删除张三的记录。
更新Update语句
更新数据表中的记录。语法如下:
Update 数据表名 set 字段1=字段值1,字段2=字段值2,…[where 条件]
说明:
▲ where 条件,可以按条件从表中更新记录。
▲ 如果没有“where 条件”,则表示更新表中所有记录。
举例如下:
Update users set class="信息六班" where name="张三"
说明:从表中更新张三的class字段值。

如果你所开发的ASP系统,以前采用ACCESS数据库,后随着数据量增大,需要改用SQL SERVER为数据库,ASP系统中ASP代码基本不需要作变动(除连接数据库的代码),因上ACCESS和SQL SERVER,都是采用标准的SQL命令对数据库进行操作。


实训作业:

1、在ACCESS中,建立存储上一节第4题表单内容的数据库、表、字段。
2、阅读并抄写以下SQL语句

select * from 网站信息 where 类别='学院新闻' and 密码='etftrex' order by id desc

select 标题 from 网站信息 where 类别='学院新闻' and 密码='etftrex' order by id desc

select top 10 * from 网站信息 where 类别='学院新闻' and 密码='etftrex' order by id desc

delete from 网站信息 where id=20

update 网站信息 set 标题='" & title & "',内容='" & body & "' where id=33

select count(id) From studenttest where class='05网络4' and testend>=70 and testend<80

select avg(id) From studenttest where class='05网络4'

FLASH版演示教案:
FLASH版演示教案
在线测试:
在线测试
备注:
这里我们只介绍了SQL语言的最简单应用,详细的SQL语言知识请参阅专门的书籍。
附:
SQL SERVER 数据库的维护和配置
SQL语言详解
 

~ 江西信息应用技术职业学院信息技术系制作 ~

E-Mail:lxlz2050@163.net Tel:0791-5275546