Download presentation
Presentation is loading. Please wait.
1
数据库技术
2
第2章 数据库的管理与使用 SQL Server数据库的存储结构 数据库的创建 数据库的修改 数据库的删除 数据库的分离和附加
数据库的扩大和收缩 数据库的存储结构、创建、修改、分离和附加
3
? 问题提出 数据库的管理指的是什么? 数据库管理的主要内容是什么? 如何实现数据库的管理?
是有关建立、存储、修改和存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。 数据库管理的主要内容是什么? 数据库的建立 数据库的调整 数据库的重组 数据库的重构 数据库的安全控制 数据的完整性控制和对用户提供技术支持 如何实现数据库的管理?
4
2.1 SQL Server数据库的存储结构 2.1.1 逻辑存储结构 2.1.2 物理存储结构
5
2.1 SQL Server数据库的存储结构
6
2.1.1 逻辑存储结构 逻辑存储结构 指的是数据库是由哪些性质的信息所组成。
它主要应用于面向用户的数据组织和管理,如数据库的表、视图、存储等。由于这些对象是存储在数据库中,因此也叫数据库对象。 数据库对象
7
2.1.1 逻辑存储结构 数据库类型 SQL Server 2008数据库分为系统数据库和用户数据库。 系统数据库
是由系统创建和维护的数据库。在SQL Server 2008中有:master 、model 、msdb 和tempdb 共4个系统数据库 数据库名称 数据库描述 master master 数据库记录 SQL Server 系统的所有系统级信息。主要包括实 例范围的元数据、端点、链接服务器和系统配置设置以及记录了所有其 他数据库的存在、数据库文件的位置以及 SQL Server 的初始化信息。 model 提供了SQL Server 实例上创建的所有数据库的模板。 msdb 主要由 SQL Server 代理用于计划警报和作业。 tempdb tempdb 系统数据库是一个全局资源,可供连接到 SQL Server 实例的 所有用户使用,并可用于保存显式创建的临时用户对象、SQL Server 数据库引擎创建的内部对象,和一些版本数据等。
8
2.1.1 逻辑存储结构 数据库类型 用户数据库 用户数据库分为系统提供的示例数据库和用户创建的数据库。 示例数据库(默认的示例数据库)
AdventureWorks:自行车制造公司的业务数据。 AdventureWorksDW:是Analysis Services(分析服务)的示例数据库 用户创建的数据库
9
2.1.2 物理存储结构 数据库的物理存储结构指的是数据库文件在磁盘中是如何存储的。 数据库文件
存放数据库数据和数据库对象的文件。3种类型: 主数据文件(.mdf):一个数据库只能有一个主数据文件 次数据文件 (.ndf):一个数据库可以有零个或多个次数据文件 事务日志文件(.ldf):一个数据库可以有一个或多个事务日志文件
10
2.1.2 物理存储结构 数据库文件的存储形式 数据库页的结构
11
2.1.2 物理存储结构 数据库文件组 出于分配和管理目的,可以将数据库文件分成不同的文件组(File Group,文件的逻辑集合)。 主文件组(Primary FileGroup): 系统文件分配到此组,每一个数据库中的主文件和未被放入其他组的次要文件在此组中。 用户定义文件组(Secondary FileGroup) 默认文件组:未指定对象所属文件组的对象都被放入此组 注意: 事务日志文件不属于任何文件组。
12
2.2 数据库的创建 2.2.1 使用对象资源管理器创建数据库 2.2.2 使用T-SQL语言创建数据库
13
2.2 数据库的创建 在建立用户逻辑组件之前(如基本表)必须先建立数据库。 Sql server 2008中可以支持最多32767个数据库
命名规则: 名称长度不能超过128个字符,临时表名不能超过116个字符 除第1个字符外的其他字符可以包含数字和$符号 名称中间不允许有空格和其他特殊字符
14
2.2.1 使用对象资源管理器创建数据库 图形化的方式创建数据库 主文件必须至少3MB 演示操作
15
2.2.1 使用对象资源管理器创建数据库 默认情况下,SQL Server 2008数据库文件保存在:
“..\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA”目录下。
16
2.2.2 使用T-SQL语言创建数据库 T-SQL语言的语法约定及使用说明 约定 使用说明 大写 T-SQL 关键字 斜体
粗体 数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以 及必须按所显示的原样键入的文本 下划线 指示当语句中省略了包含带下划线的值的子句时应使用的默认值 |(竖线) 分隔括号或大括号中的语法项。只能使用其中一项 [ ](方括号) 可选语法项。不要键入方括号 { }(大括号) 必选语法项。不要键入大括号 [,...n] 指示前面的项可以重复n次。各项之间以逗号分隔 [...n] 指示前面的项可以重复n次。每一项由空格分隔 [;] 可选的 T-SQL 语句终止符。不要键入方括号 <label> ::= 语法块的名称。此约定用于对可在语句中的多个位置使用的过长语法段 或语法单元进行分组和标记。可使用的语法块的每个位置由括在尖括号 内的标签指示:<label>
17
2.2.2 使用T-SQL语言创建数据库 语句格式: CREATE DATABASE database_name
[ ON 指定数据库文件和文件组属性 [ < filespec > [ ,...n ] ] [ , < filegroup > [ ,...n ] ] ] [ LOG ON { < filespec > [ ,...n ] } ] 指定日志文件属性 [ COLLATE collation_name ] 使用默认排序规则 [ FOR LOAD | FOR ATTACH ] 附加已经存在的数据库
18
2.2.2 使用T-SQL语言创建数据库 在SSMS主窗口中单击“新建查询”工具按钮,打开SQL Server 2008 的查询设计器进行操作。
19
2.2.2 使用T-SQL语言创建数据库 例2.1:创建一个名称为Exercise_db1的简单数据库,文件的所有属性均取默认值。
CREATE DATABASE Exercise_db1 例2.2:创建一个指定主数据文件和事务日志文件的简单数据库,数据库名称为Exercise_db2。要求如下: (1)数据库的主数据文件逻辑文件名为Exercise_Data,物理文件名为Exercise.MDF,初始大小为5MB,最大文件大小无限制,自动增长量为10%。 (2)事务日志文件逻辑文件名为Exercise_LOG,物理文件名为Exercise.LDF,初始大小为1MB,最大文件大小为10MB,自动增长量为2MB。 (3)文件存储的物理位置均为F:\mydb(设mydb文件夹已经建立)。
20
2.2.2 使用T-SQL语言创建数据库 CREATE DATABASE Exercise_db2 ON PRIMARY
创建例2.2要求的数据库语句为: CREATE DATABASE Exercise_db2 ON PRIMARY ( NAME=Exercise_Data, FILENAME= 'F:\mydb\Exercise.MDF', SIZE=5, MAXSIZE=Unlimited, FILEGROWTH=10% ) LOG ON ( NAME=Exercise_LOG, FILENAME= 'F:\mydb\Exercise.LDF', SIZE=1, MAXSIZE=10, FILEGROWTH=2 ) 数据库文件属性 事务日志文件属性
21
2.2.2 使用T-SQL语言创建数据库 分析
22
2.3 数据库的修改 使用对象资源管理器修改数据库 使用T-SQL语言修改数据库
23
使用对象资源管理器修改数据库 演示操作
24
2.3.2 使用T-SQL语言修改数据库 filespec:file子句
ALTER DATABASE database { ADD FILE < filespec > [ ,...n ][TO FILEGROUP filegroup_name ] | ADD LOG FILE < filespec > [ ,...n ] | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE < filespec > | MODIFY NAME = new_dbname | MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name } | SET < optionspec > [ ,...n ] [ WITH < termination > ] | COLLATE < collation_name > } filespec:file子句 REMOVE:从系统中删除文件描述和物理文件
25
2.3.2 使用T-SQL语言修改数据库 例2.5 向数据库中添加文件。要求如下:
(1)在Exercise_db2数据库中添加一个新数据文件,数据文件的逻辑文件名、物理位置及文件名分别为Exe1dat1和D:\mydb\Exe1_dat1.NDF。 (2)数据文件初始大小为5MB,最大文件大小为30MB,自动增长量为2MB。 ALTER DATABASE Exercise_db2 ADD FILE ( NAME=Exe1dat1, FILENAME='f:\mydb\Exe1_dat1.NDF', SIZE=5MB, MAXSIZE=30MB, FILEGROWTH=2MB )
26
2.4 数据库的删除 2.4.1 使用图形界面方式删除数据库 2.4.2 使用T-SQL语言删除数据库
27
2.4.1使用图形界面方式删除数据库 勾选要删除的数据库 演示操作
28
2.4.2 使用T-SQL语言删除数据库 命令语法格式: 例2.6 删除Test_db1单个数据库。
DROP DATABASE database_name [ ,...n ] 例2.6 删除Test_db1单个数据库。 DROP DATABASE Test_db1 例2.11同时删除Test_db2和Test_db3多个数据库。 DROP DATABASE Test_db2,Test_db3
29
2.5 数据库的分离和附加 2.5.1 数据库的分离 2.5.2 数据库的附加
30
2.5.1 数据库的分离 数据库的分离就是将用户的数据库从SQL Server中删除,即从SQL Server服务器中分离出来,但是保持组成该数据的数据文件和事务日志文件中的数据完好无损,即数据库文件仍保留在磁盘上。 使用对象资源管理器分离数据库 演示操作
31
2.5.1 数据库的分离 使用系统存储过程sp_detach_db分离数据库
语法格式: sp_detach_db ] 'database_name' 例2.12将student_db 数据库从SQL Server 2008服务器中分离。 Use student_db --打开数据库student_db Go sp_detach_db 'student_db' GO 不是 Transact-SQL 语句;它是可由 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令。 表示当前批语句由上一 GO 命令后输入的所有语句组成
32
2.5.2 数据库的附加 附加数据库是分离数据库的逆操作,通过附加数据库,可以将没有加入SQL Server服务器的数据库文件添加到服务器中。 使用对象资源管理器附加数据库 注意: (1)在附加数据库时,当确定主数据文件的名称和物理位置后,与它相配套的事务日志文件(.LDF)也一并加入。 (2)将 SQL Server 2000 或SQL Server 2005 数据库附加到 SQL Server 2008 后,该数据库立即变为可用,然后自动升级。 演示操作 附加数据库出错,代码为5120的原因:是因为没有操作权限,所以附加的时候出错,只要设置数据库文件的安全属性即可。 解决办法: 1.打开该数据库文件的属性窗口,选择“属性”菜单->选择“安全”标签->选择“编辑”按钮。 2.在选择组或用户名列表中,选择Authenticated Users,在权限列表中选中完全控制。 3.选择"确定"按钮关闭对话框。 4.附加数据库,成功。
33
本章小结 (1)数据库的存储结构 (2)数据库的创建、修改、删除的几种方法 (3)数据库的分离和附加 逻辑存储结构,物理存储结构
分离数据库就是将某个数据库从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。 附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使用这个数据库。
Similar presentations