资源描述
第4章SQLServer数据库基础,客户/服务器体系结构MicrosoftSQLServer基础Transact-SQL简介,客户/服务器体系结构,客户/服务器体系结构是一种合理配置客户端和服务器端应用负载、充分利用系统资源、使系统服务效率更高的一种应用体系结构。,应用体系结构的划分,集中式结构文件服务器结构客户/服务器结构三层客户/服务器结构,集中式结构,文件服务器结构,客户/服务器结构,三层客户/服务器结构,文件服务器与客户/服务器的数据库操作,文件服务器结构在服务器端存储数据,在客户端完成数据操作和处理。文件服务器数据库操作举例客户/服务器结构在服务器存储数据,在服务器和客户端完成数据操作和处理。客户/服务器的数据库操作,文件服务器结构中的数据库操作,查询表格,30000条记录的表格,客户/服务器结构中的数据库操作,SQL请求,返回一条记录,客户/服务器结构的特点,客户端和服务器端的分工与合作可以利用较低的费用实现较高的性能,使整个系统达到最高的效率。,客户端与服务器端的分工,把客户端称作前台,把服务器端称作后台,从中也可以看出前台(客户端)是面向客户的,而后台(服务器)是面向应用或操作的。前台客户端的工作包括管理用户接口或界面、采集数据、向后台服务器端发出请求等。后台服务器则负责管理共享外设、存取共享数据、响应前台客户端的请求并回送结果等工作。客户端的应用程序和数据一般是不同的用户自己专用的,而服务器的功能和数据是所有的用户共享的。,数据库服务器,由于数据库服务器不仅仅是管理共享资源,它还要分担一些应用逻辑,要完成来自客户端的一些处理请求。为此,对用于服务器的计算机就提出了较高的技术要求。数据库服务器应该是:高性能的主机内存和大容量磁盘阵列等服务器技术操作系统应具备开放性、可扩充性,并最好支持多CPU结构支持多种网络协议,三层客户/服务器结构,为了更好地将应用处理逻辑独立和封装起来,人们在传统的两层客户/服务器结构的基础上又提出了三层甚至多层的概念,即引入了一个应用服务器层,目的是提高开发效率、程序质量和运行效率,降低维护成本。,三层结构的优点,可重复使用。性能改善。易于管理。易于维护。,MicrosoftSQLServer基础,MicrosoftSQLServer是一个高性能的,多用户的关系型数据库管理系统,它是专为客户/服务器计算环境设计的,是当前最流行的数据库服务器系统之一,它提供的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的企业级信息管理方案提供了一个卓越的平台。,MicrosoftSQLServer基础,SQLServer的数据库结构系统数据库的作用SQLServer的企业管理器简介SQLServer的查询分析器简介建立数据库,SQLServer的数据库结构,每个SQLServer实例包括四个系统数据库(master、model、tempdb和msdb)以及一个或多个用户数据库。,数据库是建立在操作系统文件上的,SQLServer在发出CREATEDATABASE命令建立数据库时,会同时发出建立操作系统文件、申请物理存储空间的请求;当CREATEDATABASE命令成功执行后,在物理上和逻辑上都建立了一个新的数据库;然后就可以在数据库中建立各种用户所需要的逻辑组件,如基本表、视图等。,系统数据库的作用,master数据库tempdb数据库model数据库msdb数据库,tempdb数据库,tempdb数据库用于保存所有的临时表和临时存储过程,它还可以满足任何其它的临时存储要求,例如存储SQLServer生成的工作表。tempdb数据库是全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。tempdb数据库在SQLServer每次启动时都重新创建,因此该数据库在系统启动时总是干净的。,master数据库,master数据库用于存储SQLServer系统的所有系统级信息,包括所有的其它数据库(如建立的用户数据库)的信息(包括数据库的设置、对应的操作系统文件名称和位置等)、所有数据库注册用户的信息以及系统配置设置等。,model数据库,model数据库是一个模板数据库,当使用CREATEDATABASE命令建立新的数据库时,新数据库的第一部分总是通过复制model数据库中的内容创建,剩余部分由空页填充。由于SQLServer每次启动时都要创建tempdb数据库,所以model数据库必须一直存在于SQLServer系统中。,msdb数据库,msdb数据库用于SQLServer代理程序调度报警和作业等系统操作。,SQLServer企业管理器,MicrosoftSQLServer的企业管理器(EnterpriseManager)是管理SQLServer的“企业”工具,它提供一种交互界面的方式对SQLServer进行全面的管理,如可以建立数据库、可以进行数据库备份和恢复、可以进行安全管理等。,SQLServer企业管理器的功能包括:,定义SQLServer实例组;将未注册的服务器注册到组中;为每个已注册的服务器配置所有SQLServer选项;在每个已注册的服务器中创建并管理所有SQLServer数据库、对象、登录、用户和权限;在每个已注册的服务器上定义并执行所有SQLServer管理任务;可以调用SQL查询分析器,交互地设计并测试SQL语句、批处理和脚本;可以调用为SQLServer定义的各种向导等。,SQLServer管理任务可以包括:,启动、停止SQLServer服务管理器;建立、维护SQLServer数据库;在SQLServer数据库中建立对象、用户,分配权限;数据库的备份和恢复;安全管理;数据库数据的转换及导入、导出;复制的管理;其它服务和管理。,SQLServer查询分析器,SQLServer查询分析器是交互执行SQL命令的一种图形工具,通过它可以交互地完成对数据库的各种操作。,SQLServer查询分析器可以完成的操作,输入查询或其它SQL命令并执行它们(“查询”窗口);使用预定义脚本快速创建常用数据库对象(通过模板);快速复制现有数据库对象(对象浏览器脚本功能);在参数未知的情况下执行存储过程(对象浏览器过程执行功能);调试存储过程(T-SQL调试程序);调试查询性能问题(显示执行计划、显示服务器跟踪、显示客户统计、索引优化向导);在数据库内定位对象(对象搜索功能),或查看和使用对象(对象浏览器);交互快速插入、更新或删除表中的行(通过“打开表”窗口);为常用查询创建键盘快捷方式(自定义查询快捷方式功能);向“工具”菜单添加常用命令(自定义“工具”菜单功能)。,建立数据库,在建立用户逻辑组件之前(如基本表)必须首先建立数据库。而建立数据库时完成的最实质任务是向操作系统申请用来存储数据库数据的物理磁盘存储空间。这些存储空间以操作系统文件的方式体现,它们的相关信息将存储在master数据库及其系统表中。存储数据库数据的操作系统文件可以分为三类建立SQLServer数据库可以在企业管理器中以图形界面的方式交互完成,或者从企业管理器中启动“创建数据库向导”完成数据库的建立,也可以在查询分析器中用命令完成。CREATEDATABASE命令常用格式,三类存储文件,主文件:存储数据库的启动信息和系统表,主文件也可以用来存储用户数据。每个数据库都包含一个主文件。次文件:保存所有主文件中容纳不下的数据。如果主文件大到足以容纳数据库中的所有数据,这时候可以没有次文件。而如果数据库非常大,也可以有多个次文件。使用多个独立磁盘驱动器上的次文件,还可以将一个数据库中的数据分布在多个物理磁盘上。事务日志文件:用来保存恢复数据库的日志信息。每个数据库必须至少有一个事务日志文件(尽管可以有多个)。,CREATEDATABASE命令常用格式,建立数据库的命令是CREATEDATABASE。在SQLServer中建立数据库需要指定数据库的名称,由SQLServer使用的数据库逻辑名,建立在磁盘上的操作系统文件名,以及数据库规模、文件组和日志等有关信息。常用命令格式如下:CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,要建立的数据库的名称,数据库名称必须唯一,并且符合标识符的规则;database_name最多可以包含128个字符。,CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,指定用来存储数据库的操作系统文件(存储在磁盘上的数据文件),该关键字后跟以逗号分隔的项列表。,CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,为数据库指定主文件。一个数据库只能有一个主文件,如果没有指定PRIMARY,那么CREATEDATABASE语句中列出的第一个文件将成为主文件。,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,为定义的操作系统文件指定逻辑名称logical_file_name,该名称将由SQLServer管理和引用。logical_file_name在数据库中必须唯一,并且符合标识符的规则。,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,指定要建立的操作系统文件名os_file_name,其中包含完整的路径名和文件名,并且不能指定压缩文件系统中的目录。,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,指定所创建的操作系统文件的大小(size),size的单位可以是KB(千字节)、MB(兆字节)、GB(千兆字节)或TB(兆兆字节),默认是MB。,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,指定定义的操作系统文件可以增长到的最大尺寸(max_size)。,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,指定定义的操作系统文件的增长增量,该项设置的结果不能超过MAXSIZE设置。,用于定义对应的操作系统文件的属性。包括:PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,用于定义用户文件组,filegroup_name是组名称,后续的项列表给出该组的文件描述。利用文件组可以将指定的逻辑组件存储到指定的物理文件(在建立基本表的CREATETABLE命令中有对文件组的引用)。,CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,CREATEDATABASE命令常用格式,指定用来存储数据库日志的操作系统文件(日志文件),该关键字后跟以逗号分隔的项列表。如果没有指定LOGON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件大小总和的25%。,CREATEDATABASEdatabase_nameON,.,FILEGROUPfilegroup_name,.LOGON,.,建立数据库的例子1,建立一个“订货”数据库,数据主文件的初始大小为10MB,最大为50MB,增量为5MB;日志文件的初始大小为5MB,最大为25MB,增量为5MB。,CREATEDATABASE订货ON(NAME=order_dat,FILENAME=c:mssqldataorderdat.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=order_log,FILENAME=d:mssqllogorderlog.ldf,SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB),建立数据库的例子2,建立一个“订货管理”数据库,数据主文件的初始大小为10MB,最大为50MB,增量为5MB;另外建立一个数据次文件初始大小也为10MB,最大为50MB,增量为5MB;日志文件的初始大小为5MB,最大为25MB,增量为5MB。,CREATEDATABASE订货管理ONPRIMARY(NAME=orderman_dat,FILENAME=c:mssqldataorderman.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=5),FILEGROUP仓库(NAME=warehouse,FILENAME=e:mssqldatawh.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=orderman_log,FILENAME=d:mssqllogorderman.ldf,SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB),Transact-SQL简介,变量、数据类型与表达式函数流程控制和输入输出命令,【本章小节】,客户/服务器结构的概念和特点SQLServer的数据库结构SQLServer数据库的建立Transact-SQL,
展开阅读全文