资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第4章 数据库的创建与管理,4.1 数据库与事务日志,4.2 数据库的存储结构,4.3 SQL Server的系统数据库与示例数据库,4.4 SQL Server的标识符,4.5 创建用户数据库,4.6 管理数据库,第4章 数据库的创建与管理4.1 数据库与事务日志,1,4.1 数据库与事务日志,SQL Server 2000数据库是一种关系型数据库,逻辑上,数据是存放在一个个相互关联的二维表中。,数据库系统,数据库,数据管理系统,数据库应用程序,DBA,4.1 数据库与事务日志 SQL Server 200,2,数据库管理系统的作用是描述数据库的逻辑结构与存储结构,管理数据库系统的运行,控制用户的,访问权限与并发访问数量,控制数据库中数据编辑(添加、修改与删除),记录数据库的,工作日志、监视数据库的性能,对数据库进行,备份及恢复,等,功能,数据库管理系统的作用是描述数据库的逻辑结构与存储结构,,3,数据库应用程序是利用某种编程语言编写的应用程序。,如用,VB、VC、C+BUILDER、JAVA、.NET、POWERBUILER,等等,数据库应用程序是利用某种编程语言编写的应用程序。如用VB、,4,所谓事务是SQL Server 的一个工作单元,一个事务内的所有语句作为一个整体执行,A,B,C,X,事务1,所谓事务是SQL Server 的一个工作单元,一个事务内的,5,事务日志:目的是记录数据库中事务所有操作并进行相关备份,以便发生错误时予以恢复。事务日志的作用有以下几个方面,数据库操作,发生错误,时,执行“,回滚”事务,的操作,执行事务的过程出现,死机或断电,,事务未执行完。重新启动数据库时,事务日志可以,回滚尚未完成的事务,,以保证数据库中的内容达到一致,数据库,发生崩溃,时,可以利用以前的,数据库备份以及事务日志将数据库恢复,到崩溃前的状态,破坏数据库的完整性,返 回,事务日志:目的是记录数据库中事务所有操作并进行相关备份,以便,6,4.2 数据库的存储结构,SQL Server 逻辑视图:数据库对象,如:表、视图、存储过程、触发器、索引和约束等,物理结构:一定的数据文件形式存储在硬盘中,企业管理器,4.2 数据库的存储结构SQL Server 逻辑视图:数,7,1文件:指数据库的系统文件,一个数据库都对应于两个或多个文件,在该数据库内创建的数据库对象(如表、视图等)都保存在这些文件中。,分为三类:,文件,主数据文件,二级数据文件,日志文件,是数据库的起点,指向数据库中文件的其他部分。默认扩展名为,“.mdf”,,必须且只能包含一个主数据文件,存储,启动信息、数据和数据库对象,是辅数据文件,默认扩展名为,“.ndf”,。可以有0个以上的二级数据文件,用于,存储主数据文件中没有存储的数据和数据库对象,。,存放对数据库进行操作的事务日志,在数据库遭到破坏时,可以,利用日志文件恢复数据,,默认扩展名“.ldf”。必须包含一个以上的日志文件,1文件:指数据库的系统文件,一个数据库都对应于两个或多个文,8,2,数据库的物理存储结构,数据库的数据文件和日志文件是存储在磁盘上的。,日志文件是由一系列日志记录组成,数据文件则由页面和扩展盘区组成,最小基本存储单位,有多种页,1页8千字节,1个扩展盘区=8页,是表和索引的基本存储单位,现在知道这么多就够了,统一扩展盘区:为单个对象所独占,混合扩展盘区,逻辑环方式存储,日志的不活动部分在备份后被自动删除,返 回,2 数据库的物理存储结构日志文件是由一系列日志记录组成最小,9,4.3 SQL Server的系统数据库与示例数据库,SQL Server的数据库分为两大类:系统数据库和用户数据库,系统数据库是SQL Server内置的,它们用于管理目的,不能随便更改或删除,用户数据库一般由用户创建,其使用与管理由其创建者决定,安装时建立:,4个系统数据库:master,tempdb,model,msdb,2个用户示例数据库:pubs和Northwind,概述:,4.3 SQL Server的系统数据库与示例数据库SQL,10,1系统数据库,Master:记录SQL Server系统的相关信息,如:,登录账户,及其,密码、系统配置信息、用户数据库,的位置等,包括许多,系统存储过程,Tempdb:保存所有,临时表、临时存储过程以及其他临时数据,Model:是新建数据库的,模板,,每创建一个,新数据库,其内容都与模板相同,Msdb,:,由,SQL Server Agent,使用,用于自动执行有关操作,如,自动进行备份、警报和复制,等,1系统数据库Master:记录SQL Server系统的相关,11,2,示例数据库,pubs和Northwind:联机丛书中的例题是以这两个数据库的数据为样本的,3,系统表,有两类系统表,表名以“sys”开头。分别位于master数据库和用户数据库中,另一类系统表位于每个数据库中,,继承自model数据库,,其结构与数量都与model数据库一致,存放服务器级的系统信息,存放数据库级信息,返 回,2 示例数据库pubs和Northwind:联机丛书中的例,12,4.4 SQL Server的标识符,标识符是指,数据库、数据库对象,等(如表、视图、存储过程、触发器、规则等、列、变量)的,名称,SQL Server标识符分两类:,概述:,规则标识符,界定标识符,4.4 SQL Server的标识符标识符是指数据库、数据,13,1,规则标识符,(相关的逻辑文件名命名),定义:是可以直接使用的标识符,其书写遵守如下规则:,第一个字符是,Unicode,标准所定义的字符:26个英文字母、下划线_、#,及其他语言中的字母符号,说明:其中以一个“”开头的表示,局部变量,;以“”开头的表示,全局变量,;以一个“#”开头的表示局部,临时数据库对象,,以“#”开头的表示,全局临时数据库对象,第一个字符后的字符可以是Unicode标准所定义的字符、_、#、$或阿拉伯数字,规则标识符中,不允许有空格,、或其他,特殊字符,(如:、:-),不能,与SQL Server,保留关键,字相同,,无论是大写或小写,1 规则标识符(相关的逻辑文件名命名)定义:是可以直接使用,14,declare error1 int,error2 int,error3 int,error4 int,error5 int,error6 int,error7 int,error8 begin tran,CREATE TABLE#ck_kc_phb(hp_bhchar(16),hp_jldwchar(8),),CREATE TABLE#hp_temp(hp_bhchar(16),hp_slfloat),insert into#ck_kc_phb,insert into#ck_kc_phb,select hp_bh,jldw,dj,ck_kc.sl,0,0,0,0,0,0,0,0,0,0,0,0,0 from ck_kc,where ck_bh=ck_bh_gs,set error1=error,declare error1 int,error2 i,15,2,界定标识符,定义:建立规则标识符以外的形式定义标识符,通过这类标识符外加上界定符号,标示明该界定符号内的字符为标识符,这类标识称为界定标识符。,界定符号:、英文单引号 、英文双引号“”三种,说明:,方括号与,英文双引号,均可以用于界定标识符,,单引号,只能是字符串,的界定符号,举例:,Select *from ck_kc,Select*from ck_kc,Select*from ck_kc,等价,Select*from ck_kc,错误,注意是英文双引号!,2 界定标识符 定义:建立规则标识符以外的形式,16,命名规则,对象命名规则,对象的全名为:,服务器名.数据库名.拥有者名.对象名,,使用可以,省略,服务器名、数据库名、拥有者名中的一项或多项。,举例:,Select*FROM AHUT-TOM.sms.dbo.Blanks in Table Name,服务器名,数据库名,所有者,表名,指代明确就可以了,命名规则对象的全名为:服务器名.数据库名.拥有者名.对象名,,17,数据库的创建与管理课件,18,SQL Server 2000 文件名:,文件命名规则,略,可跳过,(1)逻辑文件名:在T-SQL中引用的文件名,符合SQL Server中的,标识符规则,(2)物理文件名:遵从,NT或者windows98,的文件命名规范,返 回,SQL Server 2000 文件名:略,可跳过(1)逻,19,4.5 创建用户数据库,用企业管理器,编写,Transact-SQL(T-SQL),语句,概述:SQL Server 中创建数据库有两种方法,4.5 创建用户数据库概述:SQL Server 中创建数,20,1,使用企业管理器创建数据库,在企业管理器中,应该在某个数据库服务器(或称数据库实例)下创建用户数据库。,1 使用企业管理器创建数据库在企业管理器中,应该在某个数据,21,2,使用,T-SQL,创建数据库,CREATE DATABASE,database_name,ON,PRIMARY,(,NAME,=,logical_file_name,FILENAME,=,os_file_name,SIZE,=,size,MAXSIZE,=,max_size,|UNLIMITED ,FILEGROWTH,=,growth_increment,),.,n,LOG ON,(,NAME,=,logical_file_name,FILENAME,=,os_file_name,SIZE,=,size,MAXSIZE,=,max_size,|UNLIMITED ,FILEGROWTH,=,growth_increment,),.,n,COLLATE collation_name,问:如何使用这么复杂的语法?,?,2 使用T-SQL创建数据库CREATE DATABASE,22,命令说明:,(1),database_name,:创建的,数据库名称,,该名称在数据库服务器中,必须惟一,,且符合标识符的规则,(2)关键字ON:用于,指定,存储数据库数据的磁盘文件(数据文件),(3)PRIMARY:指定其后定义的第一个文件是主数据文件。,(4)LOG ON:指定数据库的日志文件。,先了解4点内容!,命令说明:(1)database_name:创建的数据库名称,23,例:创建一个名为Report的数据库,定义一个主文件、一个二级文件和一个日志文件。主文件的逻辑文件名为Rep1,磁盘文件名为rep1_dat.mdf。二级文件的逻辑文件名为Rep2,磁盘文件名为rep2_dat.ndf。事务日志文件的逻辑文件名为Rep1_log,磁盘文件名为rep1_log.ldf。所有文件的初始容量都是5MB,最大容量限制都是10MB,在最大容量限制内,当文件空间不够时每次的增长量都是1MB.,例:创建一个名为Report的数据库,定义一个主文件、一个二,24,CREATE DATABASE Report,ON,PRIMARY,(NAME=Rep1,FILENAME=E:Microsoft SQL ServerMSSQLDatarep1_dat.mdf,SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB),(NAME=Rep2,FILENAME=E:Microsoft SQL ServerMSSQLDatarep2_dat.ndf,SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=1MB),LOG ON,(NAME=Rep1_log,FILENAME=E:Microsoft SQL ServerMSSQLDatarep1_log.ldf,SIZE=5MB,MAXSIZE=10MB,FILEG
展开阅读全文