480 likes | 575 Views
SQL Server 2000 数据库. www.ytvc.com.cn. 第 4 章 数据库的创建和管理. 能力目标 : 初步认识 SQL Server 2005 数据库对象。 能应用 SSMS 和 T-SQL 创建数据库。 能应用 SSMS 和 T-SQL 查看、修改和删除数据库。 能应用 SSMS 进行分离和附加数据库。 对数据库的物理空间科学设置,培养良好的软件职业素养。. 第 4 章 数据库的创建和管理. 任务设计 : 根据项目需求进行数据库的物理设计。 根据项目需求选择合适的磁盘位置和合适的空间大小。
E N D
SQL Server 2000数据库 www.ytvc.com.cn
第4章数据库的创建和管理 能力目标: • 初步认识SQL Server 2005数据库对象。 • 能应用SSMS和T-SQL创建数据库。 • 能应用SSMS和T-SQL查看、修改和删除数据库。 • 能应用SSMS进行分离和附加数据库。 • 对数据库的物理空间科学设置,培养良好的软件职业素养。
第4章数据库的创建和管理 任务设计: • 根据项目需求进行数据库的物理设计。 • 根据项目需求选择合适的磁盘位置和合适的空间大小。 • 对所创建的数据库进行简单的分离和附加操作以备后续任务中使用。 知识要求: • SQL Server 2005数据库的基本概念。 • SSMS和T-SQL语句创建、查看、修改和删除数据库。 • 数据库的简单分离和附加方法。
第4章数据库的创建和管理 SQL Server 2005数据库基础 1 创建数据库 2 查看或修改数据库 3 删除数据库 4
4.1 SQL Server 2005数据库基础 • 数据库的定义 • 数据库(database)是对象的容器,以操作系统文件的形式存储在磁盘上。 • 它不仅可以存储数据,而且能够使数据存储和检索以安全可靠的方式进行。一般包含关系图、表、视图、存储过程、用户、角色、规则、默认、用户自定义数据类型和用户自定义函数等对象。
4.1 SQL Server 2005数据库基础 系 统 数 据 库 SQL Server 2005数据库 实 例 数 据 库 用 户 数 据 库
4.1 SQL Server 2005数据库基础 • 系统数据库 • Master数据库 记录SQL Server 2005实例的所有系统级信息,定期备份,不能直接修改。 • Tempdb数据库 用于保存临时对象或中间结果集以供稍后的处理, SQL Server 2005关闭后该数据库清空。 • Model数据库 用作SQL Server 2005实例上创建所有数据库的模板。
4.1 SQL Server 2005数据库基础 • Msdb数据库 用于SQL Server 2005代理计划警报和作业,是SQL Server 的一个Windows服务。 • Resource数据库 一个只读数据库,包含SQL Server 2005包括的系统对象。系统对象在物理上保留在Resource 数据库中,但在逻辑上显示在每个数据库的sys架构中。
4.1 SQL Server 2005数据库基础 • 示例数据库 AdventureWorks/AdventureWorks DW是SQL Server2005中的示例数据库(如果在安装过程中选择安装了的话)。此数据库基于一个生产公司,以简单、易于理解的方式来展示SQL Server 2005的新功能。 • 用户数据库 用户根据数据库设计创建的数据库。如教务管理数据库(EDUC),图书管理数据库(Library)。
4.1 SQL Server 2005数据库基础 • 数据库文件 数据库的内模式(物理存储结构)。数据库在磁盘上是以 文件为单位存储的,由数据文件和事务日志文件组成。 • 主数据文件(.mdf) • 主数据文件包含数据库的启动信息,并指向数据库中的其他文件; • 存储用户数据和对象; • 每个数据库有且仅有一个主数据文件。
4.1 SQL Server 2005数据库基础 • 次数据文件(.ndf) • 也称辅助数据文件,存储主数据文件未存储的其他数据和对象; • 可用于将数据分散到多个磁盘上。如果数据库超过了单个Windows 文件的最大大小,可以使用次数据文件,这样数据库就能继续增长; • 可以没有也可以有多个; • 名字尽量与主数据文件名相同。 • 事务日志文件(.ldf) • 保存用于恢复数据库的日志信息; • 每个数据库至少有一个日志文件,也可以有多个。
4.1 SQL Server 2005数据库基础 • 数据库文件组 • 为了便于分配和管理,SQL Server 2005允许将多个文件(不同的磁盘)归纳为同一组,并赋予此组一个名称; • 与数据库文件一样,文件组也分为主文件组(Primary File Group)和次文件组(Secondary File Group); • 主文件组包含系统表和主数据文件,是默认的数据文件组。
创建数据库 的方法 使用SSMS 图形界面 使用 T-SQL语言 4.2创建数据库
4.2.1 使用SSMS创建数据库 • 在【对象资源管理器】窗口中,右击“数据库”文件夹,从弹出的快捷菜单中选择“新建数据库”选项,如下图所示。
4.2.1 使用SSMS创建数据库 • 在窗口中根据提示输入该数据库的相关内容,如数据库名称、所有者、文件初始大小、自动增长值和保存路径等。 • 例如:创建教务管理数据库。 • 数据库名称EDUC; • 主数据文件保存路径E:\教务管理数据文件; • 主数据文件初始大小为3MB,最大尺寸为10MB,增长速度为10%; • 日志文件保存路径F:\教务管理日志文件; • 日志文件的初始大小为1MB,最大尺寸为2MB,增长速度为10%。
4.2.1 使用SSMS创建数据库 • 注意:数据文件应该尽量不保存在系统盘上并与日志文件保存在不同的磁盘区域。 • 数据库名称:可以使用字母、数字、下划线或短线。例如:EDUC • 所有者:数据库的所有者可以是任何具有创建数据库权限的登录名。例如:选择其为<默认值>账户,该账户是当前登录到SQL Server上的账户。 • 忽略“使用全文索引”复选框:如果想让数据库具有能搜索特定的词或短语的列,则选中此选项。例如,搜索引擎可能有一个列,列中包含来自网页的一组短语,可以用全文搜索来找到哪些页面包含正在搜索的词。
4.2.1 使用SSMS创建数据库 • 文件名(窗口右侧没显示出的部分):用于存储数据库中数据的物理文件的名称,默认情况下,SQL Server用数据库名称加上_Data后缀来创建物理文件名。例如:EDUC_Data • 数据库文件逻辑名称:引用文件时使用。 • 文件类型:显示文件是数据文件,还是日志文件,数据文件用来存放数据,而日志文件用来存放对数据所做操作的记录。 • 文件组:为数据库中的文件指定文件组,主文件组(PRIMARY)或任一辅助文件组(SECONDARY)。所有数据库都必须有一个主文件组。 • 初始大小:数据库的初始大小至少是MODEL数据库的大小。例如:3MB。
4.2.1 使用SSMS创建数据库 • 自动增长:SQL Server是否能在数据库到达其初始大小极限时自动应对。默认是“不限制文件增长”,其好处是可以不必过分担心数据库的维护,但如果一段“危险”的代码引起了数据的无限循环,硬盘可能会被填满。因此,当一个数据库系统要应用到生产环境中时,应设置“限制文件增长(MB)”选项以防止出现上述的情形。 • 可以创建次数据文件来分担主数据文件的增长。
4.2.1 使用SSMS创建数据库 • 例如:文件按10%的比例增长,限制最大文件大小为10MB。
4.2.1 使用SSMS创建数据库 • 数据库文件存放的物理位置,默认的路径是C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data。单击右边带有省略号(…)的命令按钮,打开一个资源管理器风格的对话框,可以在该对话框中更改数据库文件的位置。
4.2.1 使用SSMS创建数据库 • 文件类型选项为“日志”的行与为“数据”的行所包含的信息差不多,只有一两处很小的不同。这里,“文件名”是通过在数据库名称后面加_log后缀而得到的,并且,不能修改“文件组”列,因为事务日志中实际上没有系统表,所以它只可能填满操作记录。可以定义多个日志文件位置。若填满了事务日志,会因为日志满而导致SQL Server停止处理,因此将不能处理更多的信息。指定多个日志位置则可以避免这种情况。在大型生产系统中采用故障转移日志文件是可取的。
4.2.1 使用SSMS创建数据库 • 在选项页框中,如下图所示,可设置数据库的排序规则,恢复模式,兼容级别以及其他一些选项的设置。
4.2.1 使用SSMS创建数据库 • 在文件组页框中,如下图所示,可设置或添加数据库文件和文件组的属性,如是否只读,是否为默认值等。
4.2.1 使用SSMS创建数据库 • 单击【确定】按钮,系统开始创建数据库,创建成功后,当回到SSMS中的对象资源管理器时,刷新其中的内容,在【对象资源管理器】的【数据库】节点中就会显示新创建的数据库EDUC。
4.2.2 使用T-SQL语句创建数据库 • 语法格式: CREATE DATABASE database_name [ON [PRIMARY] [<filespec> [,…n] [,<filegroupspec> [,…n]] ] [LOG ON {<filespec> [,…n]}] [FOR RESTORE] <filespec>::=([NAME=logical_file_name,] FILENAME=‘os_file_name’
4.2.2 使用T-SQL语句创建数据库 [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment] ) [,…n] <filegroupspec>::=FILEGROUP filegroup_name <filespec> [,…n] 各参数说明如下: • database_name:数据库的名称,最长为128个字符。 • PRIMARY:该选项是一个关键字,指定主文件组中的文件。 • LOG ON:指明事务日志文件的明确定义。
4.2.2 使用T-SQL语句创建数据库 • NAME:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。 • FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。 • SIZE:指定数据库的初始容量大小,至少为模板Model数据库大小。 • MAXSIZE:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满磁盘。 • FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。
4.2.2 使用T-SQL语句创建数据库 • 例4-1:创建了一个Test数据库,该数据库的主数据文件逻辑名称为Test_data,物理文件名为Test.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Test_log,物理文件名为Test.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE test ON PRIMARY --建立主数据文件 ( NAME = 'test', --逻辑文件名 FILENAME='E:\练习数据\test.mdf', --物理文件路径和名字
4.2.2 使用T-SQL语句创建数据库 SIZE=10240KB, --初始大小 MAXSIZE = UNLIMITED, --最大尺寸为无限大 FILEGROWTH = 10%) --增长速度为10% LOG ON ( NAME='test_log', --建立日志文件 FILENAME='F:\练习日志\test_log.ldf', --物理文件路径和名字 SIZE=1024KB, MAXSIZE = 5120KB, FILEGROWTH = 1024KB )
4.2.2 使用T-SQL语句创建数据库 • 例4-2:创建图书管理数据库Library。 CREATE DATABASE Library On (NAME= Library, FILENAKME='E:\图书管理数据\ Library _data.mdf', SIZE=3, MAXSIZE=10, FILEGROWTH=10% ) LOG ON (NAME=Library_log, FILENAME='F:\图书管理日志\ Library _log.ldf', SIZE=1, MAXSIZE=2, FILEGROWTH=10% )
4.3查看和修改数据库 • 使用SSMS查看或修改数据库 • 右击所要修改的数据库,从弹出的快捷菜单中选择“属性”选项,出现如下图所示的数据库属性设置对话框。可以看到,修改或查看数据库属性时,属性页框比创建数据库时多了两个,即选项和权限页框。 • 可以分别在常规、文件、文件组、选项和权限对话框里根据要求来查看或修改数据库的相应设置。
4.3查看和修改数据库 • 使用T-SQL语句修改数据库 • 语法格式: Alter database databasename {add file<filespec>[,…n] [to filegroup filegroupname] |add log file <filespec>[,…n] |remove file logical_file_name [with delete] |modify file <filespec> |modify name=new_databasename
4.3查看和修改数据库 |add filegroup filegroup_name |remove filegroup filegroup_name |modify filegroup filegroup_name {filegroup_property|name=new_filegroup_name • 例4-3:将两个数据文件和一个事务日志文件添加到test数据库中。 ALTER DATABASE Test ADD FILE --添加两个次数据文件 (NAME=Test1,
4.3查看和修改数据库 FILENAME='E:\练习数据\test1.ndf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB), (NAME=Test2, FILENAME='E:\练习数据\test2.ndf', SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 1MB) GO ALTER DATABASE Test ADD LOG FILE (NAME=testlog1, --添加一个次日志文件 FILENAME='F:\练习日志\testlog1.ldf', SIZE = 5MB, MAXSIZE = 100MB, FILEGROWTH = 5MB) GO
4.3查看和修改数据库 • 例4-4:添加文件组EDUC_Group。 ALTER DATABASE EDUC ADD FILEGROUP EDUC_Group • 例4-5:将一个新的数据文件EDUC_data2添加到EDUC数据库的EDUC_Group文件组。 ALTER DATABASE Library ADD FILE --添加次数据文件 (NAME=Library2, FILENAME='E:\图书管理数据\Library_data2.ndf') to filegroup Library_group
4.4删除数据库 • 使用Management Studio删除数据库 • 在【对象资源管理器】窗口中,在目标数据库上单击鼠标右键,弹出快捷菜单,选择【删除】命令。 • 出现【删除对象】对话框,确认是否为目标数据库,并通过选择复选框决定是否要删除备份以及关闭已存在的数据库连接,如图所示。 • 单击【确定】按钮,完成数据库删除操作。
4.4删除数据库 • 使用T-SQL语句删除数据库 • DROP语句可以从SQL Server中一次删除一个或多个数据库。 • 语法格式: DROP DATABASE database_name[,…n] • 例4-4 删除创建的数据库Test。 DROP DATABASE Test
4.5 分离和附加数据库 在SQL Server中可以分离数据库的数据和事务日志文件,然后将它们重新附加到同一个或其他SQL Server实例上。分离数据库的具体步骤如下所示。 (1)首先,确保没有任何用户登录到数据库中。 (2)打开SSMS并连接到数据库实例。 (3)在【对象资源管理器】窗口中,展开“数据库”节点,右键需要分离的数据库,在弹出的快捷菜单中选择“任务”—“分离”命令,如下图所示。
4.5.1 分离数据库 (4)打开的【分离数据库】对话框的“数据库名称”栏中显示了所选数据库的名称,如下图所示
4.5.1 分离数据库 另外,其他几项内容介绍如下。 • 更新统计信息:默认情况下,分离操作将在分离数据库时保留过期的优化统计信息;如果需要更新现有的优化统计信息,选中这个复选框。 • 保留全文目录:默认情况下,分离操作保留所有与数据库关联的全文目录。如果需要删除全文目录,则清除这个复选框。 • 状态:显示当前数据库的状态(“就绪”或者“未就绪”)。 • 消息:数据库有活动连接时,消息列将显示活动连接的个数。 • 删除连接:因为这时还没有删除所有的用户连接,所以必须选中这个复选框来删除用户连接。 (5)设置完成后,单击“确定”按钮。数据库引擎将执行分离数据库任务。 如果分离成功,该数据库就不再属于SQL Server,也不再出现在数据库列表中。可以对该数据库的数据文件和日志文件进行移动、复制或删除。
4.5.2 附加数据库 在SQL Server中,用户可以在数据库实例上附加被分离的数据库。附加数据库的具体步骤如下。 (1)打开SQL Server Management Studio并连接到数据库实例。 (2)在【对象资源管理器】窗口中,右键“数据库”节点,从弹出的快捷菜单中选择“任务”—“附加数据库”命令,如下图所示。
4.5.2 附加数据库 (3)在打开的【附加数据库】窗口中,单击“添加“按钮,弹出【定位数据库文件】对话框,选择数据库所在的磁盘驱动器并展开目录树定位到数据库的.mdf 文件,如:E:\教务管理数据文件\EDUC.mdf。
4.5.2 附加数据库 (4)单击【定位数据库文件】对话框的“确定”按钮,回到【附加数据库】窗口。可以为附加的数据库指定不同的名称,为附加的数据库指定物理位置等。
4.5.2 附加数据库 (5)设置完毕后,单击“确定”按钮。数据库引擎将执行附加数据库任务。如果附加成功,在【对象资源管理器】中将会出现被附加的数据库。
4.6 小结 本章阐述了SQL Server 2005数据库的基本定义、分类、数据库文件和数据库文件组;介绍使用SSMS创建、查看、修改和删除数据库的方法和步骤;学习T-SQL创建数据库的语法和实际应用。
Thank You ! www.ytvc.com.cn