SQL-Server2008

上传人:仙*** 文档编号:138239966 上传时间:2022-08-20 格式:DOC 页数:21 大小:127.50KB
返回 下载 相关 举报
SQL-Server2008_第1页
第1页 / 共21页
SQL-Server2008_第2页
第2页 / 共21页
SQL-Server2008_第3页
第3页 / 共21页
点击查看更多>>
资源描述
附录: SQL Server2008简介主要内容: SQL Server的历史和发展 SQL Server2008简介 SQL Server数据库结构 Transact-SQL语句简介第一节 SQL Server的历史和发展一 SQL Server的历史从1988年微软公司和Sybase合作开发SQL Server 1.0到至今的20多年里,SQL Server经历了若干次重大的革新和升级,其功能和性能日臻完善。到了2000年发布的SQL Server2000的时候,在数据库商业产品领域,已经形成了Oracle ,SQL Server,DB2三足鼎立的局面。2005年11月推出SQL Server 2005 ,更是改变人们心目中SQL Server 只适应中小企业的印象,增强了大规模数据处理和商业计算的能力。时隔三年在SQL Server 2005的基础上推出了升级产品SQL Server 2008,并将其作为微软公司在互联网时代的战略数据平台,我们也有理由相信,SQL Server在商业数据库领域将有更大的发展与作为.年份版本简介2000SQL Server 2000Sql Server的产品发展史上的一个里程碑,功能完善的企业级数据库系统,丰富前端管理工具,完善的开发工具,以及对xml的支持等。2005SQL Server 2005引入了对.NET framework的支持,增强了商业智能的处理能力,完善了对XML文件的处理2008SQL Server 2008至今为止的最强大和最全面的SQL Server版本,安全性,性能,可扩展性都有了全新的提高二 SQL Server 的版本特点1 SQL Server 2000SQL Server 2000的四合一安装程序,那就是标准版,企业版,个人版和开发版。SQL Server 2000四个主要版本的使用领域企业版(Enterprise Edition):支持所有的SQL Server 2000 特性,可以作为大型Web站点,企业OLTP(联机事务处理),以及数据仓库系统等的产品数据库服务器。标准版(Standard Edition):用于小型的工作组或部门个人版(Personal Edition):用于单机系统或客户机开发版(Developer Edition):用于程序员开发应用程序2 。SQL Server 2005SQL Server 2005在保留了企业版,标准版,开发版的基础上,去除了SQL Server 2000 中的个人版,并增加了一个工作组版(Workgroup Edition)和一个精简版(Express Edition)精简版可以理解为SQL Server2005下的个人版,工作组版所支持的功能介于个人版和标准版之间。3. SQL Server 2008SQL Server 2008完好地继承了SQL Server 2005的版本划分体系,同时又有了改进和创新,总体来说,SQL Server 2008包括了两大版本阵营:SQL Server 2008服务器版和SQL Server2008 专业版,其中SQL Server 2008 服务器版是针对企业目标客户的,包括了Enterprise Edition 和 Standard Edition;而SQL Server 2008专业版则是针对特定专业用户的,包括了 Developer Edition ,Workgroup Edition,Express Advanced Edition和Web Edition第二节 SQL Server2008简介SQL Server 2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。这个平台有如下特点: 可信任的使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。 高效的使得公司可以降低开发和管理他们的数据基础设施的时间和成本。 智能的提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。一 可信任1.保护你的信息在过去的SQL Server 2005的基础之上,SQL Server 2008做了以下方面的增强来扩展它的安全性:简单的数据加密 外键管理 增强了审查 2确保业务可持续性改进了数据库镜像,SQL Server 2008基于SQL Server 2005,并提供了更可靠的加强了数据库镜像的平台。新的特性包括:页面自动修复 加强了可支持性3最佳的和可预测的系统性能公司在面对不断增长的压力,要提供可预计的响应和对随着用户数目的增长而不断增长的数据量进行管理。SQL Server 2008提供了一个广泛的功能集合,使你的数据平台上的所有工作负载的执行都是可扩展的和可预测的。性能数据的采集 扩展事件 备份压缩 数据压缩 资源监控器稳定的计划二 高效的SQL Server 2008降低了管理系统、.NET架构和Visual Studio® Team System的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。1. 基于政策的管理 作为微软正在努力降低公司的总成本所作的工作的一部分,SQL Server 2008推出了陈述式管理架构(DMF),它是一个用于SQL Server数据库引擎的新的基于策略的管理框架。陈述式管理提供了以下优点:遵从系统配置的政策监控和防止通过创建不符合配置的政策来改变系统通过简化管理工作来减少公司的总成本使用SQL Server 管理套件查找遵从性问题2. 改进了安装SQL Server 2008对SQL Server的服务生命周期提供了显著的改进,它重新设计了安装、建立和配置架构。这些改进将计算机上的各个安装与SQL Server 软件的配置分离开来,这使得公司和软件合作伙伴可以提供推荐的安装配置。3. 加速开发过程SQL Server提供了集成的开发环境和更高级的数据提取,使开发人员可以创建下一代数据应用程序,同时简化了对数据的访问。4偶尔连接系统有了移动设备和活动式工作人员,偶尔连接成为了一种工作方式。SQL Server 2008使得可以通过ADO.NET中提供的新的同步服务和Visual Studio中的脱机设计器快速的创建偶尔连接系统。5. 不只是关系数据应用程序正在结合使用越来越多的数据类型,而不仅仅是过去数据库所支持的那些。SQL Server 2008基于过去对非关系数据的强大支持,提供了新的数据类型使得开发人员和管理员可以有效的存储和管理非结构化数据,例如文档和图片。还增加了对管理高级地理数据的支持。除了新的数据类型,SQL Server 2008还提供了一系列对不同数据类型的服务,同时为数据平台提供了可靠性、安全性和易管理性三 智能的商业智能(BI)继续作为大多数公司投资的关键领域和对于公司所有层面的用户来说的一个无价的信息源。SQL Server 2008提供了一个全面的平台,用于当用户需要时你可以为其提供智能化。1 集成任何数据SQL Server 2008提供了一个全面的和可扩展的数据仓库平台,它可以用一个单独的分析存储进行强大的分析,以满足成千上万的用户在几兆字节的数据中的需求。2 发送相应的报表SQL Server 2008提供了一个可扩展的商业智能基础设施,使得IT人员可以在整个公司内使用商业智能来管理报表以及任何规模和复杂度的分析。3 使用户获得全面的洞察力及时访问准确信息,使用户快速对问题、甚至是非常复杂的问题作出反应,这是在线分析处理的前提(Online Analytical Processing,OLAP)。SQL Server 2008基于SQL Server 2005强大的OLAP能力,为所有用户提供了更快的查询速度。这个性能的提升使得公司可以执行具有许多维度和聚合的非常复杂的分析四 SQL Server的特点: SQL Server是一种client/server结构的关系数据库管理系统,它使用 Transact-SQL语句在客户端和服务器端传送请求。l Client/server结构:Connect / disconnectclient .DataBase ServerApplication ServerConnect / disconnectclient l 关系数据库管理系统:SQL Server是一种关系型数据库管理系统。 它提供多用户、多任务的数据库操作环境,并提供了一套完备的数据备份、错误恢复、安全控制等管理机制。它允许集中管理服务器,提供企业级的数据复制,提供并行的体系结构,支持超大型数据库,并与OLE对象技术紧密集成。l Transact-SQL语句:SQL Server使用Transact-SQL作为它的数据库查询和编程语言。通过Transact-SQL,我们可以访问数据库,查询、更新、管理关系数据库。Transact-SQL支持最新ANSI SQL标准。并且提供了一些扩展功能。具体可见第四节内容。五SQL Server的主要工具l SQL Enterprise Manager(即SQL-EM,SQL 企业管理器):管理SQL Server服务器、数据库和数据库对象(表、视图、存储过程、触发器等)、管理SQL Server登录和用户、管理数据库备份等,以及创建和管理数据库维护计划、创建和管理各种作业、创建和管理各种警报等,均可用SQL Enterprise Manager完成。l Query Analyzer:图形化的查询分析工具,可以使用SQL语句创建和操作数据库。 第三节 SQL Sever数据库系统结构一SQL Sever数据库 SQL Server安装后有3个系统数据库、1个临时数据库和2个样本数据库。此外,还有用户数据库。1 SQL Server系统数据库 系统数据库是为了支持SQL Server各项设施的操作而创建的。l master:它从整体上控制SQL Server系统和用户数据库应用程序的运行。记录了所有服务器配置信息,其中包括登录标识、系统配置、初始化设置和用户数据库等信息。l model:是一个模板数据库,它为新创建的用户数据库提供模板和原形。l msdb:支持SQL Server代理服务,为报警和任务调度,以及为记录操作员的操作提供空间。l tempdb:是一个暂时性的数据库,它用于临时存储:临时表、临时存储过程以及其它临时操作提供存储空间。l pubs数据库和Northwind数据库:样本数据库。此外,还可以有:l distribution:分布式数据复制活动中的分布式数据库。2系统表:主要有:l 系统数据库系统表:主要存在与master数据库中。用于存储SQL Server数据库系统信息。l 用户数据库系统表:存储用户数据库信息。二数据库对象 一个用户数据库是由数据和表、数据类型等数据库对象组成的。1SQL Sever的数据库对象:l Table表:用来存储SQL Server数据。l DataType数据类型。l Constraint约束:用于验证数据的合法性,并保持表间数据约束的一致性。l Default缺省值:用于向没有给出值的列提供缺省值。l Rule规则:定义和控制存储于列或某一数据类型中数据的取值约束。l Index索引。l View视图。l 存储过程(Stored procedure):它是由一系列Transact_SQL语句编写而成的,完成一定的功能。l Trigger触发器:一种特殊形式的存储过程,当用户修改表时,它自动执行。2数据库对象的引用:当我们使用一个数据库对象时,对数据库对象的引用的标准形式为(即全名):server.database.owner.object 在实际应用中,我们可以在不产生歧义的情况下,省略某些项,如:server.database.objectserver.owner.objectserverobjectdatabase.owner.objectdatabase.objectowner.objectobject当用户创建一个对象时,SQL Server用以下缺省规则指定被省略的部分。l 服务器缺省为当前服务器。l 数据库缺省为当前数据库。l 所有者缺省为当前用户名。三、系统存储过程(System Stored Procedures) 为了方便用户获取有关服务器和数据库对象的状态信息,SQL Server提供了一系列预先编写好的查询语句,构成系统存储过程,用于支持系统表的查询处理。 例如: sp_help object_name:提供数据库对象的信息。 sp_helpdb database_name :提供指定数据库的信息。 sp_helpindex table_name:提供指定表的索引信息。 例 exec sp_helpdb pubs执行结果如下:name db_size owner dbid created status - pubs 3.00 MB sa 4 Apr 3 1996 runc. log on chkpt. device_fragments size usage - - - master 1.00 MB data and log master 2.00 MB data and log device segment - master default master logsegment master system四、SQL SERVER数据库系统各种对象管理性能(SQL Server 7.0): 对 象 SQL SERVER 6.5 SQL SERVER 7.0数据库最大长度1 TB1 048 516 TB每个数据库的文件数3232 767每个服务器中的数据库数32 76732 767数据文件最大长度32 GB32 TB日志文件最大长度32 GB4 TB表每个数据库最多可拥有20亿个表,表最大为1TB只受数据库对象限制。每个数据库最多有2 147 483 647个数据库对象列每个表可有250列1 024每行字节数19628 060每个SELECT语句检索表数16256每个SELECT语句的列数4 0964 096每个INSERT语句的列数2501 024每个外键表可参照的表数16253索引每个表可有一个簇索引,249个非簇索引同左触发器每个表最多3个触发器,触发器允许16级嵌套触发器只受数据库对象总数限制,最大嵌套32级子查询嵌套级数1664存储过程参数一个存储过程可包含255个参数1 024个标识符长度30128批大小128KB65 536乘以网络包大小锁20亿个(2 147 483 647)2 147 483 647(静态锁)打开对象数20亿个(2 147 483 647)2 147 483 647 第四节 Transact-SQL语句简介 例子所涉及的的基本表S, C, SC等与课上介绍的相同,不再详细解释。一 创建和删除数据库例 用SQL SERVER 7.0 /2000建立数据库:USE masterCreate DATABASE DB_00070036 ON ( NAME = DB_student_DATA , FILENAME = D:DB0000db0036.mdf SIZE = 1, MAXSIZE = 3, FILEGROWTH = 1 ) LOG ON ( NAME = DB_student_LOG FILENAME = D:DB0000db0036.ldf, SIZE = 1, MAXSIZE = 3, FILEGROWTH = 1 ) 如果希望删除数据库,只需简单地使用命令DROP DATABASE。删除一个数据库将会删除各种系统表中所有相关联的项目。删除语句格式如下: DROP DATABASE 数据库名 例 删除数据库DB_student USE master drop database DB_student 注意: 1.在执行数据库操作之前,应选择当前数据库,这需要使用USE语句。 其语句格式是: USE 数据库名 2.创建、删除数据库时,应当选择master数据库作为当前数据库。二创建和删除基本表SQL Server创建表语法:CREATE TABLE 表名 ( 列名 数据类型 NULL| NOT NULL IDENTITY 子句 列约束 ,n 表约束)| , constraint , next_col_name | next_constraint )ON segment_name标准SQL创建表语句:CREATE TABLE 表名(列名1 类型 NOT NULL , 列名2 类型 NOT NULL .) 其它参数 注: (1)“列约束”格式: CONSTRAINT 约束名 PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED | FOREIGN KEY REFERENCES 被引用表名(被引用列) | DEFAULT 常数表达式 | CHECK (逻辑表达式) (2)“表约束”格式: CONSTRAINT 约束名 PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED ( 列名,n ) | FOREIGN KEY( 列名,n ) REFERENCES 被引用表名(被引用列名,n) | CHECK (搜索条件) 例 在DB_student数据库中创建表S、C、SC。create table sc ( s# char(3) not null, c# char(8) not null, g integer check(g=0 and g=100), primary key(s#,c#), foreign key(s#) references s(s#), foreign key(c#) references c(c#) )create table s ( s# char(3) not null , sn char(8) not null , sd char(8) default cs, sa integer, primary key(s#) )create table c ( c# char(8) not null , cn char(8) not null, pc# char(3), primary key(c#) )SQL Server删除表语法:DROP TABLE 数据库名.所有者.表名 , 数据库名.所有者.表名标准SQL 删除表语法:DROP TABLE 表名 由上图可见,两种SQL语言的删除表语句基本相同,在SQL Server中可同时删除多个表。 例 删除表sc和s drop table sc, s三创建和删除索引SQL Server创建索引语法:CREATE UNIQUE CLUSTEREDNONCLUSTERED INDEX 索引名 ON 数据库名. 所有者. 表名(列名 ,) WITH FILLFACTOR=填充因子 ,IGNORE_DUP_KEY ON 文件组名 标准SQL建立索引语句:CREATE UNIQUE INDEX 索引名 ON 基本表名(列名次序,列名次序 )其它参数; 注 (1).SQL Server的一些选项: CLUSTERED:簇索引。 NONCLUSTERED:非簇索引。 FILLFACTOR:索引表叶级页面的填充因子。 IGNORE_DUP_KEY:对于唯一性簇索引,若UPDATE或INSERT语句执 行后会导致重复码出现,则有重复码的元组被删除。 (2).值得注意的是SQL Server中不能对索引列指定索引的升降次序,该索引次序是由 SQL Server安装时指定的,不过我们可以通过存储过程及安装工具改变它。例:用SQL Server的Transact-SQL语句创建索引:create unique index xsno on s(s#)create unique index xcno on c(c#) create unique index xsc on sc(s#, c#) Transact-SQL语句删除索引的语句格式如下: DROP INDEX 所有者.表名.索引名,所有者.表名.索引名. 例:删除例所建立的索引xsc Drop index sc.xsc四 创建和删除视图: SQL Server创建视图语法: CREATE VIEW 所有者.视图名 ( 列名,列名) WITH ENCRYPTION AS 子查询语句 WITH CHECK OPTION标准SQL语句创建视图语法:CREATE VIEW 视图名 (字段名,字段名) AS 子查询语句 WITH CHECK OPTION 注:SQL Server增加一个新的子句:ENCRYPTION。它用于加密CREATE VIEW语句的存储文本,防止有人从syscomments系统表中检索视图定义文本。 例 创建计算机科学系的学生的视图。 Create view cs_s As select s#, sn, sa From s where sd = cs两种 SQL语言删除视图语句的格式大致相同,只是SQL Server中可以同时删除多个视图。具体格式如下:DROP VIEW 所有者.视图名,所有者.视图名. 例 删除例所建立视图 drop view cs_s五 数据检索 SQL Server的SELECT语句格式:SELECT ALL | DISTINCT 选择列表 INTO 新表名 FROM 表名 视图名,表名 视图名 WHERE 条件子句GROUP BY 子句 HAVING 子句 ORDER BY 子句COMPUTE 子句FOR BROWSE 标准SQL语句格式:SELECT 目标列 FROM 基本表(或视图) WHERE子句GROUP BY 列名1 HAVING 子句 ORDER BY 列名2 ASC|DESC 注 :如上所示,SQL Server增加了几个功能选项:(1) INTO选项:基于SELECT语句选中的行和列建立一个新表。 例 求选修了课程的学生学号,并放入一个新表s_c: select distinct s# into #s_c from sc 这里,s_c是一个临时表。(2) COMPUTE BY子句:它必须与ORDER BY子句一起使用,完成统计功能并列出统计明细项。具体格式如下: COMPUTE AVG | COUNT | MAX | MIN | SUM (表达式) ,.n BY 表达式,.n 例 使用COMPUTE子句的例子: SELECT book_type, pub_id, price FROM book WHERE book_type LIKE a% ORDER BY book_type, pub_id COMPUTE AVG(price) BY book_type (3) FOR BROWSE用于DB-Library应用程序中查看数据的同时执行更新。 六数据的修改1、插入SQL Server插入语句格式:INSERT INTO 表名| 视图名 ( 列表 ) VALUES( DEFAULT| 常量表达式 ,.n ) |DEFAULT VALUES |SELECT 语句 DEFAULT VALUES |values_list |select_statement 标准SQL插入语句格式:INSERT INTO 表名(字段名,字段名)VALUES(常量,常量) | 子查询 由上可见,SQL Server在原有标准SQL插入语句的功能上,增加了插入缺省值的功能。例 增加一个新学生的记录数据:学号s10, 姓名Zhang Ming, 信息系IS, 18岁。Insert into S(Sno, Sname, Sdept, Sage) values(s10, Zhang Ming, IS, DEFAULT)这里要求,在定义表S时,应该对Sage列定义了诸如:“CONSTRAIT DF_Sage DEFAULT 18”这样的列约束。 2. 数据的删除: Transact-SQL删除语句格式如下: DELETE 表名|视图名 FROM 表或视图 |(SELECT 语句)AS 表别名 ,.n WHERE 子句例1 从SC表中删去学生s1的所有选课:DELETE SC WHERE SNO = s1例2 从SC表中删去所有选了数据库原理的数据:DELETE SCFROM COURSE AS a, SC AS bWHERE a.CNO = b.CNO AND a.CNAME = 数据库原理 例3 从SC表中删去CS系学生的所有选课:DELETE SCFROM (SELECT * FROM S WHERE Sdept =CS) AS aWHERE a.SNO = SC.SNO 3、数据的修改 Transact-SQL数据修改语句格式为: UPDATE 表名|视图名 SET 列名 = 表达式 | DEFAULT ,.n FROM 表或视图名 |(SELECT 语句)AS 表别名 ,.n WHERE 子句 上述FROM 子句的用法和它在DELETE 语句中的用法相同。21
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!