《数据库的建立与维护ppt课件.pptx》由会员分享,可在线阅读,更多相关《数据库的建立与维护ppt课件.pptx(47页珍藏版)》请在金锄头文库上搜索。
1、第 2 章 数据库的建立与维护 1 在SQL Server 2008中 用户要访问并使用数据库 需要正确了解数据库中所有对象及其设置 数据库就像一个容器 它里面除了存放着数据的表 之外 还有视图 存储过程 触发器 约束等数据库对 象 本章主要学习SQL Server 2008数据库的创建 配置 和管理数据库 包括设置数据库的大小 规划数据库文 件的存储位置 设置和修改数据库的属性及状态 以及 如何对数据库中的物理空间进行科学的设置 2 本章的学习目标 l了解系统数据库的作用 l了解数据库对象及构成 l掌握用SSMS和T SQL创建数据库的方法 l掌握用SSMS和T SQL修改 删除数据库的操作
2、 l掌握如何查看数据库状态 l熟悉如何对数据库中的物理空间进行科学的设置 l掌握数据库的分离和附加 3 n数据库的存储结构分为逻辑存储结构和物理存 储结构 q逻辑存储结构是指数据库的性质信息 数据库由 各种不同的数据对象 如表 视图 索引等 组 成 它们分别存储数据库的特定信息 构成了数 据库的逻辑存储结构 q物理存储结构是指磁盘上存储的数据库文件 数 据库文件有数据文件和事务日志组成 保存在物 理介质上 2 1 数据库的组成 4 2 1 1 系统数据库 系统数据库有 master model msdb tempdb和 resource数据库 用户不要随意修改系统数据库 1 master数据库
3、 Master数据库用于记录SQL Server实例的所有系 统级信息 是SQL Server的核心 不能对其进行直接 修改 应当对其定期进行备份 如果Master数据库变 得不可用 那么SQL Server数据库引擎将无法启动 master数据库始终有一个可用的最新的master数据库 备份 5 2 model数据库 model数据库用作SQL Server实例上创建的所有数 据库的模板 创建数据库时 新数据库通过复制model 数据库中的内容创建 剩余部分由空白页填充 如果修改model数据库 之后创建的所有数据库都 将继承这些修改 即model数据库中的所有用户定义的 对象都将复制到所有
4、新创建的数据库中 可以向model 数据库中添加任何对象 如 表 视图 存储过程等 以便将这些对象包含到所有新创建的数据库中 6 3 msdb数据库 msdb数据库供 SQL Server代理程序调度警报和作业以及 记录操作员时使用 例如 SQL Server在 msdb 中的表中自动保留一份完整的 联机备份与还原历史记录 这些信息包括执行备份一方的名 称 备份时间和用来存储备份的设备或文件 SQL Server Management Studio 利用这些信息来提出计划 以还原数据库 和应用任何事务日志备份 该库还将会记录有关所有数据库的备份事件 例如 如果 使用调用 SQL Server
5、管理对象的 VB 应用程序执行备份操作 则事件将记录在 msdb 系统表 Microsoft Windows 应用程 序日志和 SQL Server 错误日志中 默认情况下 msdb 使用简单恢复模式 如果使用备份和 还原历史记录表 建议对 msdb 使用完整恢复模式 7 4 tempdb数据库 tempdb数据库是一个临时数据库 用于保存临时对象 或中间结果集 满足临时存储要求 tempdb数据库在SQL Server每次启动时都重新创建 临时表和临时存储过程在连接断开时自动除去 而且当系 统关闭后将没有任何连接处于活动状态 每次启动数据库引擎时 tempdb数据库会重置为其 初始大小 在S
6、QL Server运行时 该库会根据需要自动增 长 8 5 resource数据库 resource数据库是一个只读和隐藏的数据库 它包含 了SQL Server 2008中的所有系统对象 这些系统对象 例如 sys objects 在物理上保留在 Resource 数据库中 但在逻辑上显示在每个数据库的 sys 架构中 Resource 数据库的物理文件名为 mssqlsystemresource mdf和mssqlsystemresource ldf 这些文件位于 Program Files Microsoft SQL Server MSSQL10 MSSQL Binn 中 每 个 SQL
7、 Server 实例都具有一个 也是唯一的一个 关联 的 mssqlsystemresource mdf 文件 并且实例间不共享 此文件 9 2 1 2 用户数据库 n用户数据库是用户根据自己的管理需求创建的数据库 便于自己管理相应的数据 例如 图书馆可以针对 图书的管理创建图书管理数据库 大型超市可以针对 货品创建超市管理数据库等 10 2 1 3 示例数据库 示例数据库是系统为了让用户学习和理解SQL Server而设计的 Northwind和pubs是SQL Server 2000 中的示例数据库 pubs是以一个图书出版公司为模型的 示例库 Northwind 是一个有关销售的示例库
8、AdventureWorks是SQL Server2005中的示例数据库 该 库基于的虚拟公司是一家大型跨国生产公司 公司生产 金属和复合材料的自行车 产品远销美欧亚市场 公司 总部设在华盛顿州的伯瑟尔市 拥有活跃在世界各地的 销售团队 约有290名雇员 SQL Server2008不再安装示例数据库 但可以根据 自己的需要附加以上数据库 11 2 1 4 数据库文件及其文件组 n文件 q 数据库有3种类型的文件 l主数据文件 默认的扩展名为 mdf l次要数据文件 默认的扩展名为 ndf l日志文件 默认的扩展名为 ldf q数据库中存放数据文件和日志文件的默认位置为 C Program F
9、iles Microsoft SQL Server MSSQL10 MSSQLSERVER MSSQL DATA文件夹下 12 q主数据文件 主数据文件用来存放数据 它还包含其它数据库文 件的指针 它是数据库的起点 主数据文件包含一些系统表 这些表记录了数据库 对象及其他文件的位置信息 一个数据库必须有且只有一个主数据文件 主数 据文件的扩展名为 MDF 13 q次要数据文件 次要数据文件也用来存放数据 如果主数据文 件可包括数据库中的所有数据就不需要次数据文件 如果主数据文件太大或要扩展到多个磁盘 则需次要 数据文件 一个数据库可有多个或没有次要数据文件 次 要数据文件的扩展名为 NDF 1
10、4 q事务日志文件 事务是用户定义的一个数据库操作序列 这些操作 要么全做要么全不做 事务日志文件用来存放事务日志 即存储所有事务 和由这些事务引起的数据库的变化 用于恢复数据 库 一个数据库有一个或多个事务日志文件 日志文件 的扩展名为 LDF 建立好数据库之后 在进行具体的操作之前应当首 先配置事务日志 事务日志文件记录SQL Server 对这 个数据库的操作 以便于在系统出现故障时恢复数据 库 15 q事务日志支持的操作 l恢复个别的事务 lSQL Server启动时恢复所有未完成的事务 l将还原的数据库 文件 文件组或页回滚到故障点 l支持事务复制 l支持备用服务器解决方案 16 q
11、事务日志的特征 l事务日志是作为数据库中的单独的文件或一组文 件实现的 日志缓存与数据页缓存分开管理 l日志记录和页的格式不必遵守数据页的格式 l事务日志可以在几个文件上实现 17 q事务日志提供容错的机制 在SQL Server中 事务是指一次完成的操作 的集合 虽然一个事务中可能包含了很多的SQL 语句 但是在处理上 它们就像是一个操作一 样 为了维护数据库的完整性 它们必须彻底完 成或者根本不执行 如果一个事务只是部分执行 则数据库将受到损坏 18 q事务日志防止没有完成的事务破坏数据的步骤 1 用户执行修改数据库对象的任务 2 当这个事务开始时 在事务日志中会记录一个事 务的开始标记
12、并将与此操作相关的数据写入缓冲 区 3 在日志中记录每一个操作 然后在日志中记录一 个提交事务的标志 并将日志记录立即写到硬盘 上 4 在缓冲区中修改相应的数据 直到检查点进程发 生 才将数据写到硬盘上 同时在日志中写入一个 检查点记录 5 如果发生系统故障 在服务器恢复正常后 SQL Server会自动利用事务日志进行恢复 保证数 据库的完整性 19 q事务日志和数据分开存储的优点 l事务日志可以单独备份 l在服务器失效的事件中有可能将服务器恢复到最近 的状态 l事务日志不会抢占数据库的空间 l可以很容易地检测事务日志的空间 l在向数据库和事务日志中写入时会较少产生冲突 20 n文件组 文件
13、组就是文件的逻辑集合 文件组分为主要文 件组 用户定义文件组和默认文件组 文件组用于文 件的分配和管理 q主文件组primary 主文件组包含主数据文件和任何没有明确分配给 其他文件组的文件 系统表的所有页均分配在主文件 组中 q用户定义文件组 用户自己定义的文件组 可通过在CREATE DATABASE或ALTER DATABASE语句中使用FILEGROUP关键 字指定的任何文件组 也可在 数据库属性 窗口中 创建 21 n创建数据库应遵循的原则 q 一个数据库均有一个文件组被指定为默认文件组 未指定则主文件组为默认文件组 如果创建表或索 引时未指定文件组 则将假定所有页都从默认文件 组分
14、配 一次只能有一个文件组为默认文件组 q 一个文件或文件组只能被一个数据库使用 q 一个文件只能属于一个文件组 q 日志文件不能属于文件组 22 n2 1 5 查看数据库 q查看数据库对象 l1 表 表是包含数据库中所有数据的数据库对象 由行和 列组成 用于组织和存储数据 表中每一行称为一条记录 表中每列称为一个字段 字段具有自己的属性 字段的常用类型 字符型 文本型 数值型 逻辑 型和日期型 查看表结构与表内容 23 l2 数据库关系图 数据库关系图是指数据库中表之间的联系图 24 l3 索引 索引是一个单独的数据结构 它是依赖于表建 立的 是数据的逻辑排序 可加快查找速度 查看索引 l4
15、视图 视图是从一个或多个表中导出的表 也称虚拟表 数据库中并不存放视图的数据 只存放其定义 视图中看到的记录数据由某些表 一般是多个 的某些字段组成 查看视图的定义 查看视图数据 25 l5 存储过程 存储过程是一组为了完成特定功能的SQL语句 集合 经编译后存储在服务器端的数据库中 由用 户通过指定存储过程的名称来执行 查看存储过程 l6 触发器 触发器是一种特殊类型的存储过程 它能够 在某个规定的事件发生时触发执行 通常用来保持 数据完整性和检查数据的有效性 查看触发器 26 l7 用户和角色 用户是对数据库有存取权限的使用者 角色是指 一组数据库用户的集合 数据库中的角色可以根据需 要添
16、加 用户如果被加入到某一角色 则将具有该角 色拥有的权限 用户dbo database owner 是具有在数据库中 执行所有活动的暗示性权限的用户 无法删除 dbo 用户 且此用户始终出现在每个数据库中 查看用户和角色 27 l8 架构 架构是单个用户所拥有的数据库对象的集合 这些对象形成单个命名空间 命名空间是一组名称 不重复的对象 例如 为了避免名称冲突 同 一架构中不能有两个同名的表 两个表只有在位于 不同的架构中时才可以同名 数据库对象由架构所拥有 而架构由数据库用 户或角色所拥有 当架构的所有者离开单位时 可 在删除离开的用户之前将该架构的所有权移交给新 的用户或角色 查看数据库架构 28 q查看数据库属性 如打开 数据库属性 对话框查看AdventureWorks数据 库内容 u 常规 选项卡 可查看数据库的所有者 创建时 间 大小 可用空间和用户数等 u 文件 选项卡 可查看数据库文件的逻辑名称 文件类型 所属文件组 初始大小 自动增长 路 径和物理名称等 u 文件组 选项卡 可查看各文件组及文件组中的 文件数 29 n数据库存储结构 q页和区 页和区是SQL Serv