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