计算机软件技术基础-数据库理论-第3讲.ppt
第二部分数据库理论及应用,数据库概述 关系模型及关系代数 SQL Server及SQL语言 数据库应用结构及访问技术 数据库系统设计与应用,第三讲,SQL Server 2000概述SQL Server 2000数据库管理,SQL Server 2000概述,SQL Server 2000 简介 SQL Server 2000 安装 SQL Server 2000 主要组件 SQL Server 2000 注册与配置服务器,SQL Server 2000 简介,Microsoft SQL Server 2000是新一代大型关系型数据库管理系统(RDBMS),在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供强大支持。,1996年,SQL Server 6.51998年,SQL Server 7.02000年,SQL Server 20002005年,SQL Server 20052008年,SQL Server 2008,SQL Server 2000 简介,SQL Server 2000采用客户端/服务器(C/S)模式,即服务器存储数据库,并且允许多个客户端访问。,客户端应用程序,SQL Server 2000,提交SQL语句,返回查询结果,客户端(前台),服务器端(后台),SQL Server 2000 安装,SQL Server 2000常见版本 企业版(Enterprise Edition)作为生产数据库服务器使用。标准版(Standard Edition)作为小工作组或部门的数据库服务器使用。个人版(Personal Edition)供移动的用户使用。开发版(Developer Edition)供程序员用来开发将 SQL Server 2000 用作数据存储的应用程序。,SQL Server 2000 安装,SQL Server 2000 安装,SQL Server 2000 安装,SQL Server 2000 安装,SQL Server 2000 主要组件,SQL Server 2000服务器组件(个人版)SQL Server 2000引擎(SQL Server 2000 Engine)核心组件,完成所有关系型数据库任务。SQL Server 2000代理(SQL Server 2000 Agent)提供调度服务、定期执行任务。分布式事务处理协调器(Distributed Transaction Coordinator,DTC)协调分布式事务的正常完成。Microsoft搜索服务(Microsoft Search Services)提供全文索引和搜索引擎。(限企业和标准版),SQL Server引擎,SQL Server代理,SQL Server DTC,SQL Server 2000 主要组件,SQL Server 2000的主要工具企业管理器(Enterprise Manager)最重要和最常用的管理工具,大多数的数据库管理工作都可以在企业管理器中完成,其他大部分管理工具也可以从企业管理器中调用执行。,SQL Server 2000 主要组件,SQL Server 2000的主要工具查询分析器(Query Analyzer)交互式图形工具,在查询分析器中输入和执行各种Transact-SQL语句,它使数据库管理员或开发人员既能方便地编写查询程序、又可在执行多个查询的同时查看结果、分析查询计划等。,对象浏览窗口,SQL脚本窗口,输出结果窗口,对象浏览器,SQL Server 2000 主要组件,SQL Server 2000的主要工具联机丛书(Books Online)具有索引和全文搜索能力,可根据关键词来快速查找所需信息。导入和导出数据(Import and Export Data)在异构数据库之间实现数据转换或数据转移。,SQL Server 2000注册与配置服务器,注册服务器安装SQL Server 2000后,通常会将本地服务器自动注册为一个数据库服务器。如需管理多个数据库服务器,则必须经过注册才能使用SQL Server企业管理器来管理这些服务器。注册服务器时必须指定服务器的名称,登录到服务器时使用的安全类型,在某些情况下,还需指定登录名和密码。,SQL Server 2000注册与配置服务器,配置服务器,“常规”标签 产品、版本、根目录等信息“安全性”标签 身份验证“连接”标签 配置用户连接数,SQL Server 2000数据库管理,SQL Server 2000 数据库结构 创建数据库 修改数据库 删除数据库 附加与分离数据库,SQL Server 2000 数据库结构,SQL Server 2000数据库的结构包括逻辑结构和物理结构。逻辑结构是指数据库中的数据在逻辑上被组织成一系列对象;物理结构是指数据库以文件的形式进行存储。,表(Table):由行(Row)和列(Column)组成;索引(Index):优化查询;约束(Constraint):保证数据一致性和完整性;默认值(Default):为列提供缺省值;视图(View):从一个或几个基本表中导出的“虚表”。,逻辑对象包括:,SQL Server 2000 数据库结构,SQL Server 2000数据库文件主数据文件(Primary)用于存放数据,每个数据库有且仅有一个主数据文件,默认扩展名为.mdf。次数据文件(Secondary)当数据量非常大时,可以使用若干个次数据文件存储数据,默认扩展名为.ndf。事务日志文件(Transaction Log)用来记录所有数据库的变动和更新,每个数据库必须有一个或多个日志文件,默认扩展名为.ldf。,物理对象包括:文件和文件组,SQL Server 2000 数据库结构,SQL Server 2000数据库文件组SQL Server 2000允许将多个数据库文件组成一个文件组,并对它们整体进行管理。,数据库文件和文件组应遵循以下规则:一个文件和文件组只能被一个数据库使用。一个文件只能隶属于一个文件组。日志文件不能隶属于文件组,数据和事务日志分开管理。尽量将各个文件和文件组分别存储在不同的磁盘上。,SQL Server 2000 数据库结构,SQL Server 2000系统数据库SQL Server 2000安装成功后,系统会自动创建四个系统数据库,用于存储系统自身信息和两个示例数据库Pubs和Northwind。Master数据库最重要的数据库,记录了SQL Server系统的所有系统信息。包括初始化信息、系统设置信息、登录信息等。Model数据库所有用户数据库和Tempdb数据库的模板数据库。当创建一个新的数据库时,将以该数据库作为基础。,SQL Server 2000 数据库结构,SQL Server 2000系统数据库Msdb数据库代理服务数据库。为SQL Server Agent服务提供存储空间,用来保存报警、备份、任务调度和记录操作员的操作等信息。Tempdb数据库临时数据库。Tempdb数据库由整个系统的所有数据库使用,用来存储临时信息。,SQL Server 2000 数据库结构,SQL Server 2000系统数据库系统表每个数据库都有属于自己的一组系统表,记录了每个数据库各自的系统信息,这些表在创建数据库时自动产生。表名以“sys”开头。,创建数据库,创建数据库通常采用两种方式:使用企业管理器和使用T-SQL语句。,数据库的名称,CJGL,创建数据库,设置逻辑文件名,设置物理文件名,文件名:数据库的逻辑文件名。,位置:数据库的物理文件名及其存储路径。,初始大小:数据库的物理文件的初始值,默认值为1MB。,文件组:数据库文件隶属于哪个文件组。,文件自动增长:增长的方式有两种:按兆字节和按百分比。,最大文件大小:限制方式有两种:文件增长不受限制和将文件增长限制为(MB)。,创建数据库,设置日志文件逻辑文件名,设置日志文件路径及物理文件名,修改数据库,数据库创建后,经常会由于各种原因修改其某些属性。这些修改包括:增加或删除数据文件、改变数据文件的大小和增长方式、增加或删除日志文件、改变日志文件的大小和增长方式、修改数据库选项等。,删除数据库,当数据库不再需要,或者被移动到另一个数据库或服务器时,即可删除该数据库。一旦数据库被删除,其数据对象都会全部删除,所有数据文件与日志文件也会从磁盘上删除。,附加与分离数据库,分离和附加数据库的主要目的是移动数据库的位置,将数据库移动到其他计算机的SQL Server中使用,或者改变存放数据库文件和事务日志文件的磁盘目录。,附加与分离数据库,当分离某个数据库后,master数据库中关于该数据库的所有记录都会删除,系统中不存在此数据库。将数据库的数据文件和事务日志文件移动到其他磁盘目录或其他SQL Server中,并将其附加到SQL Server中。,演示,T-SQL语言简介,结构化查询语言SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言结构简洁,功能强大,简单易学,得到了广泛的应用。1992年美国国家标准局ANSI(American National Standard Institute)公布了SQL-92标准。SQL Server使用ANSI SQL-92的扩展集,称为Transact-SQL(简称T-SQL)。,T-SQL语言简介,T-SQL语言主要包含三个部分:数据定义语言(DDL)用于创建、删除、修改数据库及其各种数据对象;数据操纵语言(DML)用于检索、添加、修改、删除数据库中的数据;数据控制语言(DCL)用于设置或更改数据库用户或角色权限。,使用T-SQL创建数据库,CREATE DATABASE database_name ON,.n,.n LOG ON,.n 其中:(1):=PRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED,FILEGROWTH=growth_increment),.n(2):=FILEGROUP filegroup_name,.n,数据库的名称,必须唯一。,指定数据库的数据文件和文件组。其中用来定义主文件组的数据文件,用来定义用户文件组及其文件。,指定数据库的事务日志文件属性。,指定主文件。一个数据库只能有一个主文件。,数据库的逻辑文件名。,数据库的物理文件名及其存储路径。,数据文件的初始大小。,数据文件大小的最大值,UNLIMITED指定文件大小不限。,数据文件的增量。0值表示不增长。,指定文件组属性。,使用T-SQL创建数据库,【例7.1】创建一个名为CJGL1的数据库,其初始大小为5MB,最大大小50MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。,CREATE DATABASE CJGL1ON(NAME=CJGL1_Data,FILENAME=d:dataCJGL1.mdf,SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME=CJGL1_Log,FILENAME=d:dataCJGL1_Log.ldf,SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB),演示,使用T-SQL修改数据库,ALTER DATABASE database_name ADD FILE,.n TO FILEGROUP filegroup_name|ADD LOG FILE,.n|REMOVE FILE logical_file_name|ADD FILEGROUP filegroup_name|REMOVE FILEGROUP filegroup_name|MODIFY FILE|MODIFY NAME=new_dbname,在文件组中增加数据文件。,增加日志文件。,删除数据文件。,增加文件组。,删除文件组。,更改文件属性。,数据库更名。,使用T-SQL修改数据库,【例7.2】修改数据库CJGL1,将主数据文件的最大大小改为不限制,增长方式改为按每次5MB增长。,ALTER DATABASE CJGL1MODIFY FILE(NAME=CJGL1_Data,MAXSIZE=UNLIMITED)GOALTER DATABASE CJGL1MODIFY FILE(NAME=CJGL1_Data,FILEGROWTH=5MB)GO,注意:修改数据库时,每次只能修改数据库的一个属性。,演示,使用T-SQL修改数据库,【例7.3】为数据库CJGL1增加数据文件CJGL1_BAK,然后删除该文件。,ALTER DATABASE CJGL1ADD FILE(NAME=CJGL1_Bak,FILENAME=d:dataCJGL1_Bak.ndf,SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5%)GOALTER DATABASE CJGL1REMOVE FILE CJGL1_BakGO,演示,使用T-SQL删除数据库,DROP DATABASE database_name,使用命令DROP DATABASE CJGL1删除数据库CJGL1,演示,小结,1、C/S模式的概念2、SQL Server 2000数据库的逻辑结构及物理结构3、如何使用企业管理器实现数据库的创建、修改、删除及分离和附加4、如何使用T-SQL语句实现数据库的创建、修改和删除。,