SQL Server 2000教学大纲(计信本科)
《数据库应用》课程教学大纲

《数据库应用》课程教学大纲(一)课程概述1.适应专业:计算机各专业。
2.课程说明:课程由SQL Server和数据库原理两部分组成,重点培养学生利用数据库原理的相关理论,使用SQL Server数据库管理系统解决实际问题的能力,为学生开发数据库系统应用软件打下良好的基础。
该课程采用以SQL Server为主线,将数据库原理的相关理论融入到SQL Server数据库系统的实际应用当中的教学方式。
具体内容包括SQL Server 2000的SQL Server 2000系统的安装,Transact-SQL语言,数据库、表、索引、视图、存储过程、触发器的建立,数据库的复制和恢复,数据安全性和完整性的维护以及数据库原理的数据库基础知识,关系数据库规范设计,关系运算,数据库系统体系结构,数据库并发控制等相关内容。
3.教学目标:掌握数据库原理的相关理论,熟练操作SQL Server。
4.与其他课程的联系:前期课程《数据库基础与Access》,后续课程《数据库开发与PowerBuilder》。
5.学时:64学时。
(二)教学内容1.SQL Server基础(1)SQL Server安装➢了解SQL Server 版本➢了解SQL Server 2000软硬件平台➢掌握SQL Server 2000的定制安装(2)SQL Server组件➢掌握SQL Server 2000服务管理器、企业管理器组件的基本操作➢了解SQL Server 2000查询分析器、导入和导出数据、服务器网络实用工具、客户端网络实用工具、事件探查器、在IIS中配置SQL XML支持以及联机丛书组件的基本操作2.数据库管理(1)建立数据库➢掌握SQL Server 2000数据库的创建方法(2)数据库构成➢掌握SQL Server 2000数据库的构成(3)数据库原理(一)数据库基础知识➢了解数据管理技术的发展➢掌握数据库技术的相关概念➢掌握数据库系统的构成➢了解数据库设计的概念及方法3.表管理(1)建立表结构➢了解表的概念➢掌握表结构的建立方法(2)编辑数据➢掌握表数据的编辑方法(3)数据库原理(二)数据库规范化设计➢了解数据模型及相关概念➢掌握关系模型及相关概念➢了解关系模式的规范化问题➢掌握函数依赖的相关概念➢掌握属性集闭包的概念及计算➢掌握1NF、2NF、3NF的概念及判断4.Transact-SQL程序设计(1)Transact-SQL基础➢了解SQL语言、Transact-SQL语言➢了解Transact-SQL语言的构成➢掌握批处理定义、块定义语句及注释、输出语句➢了解Transact-SQL语言的数据类型➢掌握Transact-SQL语言的变量➢掌握Transact-SQL语言的运算符、函数(2)流程控制语句➢掌握定义语句块语句➢掌握条件语句与循环语句➢了解转移、等待、返回语句(3)脚本文件➢了解脚本文件的概念和使用➢掌握脚本文件的使用方法➢了解osql实用程序5.数据检索(1)基本查询语句➢掌握基本SELECT语句构造(2)SELECT高级应用➢掌握联接查询语句构造➢掌握子查询语句构造➢掌握集合查询语句构造➢掌握生成新表查询语句构造➢掌握嵌入式SQL语句构造(3)数据库原理(三)关系代数➢了解关系的定义和性质➢掌握关系的集合运算和专门的关系运算➢掌握关系代数表达式的构造➢掌握关系代数表达式和SELECT语句的转换6.索引、视图、存储过程、触发器设计(1)索引➢了解索引的概念➢掌握索引的创建方法(2)视图➢了解视图的概念➢掌握视图的创建和使用方法(3)存储过程➢了解存储过程的概念➢掌握存储过程的创建和使用方法➢了解游标的概念➢掌握游标的创建和使用方法(4)触发器➢掌握触发器的概念和创建方法(5)数据库原理(四)数据库系统体系结构➢了解数据库系统的三级模式➢了解数据库系统的二级映像➢了解数据库系统的二级数据独立性7.数据库数据的复制及恢复(1)分离附加数据库➢掌握数据库的分离方法➢掌握数据库的附加方法(2)数据库的备份和还原➢掌握数据库的备份方法➢掌握数据库的还原方法(3)数据库数据导入和导出➢掌握SQL Server数据库与其他数据文件数据的导入和导出方法8.数据安全性维护(1)登录账户管理➢了解SQL Server的认证模式➢掌握SQL Server登录账户的创建方法(2)用户管理➢了解SQL Server用户的概念➢掌握SQL Server用户的创建方法(3)角色管理➢了解SQL Server角色的概念➢掌握SQL Server角色的设置方法(4)权限管理➢了解SQL Server权限的概念➢掌握SQL Server权限的设置方法9.数据完整性维护(1)事务➢了解数据完整性的概念➢了解事务的概念、性质➢掌握显式事务、隐式事务、自动事务、分布式事务的定义和使用(2)锁➢了解锁的概念、类型及粒度➢掌握锁信息的检索方法(3)错误处理➢了解错误处理的概念➢了解错误的捕获和处理方法(4)数据库原理(五)数据库系统体系结构➢了解事务并发控制的概念➢了解封锁的概念及封锁协议➢了解活锁和死锁的概念(三)课时分配表(四)教材《数据库原理与SQL Server》(普通高等教育“十一五”国家级规划教材)壮志剑高等教育出版社2008.9《数据库应用》课程实验课程教学大纲(一)课程概述1.适应专业:计算机各专业。
SQL教学PPT

6
创建表
目的:了解在SQL Server 2000中对表的定义、表中的数据类 型,学习使用企业管理器创建表 重点:掌握表的结构和构成表的数据类型
内容: 内容: 创建表前的准备知识数据的完整性
目的:了解什么是约束,约束的种类以及在维护数据完整性 上的重要性 重点:掌握每种约束在维护数据完整性上的作用及适用范围
21
设置公用数据库接口——ODBC 设置公用数据库接口——ODBC
目的:学习ODBC的结构、作用和设置方法 重点:掌握ODBC在的SQL Server 2000 和Office综合应用中 的作用 内容: 内容: 设置前的准备工作 设置公用数据库接口
22
从Excel访问SQL Server Excel访问SQL
内容: 内容: 创建触发器前的准备知识 触发器的使用实例
14
使用用户定义函数
目的:了解用户定义函数的基本工作原理和优点,学习创建 用户定义函数 重点:掌握用户定义函数应用范围,以及用户定义函数组成 结构 内容: 内容: 使用用户定义函数前的准备知识 用户定义函数的使用实例
15
数据库设计流程
目的:学习设计数据库过程的主要步骤 重点:掌握设计数据库过程中主要步骤的要点
Microsoft SQL Server 2000 NET
标准教程
0
介绍SQL 介绍SQL Server 2000
目的:初步了解SQL Server 2000的工作原理 重点:掌握SQL Server 2000的构成组件以及相应的功能 了解客户机/服务器体系结构的特点 内容: 介绍SQL Server 2000 内容: 介绍SQL 2000的结构 SQL Server 2000的结构 Server的发展史 SQL Server的发展史 SQL Server 2000 新功能介绍 SQL Server 2000 家族产品
sql server实验指导书(学生版)

数据库实验指导书信息安全专业王爽2009一.概述1.SQL Server 2000 组成SQL Server是可缩放的高性能基于SQL和客户/服务器体系结构的关系数据库管理系统服务器软件包,是由Microsoft 公司推出的SQL Server 数据库管理系统的最新版本。
从图1 SQL Server 的体系结构示意图中看出,SQL Server 2000由4部分组成,在实验中,我们要求掌握基于SQL Server 2000的服务器的使用,也就是数据库管理员DBA的主要操作。
(注:本文所有内容均在SQLServer 2000上实现,读者也可在SQL Server 2005 上得到类似结果。
)图1 SQL Server 的体系结构示意图2. SQL Server 2000 的安装SQL Server 2000 的常见版本有:企业版、标准版、个人版、开发人员版等。
对软硬件的最低需求为:CPU Pentium 166MHz,内存64MB,硬盘180 MB。
SQL Server 2000企业版和标准版只能在windows2000 Server 版和Professional 版操作系统下运行。
下面介绍SQL Server 2000企业版在本地机上的安装过程。
1)插入SQL Server 2000 光盘,自动安装程序启动,屏幕上出现如图2所示画面,按图2 所示选择SQL Server 2000 组件;2) 选择安装数据库服务器,如图3所示,进入SQL Server2000 企业版安装向导;3)在安装向导对话框中点击下一步,进入计算机名对话框;4)选择本地安装,点击下一步,进入安装选择对话框;5)选择创建新的SQL Server 实例,点击下一步,进入用户信息对话框;6)输入用户信息,点击下一步,进入安装定义对话框;7)选择服务器和客户端工具,点击下一步,进入实例名对话框;8)输入实例名,点击下一步,进入安装类型选择对话框;9)选择典型安装,进入服务帐号设置对话框,如图4所示;10)选择对每一个用户使用同一个帐号,自动启动服务器,点击下一步,进入选择身份验证模式选择对话框,如图5所示;11)选择Windows 身份验证模式。
附录二:SQLServer2000安装

附录二:SQLServer2000安装服务器端安装SQLServer2000数据库软件,这是运行无纸化考试系统所必须的后台数据库。
SQLServer2000共有四个版本,分别是企业版、标准版、个人版和开发版。
NCRE无纸化考试系统使用的是标准版,这里推荐使用SQLServer2000中文标准版。
下面以SQLServer2000中文标准版为例介绍整个安装过程。
所有截图均为安装时需要注意的地方,其余可按默认安装。
首先确认服务器已正确安装Windows 2000 Server操作系统,然后从光盘安装SQLServer2000中文标准版,运行界面如下面所示:选择“安装SQL Server 2000组件”,运行界面如下图所示:然后选择“安装数据库服务器”,运行界面如下图所示:选择“本地计算机”。
注意,此时灰框中显示的为本机的计算机名称,不能修改,在安装好SQLServer2000中文标准版后不能更改计算机名称,否则考试期间将不能正常运行上机系统。
点击下一步,运行界面如下图所示:使用此默认选项,即“创建新的SQL Server实例,或安装客户端工具”。
点击下一步,运行界面如下图所示:选择“服务器和客户端工具”,点击下一步,运行界面如下图所示:此处要选择“使用本地系统帐户”,注意,不得选择“使用域用户帐户”,否则考试期间将不能正常运行上机系统。
点击下一步,运行界面如下图所示:此处要选择“混合模式(Windows身份验证和SQL Server身份验证)”,并选择“空密码”。
注意,不得选择“Windows身份验证模式”,否则考试期间将不能正常运行上机系统。
点击下一步,运行界面如下图所示:此处选择“每客户”一个设备即可(默认为0,不选择的话不能往下继续安装)。
点击“继续”后程序将自动进行安装,其余未列出步骤可按默认方式安装。
注:若需安装数据库SP4补丁程序,在安装程序运行至如下画面时,请选择“SQL Server系统管理员登录信息(SQL Server身份验证)”,并将sa密码留空。
Sql Server 2000安装及使用说明书

一. SQL Server2000安装图解1. 将Microsoft SQL Server 2000安装光盘放入光驱中,安装程序会自动运行出现版本选择界面,如下图:2.选择“安装 SQL Server 2000 简体中文企业版”3. 在接下来的界面中选择“安装SQL Server 2000组件”选项。
4. 接着选择“安装数据库服务器”,出现如下图所示:5. 单击“下一步”,进行下面的操作;6. 选择“本地计算机”,单击“下一步”进行下面的操作;7. 选择“创建新的SQL Server实例,或安装客户端工具”,单击“下一步”进行下面的操作;8.填写是姓名、公司名,单击“下一步”进行下面的操作;9. 单击“是”,进行下面的操作;10. 选择“服务器和客户端工具”,单击“下一步”进行下面的操作;11. 实例名选择“默认”的复选框,单击“下一步”进行下面的操作;12. 选择“典型”,单击“下一步”进行下面的操作;13. 选择“对每个服务使用同一账户.自启动SQL Server服务”和“使用本地系统账户”,单击“下一步”进行下面的操作;14. 选择“混合模式”在“添加SA登录密码”项设置登录SQL数据库时的sa 密码,这个密码就是配置客服系统数据库时,填写的sa密码,单击“下一步”进行下面的操作;15 单击“下一步”,进行下面的操作;16. 选择“每客户”,并在其后的设备中选择“5”,单击“继续(c)”,开始安装,等待进度结束后单击完成即可。
二. SQL Server 2000 SP4补丁的安装1、运行SP4安装程序,弹出保存安装文件的位置的对话框.2. 这个步骤只是将SP4的安装文件释放到你指定的目录里单击“下一步”,进行下面的操作;3. 等待释放文件结束,单击“完成”即可。
然后到刚才设定的释放目录里,这里就是“C:\SQL2KSP4”,点击Setup.bat文件,开始安装SP4补丁。
4. 单击“下一步”,进行下面的操作;5. 单击“是”,进行下面的操作;6. 单击“下一步”,进行下面的操作;7、选择“SQL Server系统管理员登录信息(SQL Server身份验证)(S)”,在“请输入sa密码”中输入上文安装数据库时提到的您设置的sa的密码,单击“下一步(N)”,进行下面的操作;8. 选择“升级Microsoft Search并应用SQL Server 2000 SP4(必需)(U)”,单击“继续(C)”,进行下面的操作;9. 单击“确定”,进行下面的操作;10. 单击“下一步(N)”,开始安装SP4补丁,待完成安装后显示界面如下11. 单击“确定”,进行下面的操作;12. 单击“完成”,即完成SP4的安装。
基于SQL Server2000教务管理系统的设计与实现

字 段 主要 包 括 编 号 、 称 、 名 院长 姓 名 等 ; 师 信息 表 : 教 其
・
8 ・2 1 8 0 2年 8月 ・www. fsigo g i o t r n n
教 学 研 究 ・T a h n e e r h e c ig R s a c
记 录 ,ls( 级 ) 段 为 表 的 外 部 关 键 字 , cas表 中 cas班 字 与 ls 的 n me字 段 相 关 联 。 a
w s f u a s uc s w i nge t n a c e c o l l s e t o ew r e c n y B s d nti b c go n ,h a e s ac e e a t o m nr o r , h h rale h n et h o i a p cs fh ok f i c . a e s a k ru d ti p p re e rh s h e h e e cc a y hs l n a t f e i o h s r t d s na di l nai f d c t n l d iirt nm n g me t ytm B s do Q ev r 0 0 e i n e g mp me tt n u i a a m n t i a a e n s s a e nS LS r 0 . o oe a o sao e e2
够 向 各 个 子 系 统 添 加 用 户 ,用 户 权 限 也 会 相 应 给 定 , 这 就 相 当 于 用 户 初 始 化 。 户 删 除 模 块 用 于 管 理 员 在 各 个 用 子系 统 中删除用 户 。
郑树源sql server2000
创建数据库create database SunDatabaseon(name=SunDatabase_datafilename='c:\Program Files\Microsoft SQL Server\MSSQL\Data\SunDatabase_Data.MDF', size=6,maxsize=12,filegrowth=10%)log on(name=Sundatabase_log,filename='c:\Program Files\Microsoft SQL Server\MSSQL\data\SunDatabase_Log.LDF', size=1,maxsize=8,filegrowth=10%)创建表use SunDatabasecreate table Teacher(教师编号int primary key identity教师职称varchar(50),教师年龄int,教师薪金money)查询(浏览)表的所有列use SunDatabase(数据库名)select * from dbo.Teacher(表名)修改数据库alter database Sundatabaseadd file(name=Sundatabase2,filename='c:\Program Files\Microsoft SQL Server\MSSQL\Data\SunDatabase_Data.mdf', size=6)alter database Sundatabaseadd log file(name=Sundatabase_log2,filename='c:\Program Files\Microsoft SQL Server\MSSQL\Data\SunDatabase_log2.ldf', filegrowth=10%)删除数据文件和事务日志文件alter database Sundatabaseremove file Sundatabase_log2修改数据库名称exec sp_renamedb 旧名,新名修改表名exec sp_rename 旧名,新名修改表的字段exec sp_rename 'Teacher.教师薪金','教师薪水','column'在表中增加字段use SunDatabasealter table Teacher //修改Teacher表add Email varchar(50) default 'sp151152@'删除表中的字段alter table Teacherdrop column 教师薪水修改字段的数据类型use SunDatabasealter table Teacheralter column 教师薪金int not null删除表use SunDatabasedrop table 学生表向表中添加记录use SunDatabaseinsert into Teacher(教师编号,教师职称,教师年龄,教师薪金)values(5, '讲师', 50, 5000) 删除表中的所有数据Truncate table 教师表创建主键约束alter table 教师表02add constraint pkprimary key clustered(教师编号)创建外键约束alter table 教师表add constraint wzforeign key( 教师编号)references 教师表02(教师编号) //参照教师表02创建表的同时建立主外键的约束create table 系部(系部代码char(6) not null primary key,系部名称varchar(30) not null,系主任char(8))create table 专业(专业代码char(4) not null primary key,专业名称varchar(20) not null,系部代码char(6) constraint wz references 系部(系部代码))查询表中的某些字段插入到某个表中insert Employee(EmpId,EmpName,EmpAddress)select EmpId,EmpName,EmpAddress from Employee修改表中的字段update 教师表set 专业方向=’化学’where专业方向=’aa’删除表中的记录delect Empployee where EmpJob='助教'查看某一字段的所有取值select distinct 教师年龄from Teacher查看表的前n条记录select top n * from dbo.Teacher查看符合某条件的记录select * from Employee where EmpAddress='黑龙江北安市'select * from school where schoolId between 2 and 5select * from school where schoolId (not)in (2,5)update school set schoolAddress='杭州' where schoolId=2select * from school where (not )schoolRank is null创建临时表select * into #school2 from school查询记录总数select count(*) as 学校总数from schoolselect count(schoolRank) as 含有学校等级评定的总数from school select sum(schoolRankFen) as 学校评定总分from schoolselect avg(schoolRankFen) as 学校评定平均分from school郑树源视频第八节select 专业, count(*) 系部总人数from 学生信息group by 专业select 专业, sum(高考分数) 此专业高考总分数from 学生信息group by 专业select 专业,count(学号) as 此专业总人数, sum(高考分数) 此专业高考总分数from 学生信息group by 专业select 专业,count(学号) as 此专业总人数, sum(高考分数) 此专业高考总分数from 学生信息group by 专业compute sum(sum(高考分数))郑树源视频第九节表的交叉连接select * from 表名cross join 另一表名交叉连接查询:把第一个表的所有数据与第二个表的每一个数据进行拼接select 学生.姓名,学生.性别,班级.班级名称from 学生cross join 班级where 学生.班级代码=班级.班级代码select 学生.姓名,学生.性别,班级.班级名称from 学生join 班级on 学生.班级代码=班级.班级代码(与上面代码的结果相同)左右连接select * from 产品left(right)join 产品销售on 产品.产品编号=产品销售.产品编号完全外连接select * from 产品full join 产品销售on 产品.产品编号=产品销售.产品编号将一个表中的数据赋给另一个表select 姓名,性别,出生日期into new_table from 学生union将两表中的重复信息过滤掉select 姓名,性别,出生日期from 学生unionselect 姓名,性别,出生日期from new_table郑树源视频第十节select 学生.姓名,学生.性别,班级.班级名称from 学生join 班级on 学生.班级代码=班级.班级代码and 性别=‘男’多表连接查询select 学生.姓名,学生.性别,班级.班级名称,专业.专业名称from 学生join 班级on 学生.班级代码=班级.班级代码join 专业on 学生.专业代码=专业.专业代码子查询select * from 学生信息where 姓名in(select 姓名from school where schoolName='港大' ) //查询在港大读书的学校信息带有比较运算符的子查询郑树源视频第十一节唯一约束alter table schooladd constraint wy(唯一约束的名称)unique nonclustered (姓名) //姓名为字段名检查约束alter table schooladd constraint gkfs(检查约束的名称)alter table 学生信息add constraint gkcheck (高考分数>300 and 高考分数<750)默认约束alter table 学生信息add constraint sl(默认约束的名称)default '省略' for 备注(字段名)删除约束alter table 学生信息drop constraint sl(所要删除的约束的名称)郑树源视频第十二节创建规则create rule gzas@a>300 and @a<750绑定规则create rule gzas@a>300 and @a<750execute sp_bindrule 'gz','学生信息.高考分数'解除绑定规则execute sp_unbindrule 'gz','学生信息.高考分数'删除规则drop rule gz创建默认create default mras '省略'绑定默认execute sp_bindefault 'mr','学生信息.备注'解除绑定execute sp_unbindefault 'mr','学生信息.备注'删除默认drop default mr郑树源视频第十三节创建聚集索引create clustered index aaon 学生信息(姓名) //默认升序创建唯一索引create unique index bbon 学生信息(姓名) //姓名不能重复查看索引信息exec sp_helpindex 学生信息删除索引drop index 表名.索引名郑树源视频第十四节创建视图1create view 自己所建视图asselect school.schoolId,school.schoolName,学生信息.学号,学生信息.姓名from school join 学生信息on school.姓名=学生信息.姓名创建视图2create view stasselect * from 学生信息创建加密视图3create view 加密视图with encryptionasselect * from 学生信息创建视图及表的架构绑定create view 架构绑定with schemabindingasselect 姓名,专业,高考分数from dbo.学生信息查询视图select * from 自己所建视图使用视图修改数据。
SQL2000数据库导出和导入教程
SQL2000数据库导出和导入教程SQL Server 2000是一种关系型数据库管理系统,支持大型数据库和各种应用程序。
它提供了导出和导入数据的功能,使用户可以将数据从一个数据库导出到另一个数据库,或者从一个数据库导入到另一个数据库。
下面是SQL Server 2000数据库导出和导入的教程。
导出数据:1. 打开SQL Server 2000管理工具,选择要导出数据的数据库。
2.选择“任务”菜单,然后选择“导出数据”选项。
3.在“数据源”对话框中,选择要导出的表或视图。
您还可以指定一个查询来选择特定的数据。
4.在“目标”对话框中,选择将数据导出到的目标数据库或文件。
您可以选择导出到同一服务器上的另一个数据库,或者导出到一个文件。
5.确定导出选项,例如导出可变宽度的文本文件或固定宽度的文本文件,以及使用逗号作为字段分隔符或制表符作为字段分隔符。
6.单击“完成”按钮开始导出过程。
导入数据:1. 打开SQL Server 2000管理工具,选择要导入数据的数据库。
2.选择“任务”菜单,然后选择“导入数据”选项。
3.在“数据源”对话框中,选择包含要导入的数据的数据库或文件。
如果您选择一个文件,您需要指定文件类型和文件位置。
4.在“目标”对话框中,选择要导入数据的目标表或视图。
您还可以选择创建一个新的表来存储导入的数据。
5.如果需要的话,可以在“转换”对话框中进行必要的数据转换。
例如,您可以选择将一个日期字段的格式从YYYYMMDD转换为YYYY-MM-DD。
6.确定导入选项,例如是否忽略导入中的重复行,以及在导入过程中要使用的事务类型。
7.单击“完成”按钮开始导入过程。
导出和导入数据可能会花费一些时间,具体时间取决于数据的大小和服务器的性能。
在导出和导入过程中,您可以查看进度和错误信息。
除了使用SQL Server 2000管理工具进行导出和导入,还可以使用SQL命令进行导出和导入。
例如,您可以使用SELECT INTO语句将数据导出到一个新的表中,然后使用INSERT INTO语句将数据从一个表导入到另一个表中。
《sqlserver数据库》课程设计范例
《sqlserver数据库》课程设计范例一、教学目标本课程的教学目标是使学生掌握SQL Server数据库的基本理论、操作方法和应用技巧。
通过本课程的学习,学生将能够:1.知识目标:理解数据库的基本概念、原理和SQL Server数据库的特点;掌握SQL语言的基本语法和用法,包括数据定义、数据查询、数据更新和数据控制;了解数据库设计和建立的基本步骤。
2.技能目标:能够使用SQL Server数据库管理系统进行数据库的创建、维护和管理;能够编写简单的SQL查询语句进行数据的增、删、改、查操作;能够进行数据库的安全性和完整性设置。
3.情感态度价值观目标:培养学生对数据库技术的兴趣和好奇心,提高学生的问题解决能力和创新意识;培养学生的团队协作精神和良好的编程习惯。
二、教学内容本课程的教学内容主要包括以下几个部分:1.SQL Server数据库的基本概念和特点:数据库的概念、发展历程、数据模型、SQL Server的特点。
2.SQL语言的基本语法和用法:数据定义语言(DDL)、数据查询语言(DQL)、数据更新语言(DML)、数据控制语言(DCL)。
3.数据库的创建和管理:数据库的创建、维护、备份和恢复。
4.数据的增、删、改、查操作:使用SQL语句进行数据的添加、删除、修改和查询。
5.数据库的安全性和完整性设置:用户管理、权限分配、约束设置等。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解SQL Server数据库的基本概念、原理和SQL语言的语法。
2.案例分析法:通过实际案例让学生掌握数据库的创建、维护和管理方法。
3.实验法:让学生动手实践,进行数据库的创建、数据的增、删、改、查操作以及安全性和完整性设置。
4.讨论法:学生进行小组讨论,分享学习心得和经验,提高团队协作能力。
四、教学资源本课程所需的教学资源包括:1.教材:《SQL Server数据库教程》。
SQL server2000语法
创建/修改库create database xkon primary(name=x1_data,filename='d:\xk\x1_data.mdf', size=10mb,maxsize=50mb, filegrowth=10%)log on(name=x1_log,filename='d:\x1_log.ldf',size=1mb,filegrowth=10%)exec sp_helpdb xkalter database xkadd filegroup fg1alter database xkadd file(name=x1_ndata,filename='d:\xk\x1_ndata.ndf', size=1mb,filegrowth=10%)to filegroup fg1alter database xkmodify file(name=x1_ndata,size=10mb,filegrowth=10%)alter database xkmodify file(name=x1_log,size=10)exec sp_helpdb xk删除库use xkalter database xkremove file x1_ndataalter database xkremove filegroup fg1alter database xkmodify name=lydrop database ly创建/删除表use xkcreate table student(stuno char(4) not null primary key, stuname varchar(10)not null,age tinyint,sex char(4),address varchar(20))create table course(couno char(4) not null primary key, couname varchar(20),kind varchar(20),credit tinyint,teacher varchar(10),coutime datetime)create table grade(stuno char(4) not null,couno char(4) not null,stugrade tinyint,credit tinyint)exec sp_help studentexec sp_help courseexec sp_help gradedrop table gradeinsert into studentvalues('1004','特兰克思',18,'男','南京市鼓楼区')insert into coursevalues('c004','三分归元气','拳、掌、腿、气',5,'雄霸','16:00')insert into gradevalues('1004','c004',90,10)exec sp_spaceused student /*查询表中记录数*/修改表use xkalter table studentadd phone varchar(15)alter table studentdrop column mingzualter table studentalter column sex varchar(2)exec sp_rename stu,studentexec sp_spaceused studentinsert courseselect * from newcourse /*将表newcourse内容插入表course中*/select couno,couname,teacher,coutime into newcourse from course where kind='气' /*将表course 内容插入表中newcourse*/update student set stuname='孙悟空' where stuno='1003'update grade set stuno=student.stuno from grade join student on grade.stuno=student.stunodelete from grade where credit=10insert gradevalues('1001','c001',90,10)约束use xkalter table gradeadd constraint pk_grade primary key(stuno,couno)alter table studentadd constraint uq_address unique nonclustered(address)/*唯一约束*/ sp_helpindex studentalter table studentdrop uq_addressalter table student /*默认约束*/add constraint df_stunamedefault('报名') for stunamealter table studentadd constraint ck_agecheck (age>=18 and age<=24)selectuse xkselect top 3 * from student select top 3 percent * from studentselect distinct * from student /*消除重复*/select distinct top 3 * from studentselect stuno '学号' from grade order by stugrade descselect stuno as '学号' from grade order by stugrade ascselect '学号'=stuno from grade where stugrade between 80 and 90 select stuno from grade where stuno in('1001','1003')select stuno from grade where couno not in('c002','c003')select stuno from grade where stuno is not nullselect stuno from grade where couno is null/*判断空值*/select stugrade * credit from gradeselect * from student where phone like'[58]7654321'select * from student where phone like'13[^0123]456789'select * from student where address like '南京_玄武区'select * from student where address like'%玄武%'select * from student where stuname like'孙悟[%]'select couno,sum(stugrade) '总分' from grade group by counoselect stuno,stugrade from grade order by stuno compute sum(stugrade)select stuno,stugrade,kind from grade,course order by kind compute sum(stugrade) by kind select stuno,sum(stugrade) from grade where credit>7 group by stuno having sum(stugrade)>150 select stuno from student union select couno from courseselect * into chengji from gradeselect s.stuno,s.stuname,c.couno,c.couname,c.credit,g.stugrade from grade ginner join course c on g.couno=c.counoinner join student s on g.stuno=s.stunoselect s.stuno,s.stuname,s.address,c.couno,c.couname,c.credit,g.stugrade,sum(stugrade) from grade ginner join student s on g.stuno=s.stunoinner join course c on g.couno=c.counowhere s.address like'%玄武' group by s.stuno,s.stuname,s.address,c.couno,c.couname,c.credit,g.stugradehaving sum(stugrade)>150select * from student s left join grade g on s.stuno=g.stunoselect * from student s right join grade g on s.stuno=g.stunoselect * from student s full join grade g on s.stuno=g.stunoselect * from student ,course ,gradeselect * from student where stuno not in (select stuno from grade where stugrade>=90)select * from student where stuno in (select stuno from grade where stugrade>=90)select * from student where exists(select stuno from grade where stugrade>=90)函数use xkselect sum(stugrade),avg(stugrade),count(stugrade)from grade where stuno='1001'/*返回列中记录个数*/select max(age),min(age)from studentselect left('china',3)/*返回左边3个字符*/select right('china',3)/*返回右边3个字符*/select substring('chinese',2,4)/*从第2个字符开始连续返回4个字符*/select len('china')/*返回字符个数*/select lower('CHINA')/*转换为小写*/select upper('china')/*转换为大写*/select ltrim(' abc ')/*取消左边空格*/select rtrim(' abc ')/*取消右边空格*/select space(20)/*返回20个空格*/select str(246246246,7,2)/*将字数值转换为字符型,长度为7,小数位数2位*/select str(246246246)select getdate()/*返回系统日期时间*/select day('6/24/2000 10:24:45') select day(getdate())/*返回给定时日的日*/select month('6/24/2000 10:24:45') select month(getdate())/*返回给定时日的月*/select year('6/24/2000 10:24:45') select year(getdate())/*返回给定时日的年*/select datepart(day,'6/24/2000 10:24:45') select datepart(day,getdate())/*返回给定时日的日*/select datepart(month,'6/24/2000 10:24:45') select datepart(month,getdate())/*返回给定时日的月*/select datepart(year,'6/24/2000 10:24:45') select datepart(year,getdate())/*返回给定时日的年*/ select datediff(year,'6/24/2000 10:24:45',getdate())/*计算前后时日相隔年份*/select datediff(month,'8/8/2008 8:8:8',getdate())/*计算前后时日相隔月份*/select datediff(day,'8/8/2008 8:8:8',getdate())/*计算前后时日相隔天数*/select abs(-24) select abs(24) /*返回绝对值*/select ceiling(13.2) select ceiling(13.7)/*返回大于等于给定数值的最小整数*/select floor(13.2) select floor(13.7)/*返回小于等于给定数值的最大整数*/select round(3.1415926,3)/*四舍五入*/视图use xkcreate view v_student as select * from studentselect * from v_studentcreate view v_SCG asselect s.stuno,s.stuname,s.sex,s.age,c.couno,c.couname,g.stugrade,g.credit from grade ginner join student s on g.stuno=s.stunoinner join course c on g.couno=c.counoselect * from v_SCGcreate view v_course with encryption as select * from coursealter view v_student with encryption asselect top 3 percent stuno '学号',stuname '姓名',sex '性别',age '年龄',address '住址' from student order by age descexec sp_rename v_course,v_Courseexec sp_helptext v_Courseexec sp_depends v_studentdrop view v_Course存储过程use xkcreate procedure p_student with encryption asselect * from student where address='南京市玄武区'exec p_studentcreate procedure p_grade @nomber char(4) with recompile asselect * from grade where couno=@nomberexec p_grade @nomber=c002create procedure p_grade1 @stunomber char(4),@counomber char(4) outputas set @counomber=(select couno from grade where stuno=@stunomber)print @counomberdeclare @stunomber char(4),@counomber char(4)set @stunomber='1002'exec p_grade1 @stunomber,@counomberexec sp_helptext p_studentexec sp_depends p_studentexecute p_grade 'c001' with recompileexecute sp_recompile gradealter procedure p_grade @nomber char(4) with encryption asselect * from grade where stuno=@nomberdrop procedure pro_stucreate procedure pro_stu @xh char(4)=null,@xm varchar(10)=null asif @xh is nullbegin print'你必须提供学号' return endbegin transactioninsert into stundent(stuno,stuname,age,sex,address)values(@xh,@xm,'','','')commit transactionprint'信息添加到学生表中'exec pro_stu @xh='1005',@xm='卡罗特'exec xp_cmdshell 'dir c:*'exec xp_enumgroups 'admin'exec xp_loginconfig触发器use xkcreate trigger t_stu on student for update as print'记录已修改'update student set age=22 where stuno='1001'alter trigger t_stu2 on student instead of update as print'记录没有修改'/*instead of只执行print不执行sql语句*/create trigger t_stu3 on student for update as if update(age) print'年龄已修改'create trigger t_student on student for insert as declare @xh char(4)select @xh=s.stuno from student s,inserted i where s.stuno=i.stunoinsert into grade(stuno,couno) values(@xh,'c003')insert into student(stuno,stuname) values('1005','卡罗特')create trigger t_student0 on student for delete as declare @xh char(4)select @xh=stuno from deleteddelete from grade where stuno=@xhdelete from student where stuname='卡罗特'create trigger setwillnum on grade for insert update delete asupdate course set willnum=willnum+1 where couno=(select couno from inserted) update course set willnum=willnum-1 where couno=(select couno from deleted)update grade set couno='c003' where stuno='1003' and couno='c002'delete from grade where stuno='1003'and couno='c003'insert gradevalues('1003','c002',90,10)alter trigger setwillnum on grade for insert,update,delete asupdate course set willnum=(select count(*) from grade where couno=course.couno)drop trigger setwillnumsp_rename t_stu,t_stu1alter table grade disable trigger setwillnumalter table grade enable trigger setwillnumselect * from sysobjects where type='tr'备份还原use xkexec sp_addumpdevice 'disk','xh_bak','d:\xh\xh_bak'backup database xh to xh_bak /*数据库备份*/backup database xh to xh_bak with init/*覆盖备份*/backup database xh to xh_bak with noinit/*追加备份*/backup database xh to xh_bak with differential/*数据库备份*/exec sp_addumpdevice 'disk','xh_log_bak','d:\xh_log_bak'backup log xh to xh_log_bak/*日志备份*/backup log xh to xh_log_bak with initbackup log xh to xh_log_bak with noinitrestore database xh from xh_bak/*还原数据库*/restore database xh from xh_bak with norecoveryrestore database xh from xh_bak with file=2restore database xh from xh_bak with norecovery,file=2/*还原差异*/ restore log xh from xh_log_bak/*还原日志*/restore log xh from xh_log_bak with norecovery,file=2权限use xkexec sp_addlogin 'user01'exec sp_addlogin 'user02','002'exec sp_addlogin 'user03','003','xh'exec sp_password '003','333','user03'exec sp_grantdbaccess 'user02'/*设置库权限*/exec sp_revokedbaccess 'guest01'/*取消库权限*/exec sp_grantdbaccess 'admin\guest','guest01'exec sp_droplogin 'user03'exec sp_addrole 'role01'exec sp_addrole 'role02','002'/*标准角色*/exec sp_addapprole 'approle01','001'/*应用程序角色*/grant select on student to role02grant create table to role02grant insert,update,delete on student to user02revoke create table from role02deny select,insert,update,delete on student to user01/*不可逆拒绝权限*/ exec sp_setapprole 'approle01','001'/*激活应用程序角色*/exec sp_droprole 'role01'exec sp_addrolemember 'role01','user03'/*用户加入到角色*/。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《SQL Server实用教程》教学大纲 (参考学时68学时) 一、 课程的性质和任务 1、课程的性质 随着计算机应用的普及和网络技术的发展,数据量急剧地增加,如今人们是借助计算机
和数据库技术科学地保存和管理大量的、复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。数据库技术已成为当今计算机信息系统的基础和核心,要学习计算机科学,就不能不学习掌握数据库技术。 本课程的内容主要介绍数据库的创建、修改、删除、查询等基本操作和SQL Server的编程结构以及数据库的完整性和数据库的维护。整个学习过程由浅入深、逐层推进,让学习者都能很容易找到自己的切入点,轻松地学习。 2、课程培养学生的基本知识 通过本课程的学习,使学生了解SQL Server 2000数据库管理系统的使用方法,数据库的物理存储方式,SQL Server 2000中的数据类型,掌握T-SQL语句的各种格式,了解常量、变量、运算符和表达式以及流程控制语句,索引、存储过程、触发器的概念和数据库的备份以及数据库系统安全管理知识。
3、课程培养学生的基本技能 (1).掌握T-SQL语句的基本格式;掌握用T-SQL语句编写源程序的基本方法和技巧。 (2).具有阅读、分析T-SQL语句的能力。能够清楚了解T-SQL语句的功能和设计方法。 (3).通过上机实践,能够熟练地掌握T-SQL语句的格式,具备设计查询语句、编写用户定义函数和存储过程的能力。
二、课程的教学内容和深广度 第一章 数据库基本概念和SQL Server 2000环境 教学内容: 1) 数据库的数据模型和E-R模型 2) SQL Server 2000客户机/服务器体系结构 3) SQL Server 2000的启动、暂停和退出 4) 企业管理器和查询分析器界面 5) 利用企业管理器注册新的服务器。 要求: 1) 掌握SQL Server 2000的数据模型 2) 了解SQL Server 2000的体系结构 3) 掌握SQL Server 2000的启动、暂停和退出 4) 学会使用企业管理器和查询分析器。 重点:SQL Server2000服务器组件,SQL Server2000主要的管理工具的使用 难点:SQL Server2000服务器组件,SQL Server2000主要的管理工具的使用
第二章 数据库和表的创建 教学内容: 1) SQL Server的数据库和表的概念 2) 界面创建、修改、删除数据库和表 3) 使用命令方式创建、修改、删除数据库和表 要求: 1) 了解数据库的物理存储结构和表中的数据类型 2) 熟悉用命令创建、修改、删除表的语法格式 3) 掌握用界面和T-SQL语句创建、修改、删除数据库和表的方法 重点:界面创建、修改、删除数据库和表 命令方式创建、修改、删除数据库和表 难点:命令方式创建、修改、删除数据库和表
第三章 表数据操作 教学内容: 1) 界面插入、删除、修改表记录 2) 命令方式插入、删除、修改表记录
要求: 1) 熟悉用命令插入、删除、修改记录的语法格式 2) 熟练掌握利用界面和命令插入、删除、修改记录的各种方法 重点:界面插入、删除、修改表记录 命令方式插入、删除、修改表记录 难点:命令方式插入、删除、修改表记录
第四章 数据库的查询和视图 教学内容: 1) 关系运算选择、投影、连接的概念 2) 数据库的选择行、选择列、排序、多表查询 3) 数据库的分组和汇总、嵌套查询、合并数据集 4) 视图的创建、查询、更新、删除 5) 游标的声明和使用。
要求: 1) 熟悉数据库的各种查询方法 2) 掌握视图的创建、查询、更新和删除的方式 3) 学会声明和使用游标 重点:数据库的各种查询语句 视图的创建和使用 游标的使用 难点:数据库的各种查询语句 游标的使用
第五章 T-SQL语言 教学内容: 1) SQL Server 2000的常量、变量与数据类型 2) 运算符和表达式 3) 控制流程语句 4) 用户定义函数
要求: 1) 了解并学会使用SQL Server 2000中的常量、变量与数据类型 2) 掌握运算符和表达式 3) 熟悉流程控制语句IF…ELSE、GOTO、WHILE、BREAK、CONTINUE、RETURN和WAITFOR 4) 掌握用户函数的定义和调用 以及删除 重点: SQL Server 2000中的常量、变量与数据类型 控制语句IF…ELSE、GOTO、WHILE、BREAK、CONTINUE、RETURN和WAITFOR 用户函数的定义和调用 以及删除 难点: 控制语句IF…ELSE、GOTO、WHILE、BREAK、CONTINUE、RETURN和WAITFOR 用户函数的定义和调用 以及删除
第六章 索引与数据完整性 教学内容: 1) 索引的分类、创建、删除 2) 默认值约束的定义、使用和删除 3) 默认值对象的定义、使用和删除 4) 数据完整性的分类与实现
要求: 1) 了解索引的分类和数据完整性的概念 2) 熟练掌握索引的创建、删除,默认值约束的定义以及默认值对象的定义、使用和 删除 重点:索引的创建、删除,默认值约束的定义以及默认值对象的定义、使用和删除 难点:索引的创建、删除,默认值约束的定义以及默认值对象的定义、使用和删除
第七章 存储过程和触发器 知识点: 1) 存储过程的分类 2) 用户存储过程的创建与执行、编辑修改、删除 3) 触发器的创建、修改和删除。
要求: 1) 了解存储过程的分类 2) 熟练掌握创建、修改和删除存储过程的方法 3) 能按照要求创建存储过程,掌握触发器的创建、修改和删除的命令 重点:创建、修改和删除存储过程的方法 触发器的创建、修改和删除的命令 难点:创建、修改和删除存储过程的方法 触发器的创建、修改和删除的命令
第八章 备份恢复与导入/导出 知识点: 1) 备份和恢复需求分析 2) 数据库备份的基本概念,数据库恢复概念 3) 创建备份设备,利用企业管理器和备份向导进行备份 4) 数据库的恢复命令,导入导出的概念
要求: 1) 学会进行备份和恢复的需求分析 2) 掌握数据库备份和恢复的基本概念 3) 熟练掌握创建备份设备,利用企业管理器和备份向导进行备份的方法 4) 掌握使用企业管理器进行数据库的恢复 重点:创建备份设备,利用企业管理器和备份向导进行备份的方法 使用企业管理器进行数据库的恢复 难点:创建备份设备,利用企业管理器和备份向导进行备份的方法 使用企业管理器进行数据库的恢复
第九章 系统安全管理 知识点: 1) SQL Server 2000的身份认证模式 2) Windows NT认证模式登陆帐号的建立与取消 3) 混合认证模式下SQL Server登陆帐号的建立与删除,用户自定义数据库角色
要求: 1) 了解SQL Server 2000的身份认证模式 2) 掌握如何在SQL Server 2000中建立与取消Windows NT认证模式登陆帐号 3) 掌握混合认证模式下SQL Server登陆帐号的建立与删除 4) 学会自定义数据库角色 重点:如何在SQL Server 2000中建立与取消Windows NT认证模式登陆帐号 混合认证模式下SQL Server登陆帐号的建立与删除 难点:如何在SQL Server 2000中建立与取消Windows NT认证模式登陆帐号 混合认证模式下SQL Server登陆帐号的建立与删除
三 、课程教学的参考学时与学时分配 课程教学总学时数为68学时,其中讲授学时38学时,实验30学时。
1、课程教学学时分配表 章次 教学内容 讲课 实验 1 数据库基本概念和SQL Server 2000环境 2 2 2 数据库和表的创建 4 4 3 表数据操作 4 4 4 数据库的查询和视图 8 8 5 T-SQL语言 6 4 6 索引与数据完整性 4 2 7 存储过程和触发器 4 2 8 备份恢复与导入/导出 4 2 9 系统安全管理 2 2 合计 68 38 30 2、课程实验学时分配表 实验内容 学时数
实验一:SQL Server 2000管理工具的使用 2 实验二:创建数据库和表 4 实验三:表数据插入、修改和删除 4 实验四:数据库的查询 8 实验五:T-SQL编程 4 实验六:索引和数据完整性的使用 2 实验七:存储过程和触发器的使用 2 实验八:数据库的安全性 2 实验九:备份恢复与导入导出 2 合计 30
3、实验大纲 1) 实验项目名称:SQL Server 2000管理工具的使用 2学时 基本操作型 实验目的:掌握SQL Server服务器的安装,企业管理器的基本使用方法,查询分析器的基本使用方法,对数据库及其对象有基本了解。 仪器设备:PC微机,SQL Server 2000 2) 实验项目名称:创建数据库和表 4学时 设计型 实验目的:了解SQL Server数据库的逻辑结构和物理结构,表的结构特点,SQL Server的基本数据类型,空值概念,学会在企业管理器中创建数据库和表,使用T-SQL语句创建数据库和表。 仪器设备:PC微机,SQL Server 2000 3) 实验项目名称:表数据插入、修改和删除 4学时 设计型 实验目的:学会在企业管理器中对数据库表进行插入、修改和删除数据操作,学会使用T-SQL语句对数据库表进行插入、修改和删除数据操作,了解数据更新操作时要注意数据完整性,了解T-SQL语句对表数据操作的灵活控制功能。 仪器设备:PC微机,SQL Server 2000 4) 实验项目名称:数据库的查询 8学时 设计型 实验目的:掌握SELECT语句的基本语,熟练掌握子查询的表示,连接查询的表示,数据汇总的方法,SELECT语句的GROUP BY子句的作用和使用方法,SELECT语句的ORDER BY子句的作用和使用方法。 仪器设备:PC微机,SQL Server 2000