版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 数据库的创建与管理,本章学习目标,l 熟悉数据库对象及文件组成 l 了解系统数据库及示例数据库作用 l 熟练创建和管理数据库,3.1 数据库组成与文件,3.1.1 数据库文件 在SQL Server 2000中,每个数据库均用一组操作系统文件来存放,数据库中的所有数据、对象和数据库操作都存放在这些操作系统文件中。根据这些文件的作用不同,可以分为三类:,(1)主数据文件(Primary):用来存放数据,每个数据库都必须有一个主数据文件,其后缀为.MDF。 (2)次数据文件(Secondary):用来存放数据,一个数据库可以没有也可以有多个次数据文件,其后缀为.NDF。 (3)事务日志文件
2、(Transaction Log):用来存放事务日志,每个数据库必须有一个或多个事务日志文件,其后缀为.LDF。,一般情况下,一个数据库至少由一个主数据文件和一个事务日志文件组成。也可以根据实际需要,给数据库设置多个次数据文件和其他日志文件,并将它们放在不同的磁盘上。 默认状态下,数据库文件存放在MSSQLdata目录下,主数据文件名为“数据库名_Data.MDF”,日志文件名为“数据库名_Log.LDF”。数据库的创建者可以在创建时指定其他的路径和文件名,也可以添加Secondary文件和更多的日志文件。,3.1.2 数据库组成,1数据库对象 SQL Server的每一个数据库都由关系图(R
3、elation Map)、表(Table)、视图(View)、存储过程 (Stored procedures)、触发器(Triggers)、用户自定义数据类型(User-defined data types)、用户自定义函数(User-defined functions)、索引(Indexes)、规则(Constraints)、默认值(Defaults)等数据库对象组成,如图3-1所示。,图3-1 数据库的组成,2系统数据库和示例数据库 在完成SQL Server安装后,系统即会自动创建6个数据库。它们分别是master、tempdb、model和msdb这4个系统数据库和Northwind、
4、Pubs这2个示例数据库。如图3-1所示。 (1)master数据库 master是一个最重要的系统数据库,它记录了SQL Server系统级的所有信息,包括系统中所有的登录账号、系统配置信息、所有数据库的信息、所有数据库及数据库文件的地址等。每个数据库都有属于自己的一组系统表,记录了每个数据库各自的系统信息,这些表在创建数据库时自动产生。为了与用户创建的表相区别,这些表被称为系统表,表名都以“sys”开头。 master数据库中还有很多系统存储过程和扩展存储过程。系统存储过程是预先编译好的程序,所有的系统存储过程的名字都以“sp_”开头。,(2)tempdb数据库 tempdb 数据库用于存
5、放所有连接到系统的用户临时表和临时存储过程以及SQL Server产生的其他临时性的对象。tempdb是SQL Server中负担最重的数据库,因为几乎所有的查询都可能需要使用它。 在SQL Server 关闭时,tempdb数据库中的所有对象都被删除,每次启动SQL Server时,tempdb数据库里面总是空的。 (3)model数据库 model数据库是一个模板数据库,它包含了用户数据库中应该包含的所有系统表以及其他对象的结构。model数据库的容量为2MB,其中1MB存放数据库,1MB存放事务日志。当创建用户数据库时,系统自动地把model数据库中的内容拷贝到新建的用户数据库中,然后把
6、它扩充到命令所要求的容量。因此,新数据库绝对不能比model数据库小。,(4)msdb数据库 msdb 数据库记录了有关SQL Server Agent代理服务的有关信息,如安排报警、作业,并记录操作员等信息。 (5)示例数据库 SQL Server在安装时还自动创建了两个示例数据库:pubs和northwind,是供读者作为学习工具使用的。Northwind数据库保存着一个虚构的贸易公司的数据信息。Pubs数据库保存着一个虚构的出版公司的数据信息。,3.2 创建数据库,在SQL Server 2000中,可以使用三种方法创建数据库。它们是使用企业管理器创建数据库;使用向导创建数据库;使用CR
7、EATE DATABASE语句创建数据库 可以采用下列任意一种方法打开数据库属性对话框:,(1)展开服务器,单击【数据库】,选择【操作】菜单中的【新建数据库】命令。 (2)展开服务器,右击【数据库】,在弹出的快捷菜单中选择【新建数据库】命令。,数据库属性对话框如图3-2所示。该对话框主要显示3部分内容,第一部分显示数据库的状态、数据库所有者、创建时间、数据库大小、可以使用的空间、用户数等状态信息;第二部分显示数据库和事务日志的备份状况;第三部分显示数据库维护计划和排序规则。,【例3-1】创建一个名为XSCJ的学生成绩管理数据库,主数据文件名为XSCJ_Data.MDF,初始大小为1MB。事务日
8、志文件名为XSCJ_Log.LDF,初始容量为1MB。 在企业管理器中创建数据库可以按以下步骤操作: 展开服务器,右击【数据库】,在弹出的快捷菜单中选择【新建数据库】命令。 在数据库属性对话框的【名称】栏输入学生成绩管理数据库的名称,该名称必须遵循标识符的定义规则,这里输入“XSCJ”。如图3-3所示。,图3-2 数据库属性对话框 图3-3 输入学生成绩管理数据库的名称,单击【数据文件】标签,如图3-4所示,在文件名和位置栏可以修改文件名和文件存放的位置,也可以单击按钮后进行修改。本例采用系统默认的数据库文件名“XSCJ_Data”,将路径改为“C:”,数据库文件大小设置为1MB。,图3-4
9、数据文件标签页 图3-5 完成设置后的数据库文件标签页,系统给出文件组的默认值为PRIMARY,它表示当前的这个数据文件是主文件,系统默认的文件后缀名为.MDF。 数据库文件增长采用【按兆字节】,将文件增长限制为5MB,设置结果如图3-5所示。 单击【事务日志】标签,出现如图3-6所示对话框。设置方法与数据库文件设置类似,本例采用系统默认的事务日志文件名“XSCJ_Log”,文件后缀为系统默认的.LDF。将文件存放位置改为“C:”,事务日志文件初始大小设置为1MB。 事务日志文件同样采用【按兆字节】,将文件增长限制为5MB,如图3-6所示。 也可将数据文件和事务日志文件属性设置为自动增长,增长
10、方式可选择按兆字节增长和按百分比增长两种。,图3-6 【事务日志】标签及设置,设置完成之后,单击【确定】按钮,即可在企业管理器中看到如图3-7所示的数据库组成信息。,图3-7 XSCJ数据库组成,3.2.2 使用向导创建数据库 用户也可以使用向导创建数据库,例如要创建一个名为XJGL的数据库,步骤如下: 在企业管理器中,选择【工具】菜单中的【向导】命令,打开【选择向导】对话框,如图3-8所示。 选择【创建数据库向导】,单击【确定】按钮,出现如图3-9所示的欢迎对话框。 单击【下一步】按钮,出现命名数据库和指定数据库文件位置对话框,如图3-10所示。,图3-8 选择向导对话框 图3-9 创建数据
11、库向导的欢迎对话框,在图3-10所示的数据库名称框中输入“CJGL”;在【数据库文件位置】框中单击按钮指定数据文件的存放位置;在【事务日志文件位置】框中单击按钮指定事务日志文件存放的位置。,单击【下一步】按钮,显示【命名数据库文件】对话框,在此可修改数据库文件名和初始大小,此处将数据文件初始大小设置为2MB,如图3-11所示。,图3-10 命名数据库并指定文件位置对话框 图3-11 命名数据库文件对话框,单击【下一步】按钮,显示【定义数据库文件的增长】对话框,选择【按兆字节(MB)为单位增长文件】,【文件增长的最大值(MB)】框输入5,如图3-12所示。单击【下一步】按钮,显示【命名事务日志文
12、件】对话框,在此可修改事务日志文件名和初始大小,此处将事务日志文件初始大小设置为1MB,如图3-13所示。,图3-12 定义数据库文件增长对话框 图3-13 命名事务日志文件对话框,单击【下一步】按钮,显示 【定义事务日志文件的增长】对话框,选择【按兆字节(MB)为单位增长文件】,【文件增长的最大值(MB)】框输入6,如图3-14所示。单击【下一步】按钮,显示 【确认设置】对话框,如图3-15所示。单击【上一步】按钮可进行修改,单击【完成】按钮,系统将显示【创建成功】信息,如图3-16所示。,图3-14 定义事务日志文件的增长对话框 图3-15 完成创建数据库确认对话框,单击【确定】按钮,系统
13、提示是否希望为所建数据库创建维护计划,如图3-17所示,选择【是】,则创建一个数据库维护计划,否则完成数据库的创建过程。,图3-16 数据库创建成功对话框 图3-17 创建维护计划提示对话框,3.2.3 使用CREATE DATABASE语句创建数据库 在SQL Server 2000中,也可用CREATE DATABASE语句来创建一个新数据库和存储该数据库文件。其语法为: CREATE DATABASE database_name ON PRIMARY (NAME=logical_file_name, FILENAME=os_file_name ,SIZE=size ,MAXSIZE=ma
14、x_size ,FILEGROWTH=growth_increment,) ,n LOG ON (NAME=logical_name, FILENAME= os_file_name ,SIZE=size ,n ,其中: l database_name:表示为数据库取的名字,在同一个服务器内数据库的名字必须惟一。数据库的名字必须符合SQL Server系统的标识符命名标准,即最大不得超过128个字符。 l PRIMARY:该选项用于指定主文件组中的文件。一个数据库只能有一个主文件。如果没有使用PRIMARY关键字,默认列在语句中的第一个文件即为主文件。 l NAME:指定数据库的逻辑名称,这是在
15、SQL Server系统中使用的名称,是数据库在SQL Server中的标识。 l FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。并且路径必须存在。 l SIZE:指定数据库的初始容量大小。指定大小的数字size可以使用KB、MB后缀,默认的后缀为MB。Size中不能使用小数,其最小值为512KB,默认值为1MB。如果没有指定主文件的大小,则SQL Server默认为1MB。主文件的size不能小于1MB。 l MAXSIZE:指定操作系统文件可以增长到的最大尺寸。计量单位为MB或KB。可以不指定计量单位,则系统默认为MB。如果没有
16、指定可以增长的最大尺寸,则文件可以不断增长直到充满整个磁盘空间。 l FILEGROWTH:指定文件增量的大小,当指定数据为0时,表示文件不增长。 l 如果没有指定FILEGROWTH,则默认值为10%,每次扩容的最小值为64KB。,【例3-2】创建一个XJGL数据库,该数据库的主文件逻辑名称为XJGL_data,物理文件名为XJGL.mdf,初始大小为1MB,最大尺寸为3MB,增长速度为10%;数据库的日志文件逻辑名称为XJGL_log,物理文件名为XJGL.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。文件存放在C:下。 在查询分析器中通过执行以下语句可以创建此数据库。CR
17、EATE DATABASE XJGLON ( NAME =XJGL_Data,FILENAME = C:XJGL_Data.MDF,SIZE = 1,MAXSIZE=3, FILEGROWTH = 10% ) LOG ON( NAME =XJGL_Log, FILENAME = C:XJGL_Log.LDF,SIZE = 1,MAXSIZE=5,FILEGROWTH = 10%)GO,运行结果如图3-18所示,成功创建XJGL数据库。在查询分析器的结果窗口中显示已分配存储空间。因为有本命令中没有指定主文件,故系统默认第一个文件XJGL_data.mdf 为主文件。,图3-18 创建XJGL数据
18、库成功,【例3-3】创建名为stu的数据库,它有3个数据文件组成,其中主文件为stu_data1.mdf,使用PRIMARY关键字指定。Stu_data2_.ndf、stu_data3.ndf是次文件,尺寸分别为5MB,3MB,2MB。事务日志文件有2个,分别为4MB、3MB。数据文件和事务日志文件的最大尺寸均为20MB,文件增量为2MB。 可在查询分析器中运行如下命令: CREATE DATABASE stu ON PRIMARY (NAME=stu_data1, FILENAME=C:stu_data1.mdf, SIZE=5MB, MAXSIZE=20MB, FILEGROWTH=2MB
19、), (NAME=stu_data2, FILENAME=C:stu_data2.ndf, SIZE=3MB, MAXSIZE=20MB, FILEGROWTH=2MB), (NAME=stu_data3,FILENAME=C:stu_data3.ndf, SIZE=2MB, MAXSIZE=20MB, FILEGROWTH=2MB) LOG ON (NAME=stu_log1, FILENAME=C:stu_log1.Ldf, SIZE=4MB, MAXSIZE=20MB, FILEGROWTH=2MB), (NAME=stu_log2, FILENAME=C:stu_log2.Ldf, S
20、IZE=3MB, MAXSIZE=20MB, FILEGROWTH=2MB) GO 运行结果如图3-19所示。,图3-19 创建含有3个数据文件和2个事务日志文件的数据库stu,【例3-4】显示XSCJ数据库信息。在查询分析器中运行如下命令:sp_helpdb XSCJ运行结果如图3-20所示。,图3-20 显示XSCJ数据库的信息,3.3 管理数据库,3.3.1 查看数据库信息 显示数据库信息可以有2种方法:一种是使用企业管理器,另一种是使用系统存储过程sp_helpdb。 1使用企业管理器显示数据库信息 在企业管理器中,单击【数据库】,显示SQL上的所有数据库名称列表,选中要查看的数据库,
21、如XSCJ数据库,系统即显示该数据库包含的关系图、表、视图、存储过程、用户等信息。 2使用sp_helpdb显示数据库信息 系统存储过程sp_helpdb 数据库文件名显示数据库名称、尺寸、所有者、数据库ID、创建时间、数据库状态、更新情况(可读写)、多用户、完全恢复、版本等信息。不加可选项则显示系统中所有数据库信息。,【例3-4】显示XSCJ数据库信息。在查询分析器中运行如下命令:sp_helpdb XSCJ运行结果如图3-20所示。,图3-20 显示XSCJ数据库的信息,【例3-5】显示系统中的所有数据库信息。 在查询分析器中运行如下命令: sp_helpdb 运行结果如图3-21所示。,
22、图3-21 显示系统中的所有数据库信息,3.3.2 扩充数据库容量 随着数据量和日志量的不断增加,会出现数据库和事务日志的存储空间不够的问题,在SQL Server 2000中,数据库所有者可以使用3种方法增加数据库和事务日志的容量。 1在创建数据库时,指定文件可以按照给定的文件增量进行自动增长。 2使用ALTER DATABASE命令增加数据库和事务日志容量。 3使用ALTER DATABASE命令增加数据库次要文件和事务日志容量。 ALTER DATABASE语句的语法如下:,ALTER DATABASE database_nameADD FILE ,n TO FILEGROUP file
23、group_name|ADD LOG FILE ,n|REMOVE FILE logical_file_name |REMOVE FILEGROUP filegroup_name |MODIFY FILE |MODIFY NAME=new_database_name|ADD FILEGROUP filegroup_name|MODIFY FILEGROUP filegroup_name:=(|NAME=logical_file_name,NEWNAME=new_logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|
24、UNLIMITED,FILEGROWTH=growth_increment,),其中: ADD FILE ,n TO FILEGROUP filegroup_name:表示向指定的文件组中添加新的数据文件。 ADD LOG FILE ,n:增加新的日志文件。 l REMOVE FILE logical_file_name:删除指定的操作系统文件。 l REMOVE FILEGROUP filegroup_name:删除指定的文件组。 l MODIFY FILE :修改某个操作系统文件。 l MODIFY NAME=new_databasename:重命名数据库。 l ADD FILEGROUP
25、 filegroup_name:增加一个文件组。 l MODIFY FILEGROUP filegroup_name:修改某个指定文件组的属性。,【例3-6】将数据库的数据文件XSCJ_data和XSCJ_log分别由原先的1MB扩充为2MB。在查询分析器中运行如下命令:USE XSCJGOALTER DATABASE XSCJMODIFY FILE(NAME=XSCJ_DATA,SIZE=2MB)GOALTER DATABASE XSCJMODIFY FILE(NAME=XSCJ_LOG,SIZE=2MB)GO,执行后,在查询分析器中执行sp_helpdb XSCJ,显示XSCJ数据库的容量
26、已为4MB,如图3-22所示。,图3-22,1使用企业管理器压缩数据库。在企业管理器中,右击要压缩的数据库(如stu数据库),在快捷菜单中选择【所有任务】下的【收缩数据库(D)】命令,在打开的对话框中按需要设置即可。如图3-23所示。,图3-23 使用企业管理器压缩数据库,2使用DBCC SHRINK DATABASE命令收缩数据库。 其语法格式为: DBCC SHRINKDATABASE (database_name ,target_percent,NOTRUNCATE |TRUNCATEONLY) 其中: l Target_percent:当数据库收缩后,数据库文件中剩余可用空间的百分比。
27、 l NOTRUNCATE:被释放的文件空间依然保持在数据库文件中。如果未指定,将所释放的文件空间被操作系统回收。 l TRUNCATEONLY:将数据文件中未使用的空间释放给操作系统,并将文件收缩到上一次所分配的大小。使用 TRUNCATEONLY 时,将忽略 target_percent的限制。,【例3-7】将XSCJ数据库由4MB压缩到原来的50%。在查询分析器中运行如下命令: USE XSCJGODBCC SHRINKDATABASE(XSCJ,50)GO运行结果如图3-24所示。,图3-24 压缩XSCJ数据库,3使用DBCC SHRINKFILE命令收缩数据库的指定数据文件或日志文
28、件大小 DBCC SHRINKFILE的语法格式如下:DBCC SHRINKFILE(file_name ,target_size|,EMPTYFILE|NOTRUNCATE|TRUNCATEONLY) 其中:,l file_name:要收缩文件的逻辑名称。 l target_size:将文件缩小到指定的长度,以MB为单位。如果不指定,将文件减少到最大程度。 l EMPTYFILE:将数据从指定文件中转移到同一文件组中的其它文件。 l NOTRUNCATE和TRUNCATEONLY:与DBCC SHRINKDATABASE命令中相同。,【例3-8】将stu数据库的数据文件stu_data1由5
29、MB压缩为1MB。在查询分析器中运行如下命令:USE stuGODBCC SHRINKFILE(STU_DATA1,1)GO从运行结果如图3-25所示,从中可以看到,文件已经进行了压缩。运行sp_helpdb stu命令,结果STU_DATA1文件已经由原来的5MB压缩为1MB。Stu数据库也由原来的17MB压缩为13MB。,图3-25 数据文件STU_DATA1已由原来的5MB压缩到1MB,3.3.4 数据库更名 在重新命名数据库之前,应该确保没有用户使用该数据库,而且数据库应该设置为单用户模式。SQL Server使用系统存储过程sp_renamedb更名数据库,其语法如下: sp_ren
30、amedb 旧数据库文件名 , 新数据库文件名,【例3-9】将数据库stu更名为student。 在查询分析器中运行如下命令即可更名: sp_renamedb stu,student GO,3.3.5 删除数据库 当数据库无用时,为了节省磁盘空间,可以删除数据库。删除数据库可以使用企业管理器和DROP DATABASE语句两种方法,前者一次只能删除一个数据库,后者一次可删除多个数据库。但使用后一种方法删除数据库时,系统不会给出确认提示,故须十分谨慎。1使用企业管理器删除数据库 在企业管理器中右击要删除的数据库,在弹出的快捷菜单中选择【删除】命令,并进行确认即可。如图3-26所示。,图3-26
31、使用企业管理器删除数据库,2利用DROP DATABASE语句删除数据库 DROP DATABASE 数据库文件名,n 【例3-10】删除stu数据库在查询分析器中运行如下命令:DROP DATABASE stuGO运行结果如图3-27所示。,图3-27 删除stu数据库,但是,当出现以下几种情况时,将无法删除数据库: (1)当数据库正在使用时。 (2)当有用户正在对数据库进行操作时。 (3)当数据库正在执行数据复制时。,本章小结 本章主要介绍了数据库的创建和管理知识。 在本章中同学们学习了数据库文件和数据库组成的基础知识,并重点学习了数据库的几种创建和管理技术。本章应重点掌握如何根据需要创建数据库,并对其进行有效的管理。,思考与练习一、选择题1、每个数据库有且只能有一个( )。A、次数据文件 B、主数据文件 C、日志文件 D、其他2、如果数据库中的数据量非常大,除了存储在主数据文件中,可以将一部分数据存储在( )。A、次数据文件 B、主数据文件 C、日志文件 D、其他3、下列哪种命令可以显示数据库信息( )A、sp_helpdb B、sp_re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧农业精准作业
- 绿色能源可再生能源储能电网融合
- 抵制不良信息,共建清朗网络,小学主题班会课件
- 多平台融合的电商个性化系统优化升级方案
- 关于年度业务培训的安排函(4篇)
- 2026三年级诗词情境教学设计课件
- 2026年马士基招聘逻辑测试题及答案
- 2026年仪器分析期末测试题及答案
- 2026年酒店美工测试题及答案
- 2026年发挥特殊作用测试题及答案
- 2026年湖南省岳阳市高一下学期期末考试数学试卷(含参考答案)
- 2025-2026学年第二学期统编版四年级语文期末学业水平检测卷
- 骨科关节置换手术诊疗指南及操作规范(2025版)
- 【Y小区燃气管网的庭院管网的水力计算案例3100字】
- 2026中期展望·宏观篇:上半场的预期差下半场的破局点
- 2025-2026学年人教版地理七年级下册期末考点热点以及答题模板总结
- 2026年辽宁现代服务职业技术学院单招职业技能测试题库及答案详解1套
- 2026年版初中历史八年级下册复习提纲(表格型)
- 二级公共营养师《专业技能》试卷真题及解析(2026年)
- 中级统计师《统计基础理论及相关知识》真题及解析(2026年)
- 2026年北京医师定期考核法律法规复习试题(附答案)
评论
0/150
提交评论