网络数据库

第5章 数据库与 SQL 语言

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)

 

第6章 MS SQL server 7.0

 * 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章 ASP 访问数据库

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)"&nbsp;"

  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")%>&nbsp;</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")

  

习题7(记录到 P255)