网络数据库

SQL Server 2000

第1章 数据库入门

1.2 数据库模型

1.2.1 关系模型(P5)

 * 关系数据库:以关系(二维表)表示数据与数据之间的联系。

1.3 MS SQL Server 介绍(P6)

 * Transact-SQL 语句在服务器和客户机之间传送请求。

 * 关键词:insert delete update select

 * 数据库的基本结构

  表、记录、字段、关系、索引、视图(与真实表相同的虚拟表)。

 * 浏览器/服务器(B/S)模式

前端

浏览器(Browser)

用动态服务器网页(ASP)

设计图形用户界面(GUI)。

后端

服务器(Server)

用SQL Server 作数据库引擎,

存储用户通过网页输入和提交的数据,

提供用户查询所需的数据。

 

客户端

浏览器

Windows98

HTTP Request

请求

——————→

←——————

HTTP Response

响应

Web 服务器

Windows2000

Server 版

IIS5.0

ASP

ODBC

——————→

←——————

SQL 查询结果

SQL

Server 2000 版

数据库

服务器

1.5 MS SQL 的客户工具和使用程序(P7)

  * 开始 ==》程序 ==》Microsoft SQL Server 2000 ==》

  Client Network Utility 客户机网络连接工具

  Enterprise Manager 企业管理器

  Import and Export Data 数据导入与导出

  Query Analyzer 查询分析器

  Server Manager 服务管理器

1.5.1  Client Network Utility 客户机网络连接工具(P8)

 安装通信协议,如 TCP/IP,

 Named Pipes 命名管道 \\fsxss\pipe\sql\query

1.5.2  Enterprise Manager 企业管理器(P9)

 MMC(MS Management Console)管理控制台程序

1.5.3  Query Analyzer 查询分析器(P10)

 * SQL(Structure Query Language):结构化查询语言。

 用 SQL 语言查询、添加、修改或者删除记录,创建数据库、数据表。

 * 查询分析器用于编辑 Transact-SQL 语句。

1.5.6  Server Manager 服务管理器(P14)

 启动、停止和暂停 MS SQL Server。

习题1(记录到 P17)

 

第2章 安装和配置 SQL

 * 使用域用户账户有网络访问权。

 * 混合认证模式:

   允许使用 Windows NT 认证模式和 SQL Serve 认证模式。

2.3.2 系统数据库和样本数据库(P28)

 * 系统数据库:Master(主数据库) Model(模板库)

Msdb Tempdb(临时数据库表、变量)

 * 样本数据库:Pubs Northwind

2.4 注册和配置服务器(P31)

 * Win98 上运行SQL Server 2000 桌面版时使用混合模式,

   Windows 身份验证和 SQL Server 身份验证。

 * SQL Server 2000企业管理器窗口

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 服务器组

wltd 网络天地服务器

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(图书记录表)

2.4.1 注册服务器(P31)

   企业管理器的[树]窗口中展开Console Root(控制台根目录)

  服务器端:右击SQL服务器—创建新SQL服务器组;

  客户端:右击SQL服务器组—注册新SQL服务器:

  如,wltd —添加—  SQL Serve 认证模式(在Win98上运行)

 选择自动登录 SQL Serve 账号—输入用户 ID 和密码—

   Login Name:sa(系统管理员System Adiministrators)

   Password:

  添加到已经存在的 SQL Serve 服务器组。

2.4.2 配置服务器(P35)

 * 企业管理器窗口中设置混合模式的操作步骤

  展开服务组—右击服务器,如,网络天地服务器 wltd—属性—

  安全卡(Security)—安全区(Security)

  选择 SQL Server and Windows 2000,

  审核级(Audit)选择不审核(None)—

  确定后,重新启动 SQL Server,使设置的安全模式生效。

 * 修改 SQL Server 注册属性

   展开服务组—右击服务器,如,网络天地服务器 wltd—

   Edit SQL Server Registration Properties

   Login Name:sa(系统管理员System Adiministrators)

   Password:

  * 修改账户 sa 的密码:

    在企业管理器“树”窗口,逐级展开服务器组、

    服务器(如 网络天地服务器 wltd)、安全(Security)、

  登录(Logins);

    右击账户 sa —密码:

  * 增加登录账户

    企业管理器工具栏—新登录账户—

    用户:xss

    密码:abc123

    数据库:wssdk

习题2(记录到 P40)

 

第3章 Transact-SQL 语言基础

 * SQL(Structure Query Language):结构化查询语言。

 * SQL 语言的功能:

  查找返回记录。

  创建、更改和删除数据库中的表、字段和索引等。

  对表进行统计,如求和、均值。

3.2 数据类型(P44)

  字符型:VarChar[(n)],<=255个字符。

  数值型:Int,SmallInt,Money(8位),SmallMoney(4位)。

3.4 SELECT 语句(P55)

 查询数据库中已有的数据

   SELECT 语句的基本语法格式:

   SELECT 字段列表

   [INTO 检索结果存储的新表]

   FROM 查询的表名

   [WHERE 搜索条件]

   [GROUP BY 分组表达式]

   [HAVIGN 搜索表达式]

   [ORDER BY 排序表达式[ASC|DESC] (P63)

 * 按要求查询图书记录表

   按图书名称、作者、出版社、图书类别

   进行分类查询、综合查询和按关键字搜索。

图书记录表

Access wssdk2k.rar

图书号 图书名称 作者 出版社 图书定价 图书类别
1 “神舟”五号清华群英谱 编写组 北京清华大学 33.00 新书介绍
2 纳米激光测尺在清华诞生 宋晓梦 北京清华大学 33.00 新书介绍
3 人类基因组测序 编写组 北京清华大学 33.00 新书介绍
4 “舒氏区”学习记忆功能 编写组 北京清华大学 33.00 新书介绍
5 计算机网络应用 吕晓阳 广东科技 28.00 大专教材
6 电脑网络操作 编写组 北京理工大学 24.00 大专教材
7 网络数据库 开发实战 刘洪海 博嘉科技 40.00 大专教材
8 SQL Server 2000 教程 曹军生 北京理工大学 29.00 大专教材
9 SQL Server 7.0 教程 赵增敏等 电子工业 24.00 大专教材
10 Access 2000 数据库 能力考试 辽宁人民 25.00 大专教材
27 计算机专业英语 杨永田 哈尔滨工大 12.00 大专教材
28 计算机应用基础 编写组 中央电视大学 61.50 大专教材
29 计算机信息技术基础 许骏 科学出版社 30.00 大专教材
30 计算机图形学基础 陈传波等 电子工业 28.00 大专教材
31 计算机辅助设计 ACAD 教材编委 北京希望电子 32.00 大专教材
32 精通中文版 ACAD 郭玲文等 北京清华大学 49.00 大专教材
33 计算机工具软件使用教程 刘瑞新等 机械工业 20.00 大专教材
34 宇宙银河系星座 编写组 科学出版社 33.00 科学技术
35 太阳系 编写组 科学出版社 33.00 科学技术
36 航天航空技术 编写组 科学出版社 33.00 科学技术
37 人造地球卫星 编写组 科学出版社 33.00 科学技术
38 宇宙飞船 编写组 科学出版社 33.00 科学技术
39 航天飞机 编写组 科学出版社 33.00 科学技术

3.4.1 选择列(P56)

 1.选择所有列

    select * from 图书记录表

        所有列

 2.选择特定列

   select 图书号,图书名称,图书定价,图书类别 from 图书记录表

 3.计算列

  select 图书名称,'会员价'=0.9*图书价 from 图书记录表

 4.改变列标题:新列名=旧列名(P58)

  select tsmc=图书名称,tsdj=图书价 from 图书记录表

3.4.3 WHERE 子句(P59)

  列出“大专教材”类的图书(准确查询用“=”号)。

   select 图书号,图书名称,图书定价 from 图书记录表 Where 图书类别='大专教材'

                 列名              表源            条件

 1.比较运算符

  列出不是“大专教材”类的图书。

   select * from 图书记录表 Where 图书类别<>'大专教材'

 2.范围运算符

  列出“图书定价”在30元~35元之间的图书。

   select * from 图书记录表 Where 图书定价 between $30 and $35

 3.列表运算符

  列出“大专教材”和“科学技术”类的图书。

   select * from 图书记录表 Where 图书类别 in('大专教材','科学技术')

 4.匹配符(P62)

   用类似 like 和“%”匹配任意字符,进行模糊查询。

 如,查找图书名称为'程序设计'结尾的图书。

   select * from 图书记录表 Where 图书名称 like '%计%'

   select * from 图书记录表 Where 图书名称 like '%程序设计'

   select * from 图书记录表 Where 图书名称 like '计算机%'

   select * from 图书记录表 Where 出版社 like '%大学'

 * SQL Server 2000中,使用选择 SELECT 语句查询检索数据

  工具栏—显示/隐藏SQL窗格,[!]运行SQL。

3.4.4 ORDER BY 子句(P63)

 * ORDER BY 对查询结果进行排序

   select 图书号,图书名称,图书定价

   from 图书记录表

   Where 图书类别='大专教材'

   order by 图书定价 desc,图书号 asc

  对查找出的'大专教材'类图书,按定价降序,图书号升序进行排序。

3.4.5 GROUP BY 和 HAVING 子句(P64)

 * GROUP BY 分组汇总数据

  统计各类图书数量和。

  select 图书类别,'图书数量合计'=SUM(图书数量)

   from 图书记录表

   group by 图书类别

 1.HAVING 子句(P66)

  按图书类别分组统计平均定价大于 ¥35元的图书

  select 图书类别,'图书平均价'=AVG(图书定价)

   from 图书记录表

   group by 图书类别

 having AVG(图书定价)>$35

3.4.6 COMPUTE 和 COMPUTE BY 子句(P69)

 对数据库进行统计,生成汇总行,增加各列汇总行。

3.5 批处理和流程控制语言

3.5.3 流程控制语言

 2.RETURN 语句(P76)

 3.CASE 表达式:多条件分支选择。(P77)

 4.BEGIN...END 语句封装多条 SQL 语句。(P78)

 5.IF...ELSE 语句:条件判断语句。(P79)

 6.WHILE、BREAK 和 CONTINUE 语句

 7.GOTO 语句:无条件转移,可以作批处理的结束语句。

 8.WAITFOR 语句:等待语句。(P80)

 

习题3(记录到 P80)

 

网络天地书店

 1 通过 SQL Server 企业管理器建立网络数据库

 1-1 创建网上书店数据库 F:/wltd828/mdb/ wssdk_Data.MDF(P102)

  图书记录表栏目:图书号、图书名称、作者、出版社、图书定价、

图书数量、图书类别。

  要多收集一些有图书封面的书,图书记录要求100条以上,

方便检验搜索查询、分类查询和糊模查询功能。

  用户资料表栏目:用户号、用户姓名、购书密码、联系地址、

联系电话、邮政编码、电子邮件。

  站点计数表栏目:计数字段初值为0。

  企业管理器的[树]窗口中逐级创建服务器组、服务器、数据库,

新建数据库和表。

 1-2 图像储存

  例如:图书封面字段 ==》储存文件标识,

  如 wlsjk.jpg 与插入图像文件的网页同一文件夹时,可省略路径。

  或直接储存为 Binary Image 格式。

 1-3 网页中调用数据库中的图书封面的文件标识实现插入图书封面

   img src="<%=trim(rs("图书封面"))%>"

 1-4 数据库导出(P204)

 SQL数据库 wssdk_Data.MDF  转换成 Access 数据库 wssdk.mdb

  中国学生的 ASP 空间只支持 Access 数据库。

  可以直接使用 Access 创建数据库。

2 用 ASP 和 SQL 语言查询访问数据库

  显示当前日期时间和记录站点访问的计数器,

主页要存储为 index.asp

日期时间:2004年3月3日13:33:33   计数器:333

   功能实现要点:

  用ASP 组件显示当前日期时间。

  用 ASP 和 SQL 语言查询访问数据库 wssdk.mdb。

  创建数据库连接、记录集对象;打开记录表;

  输出计数表中计数字段的值;关闭数据库连接、关闭记录集对象。

<%

'定义日期时间

today=formatdatetime(now(),1)&formatdatetime(now(),3)

'1.创建连接对象 Connection

set cn=Server.CreateObject("ADODB.Connection")

'虚拟主机OLEDB:注意中国学生网要求的数据库引擎(驱动 OLEDB 连接),

'修改“/会员名/路径/数据库名”,要与实际对应。

cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

DATA SOURCE="&Server.MapPath ("/fsxss/mdb/wssdk.mdb")

'a.自管主机软件要求 Windows Server 2000 服务版,IIS 管理发布 Web 站点,

   支持 ASP 脚本运行。

'b.自管主机OLEDB:提供程序MICROSOFT.JET.OLEDB.4.0,

    数据源 DATA SOURCE:影射站点根目录(如,E:/网站测试/)后的路径。

如 Server.MapPath ("/mdb/wssdk.mdb")。

'cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

DATA SOURCE="&Server.MapPath ("/mdb/wssdk.mdb")

'cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;

DATA SOURCE=E:/E 网站编辑/mdb/wssdk.mdb"

'c.自管主机ODBC:无DNS、Access 数据库驱动程序,

   数据库查询 DBQ 路径要对应本机硬盘物理路径。

'cn.open "Driver={Microsoft Access Driver(*.mdb)};

DBQ=E:/网站编辑/mdb/wssdk.mdb"

'd.自管主机ODBC:无DNS、SQL 数据库驱动程序。

'cn.Open"Driver={SQL Server};Database=wssdk;

Server=Local Server;UID=sa;PWD="

'数据库驱动为 SQL Server;数据库名,如 wssdk;

'服务器名,如 Local Server,要与实际对应;

'用户身份可用系统管理员 sa;密码为空。

'2.创建记录集对象 Recordset

set rs=Server.CreateObject("ADODB.Recordset")

'3.打开计数表,向计数字段赋值,用Update写入(P55,P109)

rs.open"select 计数 from 计数表",cn,adOpenDynamic,3

rs("计数")=rs("计数")+1

rs.Update

rs.close

rs.open"select 计数 from 计数表",cn,3

%>

<p>

日期时间:<%response.write today %>

计数器:<% =rs("计数")%>

<%

rs.close

%>

</p>

3.搜索书名、按出版社和图书类别查询

  3-1 搜索书名

  以书名的部分字进行模糊查询(P62),

如 “计算机”、“程序设计”。

   功能实现要点:

 3-1-1 表单提交搜索书名的关键字数据“sssm”

<form method="get" action="clss.asp">

<input type="text" name="sssm" size=10>

<input type="submit" name="submit" value="搜索书名">

</form>

 3-1-2 激活处理搜索的程序 clss.asp

  使用表单提交的数据(搜索书名 sssm)对变量赋值。

  打开图书记录表,

  从图书名称字段搜索出符合搜索关键字的图书名称,

  找出相应的图书记录。

dim sssm

sssm=request.querystring("sssm")

rs.open"select * from 图书记录表 where 图书名称 like '%"&sssm&"%'",cn,3

  3-2 按出版社查询

  以出版社的部分字进行模糊查询(P62),

   如 “科学”、“工业”、“大学”、“人民”。

  出版社:科学出版社工业出版社大学出版社人民出版社

rs.open"select * from 图书记录表 where 出版社 like '%科学%'",cn,3

rs.open"select * from 图书记录表 where 出版社 like '%工业'",cn,3

rs.open"select * from 图书记录表 where 出版社 like '%大学'",cn,3

rs.open"select * from 图书记录表 where 出版社 like '人民%'",cn,3

  3-3 按图书类别查询

  以图书类别的全部字作准确查询(P59),查找各种类型的图书。

  图书类别:新书介绍大专教材科学技术社会科学文化教育

  (计算机、大专教材、职工培训、文化教育、

   电子电工、汽车制造、机械建筑、经济管理)

rs.open"select * from 图书记录表 where 图书类别='新书介绍'",cn,3

rs.open"select * from 图书记录表 where 图书类别='大专教材'",cn,3

rs.open"select * from 图书记录表 where 图书类别='科学技术'",cn,3

rs.open"select * from 图书记录表 where 图书类别='社会科学'",cn,3

rs.open"select * from 图书记录表 where 图书类别='文化教育'",cn,3

  3-4 插入各种形式的图书封面

  扫描的图书封面、Java 语言图形程序设计的图书封面、

  Flash 制作的图书封面。

  3-5 查询图书名称、出版社或图书类别,分别输出图书记录(P59)

   功能实现要点:

  创建数据库连接、记录集对象;打开图书记录表;

  循环输出记录中各字段

  (图书号、图书名称、出版社、作者、图书定价、图书类别)的值;

  关闭数据库连接、关闭记录集对象。

'1 创建数据库连接对象 Connection

  set cn=Server.CreateObject("ADODB.Connection")

cn.open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE="&server.MapPath("/fsxss/mdb/wssdk.mdb")

'2 创建记录集Recordset对象rs

  set rs=Server.CreateObject("ADODB.Recordset")

'3 打开图书记录表

  rs.open"select * from 图书记录表 where 图书类别='大专教材'",cn,3

  'rs 对象捆梆 cn 链接数据库,选择 3号游标,图书类别 8个字符。

'4 循环输出记录

  do while not rs.eof

  =rs("图书号")

  =rs("图书名称")

  =rs("图书定价")

  =rs("图书类别")

'5 移到下一记录

 if not rs.eof then

 rs.movenext

  loop

'6 关闭 Recordset 对象

  rs.close

'7 关闭连接,并释放 Recordset 对象

  cn.close

  set rs=nothing

 

第4章 数据库管理

4.1 数据库中的对象

4.1.1 事务日志(P81)

  事务日志:存放未写到数据库中的数据库事务。

  包括处理事务的过程,用户操作数据库信息前后的映像。

4.3 数据库和事务日志管理

4.3.1 创建数据库及事务日志(P83)

  * 样板数据库 Model 的对象:

    数据库用户:dbo(Database Owner)拥有者

    数据库角色:10种

    表:17个表

    视图:20个视图

  1.使用企业管理器创建数据库和事务日志

  1)双击任务栏 SQL服务器—

     服务器,如,网络天地服务器 wltd—启动。

  2)开始—>程序—>Microsoft SQL Server 2000 ->

      企业管理器(Enterprise Manager)。

  3)企业管理器的[树]窗口

   企业管理器的[树]窗口中逐级创建服务器组、服务器、数据库。

   * 展开网络天地服务器 wltd

   * 右击 Databases—新数据库:

   名称:如,网上书店库 wssdk

   数据文件:wssdk_Data.MDF

   日志文件:wssdk_Log.LDF

   存放路径:F:\网站编辑\mdb\

   初始容量:1MB

 2.使用 CREATE DATABASE 创建数据库和事务日志(P85)

  Create 语句

  语法:

  CREATE DATABASE database_name

  …………

 3.使用 Database creation 创建数据库和事务日志(P87)

   企业管理器 ==》工具 ==》向导 ==》数据库 ==》创建数据库向导

 4.3.3 压缩数据库(P93)

  使用企业管理器压缩数据库

   展开树形目录中的[Databases]节点;

   右击数据库的图标—所有任务—Shrink Database;

   压缩数据库:

   Shrink Database-truncate tralling free space

   from the end of files

 4.3.4 附加数据库

  SQL Server 企业管理器—右键“数据库”—附加数据库—

选择文件,如“E:\本地站点\mdb\wssdk_Data.mdf

习题4(记录到 P99)