网络数据库
5-1 关系数据库基础
5-1-1 数据库概述(P137)
* 关系数据库:以关系(二维表)表示数据与数据之间的联系。
客户端 浏览器 Windows98 |
HTTP Request 请求 ——————→ ←—————— HTTP Response 响应 |
Web 服务器 Windows2000 Server 版 IIS5.0 ASP |
ODBC ——————→ ←—————— SQL 查询结果 |
SQL Server 7.0 版 数据库 服务器 |
5-1-2 数据库的基本结构
* 表、记录、字段、关系、索引、视图(与真实表相同的虚拟表)。
5-2 SQL 语言概述
* SQL(Structure Query Language):结构化查询语言。(P141)
* SQL 语言的功能:
查找返回记录。
创建、更改和删除数据库中的表、字段和索引等。
对表进行统计,如求和、均值。
* 浏览器/服务器(B/S)模式
前端 浏览器(Browser) 用动态服务器网页(ASP) 设计图形用户界面(GUI)。 |
后端 服务器(Server) 用SQL Server 作数据库引擎, 存储用户通过网页输入和提交的数据, 提供用户查询所需的数据。 |
5-3 SQL 语言详解
5-3-1 查询数据库中已有的数据(P143)
SELECT 语句的基本语法格式:
SELECT 字段列表
[INTO 检索结果存储的新表]
FROM 数据源
[WHERE 搜索条件]
[GROUP BY 分组表达式]
[HAVIGN 搜索表达式]
[ORDER BY 排序表达式[ASCIDESC]
例1:按要求查询图书记录表
图书记录表
Access wssdk.zip SQL wssdk_Data.zip
书号 | 图书名称 | 图书单价 | 图书分类 | 购书处理 |
1 2 3 4 5 6 7 8 9 10 11 |
Java
语言程序设计
Java 程序设计基础 Java 编程技术教程 Windows C 程序设计 C + + 语言程序设计 网络数据库开发实 网站开发三合一 网络信息制作与发布 精通中文版 ACAD 计算机辅助设计 ACAD Flash5 网页设计 |
29
26 42 32 30 40 39 34 49 32 25 |
程序设计
程序设计 程序设计 程序设计 程序设计 网站建设 网站建设 网站建设 图形图像 图形图像 图形图像 |
用select语句列出图书记录表(tsjlb)中的
书号,图书书名,图书单价,图书分类
select 书号,图书书名,图书单价,图书分类 from tsjlb
例2:列出“程序设计”类的图书。
select 书号,图书书名,图书单价 from tsjlb Where 图书分类="程序设计"
列名 表源 条件
select * from tsjlb Where 图书分类="程序设计"
所有列
* SQL Server 7.0中,使用选择SELECT 语句查询检索数据
工具栏—显示/隐藏SQL窗格,[!]运行SQL。
5-3-2 向数据库添加数据(P163)
* 修改数据库内容
Insert:加入新的数据行。
Update:更改数据库中已经存在的数据。
Delete:删除数据行。
1. Insert 语言
语法:
INSERT INTO table_name
(col1,col2,...)
VALUSE(value1,value2,...)
举例:把《Flash5 网页动画》加入图书记录表 tsjlb 文件中
Insert Into
tsjlb(书号,图书书名,图书单价,图书分类)
values('12','Flash5 网页动画','36','图形图像')
5-3-3 修改已有数据(P165)
Update语言
Set子句:指定要更新的列,
Where子句:指定要更新的行。
语法:
UPDATE table_name
SET columnname1=value1[,columnname2=value2]...
WHERE search_condition
举例:
把图书分类为“程序设计”的行,图书单价改为 1.1*图书单价。
Update tsjlb
Set 图书单价=1.1*图书单价
Where 图书分类='程序设计'
5-3-4 删除无用数据(P166)
Delete语言
语法:
DELETE FROM table_name
WHERE condition
举例:删除图书记录表中图书分类为“程序设计”的行。
Delete from tsjlb Where 图书分类='程序设计'
5-4 数据库定义语言(P167)
Create语句
语法:
CREATE TABLE table_name
(field1 datatype[NOT NULL],
field2 datatype[NOT NULL],
field3 datatype[NOT NULL]...)
例1:定义图书记录表的结构
CREATE TABLE tsjlb
(书号 char(2),
图书书名 char(20),
图书单价 SmallMmoney,
图书分类 char(10))
例2:添加数据
Insert into
tsjlb(书号,图书书名,图书单价,图书分类)
values('12','Flash5 网页动画','36','图形图像')
习题5(记录到 P173)
* SQL Server 7.0:
大型网络数据库管理系统,可创建交互站点用的网络数据库。
* Win98 上运行SQL Server 7.0 桌面版时使用混合模式,
Windows 身份验证和 SQL Server 身份验证。
* SQL Server 7.0企业管理器窗口
Win
2000 资源管理器窗口 |
Win
2000 Server IIS Web 服务器树窗口 |
SQL
2000 Server 树窗口 |
桌面
我的电脑 A:软驱 C:硬盘 D:光驱 Internet Explorer 网上邻居 |
IIS
Web 服务器
fsx 主机 Web_zd 站点 FTP_zd 站点 wssd_zd 站点 yjwd 文件夹 txsj 文件夹 |
Console Root
控制台 MS SQL Server 服务器 SQL Server Group 服务器组 FSX 佛山谢服务器 Databases 数据库 wssdk 网上书店库 Tables 表 |
操作 | 查看 | Tools | New Database | New Login | New Job |
树 | Tables 21Items | ||||
Console Root
控制台 MS SQL Server 服务器 SQL Server Group 服务器组 wltd 网络天地服务器 Databases 数据库 wssdk 网上书店库 Tables 表 |
sysfiles(系统文件)
sysindexes(系统索引) sysproperties(系统属性) systypes(系统类型) tsjlb(图书记录表) |
6-2 SQL Server 常用管理工具
6-2-1 服务管理器(P175)
* 服务管理器:启动和停止 SQL 服务器。
6-2-2 企业管理器( P176)
1.使用企业管理器创建和管理数据库(P177)
1)双击任务栏 SQL服务器—
服务器,如,网络天地服务器 wltd—启动。
2)开始—>程序—>Microsoft SQL Server 7.0 ->
企业管理器(Enterprise Manager)。
3)企业管理器的[树]窗口
企业管理器的[树]窗口中逐级创建服务器组、服务器、数据库。
* 展开Console Root(控制台根目录)服务器端:右击SQL服务器—创建新SQL服务器组;
客户端:右击SQL服务器组—注册新SQL服务器:
412SER、SQL2000—添加—Windows 身份验证。
(Windows 登录:用户 ALL 密码 ***)
* 企业管理器窗口中设置混合模式的操作步骤
展开服务组—右击服务器,如,网络天地服务器 wltd—属性—
安全卡(Security)—安全区(Security)
选择 SQL Server and Windows,
审核级(Audit)选择不审核(None)—
确定后,重新启动 SQL Server,使设置的安全模式生效。
* 修改 SQL Server 注册属性
展开服务组—右击服务器,如,网络天地服务器 wltd—
Edit SQL Server Registration Properties
Login Name:sa(系统管理员System Adiministrators)
Password:abcdef 或 abcdef
* 展开网络天地服务器 wltd
* 右击 Databases—新数据库:
名称:如,网上书店库 wssdk
文件名:wssdk_Data.MDF
存放路径:F:\fsx
初始容量:1MB
2.设置登录账户
* 修改账户 sa 的密码:
在企业管理器“树”窗口,逐级展开服务器组、
服务器(如 网络天地服务器 wltd)、安全(Security)、
登录(Logins);
右击账户 sa —密码:abc123。
* 增加登录账户
企业管理器工具栏—新登录账户—
用户:wltd
密码:abc123
数据库:wssdk
3.修改数据库的大小(P180)
使用企业管理器缩小数据库
展开树形目录中的[Databases]节点;
右击数据库的图标—所有任务—Shrink Database;
缩小数据库:
Shrink Database-truncate tralling free space
from the end of files
5.表的设计和操作(P181)
* 使用企业管理器创建图书记录表(P181)
图书记录表
Access wssdk.zip SQL wssdk_Data.zip
书号 |
图书名称 |
图书单价 |
图书分类 |
1 2 3 4 5 |
Java 语言程序设计 Java 程序设计基础 Java 编程技术教程 Windows C 程序设计 C + + 语言程序设计 |
29 26 42 32 30 |
程序设计 程序设计 程序设计 程序设计 程序设计 |
6 7 8 9 |
网络数据库开发实 网站开发三合一 网络信息制作与发布 Flash5 网页设计 |
40 39 34 25 |
网站建设 网站建设 网站建设 图形图像 |
10 11 |
精通中文版 ACAD 计算机辅助设计 ACAD |
49 32 |
图形图像 图形图像 |
1)继续展开企业管理器的[树]窗口
Databases(数据库)
wssdk(网上书店库)
Tables(表)
2)右击表—新表—定义表结构:字段名、数据类型、字段长度。
3)NULL约束:是否允许NULL值用空格填充不足部分。
NULL值:表明字段值是未知,但不等价于数值0或空字符串。
4)保存—输入表的名称,如图书记录表 tsjlb—确定。
* 使用企业管理器修改图书记录表(P182)
右击图书记录表 tsjlb—设计表—修改表结构;
打开—返回所有行—输入每行数据。例如:
1 Java 语言程序设计 29 程序设计
使用选择SELECT 语句查询检索数据
工具栏—显示/隐藏SQL窗格,[!]运行SQL。
* 使用企业管理器创建视图(P185)
右击数据库中的视图—新视图。
6-2-3 查询分析器(P190)
* 查询分析器:
用 SQL 语言查询、添加、修改或者删除记录,创建数据库、数据表。
6-3 SQL Server 中的数据类型(P191)
字符型:VarChar[(n)],<=255个字符。
数值型:Int,SmallInt,Money,SmallMoney。
习题6 (记录到 P196)
7-1 ASP 访问数据库的方式(P199)
* ASP 访问数据库:
通过内置的数据库访问组件(Database Access component)的
ADO 对象实现。
ADO 利用 ODBC(Open Database connectivity)的驱动程序,
编写出访问和操作数据库的应用程序。
访问 SQL Server 数据库时用(OLE DB)的 SQL Server 驱动程序。
7-2 创建和配置 ODBC 数据源
7-2-1 ODBC 简介(P201)
* SQL 查询—开放数据库系统互连(ODBC)动态链接库—
SQL/ACCESS 数据库的 ODBC 驱动程序。
* 数据源名称(DSN):允许用户通过网络访问并使用数据库。
* DSN 包含:目标数据库位置和类型、用户名和密码。
* 系统数据源名称(System DSN):所有用户共享。
7-2-2 创建和配置 ODBC 数据源
1. 在 Web 服务器端建立网上书店库(wssdk)的DSN步骤:
* 企业管理器—增加账户:如,xss,密码:如,abc123。
* 设置混合模式安全性后,重新启动企业管理器才生效。
* 开始—设置—控制面板—ODBC Data Source—System DSN卡—
[Add]—选择 SQL Server 或 MS Access Driver (*.mdb)—完成。
2.创建 SQL Server 的新数据源
数据源名称、 SQL Server 服务器的名称—
可不选 SQL 服务器验证—连接 SQL 服务器成功—
出现选择登录设置—设置默认数据库、存储过程设置的驱动程序和
ANSI 标识—选择字符转换方法—连接 SQL 服务器。
3. ODBC MS SQL Server Setup 对话框
测试数据源 Test Data Source 。
7-3 使用 ADO 访问数据库
7-3-1 ADO 对象结构(P204)
* ActiveX 数据对象(ADO)构成:
ActiveX 数据对象库(ADODB);
子对象:Connection、Recordset、Command、……。
数据集:Parameters、Fields、Properties、Error。
* 子对象功能:
Connection 对象:连接数据库。
Command 对象:查找、插入、修改、删除记录。
Recordset 对象:操作 Command 对象返回的结果。
7-3-2 使用 Connection 对象连接、打开和关闭数据库
1.创建和关闭 Connection 对象(P206)
产生名为 cn 的连接对象:
Set cn=Server.CreateObject("ADODB.Connection")
关闭 cn 对象:cn.Close
从内存中移出 cn 对象:Set cn=Nothing
2.Connection 对象的方法(P207)
1)使用 DSN 建立连接:
Set cn=Server.CreateObject("ADODB.Connection")
cn.open"DSN=DSNwssdk;UID=sa;PWD="
SQL 服务器中的数据库:UID=sa;PWD=空。
2)ASP 程序中指定连接数据库:
* SQL 服务器中的数据库
cn.Open"Drive={SQL Server};Database=wssdk;Server=fsxss;
UID=sa;PWD="
* Access 数据库
cn.Open"Drive={Microsoft Access Driver(*.mdb)};
DBQ=Server.MapPath("wssdk");UID=xss;PWD="
全路径:用 Server.MapPath("数据文件名")取得。
修改为中国学生网 ACCESS 数据库的有效连接方式
cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" &server.MapPath ("/fsxss/mdb/wssdk.mdb")
7-3-3 使用 Recordset 对象查询、插入、更新、删除记录
1.开始使用 Recordset 对象(P211)
Recordset 记录集对象:使用记录(行)和字段(列)进行构造。
表示来自基表或查询命令执行结果的记录全集。
cn.open"DSN=DSNwssdk;UID=sa;PWD="(P211-第10句)
创建网上书店库(wssdk)数据源(DSN)—用 Recordset 对象检索
SQL 服务器中的 wssdk(DSN)中的图书记录表(tsjlb)。
<%
'创建连接对象 cn
Set cn=Server.CreateObject("ADODB.Connection")
cn.open"DSN=DSNwssdk;UID=sa;PWD="
'创建记录集对象 rs
Set rs=Server.CreateObject("ADODB.Recordset")
'打开记录集对象 rs,传递 SQL 语句和参数
rs.open"select * from tsjlb",cn,adopenkeyset
'adopenkeyset 是 keyset 游标
'返回并输出记录集对象 rs 中的记录
do while not rs.eof
For i=0 to rs.Fields.Count-1
response.write rs(i)" "
next
rs.movenext
response.write"<br>"
loop
%>
2.创建 Recordset 对象(P212)
Set cn=Server.CreateObject("ADODB.Connection")
cn.open"DSN=DSNwssdk;UID=sa;PWD="
创建记录集对象 Recordset
set rs=Server.CreateObject("ADODB.Recordset")
打开图书记录表 tsjlb
rs.open"select * from tsjlb",cn,adopenkeyset
3.Recordset 对象的属性(P215)
ActiveConnection 属性:指出活动的 Connection 对象。
返回当前活动连接的语句:
Set cn=Server.CreateObject("ADODB.Connection")
cn.open"DSN=DSNwssdk;UID=sa;PWD="
Set rs=Server.CreateObject("ADODB.Recordset")
respone.write"当前活动连接为:<br>"
response.write rs.ActiveConnection
CursorType 属性(P217)
游标:存储在内存中的一张虚拟表。
游标类型
常数值 | 常量 | 说明 |
1
2 3 4 |
adOpenForwardOnly
adOpenKeyset adOpenDynamic adOpenStatic |
向前游标
键集游标 动态游标 静态游标 |
4.Recordset 对象的方法(P222)
Open 方法
Recordset.Open.ActiveConnection
5.Recordset 对象的应用(P232)
检索数据库中的记录
<%
'定义 SQL 语句
dim selectsql
setectsql="Select * from tsjlb"
'创建连接对象 cn
Set cn=Server.CreateObject("ADODB.Connection")
cn.open"DSN=DSNwssdk;UID=sa;PWD="(P233-16句)
'创建记录集对象 rs
Set rs=Server.CreateObject("ADODB.Recordset")
'打开记录集对象 rs,传递 SQL 语句和参数
rs.open selectsql,cn,adopenkeyset
%>
'显示数据库记录
<table>
<tr><td>书号</td><td>图书名称</td></tr>
'输出检索出的数据
<%do while not rs.eof%>
<tr>
<td><%=rs("sh")%> </td>
<td><%=rs("tsmc")%></td>
</tr>
<%
if not rs.eof then rs.movenext
loop
rs.close
%>
</table>
<%
'关闭连接
rs.close
set rs=nothing
%>
* 用户交互式的对数据库进行操作(P239)
通过提交的表单对数据库进行插入、修改、删除记录等操作。
cn.open"DSN=DSNwssdk;UID=sa;PWD="(P241-11)
7-3-5 使用 Command 对象
* Command 对象:查询数据库并返回 Recordset 对象中的记录。
1.创建 Command 对象(P247)
Set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection="DSN=DSNwssdk;UID=sa;PWD="
修改为中国学生网 ACCESS 数据库的有效连接方式
cmd.ActiveConnection=
cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" &server.MapPath ("/fsxss/mdb/wssdk.mdb")