第一篇:网络数据库教案
《网络数据库》教案
第一讲
课题:
WEB服务器的安装与配置
(一)教学目的:
通过本次课题,使学生掌握WEB服务器的安装与配置;分别在不同操作系统平台下正确安装WEB服务器,了解WEB服务器的基本配置方法。
教学内容:
相对于PHP,安装IIS或者PWS是很容易的。IIS(WinNT平台下)和PWS(Win9X平台下)属同一事物,是ASP的开发平台、运行后台,也是服务器的运行软件。关于IIS的安装,在ASP教程的前部分有简要介绍。
首先,强烈推荐Windows2000服务器版。在安装系统的时候,默认的设置中,Win2000服务器版已经安装了IIS。最近推出的Win2003服务器版,没有想像中的那么好,因为服务器追求的是速度。在我用过的5种系统中:Win98、Win2000专业版、Win2000服务器版、WinXP、Win2003服务器版,Win2000服务器版运行速度是最快的,IIS响应时间非常短;WinXP最慢。
安装IIS或PWS之后,最重要的就是要设置虚拟目录。如果没有虚拟目录,网页将无法访问。
Win2000专业版安装IIS很顺利,WinXP用户安装IIS比较麻烦。本文将分5个部分来详细介绍:
1.Win2000如何安装IIS? 2.WinXP如何安装IIS?
3.IIS如何设置虚拟目录、如何卸载IIS? 4.如何设置默认文档?
5.Win98如何安装PWS,PWS如何设置虚拟目录?
注意:如果IIS在使用当中遇到问题,请点击这里查看专题。其实最好的解决办法就是修复或者重装系统,因为系统的dll动态链接文件,或其它驱动程序,往往会被破坏。
1.Win2000如何安装IIS?
Win2000的IIS是5.0版,是ASP的开发平台。安装方法是,插入Win2000或WinXp安装盘,点击“开始→设置→控制面板→添加/删除程序→添加/删除Windows组件”,然后出现下图,把第一项IIS打上勾就可以了:
口、理解虚拟目录与发布目录的关系。教学内容:
一 如何使用IIS?(设置虚拟目录)你需要建立虚拟目录,特别注意:Win2000专业 比如我的计算机名叫“zic”,我的D盘有“我的作品”这个文件夹,给它命名为zp,设虚拟目录后就可用http://zic/zp来访问它。如果不知道你的计算机名,可以在桌面上“我的电脑”点右键→属性,计算机名也可以用本地IP 127.0.0.1或localhost代替。设虚拟目录的方法是:打开控制面板→管理工具,选择“Internet 服务管理器”,展开后在“默认 Web 站点”(或默认网站)点鼠标右键,选择“新建→虚拟目录”,别名写zp,目录找到D:我的作品,把“执行、写入、浏览”等都打上勾。
关于中文,要注意的是,在资源管理器里,你的主页根目录可以用中文(例如“D:我的作品”),但是根目录的内容或者往下一级,也就是你的主页文件夹、文件名,都不可以用中文,否则无法显示。然后你就可以用http://zic/zp或者http://127.0.0.1/zp或者http://localhost/zp来访问你的主页了。下面我们开始进行测试:在“D:我的作品”下建立一个webshu.txt文件,然后改名为webshu.asp,写入一段程序。
例如我的计算机名是zic,用这三种方式在本地访问这个文件,运行结果如:
127.0.0.1/zp/webshu.asp zic/zp/webshu.asp
localhost/zp/webshu.asp 127.0.0.1/zp/webshu.asp zic/zp/webshu.asp localhost/zp/webshu.asp 二 如何设置默认文档?
建议你把文件夹的默认文档设为index.htm,以后浏览这个文件夹就方便了。例如D:我的作品index.htm这个文件只要用http://zic/zp这可访问,当然http://zic/zp/index.htm也同样。方法是:建立虚拟目录后,展开“默认 Web 站点”,可看到刚建立的zp,在zp上点鼠标右键→属性,选择“文档”,让“启用默认文档”打上勾,把它原有的3项删除,你添加上index.htm就可以了。·关于默认文档,你可以添加多个默认文档,越靠上的越优先。例如:
index.htm
4库的日志信息。每个数据库都必须至少有一个事务日志文件。
第四讲
课题:
SQL命令
(二)教学目的:
通过本次课程,使学生可以熟练使用SQL数据定义语言完成数据库的建立与删除、数据表的建立与删除、索引的建立与删除、数据视图的建立与删除。教学内容:
1、数据库的创建
【例1】用T-SQL语句创建[教学成绩管理数据库] create database 教学成绩管理数据库 on(name = 教学成绩管理, filename ='e:教学成绩.mdf', size = 3, filegrowth = 10%)log on(name = 教学成绩管理_log, filename ='e:教学成绩_log.ldf', size = 5, filegrowth = 10%)
【例2】用简便方法创建test数据库
Create Database test
2、数据库的修改
【例3】在[教学成绩管理数据库]中增加数据文件[教学管理_dat]。
alter database 教学成绩管理数据库 add file(name = 教学管理_dat, filename='e:sql教学管理_dat.ndf', size=5mb, filegrowth=1mb)【例4】修改[教学成绩管理数据库]次要数据文件[教学管理_dat]的初始大小为10MB。
alter database 教学成绩管理数据库
-modify file(name = 教学管理_dat, size=10mb)【例5】删除[教学成绩管理数据库]中数据文件[教学管理_dat]。
alter database 教学成绩管理数据库 remove file 教学管理_dat
3、数据库的删除 【例6】删除[演示]数据库.Drop Database演示
第五讲
课题:
利用HTML标记语言编制数据采集网页
(一)教学目的:
通过本次课程,使学生可以掌握HTML标记语言基本使用方法。教学内容:
一 HTML标记介绍:(1)文件结构标记
HTML文档结构如下所示:
第二篇:网络数据库讲稿(查询)
网络数据库讲稿
一、简单的SELECT
P95 1.SELECT … FROM …(1)DISTINCT(2)TOP n [PERCENT](3)字段别名
有三种书写格式。
2.WHERE子句(SELECT … FROM … WHERE …)
P101(1)比较运算符(2)逻辑运算符
(3)范围运算符BETWEEN(4)列表(包含)运算符 IN(5)字符匹配运算符LIKE及通配符(6)空值NULL 3.ORDER BY子句(SELECT … FROM … WHERE … ORDER BY …)
P107 ORDER BY子句必须放在SELECT语句的最后。
4.GROUP BY子句(SELECT … FROM … WHERE …GROUP BY … ORDER BY …)P109(1)GROUP BY子句中的列名必须是原表中的列名,不能是别名。(2)当SELECT子句中有聚合函数时,GROUP BY子句实现分组统计。
(3)当SELECT子句中同时有字段名列和聚合函数列时,必须使用GROUP BY子句。例如
select 班级,SUM(已修学分)from 学生GROUP BY 班级
(4)在SELECT子句中出现的列名必须出现在GROUP BY子句中、或聚合函数中。GROUP BY子句中的列名则不一定出现在SELECT子句中。(5)ROLLUP返回第一个分组列的统计行。例如:
select 班级,性别,SUM(已修学分)from 学生GROUP BY 班级,性别WITH ROLLUP(6)CUBE是ROLLUP的扩展。(7)ALL短语
P109 select 班级,性别,SUM(已修学分)from 学生
WHERE已修学分>4 GROUP BY ALL 班级,性别
ALL不能与WITH同用。6.HAVING子句
(SELECT … FROM … WHERE …GROUP BY … HAVING … ORDER BY …)P111(1)HAVING应与GROUP BY配对使用,否则没必要使用。(2)HAVING的主要作用是第二次筛选。
(3)HAVING中可以包含聚合函数(WHERE中不可以)。
(4)HAVING中非聚合函数中的字段名,必须出现在GROUP BY中。(5)SELECT列表中命名的别名,不能在HAVING中使用。7.COMPUTE子句,按排序字段分组求和。
SELECT 姓名,分数FROM 学生,成绩WHERE 学生.学号=成绩.学号 ORDER BY 姓名COMPUTE SUM(分数)
SELECT 姓名,分数FROM 学生,成绩WHERE 学生.学号=成绩.学号 ORDER BY 姓名COMPUTE SUM(分数)BY 姓名
网络数据库讲稿
SELECT 姓名,分数FROM 学生,成绩WHERE 学生.学号=成绩.学号 ORDER BY 姓名COMPUTE SUM(分数)BY 姓名COMPUTE SUM(分数)
Compute By 必须与 Order By 子句一起使用,而且Compute By 子句中的统计列名列表也必须与之相同。
8.SELECT INTO,将查询结果保存到永久表中。
P136
二、多表查询
P112 1.内、外连接
内外连接中用ON<条件> 2.交叉连接
交叉连接中用WHERE<条件>,用WHERE<条件>的交叉连接等同于内连接。3.合并两个查询
(1)联合查询
P120 SELECT 员工编号,员工姓名,'员工信息表' FROM 员工信息WHERE 所任职位='经理' UNION SELECT 部门编号,部门名称,'部门信息表' FROM 部门信息
(2)INTERSECT
P305 SELECT 学号FROM 成绩表 INTERSECT SELECT 学号FROM 学生信息
(3)EXCEPT SELECT 学号FROM 学生信息 EXCEPT SELECT 学号FROM 成绩表
三、子查询
P121
第三篇:网络数据库讲稿(触发器)
网络数据库讲稿
3/26/2013
触发器
P191
一、触发器概述
1.是一种特殊的存储过程。
2.不能被显式调用,只能由一些特定的操作(命令)引发(激活),这些命令是:INSERT、DELETE、UPDATE、CREATE、ALTER、DROP、GRANT、DENY、REVOKE等。3.每个触发器由三部分组成
①触发器名称:命名规则与变量名、存储过程名相同; ②激活该触发器的操作(命令动词)。③一个存储过程。
4.使用触发器可强制实现数据的一致性和完整性。
二、触发器的分类(按引发命令分类)及其工作原理
1.DML触发器(表级)(1)触发器必须依附于某一个表(触发器必须被包含在某一个表中)。(2)激活该触发器的操作:可以是INSERT、DELETE、UPDATE之一。(3)当上述操作发生在包含触发器的表上时,触发器中的过程被自动执行。(4)支持两种类型的触发器: ①AFTER 可以为同一表的同一操作定义多个该类型的触发器,并可定义执行顺序; ②INSTEAD OF 同一表的同一操作只能定义一个该类型的触发器。(5)工作原理
P193 临时逻辑表INSERTED和DELETED。2.DDL触发器(数据库级和服务器级)(1)触发器必须依附于某一个数据库(触发器必须被包含在某一个数据库中)。
(2)激活该触发器的操作:可以是CREATE、ALTER、DROP、GRANT、DENY、REVOKE等之一。
(3)当上述操作发生在包含触发器的数据库上时,触发器中的过程被自动执行。(4)只有AFTER型触发器。
三、创建DML触发器
P194 用命令CREATE TRIGGER创建 例: 1.
CREATE TRIGGER 增加学生学分 ON 成绩
//只能增加一条记录
FOR INSERT AS DECLARE @XH CHAR(6),@KCH CHAR(8),@FS DECIMAL(4,1)SELECT @XH=学号,@KCH=课程编号,@FS=分数 FROM INSERTED IF @FS>=60
网络数据库讲稿
3/26/2013
UPDATE 学生 SET 已修学分
=已修学分+(SELECT 学分 FROM 课程 WHERE 课程编号=@KCH)
WHERE 学号=@XH 2.
CREATE TRIGGER 减少学生学分 ON 成绩 FOR DELETE AS UPDATE 学生 SET 已修学分=已修学分-(SELECT SUM(学分)FROM 课程 WHERE 课程编号 IN(SELECT DISTINCT 课程编号 FROM DELETED WHERE 学生.学号=DELETED.学号 AND 分数>=60))WHERE EXISTS(SELECT DISTINCT 课程编号 FROM DELETED WHERE 学生.学号=DELETED.学号 AND 分数>=60)3.CREATE TRIGGER 修改学生学分 ON 成绩 FOR UPDATE AS UPDATE 学生 SET 已修学分=已修学分-(SELECT SUM(学分)FROM 课程 WHERE 课程编号 IN(SELECT DISTINCT 课程编号 FROM DELETED WHERE 学生.学号=DELETED.学号 AND 分数>=60))WHERE EXISTS(SELECT DISTINCT 课程编号 FROM DELETED WHERE 学生.学号=DELETED.学号 AND 分数>=60)UPDATE 学生 SET 已修学分=已修学分+(SELECT SUM(学分)FROM 课程WHERE 课程编号 IN(SELECT DISTINCT 课程编号 FROM INSERTED WHERE 学生.学号=INSERTED.学号 AND 分数>=60))WHERE EXISTS(SELECT DISTINCT 课程编号 FROM INSERTED WHERE 学生.学号=INSERTED.学号 AND 分数>=60)
4.“修改学生学分”也可改为:
CREATE TRIGGER 修改学生学分 ON 成绩 FOR UPDATE AS UPDATE 学生 SET 已修学分=(SELECT SUM(学分)FROM 课程 WHERE 课程编号 IN
网络数据库讲稿
3/26/2013(SELECT 课程编号 FROM 成绩
WHERE 学生.学号=成绩.学号 AND 分数>=60))
然后可执行下列命令,并检验执行结果。
--INSERT INTO 成绩 VALUES('200202','L2020308',83)--INSERT INTO 成绩 VALUES('200202','L2030501',80)--INSERT INTO 成绩 VALUES('200202','L2030506',75)--DELETE FROM 成绩 WHERE 学号='200202' AND LEFT(课程编号,1)='L'--UPDATE 成绩 SET 分数=80 WHERE 学号='200202' AND LEFT(课程编号,1)='L'
四、创建DDL触发器
P198 例: 1.P199 2.CREATE TRIGGER 禁删数据库ON ALL SERVER FOR DROP_DATABASE AS PRINT '请不要删除数据库!' ROLLBACK TRANSACTION
DROP DATABASE 订货管理
五、嵌套触发器和递归触发器
P199, P200
六、管理触发器
P201 1.查看 2.修改 3.禁用 4.删除
--根据成绩表计算每个学生的已修学分
update 学生set 已修学分=(select sum(学分)from 课程 where 课程编号in(select 课程编号from 成绩where 学生.学号=成绩.学号 and 分数>=60))
--修改插入触发器,使得向成绩表中插入多条记录,也能成功执行 CREATE TRIGGER 插入学生学分ON 成绩 FOR insert
网络数据库讲稿
3/26/2013 AS UPDATE 学生SET 已修学分=已修学分+(SELECT SUM(学分)FROM 课程 WHERE 课程编号IN(SELECT DISTINCT 课程编号FROM inserted WHERE 学生.学号=inserted.学号AND 分数>=60))WHERE EXISTS(SELECT DISTINCT 课程编号FROM inserted WHERE 学生.学号=inserted.学号AND 分数>=60)
select * from 成绩
select 学号,已修学分from 学生
INSERT INTO 成绩VALUES('200202','L2020308',83)INSERT INTO 成绩VALUES('200202','L2030501',80)INSERT INTO 成绩VALUES('200202','L2030506',75)INSERT INTO 成绩VALUES('200201','L2020308',83)INSERT INTO 成绩VALUES('200201','L2030501',80)INSERT INTO 成绩VALUES('200201','L2030506',75)
select * into 备份成绩from 成绩 //备份成绩表 select 学号,姓名,已修学分from 学生
insert into 成绩 select * from 成绩
INSERT INTO 成绩VALUES('200212','L2030506',75)
第四篇:网络数据库讲稿(复制)
网络数据库讲稿
4/20/2013
一、复制的基本概念
SQL Server复制是在数据库之间对数据和数据库对象进行复制和分发并且对于数据的修改进行同步,以确保其一致性的一组技术。使用复制可以将数据分发到不同位置,通过局域网、Internet分发给多个远程服务器站点;还可将多个用户和站点的数据进行合并。
二、复制模型
复制技术采用发布(出版)——订阅模型分发数据。
SQL Server复制模型由下列对象组成:发布服务器,分发服务器,订阅服务器,发布,项目,订阅。还有几个负责在发布服务器和订阅服务器之间复制和移动数据的复制进程:快照代理程序,分发代理程序,日志读取器代理程序,队列读取器代理程序,合并代理程序。1.服务器角色
参与复制的服务器根据任务不同可划分为以下角色: ①发布服务器:数据源所在的服务器。
②分发服务器:将出版物从发布服务器移动到订阅服务器。③订阅服务器 2.项目
3.发布(出版物)4.订阅 5.复制的类型 ①快照复制 ②事务复制 ③合并复制 6.复制代理程序
①快照代理程序:与所有复制类型一起使用。
②分发代理程序:与快照复制和事务复制一起使用。③合并代理程序:与合并复制一起使用。
④日志读取器代理程序:与事务复制一起使用。
⑤队列读取器代理程序:与快照复制或事务复制一起使用。
三、服务器的连接方式
1.发布服务器与分发服务器为同一物理服务器 2.发布服务器与分发服务器为不同物理服务器 3.发布者与再次发布者连接方式
4.多发布服务器单订阅服务器连接方式
四、配置复制
复制一般包括以下几个阶段:配置发布和分发,生成和应用初始快照,修改复制数据,同步和传播数据。
复制过程中各代理程序的调度由SQL Server Agent服务管理,应配置SQL Server Agent服务能够在系统启动的时候自动启动,并且在意外停止时能够自动重新启动,由于复制操作跨越多个服务器传输数据,所以SQL Server Agent服务的启动帐号应使用域用户帐号。1.配置分发服务器
网络数据库讲稿
4/20/2013 分发服务器是快照复制和事务复制的首要组件。在企业管理器中运行向导,右击【复制】,单击【配置发布、订阅服务器和分发】启动【配置发布和分发向导】。然后按提示进行。
配置完成后,系统在分发服务器上创建distribution系统数据库、复制文件夹、复制监视器。
2.配置发布服务器和创建出版物
出版物是准备发布的表、表中数据的子集或其它数据库对象的集合。出版物是订阅的单元。
在企业管理器中运行向导,右击【复制】,单击【新建/发布】启动【创建发布向导】,然后按提示进行。
在“指定项目”步骤,单击“项目默认值”或“对象”右端的省略号按钮,可设置快照属性。
可循环创建多个发布。
可查阅和修改已建发布的属性。
3.订阅
订阅是对发布到指定订阅服务器的数据或数据库对象的请求。一个订阅服务器可以向不同发布请求多个订阅。
订阅可在发布服务器上创建(强制订阅)或在订阅服务器上创建(请求订阅)。(1)强制订阅
在企业管理器中:工具/向导,展开【复制】,启动【创建强制订阅向导】,然后按提示进行。
(2)请求订阅 在企业管理器中:工具/向导,展开【复制】,启动【创建请求订阅向导】,然后按提示进行。
也可按教材P175的例子,先创建发布,再配置发布和分发服务器,最后创建订阅。
第五篇:网络数据库讲稿(查询)
网络数据库讲稿
一、简单的SELECT
P95 1.SELECT … FROM …(1)DISTINCT(2)TOP n [PERCENT](3)字段别名
有三种书写格式。
2.WHERE子句(SELECT … FROM … WHERE …)
P101(1)比较运算符(2)逻辑运算符
(3)范围运算符BETWEEN(4)列表(包含)运算符 IN(5)字符匹配运算符LIKE及通配符(6)空值NULL 3.ORDER BY子句(SELECT … FROM … WHERE … ORDER BY …)
P107 ORDER BY子句必须放在SELECT语句的最后。
4.GROUP BY子句(SELECT … FROM … WHERE …GROUP BY … ORDER BY …)P109(1)GROUP BY子句中的列名必须是原表中的列名,不能是别名。(2)当SELECT子句中有聚合函数时,GROUP BY子句实现分组统计。
(3)当SELECT子句中同时有字段名列和聚合函数列时,必须使用GROUP BY子句。例如
select 班级编号,SUM(已修学分)from 学生 GROUP BY 班级编号
(4)在SELECT子句中出现的列名必须出现在GROUP BY子句中、或聚合函数中。GROUP BY子句中的列名则不一定出现在SELECT子句中。(5)ROLLUP返回第一个分组列的统计行。例如:
select 班级编号,性别,SUM(已修学分)from 学生GROUP BY 班级编号,性别 WITH ROLLUP(6)CUBE是ROLLUP的扩展。(7)ALL短语
P109 select 班级编号,性别,SUM(已修学分)from 学生
WHERE已修学分>4 GROUP BY ALL 班级编号,性别
ALL不能与WITH同用。6.HAVING子句
(SELECT … FROM … WHERE …GROUP BY … HAVING … ORDER BY …)P111(1)HAVING应与GROUP BY配对使用,否则不能使用。(2)HAVING的主要作用是第二次筛选。
(3)HAVING中可以包含聚合函数(WHERE中不可以)。
(4)HAVING中非聚合函数中的字段名,必须出现在GROUP BY中。(5)SELECT列表中命名的别名,不能在HAVING中使用。7.COMPUTE子句,按排序字段分组求和。
SELECT 姓名,分数 FROM 学生,成绩 WHERE 学生.学号=成绩.学号 ORDER BY 姓名 COMPUTE SUM(分数)
SELECT 姓名,分数 FROM 学生,成绩 WHERE 学生.学号=成绩.学号 ORDER BY 姓名 COMPUTE SUM(分数)BY 姓名
网络数据库讲稿
SELECT 姓名,分数 FROM 学生,成绩 WHERE 学生.学号=成绩.学号 ORDER BY 姓名 COMPUTE SUM(分数)BY 姓名 COMPUTE SUM(分数)
Compute By 必须与 Order By 子句一起使用,而且Compute By 子句中的统计列名列表也必须与之相同。
8.SELECT INTO,将查询结果保存到永久表中。
P136
二、多表查询
P112 1.内、外连接
内外连接中用ON<条件> 2.交叉连接
交叉连接中用WHERE<条件>,用WHERE<条件>的交叉连接等同于内连接。3.合并两个查询
(1)联合查询
P120 SELECT 员工编号,员工姓名,'员工信息表' FROM 员工信息 WHERE 所任职位='经理' UNION SELECT 部门编号,部门名称,'部门信息表' FROM 部门信息
(2)INTERSECT
P305 SELECT 学号 FROM 成绩表 INTERSECT SELECT 学号FROM 学生信息
(3)EXCEPT SELECT 学号FROM 学生信息 EXCEPT SELECT 学号FROM 成绩表
三、子查询
P121