资源描述
Click to edit Master title,Click to edit Master text,Second level,Third level,Fourth level,Fifth level,*,SQL Server,数据库程序设计,第,5,章,SQL Server 2008,数据库管理,本章学习目标理解,SQL Server 2008,数据库结构和组成;熟练掌握数据库创建、删除和修改等操作;了解用户数据库的增缩、分离和附加等操作。,5.1.1,数据库的结构,数据被,DBMS,管理与数据存储在物理磁盘上是数据库中两种完全不同的数据组织形式,分别称之为数据库的物理结构和数据库的逻辑结构。,SQL Server 2008 DBMS,将数据组织成,数据表、视图,等逻辑对象,这是从,逻辑角度,来组织与管理数据。,为了数据库管理员管理数据的方便和与操作系统实际情况相一致,,SQL Server 2008,又将数据库呈现为,各种数据库的文件,,这是从,物理角度,来组织与管理数据。,1,数据库的逻辑结构对用户来讲,数据库由若干个用户可视的对象构成,如表、视图、角色等,由于这些对象都存在于数据库中,因此称为,数据库对象,。用户利用这些数据库对象存储,读取数据库中的数据,直接或间接地用于不同应用程序的存储、操作、检索等工作。,SQL Server 2008,的数据库对象主要包括表(,table,)、视图(,view,)、索引(,index,)、默认(,default,)、存储过程(,stored procedure,)、触发器(,trigger,)和约束(,constraint,)等。,2,数据库的物理结构数据库物理结构主要应用于面向计算机的数据组织和管理。数据库的物理结构表现就是操作系统文件,一个数据库由一个或多个磁盘上的文件组成。,SQL Server,数据库的文件有两种类型:,数据文件,日志文件,主数据文件次数据文件,主数据文件主数据文件是数据库的起点,其中包含了数据库的初始信息,并记录数据库还拥有哪些文件。每个数据库有且只能有一个主数据文件。主数据文件是数据库必需的文件,,Microsoft,建议的主数据文件的扩展名是,.mdf,次要数据文件除主数据文件以外的所有其他数据文件都是次要数据文件。次要数据文件不是数据库必需的文件。,Microsoft,建议的次要数据文件的扩展名是,.ndf,数据文件类型,数据文件结构,数据文件的结构按照层次可以划分为,页和区,,每个数据文件由若干个,大小为,64KB,的区,组成,每个区由,8,个,8KB,大小的连续空间组成,这些连续空间称为,页,。,页,是数据存储的基本单位。数据文件中的页有,8,种类型,用于存放不同种类的数据。,区,是,SQL Server,分配给表和索引的基本单位。区有统一区、混合区两种类型。为了提高存储空间的使用效率,不满,8,个页的对象放混合区,满,8,个页的放统一区。,文件组,为了便于分配和管理,,SQL Server,允许将多个文件归纳为同一组,并赋予此组一个名称,这就是文件组。,主文件组,(,Primary FileGroup,):系统文件分配到此组,每一个数据库中的主文件和未被放入其他组的次要文件在此组中。,用户定义文件组,(,Secondary FileGroup,),默认文件组:未指定对象所属文件组的对象都被放入此组,日志文件用于保存恢复数据库所需的事务日志信息。,每个数据库至少有一个日志文件,也可以有多个。,日志文件的扩展名为,.LDF,。,5.1.3,事物日志文件,5.2,SQL Server 2008,数据库基本管理,在,SQL Server 2008,中,所有类型的数据库管理操作都包括两种方法:,一种方法是使用,SQL Server Management Studio,的对象资源管理器,以,图形化的方式完成对于数据库的管理;,另一种方法是使用,T-SQL,语句或系统存储过程,以,命令方式完成对于数据库的管理,。,5.2.1,创建用户数据库,在建立用户逻辑组件之前(如基本表)必须首先建立数据库。,Sql server 2008,中可以支持最多,32767,个数据库,命名规则:,名称长度不能超过,128,个字符,临时性表名不能超过,116,个字符,名称第,1,个字符必须是英文字母、中文、下划线、,和,#,(不建议用),除第,1,个字符外的其他字符可以包含数字和,$,符号,名称中间不允许有空格和其他特殊字符,以学生,-,课程数据库为例,在,Management Stuio,中以图形界面的方式,练习创建数据库,修改数据库。,例,1,:创建一个学生,-,课程数据库(名称为,student,),,要求只有一个数据文件和日志文件,文件名称分别为,stu,和,stu_log,,初始大小都为,1MB,,增长方式分别为,10%,和,1MB,,数据文件最大为,500MB,,日志文件大小不受限制。,。,图形化的方式创建数据库,逻辑名称:数据文件和日志文件名称,文件类型:用于区别当前文件是数据文件还是日志文件,文件组:显示当前数据库文件所属的文件组。一个数据库文件只能存在于一个文件组里。,初始大小:制定该文件的初始容量,自动增长:用于设置在文件的容量不够用时,文件根据何种增长方式自动增长。,路径:指定存放该文件的目录。,在创建大型数据库时,尽量把主数据文件和事务日志文件设置在不同路径下,这样能够提高数据读取的效率。,主文件必须至少,3MB,将主数据初始文件修改为,3MB,或,3MB,以上,创建含有文件组的多数据文件和多日志文件的数据库,在,【,文件组,】,页面中的行对话框单击,【,添加,】,来添加文件组,“,stu_infoGroup1,”,,然后单击,【,确定,】,按钮完成含有文件组的多数据文件和多日志文件的数据库的创建。,界面方式修改数据库,可修改数据库的名称、大小和属性,界面方式删除数据库,命令方式下管理数据库,命令方式下创建数据库,在使用,T,SQL,语句创建数据库中,其核心是,CREATE DATABASE,语句。该语句基本语法格式是:,CREATE DATABASE database_name,/*,指定数据库名*,/,ON file,子句,/*,指定数据库文件和文件组属性*,/,LOG ON file,子句,/*,指定日志文件属性*,/,file,子句,NAME,=logical_file_name,/*,文件的逻辑名*,/,FILENAME,=,os_file_name,/*,文件的物理名*,/,SIZE,=size/*,文件的初始大小*,/,MAXSIZE,=max_size|UNLIMITED/*,文件可增大的最大大小*,/,FILEGROWTH,=grow_increment)/*,文件的自动增量*,/,.n,例,2,:要求创建一个学生,-,课程数据库(名称为,xskc,),Create database student,例,3,:要求在本地磁盘,D,创建一个学生,-,课程数据库(名称为,student,),只有一个数据文件和日志文件,文件名称分别为,stu,和,stu_log,,初始大小都为,3MB,,增长方式分别为,10%,和,1MB,,数据文件最大为,500MB,,日志文件大小不受限制。,CREATE DATABASE student,ON,(NAME=stu,FILENAME=,D:stu.mdf,SIZE=3MB,MAXSIZE=500MB,FILEGROWTH=10%),LOG ON,(NAME=stu_log,FILENAME=,D:stu_log.ldf,SIZE=1MB,MAXSIZE=unlimited,,,FILEGROWTH=1MB),先按,【,分析,】,按钮,再按,【,执行,】,按钮,分析,命令方式下选择数据库,选择需要修改的数据库在,SQL Server,服务器上,可能存在多个用户数据库,用户只有连接上所要使用的数据库,才能对该数据库中的数据进行操作。选择数据库语句的语法格式如下:,USE database_name,其中,,database_name,为选择的数据库名称。,命令方式下查看数据库属性,数据库的属性信息都保存在系统数据库和系统数据表中,可以通过系统提供的,存储过程,来获取有关数据库的属性信息。,sp_helpdb,显示数据库和数据库参数信息。,sp_spaceused,查看数据库空间信息。,sp_options,查看数据库选项信息。,注:,执行存储过程需要进行过程调用,即使用,exec,任务(,运行带有指定参数的指定程序或命令。),【,例,4】,查询数据库,student,的相关参数信息。,Exec,sp_helpdb student,或,Use student,Exec,sp_helpdb,命令方式下修改数据库,Alter database,database_name,add file,n to filegroup filegroupname,|,add log file,n,|,remove file logical_file_name with delete,|,modify file,|modify name=new_databasename,|add filegroup filegroup_name,|remove filegroup filegroup_name,|modify filegroup filegroup_name,filespec,:,file,子句,语法格式,参数说明如下。,ADD FILE,:向数据库文件组添加新的数据文件。,ADD LOG FILE,:向数据库添加事务日志文件。,REMOVE FILE,:从,SQL Server,的实例中删除逻辑文件说明并删除物理文件。,MODIFY FILE,:修改某一文件的属性。,ADD FILEGROUP,:向数据库添加文件组。,REMOVE FILEGROUP,:从实例中删除文件组。,MODIFY FILEGROUP,:修改某一文件组的属性。,修改数据库名称,ALTER DATABASE databaseName,MODIFY NAME=newdatabaseName,【,例,5】,将,“,student,”,数据库更名为,“,学生信息管理系统,”,ALTER DATABASE student,MODIFY NAME=,学生信息管理系统,增加数据库文件,【,例,6】,对,“,student,“,数据库增加数据文件,stu2,,初始大小,5MB,,最大大小,10MB,,增长方式,10%,。,ALTER DATABASE student,ADD FILE,(NAME=stu2,FILENAME=,C:stu2.ndf,SIZE=5MB,MAXSIZE=10MB,FILEGROWTH=10%,),修改数据库,【,例,7】,将,“,student,“,数据库主数据文件最大大小增加,10MB,。,ALTER DATABASE student,MODIFY FILE,(NAME=stu,MAXSIZE=10MB,),命令方式下删除数据库,语法格式:,DROP DATABASE,database_name,n,/*database_name,为要删除的数据库名*,/,例,7,:将数据库,student,删除,可使用下述语句。,DROP DATABASE student,练习,1,、在,c,盘根目录下创建一个,Company,数据库,该数据库的主数据文件逻辑名称为,Company_data,,物理文件为,Company.mdf,,初始大小为,10MB,,最大尺寸为无限大,增长速度为,10%,;数据库的日志文件逻辑名称为,Company_log,,物理文件名为,Company.ldf,,初始大小为,1MB,,最大尺寸为,50MB,,增长速度为,1MB,。,2,、修改数据库,student,现有数据文件的属性,将主数据文件的最大大小改为,50
展开阅读全文