数据库基础第3章数据库的创建与管理.ppt

上传人:牧羊曲112 文档编号:6578486 上传时间:2023-11-14 格式:PPT 页数:53 大小:671.50KB
返回 下载 相关 举报
数据库基础第3章数据库的创建与管理.ppt_第1页
第1页 / 共53页
数据库基础第3章数据库的创建与管理.ppt_第2页
第2页 / 共53页
数据库基础第3章数据库的创建与管理.ppt_第3页
第3页 / 共53页
数据库基础第3章数据库的创建与管理.ppt_第4页
第4页 / 共53页
数据库基础第3章数据库的创建与管理.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《数据库基础第3章数据库的创建与管理.ppt》由会员分享,可在线阅读,更多相关《数据库基础第3章数据库的创建与管理.ppt(53页珍藏版)》请在三一办公上搜索。

1、第3章 数据库的创建与管理,本章学习目标,l 熟悉数据库对象及文件组成l 了解系统数据库及示例数据库作用l 熟练创建和管理数据库,3.1 数据库组成与文件,3.1.1 数据库文件 在SQL Server 2000中,每个数据库均用一组操作系统文件来存放,数据库中的所有数据、对象和数据库操作都存放在这些操作系统文件中。根据这些文件的作用不同,可以分为三类:,(1)主数据文件(Primary):用来存放数据,每个数据库都必须有一个主数据文件,其后缀为.MDF。(2)次数据文件(Secondary):用来存放数据,一个数据库可以没有也可以有多个次数据文件,其后缀为.NDF。(3)事务日志文件(Tra

2、nsaction Log):用来存放事务日志,每个数据库必须有一个或多个事务日志文件,其后缀为.LDF。,一般情况下,一个数据库至少由一个主数据文件和一个事务日志文件组成。也可以根据实际需要,给数据库设置多个次数据文件和其他日志文件,并将它们放在不同的磁盘上。默认状态下,数据库文件存放在MSSQLdata目录下,主数据文件名为“数据库名_Data.MDF”,日志文件名为“数据库名_Log.LDF”。数据库的创建者可以在创建时指定其他的路径和文件名,也可以添加Secondary文件和更多的日志文件。,3.1.2 数据库组成,1数据库对象 SQL Server的每一个数据库都由关系图(Relati

3、on 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、Pubs这2

4、个示例数据库。如图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中,可以使用三种方法创建数据库。它们是使用企业管理器创建数据库;使用向导创建数据库;使用CREATE DATABA

7、SE语句创建数据库 可以采用下列任意一种方法打开数据库属性对话框:,(1)展开服务器,单击【数据库】,选择【操作】菜单中的【新建数据库】命令。(2)展开服务器,右击【数据库】,在弹出的快捷菜单中选择【新建数据库】命令。,数据库属性对话框如图3-2所示。该对话框主要显示3部分内容,第一部分显示数据库的状态、数据库所有者、创建时间、数据库大小、可以使用的空间、用户数等状态信息;第二部分显示数据库和事务日志的备份状况;第三部分显示数据库维护计划和排序规则。,【例3-1】创建一个名为XSCJ的学生成绩管理数据库,主数据文件名为XSCJ_Data.MDF,初始大小为1MB。事务日志文件名为XSCJ_Lo

8、g.LDF,初始容量为1MB。在企业管理器中创建数据库可以按以下步骤操作:展开服务器,右击【数据库】,在弹出的快捷菜单中选择【新建数据库】命令。在数据库属性对话框的【名称】栏输入学生成绩管理数据库的名称,该名称必须遵循标识符的定义规则,这里输入“XSCJ”。如图3-3所示。,图3-2 数据库属性对话框 图3-3 输入学生成绩管理数据库的名称,单击【数据文件】标签,如图3-4所示,在文件名和位置栏可以修改文件名和文件存放的位置,也可以单击按钮后进行修改。本例采用系统默认的数据库文件名“XSCJ_Data”,将路径改为“C:”,数据库文件大小设置为1MB。,图3-4 数据文件标签页 图3-5 完成

9、设置后的数据库文件标签页,系统给出文件组的默认值为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 创建数据库向导的欢迎对话框,在图3-10所示的数据库名

11、称框中输入“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 完成创建数据库确认对话框,单击【确定】按钮,系统提示是否希望为所建数据库创建维护计划,如图3-17

13、所示,选择【是】,则创建一个数据库维护计划,否则完成数据库的创建过程。,图3-16 数据库创建成功对话框 图3-17 创建维护计划提示对话框,3.2.3 使用CREATE DATABASE语句创建数据库 在SQL Server 2000中,也可用CREATE DATABASE语句来创建一个新数据库和存储该数据库文件。其语法为:CREATE DATABASE database_nameONPRIMARY(NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size,FILEGROWTH=growth_increme

14、nt,),nLOG ON(NAME=logical_name,FILENAME=os_file_name,SIZE=size,n,其中:l database_name:表示为数据库取的名字,在同一个服务器内数据库的名字必须惟一。数据库的名字必须符合SQL Server系统的标识符命名标准,即最大不得超过128个字符。l PRIMARY:该选项用于指定主文件组中的文件。一个数据库只能有一个主文件。如果没有使用PRIMARY关键字,默认列在语句中的第一个文件即为主文件。l NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识。l FIL

15、ENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。并且路径必须存在。l SIZE:指定数据库的初始容量大小。指定大小的数字size可以使用KB、MB后缀,默认的后缀为MB。Size中不能使用小数,其最小值为512KB,默认值为1MB。如果没有指定主文件的大小,则SQL Server默认为1MB。主文件的size不能小于1MB。l MAXSIZE:指定操作系统文件可以增长到的最大尺寸。计量单位为MB或KB。可以不指定计量单位,则系统默认为MB。如果没有指定可以增长的最大尺寸,则文件可以不断增长直到充满整个磁盘空间。l FILEGROWTH:指定

16、文件增量的大小,当指定数据为0时,表示文件不增长。l 如果没有指定FILEGROWTH,则默认值为10%,每次扩容的最小值为64KB。,【例3-2】创建一个XJGL数据库,该数据库的主文件逻辑名称为XJGL_data,物理文件名为XJGL.mdf,初始大小为1MB,最大尺寸为3MB,增长速度为10%;数据库的日志文件逻辑名称为XJGL_log,物理文件名为XJGL.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。文件存放在C:下。在查询分析器中通过执行以下语句可以创建此数据库。CREATE DATABASE XJGLON(NAME=XJGL_Data,FILENAME=C:XJG

17、L_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数据库成功,【例3-3】创建名为stu的数据库,它有3个数据文件组成,其中主文件为stu_data1.mdf,使用PRIMARY关键字指定。Stu

18、_data2_.ndf、stu_data3.ndf是次文件,尺寸分别为5MB,3MB,2MB。事务日志文件有2个,分别为4MB、3MB。数据文件和事务日志文件的最大尺寸均为20MB,文件增量为2MB。可在查询分析器中运行如下命令:CREATE DATABASE stuONPRIMARY(NAME=stu_data1,FILENAME=C:stu_data1.mdf,SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=2MB),(NAME=stu_data2,FILENAME=C:stu_data2.ndf,SIZE=3MB,MAXSIZE=20MB,FILEGROWTH=2MB)

19、,(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,SIZE=3MB,MAXSIZE=20MB,FILEGROWTH=2MB)GO运行结果如图3-19所示。,图3-19 创建含有3个数据文件和2个事务日志文件的数据库stu,【例3-4】显示XSCJ数

20、据库信息。在查询分析器中运行如下命令:sp_helpdb XSCJ运行结果如图3-20所示。,图3-20 显示XSCJ数据库的信息,3.3 管理数据库,3.3.1 查看数据库信息 显示数据库信息可以有2种方法:一种是使用企业管理器,另一种是使用系统存储过程sp_helpdb。1使用企业管理器显示数据库信息 在企业管理器中,单击【数据库】,显示SQL上的所有数据库名称列表,选中要查看的数据库,如XSCJ数据库,系统即显示该数据库包含的关系图、表、视图、存储过程、用户等信息。2使用sp_helpdb显示数据库信息 系统存储过程sp_helpdb 数据库文件名显示数据库名称、尺寸、所有者、数据库ID

21、、创建时间、数据库状态、更新情况(可读写)、多用户、完全恢复、版本等信息。不加可选项则显示系统中所有数据库信息。,【例3-4】显示XSCJ数据库信息。在查询分析器中运行如下命令:sp_helpdb XSCJ运行结果如图3-20所示。,图3-20 显示XSCJ数据库的信息,【例3-5】显示系统中的所有数据库信息。在查询分析器中运行如下命令:sp_helpdb运行结果如图3-21所示。,图3-21 显示系统中的所有数据库信息,3.3.2 扩充数据库容量随着数据量和日志量的不断增加,会出现数据库和事务日志的存储空间不够的问题,在SQL Server 2000中,数据库所有者可以使用3种方法增加数据库

22、和事务日志的容量。1在创建数据库时,指定文件可以按照给定的文件增量进行自动增长。2使用ALTER DATABASE命令增加数据库和事务日志容量。3使用ALTER DATABASE命令增加数据库次要文件和事务日志容量。ALTER DATABASE语句的语法如下:,ALTER DATABASE database_nameADD FILE,n TO FILEGROUP filegroup_name|ADD LOG FILE,n|REMOVE FILE logical_file_name|REMOVE FILEGROUP filegroup_name|MODIFY FILE|MODIFY NAME=n

23、ew_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|UNLIMITED,FILEGROWTH=growth_increment,),其中:ADD FILE,n TO FILEGROUP filegroup_name:表示向指定的文件组中添加新的数据文件。ADD LOG FILE,n:增

24、加新的日志文件。l REMOVE FILE logical_file_name:删除指定的操作系统文件。l REMOVE FILEGROUP filegroup_name:删除指定的文件组。l MODIFY FILE:修改某个操作系统文件。l MODIFY NAME=new_databasename:重命名数据库。l ADD FILEGROUP filegroup_name:增加一个文件组。l MODIFY FILEGROUP filegroup_name:修改某个指定文件组的属性。,【例3-6】将数据库的数据文件XSCJ_data和XSCJ_log分别由原先的1MB扩充为2MB。在查询分析器

25、中运行如下命令:USE XSCJGOALTER DATABASE XSCJMODIFY FILE(NAME=XSCJ_DATA,SIZE=2MB)GOALTER DATABASE XSCJMODIFY FILE(NAME=XSCJ_LOG,SIZE=2MB)GO,执行后,在查询分析器中执行sp_helpdb XSCJ,显示XSCJ数据库的容量已为4MB,如图3-22所示。,图3-22,1使用企业管理器压缩数据库。在企业管理器中,右击要压缩的数据库(如stu数据库),在快捷菜单中选择【所有任务】下的【收缩数据库(D)】命令,在打开的对话框中按需要设置即可。如图3-23所示。,图3-23 使用企业

26、管理器压缩数据库,2使用DBCC SHRINK DATABASE命令收缩数据库。其语法格式为:DBCC SHRINKDATABASE(database_name,target_percent,NOTRUNCATE|TRUNCATEONLY)其中:l Target_percent:当数据库收缩后,数据库文件中剩余可用空间的百分比。l NOTRUNCATE:被释放的文件空间依然保持在数据库文件中。如果未指定,将所释放的文件空间被操作系统回收。l TRUNCATEONLY:将数据文件中未使用的空间释放给操作系统,并将文件收缩到上一次所分配的大小。使用 TRUNCATEONLY 时,将忽略 targe

27、t_percent的限制。,【例3-7】将XSCJ数据库由4MB压缩到原来的50%。在查询分析器中运行如下命令:USE XSCJGODBCC SHRINKDATABASE(XSCJ,50)GO运行结果如图3-24所示。,图3-24 压缩XSCJ数据库,3使用DBCC SHRINKFILE命令收缩数据库的指定数据文件或日志文件大小 DBCC SHRINKFILE的语法格式如下:DBCC SHRINKFILE(file_name,target_size|,EMPTYFILE|NOTRUNCATE|TRUNCATEONLY)其中:,l file_name:要收缩文件的逻辑名称。l target_si

28、ze:将文件缩小到指定的长度,以MB为单位。如果不指定,将文件减少到最大程度。l EMPTYFILE:将数据从指定文件中转移到同一文件组中的其它文件。l NOTRUNCATE和TRUNCATEONLY:与DBCC SHRINKDATABASE命令中相同。,【例3-8】将stu数据库的数据文件stu_data1由5MB压缩为1MB。在查询分析器中运行如下命令:USE stuGODBCC SHRINKFILE(STU_DATA1,1)GO从运行结果如图3-25所示,从中可以看到,文件已经进行了压缩。运行sp_helpdb stu命令,结果STU_DATA1文件已经由原来的5MB压缩为1MB。Stu

29、数据库也由原来的17MB压缩为13MB。,图3-25 数据文件STU_DATA1已由原来的5MB压缩到1MB,3.3.4 数据库更名 在重新命名数据库之前,应该确保没有用户使用该数据库,而且数据库应该设置为单用户模式。SQL Server使用系统存储过程sp_renamedb更名数据库,其语法如下:sp_renamedb 旧数据库文件名,新数据库文件名,【例3-9】将数据库stu更名为student。在查询分析器中运行如下命令即可更名:sp_renamedb stu,student GO,3.3.5 删除数据库 当数据库无用时,为了节省磁盘空间,可以删除数据库。删除数据库可以使用企业管理器和D

30、ROP DATABASE语句两种方法,前者一次只能删除一个数据库,后者一次可删除多个数据库。但使用后一种方法删除数据库时,系统不会给出确认提示,故须十分谨慎。1使用企业管理器删除数据库 在企业管理器中右击要删除的数据库,在弹出的快捷菜单中选择【删除】命令,并进行确认即可。如图3-26所示。,图3-26 使用企业管理器删除数据库,2利用DROP DATABASE语句删除数据库 DROP DATABASE 数据库文件名,n【例3-10】删除stu数据库在查询分析器中运行如下命令:DROP DATABASE stuGO运行结果如图3-27所示。,图3-27 删除stu数据库,但是,当出现以下几种情况

31、时,将无法删除数据库:(1)当数据库正在使用时。(2)当有用户正在对数据库进行操作时。(3)当数据库正在执行数据复制时。,本章小结 本章主要介绍了数据库的创建和管理知识。在本章中同学们学习了数据库文件和数据库组成的基础知识,并重点学习了数据库的几种创建和管理技术。本章应重点掌握如何根据需要创建数据库,并对其进行有效的管理。,思考与练习一、选择题1、每个数据库有且只能有一个()。A、次数据文件 B、主数据文件 C、日志文件 D、其他2、如果数据库中的数据量非常大,除了存储在主数据文件中,可以将一部分数据存储在()。A、次数据文件 B、主数据文件 C、日志文件 D、其他3、下列哪种命令可以显示数据

32、库信息()A、sp_helpdb B、sp_renamedb C、DBCC SHRINKDATABASE D、DBCC SHRINKFILE 4、下列哪种命令可以用来压缩数据库容量()A、sp_helpdb B、sp_renamedb C、DBCC SHRINKDATABASE D、DBCC SHRINKFILE,5、使用下列哪种语句可以创建数据库()。A、CREATE DATABASE B、CREATE TABLE C、ALTER DATABASE D、ALTER TABLE 6、使用下列哪种语句可以修改数据库()。A、CREATE DATABASE B、CREATE TABLE C、ALT

33、ER DATABASE D、ALTER TABLE 7、使用下列哪种语句可以删除数据库()。A、DROP DATABASE B、CREATE TABLE C、ALTER DATABASE D、DROP TABLE 二、填空题1、从物理结构层次上说,SQL SERVER2000 数据库是由两个或多个文件组成,根据文件的作用,可以将这些文件分三类:_、和_。2、一般情况下,一个数据库至少由_个主数据文件和_个事务日志文件组成。,3、默认状态下,数据库文件存放在_目录下,主数据文件名为_,日志文件名为_。4、SQL Server的每一个数据库都由_、_、_、_、_、_、_、_、_、_等数据库对象组成

34、。5、在SQL SERVER 2000中,创建数据库有多种方法。归纳起来,一共有三种方法:_、_和_。6、在完成SQL Server安装后,系统即会自动创建6个数据库。它们分别是_、_、_、_这4个系统数据库和_、_这2个示例数据库。其中,_是最重要的系统数据库。三、简答题1、简述数据库文件的分类及特点。2、简述系统数据库的作用。,项目实训 1、创建货物数据库,要求:主数据文件名为goods_data.MDF,存放在C:目录下,初始值 大小为2MB,增长方式为按照10%的比例增长;次数据文件名为goods_data1.NDF和goods_data2.NDF,都存放在D:目录下,初始大小为1MB,增长方式为按2MB的增量增长;日志文件名goods_log.LDF,都存放在E:目录下,初始大小为3MB,增长方式为按照1MB的增量增长。要求分别使用向导和企业管理器两种方法完成,尽量使用第三种方法-使用Transact-SQL语句,并记录完整语句。2、对上述数据库分别进行查看、扩充、压缩、更名等操作并记录各项操作的完整语句。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号