SQL Server概述

上传人:野鹰 文档编号:3174359 上传时间:2017-07-30 格式:PPT 页数:59 大小:1.41MB
返回 下载 相关 举报
SQL Server概述_第1页
第1页 / 共59页
SQL Server概述_第2页
第2页 / 共59页
SQL Server概述_第3页
第3页 / 共59页
SQL Server概述_第4页
第4页 / 共59页
SQL Server概述_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《SQL Server概述》由会员分享,可在线阅读,更多相关《SQL Server概述(59页珍藏版)》请在金锄头文库上搜索。

1、1,第1章 SQL Server概述,11 SQL(Structure Query Language) IBM公司San Jose实验室为System R而设计的查询语言。 从1982年开始,美国国家标准协会(ANSI)即着手标准化工作,1986年ANSI的数据库委员会批准了SOL作为关系数据库语言的美国标准,这就是第一个SQL标准,同时公布了SQL标准文本。在此后不久的1987年,国际标准化组织(ISO)也作出了同样的决定,目前的SQL标准是1992年制定的SQL一92标准,是一种用于与数据库进行交互的语言。 随着数据库技术的发展和数据库功能的增强,目前,各个DBMS厂商都自称采用SQL语言

2、,但完全按ISO标准实现的并不多。IBM公司实际上以其DB2的SQL作为IBM的标准,其他厂商所实现的SQL,由于历史原因,也有不少差异,但总的倾向是向国际标准靠拢,并与DB2的SQL保持兼容。SQL语言的极大普及是当今计算机工业中最引入注目的趋势之一。在过去的几年中,SQL已经发展成为标准计算机数据库查询语言。,2,12 SQL的特点 SQL是一种综合的、通用的、功能极强的关系数据库语言,它包括数据定义(Definition)、数据操纵(Manipulation)、数据管理(Management)、存取保护(Access、Protection)、处理控制(Control)等多种功能。利用表(

3、table)、索引(index)、码(keys)、行(ROWS)和列(columns)等来确定存储位置。 SQL语言本身并不是一个很完整的编程语言,例如它不支持流控制等。一般它都与其他编程语言(如Delphi、Powerbuilder、VB、VC等)结合来使用。,SQL的主要特点在于:,(1)一体化的特点 SQL语言能完成定义关系模式,录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,用SQL可以实现数据库生命期当中的全部活动。由于关系模型中实体与实体间的联系都是用关系来表示,这种数据结构的单一性保证了操作符的单一性。 (2)统一的语法结构,多种使用方式 S

4、QL有两种使用方式,一种是联机使用方式,另一种是嵌入程序方式。大多数的程序接口都采用嵌入的SQL语言。虽然使用方式不同,SQL语言的语法结构是一致的。这使得用户与程序员之间的通信得以改善。,4,(3)高度非过程化 在SQL中,只需用户提出“干什么”,而无须指出“怎么干”,存取路径的选择和SQL语句操作的过程由系统自动完成。 (4)语言简洁 SQL语言十分简洁,语法简单。标准SQL中,完成核心功能只用了6个动词(如表11所示),因此简单易学,SQL按其功能可以分为三大部分: 数据定义语言(Data Definition Language,简称DDL),用于定义、撤消和修改数据库对象 数据操纵语言

5、(Data Manipulation Language,简称DML),用于数据库中数据的修改和检索 数据控制语言(DataControl Language,简称DCL),用于数据访问权限的控制,5,表11标准SQL的6个核心动词 SQL功能 动 词 数据定义 CREATE 数据操纵 INSERT、UPDATE、DELETE、SELECT 数据控制 GRANT ,6,(5)客户机服务器(ClientServer)结构 SQL能使应用程序采取分布式客户机服务器结构。交互式查询、报表打印和应用程序称为数据库的“前端”,在个人机上运行,存储和数据管理的后端数据库引擎在服务器上运行,在此情况下,SQL作

6、为用于用户交互的前端工具和用于数据库管理的后端引擎之间通信的桥梁。 (6)支持异类复制 它可以将SOL Server数据复制到其他的数据库中,包括Access、Oracle、Sybase和DB2,并采用ODBC作为其连接机制。 (7)Internet数据库功能的集成 支持数据库信息自动发布到HTML文档,同时结合Microsoft Intemet Information Server和SQLServer InternetConnector这两个产品技术,使用户得到完整的Internet数据发布的能力。,7,13 SQL Server的结构,131 SQL server是单一进程多线程的关系型数

7、据库 它与ORACLE不同之处在于0RACLE是多进程数据库,每一用户所打开的进程上需有一个协调机构,互相与其他进程上的协调机构做沟通,以协调多个用户对资源的存取。 SQL Server是由执行核心来分配多个用户对数据库的存取,减少多个进程对数据库存取的沟通、协调时间,进而提高执行效率,SQL Server单进程(Single Process)、多线程(MultiThread)结构如图11所示。,8,图11 SQL Server单进程、多线程结构,9,所谓进程,是指一个具有一定独立功能的程序关于某个数据集合的一次运行活动。 简单地说,进程是可以并发执行的程序的执行过程,它是控制程序管理下的基本

8、的多道程序单位。 程序是一个静态的概念,因此,程序本身不能刻画多道程序并发执行时的动态特性和并行特性。 进程与程序有关,但它与程序又有本质的区别,主要反映在以下几个方面。 (1)进程是程序在处理机上的一次执行过程,它是动态的概念。而程序只是一组指令的有序集合,其本身没有任何运行的含义,它是一个静态的概念。,10,(2)进程是程序的执行过程,是一次运行活动。因此,进程具有一定的生命期: 它能够动态地产生和消亡,即进程可以由创建而产生,由调度而执行,因得不到资源而暂停,以致最后由撤销而消亡。 也就是说,进程的存在是暂时的。而程序是可以作为一种软件资源长期保存的,它的存在是永久的。 (3)进程是程序

9、的执行过程,因此,进程的组成应包括程序和数据。除此之外,进程还包括记录进程状态信息的“进程控制块”。 (4)一个程序可能对应多个进程。 (5)一个进程可以包含多个程序。例如,主程序执行过程中可以调用其他程序,共同组成一个运行活动。,11,线程 真正的冯-诺依曼体系的计算机结构中,CPU在一个时刻只能对单一任务进行处理。但在应用windows 95及以上版本的操作系统时常用到多任务、分时处理,这是一种特殊的任务管理调度方式。它是把单一的进程划分为多个不同的部分,每个部分被称为线程。每个线程都轮流由CPU分时处理。 实际应用中,单个进程可以包含多个线程,它们可以同时执行进程地址空间中的代码。为了做

10、到这一点,每个线程都有自己的一组CPU寄存器和堆栈。在每个进程中,至少有一个以上的线程在执行其地址空间中的代码。,12,132 SQL Server是以ClientServer为设计结构 就目前的ClientServer体系中有两种编写数据库引擎的体系结构,一种是“多进程引擎”,另一种是“单进程、多线程体系结构”。“单进程、多线程体系结构”多用于SQL Server。 这种结构依赖于同一应用程序内的多线程工作,而不是为每个任务运行不同的可执行程序或应用程序。下面简要介绍一下这两种在ClientServer体系结构下的数据库引擎。 在这种类型数据库下的应用程序使用一种专门的内部进程通信(Inte

11、rnal Process Communication,IPC)设备进行通信,较典型的多进程数据库引擎的例子如Oracle Server。,13,多进程数据库引擎具有如下的优点: 一个数据库可以同时支持多个用户 通过在物理机器上增加更多的CPU来支持扩展性 在多任务操作系统中,操作系统给每个任务均分配了特定比例的CPU时间,因此操作系统把时间分配给了多个应用程序,从而保证了在同一时间内只有一个任务在运行。 多进程数据库引擎的缺点是占用较大的系统资源。,14,(2)单进程、多线程数据库引擎 多线程数据库引擎不依赖于多任务操作系统来为CPU安排应用程序,因此,数据库引擎自身处理的能力将提供更大的可移

12、植性。 单进程、多线程数据库引擎具有对服务器内存需求不高,节省硬件投资的优点,但也存在一个缺点,那就是多线程DBMS的可扩展性还有待于进一步提高。 (3)Microsoft SQL Server的线程服务 SOL Server中最大的变化在于使用了线程,它不是模拟数据库内核中的线程,而是使用Win32操作系统线程,这就意味着这些线程运行于内存保护之下,它是由indows NT操作系统内核进行抢先式调度。,15,在Microsoft SQL Server中,存在一个包含1024个“工作线程”的线程池,用以响应用户的连接请求。由于每个连接均对应一个线程,所以用户连接的最大数目理论上是1024,但实

13、际上数目上限是32767。 SQL Server动态地分配可用的线程,也就是使用户连接的数目超出了可用线程的数目,如果在单个SQL Server上同时支持1000个用户,显然系统性能将会变得很差,但毕竟功能是存在的。 SOL Server为不同的用途准备了不同的线程池,包括并行表格搜索、磁盘备份管理和用户连接等。,16,SQL Server按ClientServer结构而设计,客户机服务器结构减小了网络拥挤程度,并将数据库操作分开运行,像输入和显示数据这样需要用户频繁干预的任务集中在作为客户端的PC机上完成,客户端可分别处理数据,但若需读取共享数据,必须依据网络管道向服务器端做存取申请,而文件

14、和查询处理等频繁需要数据的任务则集中在数据库服务器上完成,共享数据存放在服务器端,从而使每个系统各显其能。 SQL还允许将个人机用作网络服务器或小型、大型机数据库的前端机,从而可使用户在个人机上存取大型数据库的内容。,17,133 ClientServer数据库的两个API API(Application Program Interface)即为应用程序接口,在SQL Server应用程序中,与其他应用程序不同,它不存在预编译的程序,取而代之的是数据库特有的调用,只是以字符串的形式驻留在应用程序的源代码中。 接口类型之间的基本的差异定义了一个调用级的接口,DBLibrary和ODBC均为调用级接口。在接口内部,主应用程序使本机语言调用转变成一个数据库函数,数据操作语句以字符串的形式存储,而不是像嵌入语言中那样为预编译做好标记。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号