第 16章 Microsoft SQL Server
? Microsoft SQL Server是一个分布式 RDBMS,主要应用
于企业级数据库管理。
? 最初版,20世纪 80年代在 Sybase基础上为 Unix开发。
? 版本,6.0,6.5,7.0,2000,2002版本。
? 多种语言版本:个人版、开发版、标准版、企业版。
? SQL Server能管理更大容量的数据,具有更好的安全
性、完整性、并发控制和数据备份恢复复制能力,性
能优越,与 windows操作系统完整结合。
? 支持多种平台。
第 16章 Microsoft SQL Server
? 16.1 SQL Server组成与特性
? 16.2 安装 SQL Server 2000
? 16.3 SQL Server的基本概念
? 16.4 数据类型及运算
? 16.5 SQL Server的操作方式
? 16.6 SQL Server数据库操作
? 16.7 表操作
? 16.8 约束、索引、默认值、规则,触发器
? 16.9 用户、角色、权限管理
? 16.10 小结
? 16.11 习题
16.1.1 SQL Server组件构成
16.1.2 SQL Server的特性
? 1.强大的关系数据库功能,支持 OLTP处理
? 2.支持数据仓库与数据挖掘
? 3.用 Meta Data Services 扩展知识库组件
? 4.支持可扩展标记语言 (XML)
? 5.全面的图形管理功能
? 6.提供强大的复制功能
? 7.提供强大数据转换服务 (DTS) 功能
? 8.提供实用的 English Query 功能
? 9.增强的日志设备、日志传送功能
16.2 安装 SQL Server 2000
? 硬件要求
? 软件要求(操作系统,Internet,网络软
件 )
? 安装之前注意事项及准备工作
16.3 SQL Server的基本概念
? 数据库对象:关系数据库系统、实例、数据库、
文件组、表、索引、存储进程、触发器。
? 实例:独立完整环境,一个缺省实例和多个命
名实例 。
? 设置 Windows 服务帐户
? 文件的路径(程序、数据、日志文件)
? 身份验证模式 ( Windows 身份验证模式和混合
模式 )
? 客户端访问授权模式 ( 每客户 和 处理器许可证 )
16.4 数据类型及运算 1
? bigint:整型数据 ( 所有数字 ) 。
? int:整型数据 ( 所有数字 ) 。 smallint:整数 。
? tinyint:从 0 - 255 的整数数据 。
? decimal:固定精度和小数位的数字数据 。
? numeric:等同于 decimal。
? money:货币数据值精确到货币单位千分之十 。
? smallmoney:货币数据值, 精确到货币单位千分之十 。
? float:浮点精度数字 。
? real:浮点精度数字 。
? datetime:日期和时间数据, 精确到百分之三秒 。
? smalldatetime:日期和时间数据, 精确到分钟 。
16.4 数据类型及运算 2
? char:固定长度非 Unicode 字符, 最大 8,000字符 。
? varchar:可变长度非 Unicode字符, 最长 8,000字符 。
? text:可变长度非 Unicode 数据, 最大 2^31 字符 。
? nchar:固定长度 Unicode 数据, 最大 4,000 字符 。
? nvarchar:可变长度 Unicode 数据, 最大 4,000 字符 。
? Sysname,系统提供用户定义类型 。
? ntext:可变长度 Unicode 数据, 最大 2^30字符 。
? binary:固定长度二进制数据, 最大 8,000 字节 。
? varbinary:可变长度二进制数据, 最大 8,000个字节 。
? image:可变长度二进制数据, 最大 2^31字节 。
? cursor:游标的引用 。
? uniqueidentifier:全局唯一标识符 (GUID)。
16.4 数据类型及运算 3
? bit,1 或 0 的整数数据。
? sql_variant:一种存储 SQL Server 支持的各种数据类型
( text,ntext,timestamp 和 sql_variant 除外)值的
数据类型。
? table:用于存储 SQL 语句的结果集 。
? timestamp:数据库范围的唯一数字,每次更新行时也
进行更新
? 自定义数据类型:
EXEC sp_addtype birthday,datetime,'NULL‘
GO
16.4 数据类型优先顺序 4
? 优先顺序从高到低依次为,sql_variant(最
高),datetime,smalldatetime,float,real,
decimal,money,smallmoney,bigint,int,
smallint,tinyint,bit,ntext,text,image,
timestamp,uniqueidentifier,nvarchar,
nchar,varchar,char,varbinary,binary
(最低)。
16.5 SQL Server的操作方式
? 三种:
? 企业管理器图形界面,用菜单,直观
? Transaction SQL语句:格式
? 利用存储进程:如 EXEC sp_addtype
birthday,datetime,'NULL'
16.5 企业管理器操作
? 企业管理器是 SQL SERVER中最重要的数据库
管理工具。
? 在企业管理器中几乎可完成对数据库的所有操
作,如建立、修改、删除数据库(或表、视图、
触发器等)。
? 在该窗口中,如果用对某一个数据库对象进行
操作,一种一般的做法是先选中该对象,然后
单击右键,从弹出的快捷菜单中选择相应的菜
单项来完成。
16.5 企业管理器:数据库
16.6 SQL Server数据库操作
? 数据库组成, 由包含数据的表集合和其它对象(如视图、
索引、存储过程和触发器)组成。
? 文件,主要文件 mdf、次要文件 ndf、事务日志文件 ldf。
? 系统数据库与系统表,master,tempdb,model、
msdb
? 数据库组织,对象包括:约束、表、默认值、触发器、
索引、用户定义的数据类型、键、用户定义函数、存储
过程和视图。
16.6 SQL Server数据库对象
16.6 SQL Server数据库操作
? 在企业管理器中用图形界面创建更改数据库。
? 创建数据库的 SQL语句,CREATE DATABASE
? 更改数据库 SQL语句,ALTER DATABASE
? 删除数据库 SQL语句,DROP DATABASE)
16.7 表操作
? 将表中所需的信息一次性定义完成,包括数据
数据类型和列宽,哪些列允许空值,哪些列是
主键,哪些是外键,以及约束、索引、默认设
置、规则等。
? 表设计、创建、修改、删除、重命名
? 表查询、更新(增、删、改)操作
? 用企业管理器图形界面 完成
? 用 SQL语句 完成
16.7 表操作:表结构
16.8 约束、索引、默认值、规则
? 约束、默认值、规则:保证数据完整性
? 索引:提高查询速度
? 可用企业管理器图形界面完成
? 也可用 SQL语句 完成
16.8 触发器,保证完整性高级技术
? CREATE TRIGGER trigger_name ON { table | view }
? [ WITH ENCRYPTION ]
? { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [,] [ UPDATE ] }
? [ WITH APPEND ]
? [ NOT FOR REPLICATION ]
? AS
? [ { IF UPDATE ( column )
? [ { AND | OR } UPDATE ( column ) ]
? [,..n ]
? | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
? { comparison_operator } column_bitmask [,..n ]
? } ]
? sql_statement [,..n ] } }
16.8 触发器示例
? 例 2,使用带有提醒电子邮件的触发器。当 titles 表更
改时,将电子邮件发送给指定的人员 (MaryM)。
? USE pubs
? IF EXISTS (SELECT name FROM sysobjects WHERE name
= 'reminder' AND type = 'TR')
? DROP TRIGGER reminder
? GO
? CREATE TRIGGER reminder ON titles
? FOR INSERT,UPDATE,DELETE
? AS
? EXEC master..xp_sendmail 'MaryM',
? 'Don''t forget to print a report for the distributors.‘
? GO
16.9 用户、角色、权限管理
? 可在企业管理器中轻松完成。
16.10 小结
? SQL Server是一优秀的分布式 RDBMS。
? 用于创建企业级的数据库应用 。
? SQL Server提供了一些新的数据库概念 。
? 用 SQL语句和企业管理器可完成数据库管理的
所有操作 。
? 企业管理器操作直观 。
? 扩充了 SQL语句, Trasaction_SQL。
? 主要操作设计:数据库, 表, 索引, 规则等 。
16.11 习题
? 16.1 什么是数据库实例?
? 16.2 SQL Server提供哪几种用户模式?
? 16.3 SQL Server系统数据库有哪些?
? 16.4 在企业管理器中练习对数据库的基本操作 。 包括:
建立一个数据库, 在库中建立表, 在表中插入, 修改,
删除数据行, 查询, 数据库备份与恢复 。
? 16.5 SQL Server如何保证数据的安全性, 完整性?
? 16.7 在 SQL Server中建立一个触发器 。
? 16.8 在 SQL Server中练习 SQL语句的用法 。