SQL第2章创建管理数据库.ppt_第1页
SQL第2章创建管理数据库.ppt_第2页
SQL第2章创建管理数据库.ppt_第3页
SQL第2章创建管理数据库.ppt_第4页
SQL第2章创建管理数据库.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 Sqlserver2005程序设计与管理基础 Sqlserver2005程序设计与管理基础 第2章创建管理数据库 2 第2章创建管理数据库 2 1SQLSERVER数据库的结构2 2创建数据库2 3管理数据库2 4分离和附加数据库 3 2 1SQLSERVER数据库结构 2 1 1SQLServer的数据库的结构2 1 2SQLServer的数据文件及文件组2 1 3SQLServer的事务日志2 1 4SQLServer的系统数据库 4 2 1 1SQLServer的数据库的结构 1 SQLServer的数据库数据库的数据按不同形式组织在一起 构成了不同的数据库对象 以二维表的形式组织在一起的数据构成了数据库的表对象 数据库是数据库对象的容器 用SSMS连接到数据库看到的都是逻辑对象 不是存放在物理磁盘上的文件 数据库对象没有对应的磁盘文件 整个数据库对应磁盘上的文件与文件组 5 2 1 1SQLServer的数据库的结构 6 数据库 2 1 1SQLServer的数据库的结构 图2 2数据库结构图 7 2 1SQLSERVER数据库结构 2 1 1SQLServer的数据库的结构2 1 2SQLServer的数据文件及文件组2 1 3SQLServer的事务日志2 1 4SQLServer的系统数据库 8 2 1 2SQLServer数据库文件及文件组 SQLServer的数据库文件的三种类型1 主数据文件 Primaryfile 用来存储数据库的数据和数据库的启动信息 每个数据库必须并且只有一个主数据文件 其扩展名为 MDF 实际的文件都有两种名称 操作系统文件名和逻辑文件名 T SQL语句中使用 9 2 1 2SQLServer数据库文件及文件组 2 辅助数据文件 Secondaryfile 用来存储数据库的数据 使用辅助数据库文件可以扩展存储空间 如果数据库用一个主数据文件和多个辅助数据文件来存放数据 并将它们放在不同的物理磁盘上 数据库的总容量就是这几个磁盘容量的和 辅助数据文件的扩展名为 NDF 10 2 1 2SQLServer数据库文件及文件组 3 事务日志文件 Transactionlog 用来存放数据库的事务日志 凡是对数据库进行的增 删 改等操作 都会记录在事务日志文件中 当数据库被破坏时可以利用事务日志文件恢复数据库的数据 每个数据库至少要有一个事务日志文件 事务日志文件的扩展名为 LDF 11 2 1 2SQLServer数据库文件及文件组 4 文件组文件组的概念文件组是SQLServer中一个或多个文件的命名集合 它构成分配或用于数据库管理的单个单元 文件组的使用场合当有多个磁盘 希望把文件分布在这些磁盘上以提高性能 Student数据库 Student 1 mdf Student 2 ndf Student 3 ndf Student log ldf C盘 d盘 e盘 f盘 primary Studgrp Studgrp 12 2 1 2SQLServer数据库文件及文件组 文件组的作用 当对数据库对象写操作时 数据库会根据组内数据文件的大小 按比例写入组内所有数据文件中 当查询数据时 系统会创建多个单独的线程来并行读取分配在不同物理磁盘上的每个文件 从一定程度上提高了查询速度 13 文件组的类型 主文件组和用户定义文件组主文件组 包含主文件的文件组为主文件组如果主文件组空间耗尽 那么将不能向系统表添加新目录信息只要在下列情况下 主文件组才会填满 关闭了自动增长选项 或者含有主文件组中文件的所有磁盘空间耗尽 如果发生主文件组满的情况 要么重新打开自动增长 要么将其它文件从磁盘上移走以释放更多的空间 用户定义的文件组 指在首次创建或以后更改数据库时 用户明确创建的任何文件组 如果用户定义的文件组填满 那么只有明确地分配到该文件组的用户表会受到影响 2 1 2SQLServer数据库文件及文件组 14 指定默认的文件组数据库建立时的默认文件组为主文件组未指定文件组的对象都将放到默认文件组中在任何时候 有且仅有一个文件组被指定为DEFAULT文件组指定默认文件组的方法 Alterdatabase数据库名modifyfilegroup文件组名default查看文件组信息 2 1 2SQLServer数据库文件及文件组 15 2 1SQLSERVER数据库结构 2 1 1SQLServer的数据库的结构2 1 2SQLServer的数据文件及文件组2 1 3SQLServer的事务日志2 1 4SQLServer的系统数据库 16 2 1 3SQLServer的事务日志 1 事务是一组T SQL语句的集合 这组语句作为单个的工作与恢复的单元 事务作为一个整体来执行 对于其数据的修改 要么全都执行 要么全都不执行 2 事务日志是数据库中已发生的所有修改和执行每次修改的事务的一连串记录 3 事务日志记录更改数据的流程 17 2 1SQLSERVER数据库结构 2 1 1SQLServer的数据库的结构2 1 2SQLServer的数据文件及文件组2 1 3SQLServer的事务日志2 1 4SQLServer的系统数据库 18 2 1 4SQLServer的系统数据库 SQLserver2005的系统构成数据库分为两类有系统数据库和用户数据库 当安装完成后系统会自动创建四个系统数据库 并且在其中定义了若干个系统表和系统的存储过程 下面分别介绍系统中的四个系统数据库 这四个数据库分别是master model tempb msdb 19 2 1 4SQLServer的系统数据库 1 master数据库此数据库记录了SQLserver2005的所有的服务器机系统信息 所有的注册账户和密码以及所有的系统设置信息等大量对对系统至关重要的信息 是系统的关键性所在 所以他一旦受到破坏 可能会导致这个系统的瘫痪 2 model数据库为用户提供了模板和原型包含了每一用户数据库所需要的系统表 它的定制结构可以被更改 因为每当用户创建新的数据库时 都是复制model数据库的模板 所以所作的所有更改都将反映到用户数据库当中 20 2 1 4SQLServer的系统数据库 3 tempdb数据库此数据库保存所有的临时性表和临时存储过程 并满足任何其他的临时存储要求 tempdb数据库是全局资源 在每次启动时都重新创建 在用户离开或系统关机时 临时数据库中的临时表将被删除 4 msdb数据库此数据库用来存储计划信息 备份和恢复相关信息 SQLserver代理程序调度报警和作业调度等操作 21 第2章创建管理数据库 2 1SQLSERVER数据库的结构2 2创建数据库2 3管理数据库2 4分离和附加数据库 22 2 2创建数据库 2 2 1用SSMS图形界面创建数据库2 2 2用T SQL命令创建数据库 23 2 2 1用SSMS图形界面创建数据库 例1 运用SSMS建立STUDENT数据库 1 数据库的文件名为STUDENT DATA 物理文件名为E SQL STUDENT DATA MDF 初始大小为3MB 文件组为PRIMARY 文件属性为文件自动增长 文件增长限制为20MB 2 日志文件为STUDENT LOG 物理文件名为E SQL STUDENT LOG LDF 初始大小为1MB 3 辅助数据文件为STUDENT DATA1物理文件名为E SQL STUDENT DATA1 NDF 初始大小为1MB 文件组为PRIMARY 文件属性为文件自动增长 文件增长限制为20MB 24 练习 用SSMS创建职工信息管理数据库 数据库名为employee 将数据文件和日志文件存放在e sql中 并设置数据文件大小为3MB 文件增长率为15 日志文件大小为1MB 文件增长率为10 25 2 2创建数据库 2 2 1用SSMS图形界面创建数据库2 2 2用T SQL命令创建数据库 26 2 2 2用T SQL命令创建数据库 使用Transact SQL语言创建数据库 语法如下 CREATEDATABASEdatabase name ON PRIMARY FILEGROUPgroupname NAME logical file name FILENAME os file name SIZE size MAXSIZE max size UNLIMITED FILEGROWTH grow increment n LOGON NAME logical file name FILENAME os file name SIZE size MAXSIZE max size UNLIMITED FILEGROWTH growth increment n 27 2 2 2用T SQL命令创建数据库 各参数说明如下 database name 要建立的数据库名称 PRIMARY 该参数在主文件组中指定文件 若没有指定PRIMARY关键字 该语句中列的第一个文件成为主文件LOGON 指定建立数据库的事务日志文件 NAME 指定数据或事务日志文件的名称 FLENAEM 指定文件的操作系统文件名称和路径 os file name中的路径必须为安装SQL服务器的计算机上的文件夹 28 2 2 2用T SQL命令创建数据库 SIZE 指定数据或日志文件的大小 单位可以用KB MB等 MAXSIZE 指定文件能够增长到的最大长度 单位可以用KB MB等 如果没有指定最大长度 文件将一直增长到磁盘满为止 FILEGROWTH 指定文件的增长量 该参数不能超过MAXSIZE的值 默认单位在KB 也可以指定用MB单位 也可以使用百分比 如果没指定参数 默认百分之十 最小64K 29 2 2 2用T SQL命令创建数据库 例2 用T SQL语句创建学生信息管理数据库 数据库名为student 将数据文件和日志文件存放在d stud中 数据文件和日志文件的初始大小为3MB 增长幅度为1MB 文件大小限制为20MB 30 2 2 2用T SQL命令创建数据库 CREATEDATABASEstudentON NAME student data FILENAME d stud student data mdf SIZE 3MB FILEGROWTH 1MB MAXSIZE 20MB LOGON NAME student log FILENAME d stud student log ldf SIZE 3MB FILEGROWTH 1MB MAXSIZE 20MB GO 31 课堂练习 1 创建图书数据库BOOK 数据库文件和事务日志文件放在指定目录下 E SQL book data 数据库文件和事务日志文件大小扩充方式和容量 初始大小3MB 增长幅度为1MB 文件大小限制为20MB 32 2 2 2用T SQL命令创建数据库 例3 某公司生产许多产品 数据量大 需要建立产品信息数据库 数据库命名为product 其数据文件和事务文件分别需要3个 文件信息为 33 2 2 2用T SQL命令创建数据库 CREATEDATABASEproductONPRIMARY NAME p1 DATA FILENAME d product product DATA1 mdf SIZE 3MB FILEGROWTH 15 FILEGROUPUSERGROUP NAME p2 DATA FILENAME d product product DATA2 ndf SIZE 3MB MAXSIZE 10MB FILEGROWTH 15 NAME p3 DATA FILENAME d product product DATA3 ndf SIZE 3MB MAXSIZE 20MB FILEGROWTH 15 34 2 2 2用T SQL命令创建数据库 LOGON NAME p1 log FILENAME d product product log1 ldf SIZE 2MB FILEGROWTH 10 NAME p2 log FILENAME d product product log2 ldf SIZE 2MB FILEGROWTH 10 GO 35 第2章创建管理数据库 2 1SQLSERVER数据库的结构2 2创建数据库2 3管理数据库2 4分离和附加数据库 36 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 37 2 3 1打开数据库 1 在SSMS中打开数据库 单击要打开的数据库即可 2 在 SQL语句编辑器 中 使用USE语句打开并切换数据库 语法为 USEdatabase name3 在 SQL语句编辑器 中 直接通过数据库下拉列表框打开并切换数据库 38 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 39 2 3 2查看数据库信息 1 用T SQL命令查看数据库信息语法格式为 EXECUTE sp helpdbdatabase name例6 查看数据库northwind信息 EXECsp helpdb northwind 40 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 41 2 3 3数据库更名 1 语法格式 alterdatabasedatabase namemodifyname new database name例7 更改数据库 student 的名称为 stud 命令语句如下 USEmasterGOALTERDATABASEstudentMODIFYNAME studGO 42 2 3 3数据库更名 2 存储过程语法格式 EXECsp renamedboldname newname例8 更改数据库 stud 的名称为 student 命令语句如下 EXECsp renamedbstud studentGO 43 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 44 2 3 4修改数据库 2 3 4 1增加数据库容量2 3 4 2增加数据库文件或文件组 45 2 3 4 1增加数据库容量 1 使用SSMS增加数据库容量在SSMS右击要增加容量的数据库 如 student 数据库 弹出快捷菜单 选择属性命令 打开student数据库的属性对话框 在属性对话框中对数据库文件的分配空间进行重新设定 注意 重新指定的数据库分配空间必须大于现有空间 否则不会对该文件的大小进行修改并提示出错信息 46 2 3 4 1增加数据库容量 2 增加数据库容量的T SQL语句为 ALTERDATABASEdatabase nameMODIFYFILE NAME file name SIZE newsize 47 2 3 4 1增加数据库容量 例9 为STUDENT数据库增加容量 原数据库文件STUDENT DATA的初始分配空间为3M 现在将STUDENT DATA的分配空间增加至5M 增长率为15 操作命令如下 USEmasterGOALTERDATABASEstudentMODIFYFILE NAME student data SIZE 5MBFILEGROWTH 15 48 2 3 4 2增加数据库文件或文件组 1 使用T SQL语句增加数据库文件组 ALTERDATABASEdatabase nameADDFILEGROUPgroupname 2 增加数据库文件 到某个组中 T SQL语句为 ALTERDATABASEdatabase nameADD LOG FILE NAME file name FILENAME os file name SIZE newsize MAXSIZE maxsize FILEGROWTH file increatment TOFILEGROUPgroupname 49 2 3 4 2增加数据库文件或文件组 例10 使用T SQL语句修改学生信息管理数据库 在该数据库下增加一个数据文件student data2 ndf 存放在d student下 文件初始大小为2mb 增长率为15 T SQL语句为 AlterdatabasestudentAddfile name student data2 Filename d student student data2 ndf Size 2mb Filegrowth 15 Go 50 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 51 2 3 5收缩数据库 收缩数据库容量1 使用SSMS收缩数据库容量在SSMS右击要增加容量的数据库 如 student 数据库 弹出快捷菜单 选择属性命令 打开student数据库的属性对话框 在属性对话框中选择 选项 页 选择 其它选项 中的 自动 将其自动收缩属性设置为 true 52 2 3 5收缩数据库 2 使用T SQL语句收缩数据库DBCCSHRINKDATABASE语句DBCCSHRINKDATABASE 数据库名 目标百分比 NOTRUNCATE TRUNCATEONLY 目标百分比 指收缩后文件中的可用空间大小所占的百分比 如果不给出目标百分比 则数据库的容量收缩至最小 NOTRUNCATE选项 执行收缩时将实际数据移动 而文件末尾的可用空间不释放给操作系统 文件的物理大小不会更改 数据文件好像没有收缩 TRUNCATEONLY选项 将文件末尾的所有可用空间收回给操作系统 但在文件内不执行任何页移动操作 指定的文件只能收缩到上一次分配的大小收缩后的数据库不能比model数据库更小 且收缩后的目标大小始终不小于文件的最小大小 53 2 3 5收缩数据库 例11 使用T SQL语句收缩学生信息管理数据库student容量至最小 在收缩数据库前将此数据库设定为单用户模式 EXECSP dboption student singleuser true goDBCCSHRINKDATABASE STUDENT GOEXECSP dboption student singleuser false go 54 3 收缩数据库中的一个数据文件使用SSMS收缩数据文件DBCCSHRINKFILE语句DBCCSHRINKFILE 文件名 文件id 目标大小 EMPTYFILE NOTRUNCATE TRUNCATEONLY EMPTYFILE注意 将所有数据从指定文件中迁移到同一文件组中的其它文件 该选项允许使用ALTERDATABASE语句除去文件 如果想删除以被清空的数据库文件 可以使用如下T SQL命令语句 ALTERDATABASEdatabase nameREMOVEFILEfile name 2 3 5收缩数据库 55 2 3 5收缩数据库 例12 使用T SQL语句修改学生信息管理数据库 清空 移动 数据文student data2 ndf中的数据到同文件组中的其他文件中 并删除该数据文件 实现的T SQL语句 DBCCSHRINKFILE student data2 emptyfile GOALTERDATABASEstudentREMOVEFILEstudent data2GO 56 2 3 5收缩数据库 4 自动收缩数据库ALTERDATABASE数据库名SETAUTO SHRINKON OFF 57 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 58 2 3 6修改数据库选项 1 使用SSMS设定和修改数据库选项2 使用T SQL语句查看和设定数据库的选项1 查看数据库选项可以使用系统存储过程 语句如下 EXECsp dboption database name 2 修改数据库选项可以使用存储过程 命令格式如下 EXECsp dboption database name option name TRUE FALSE 59 2 3 6设定修改数据库选项 例13 查看数据库 student 的选项 命令语句如下 EXECsp dboption student GO例14 更改数据库student为只读状态 命令语句如下 EXECsp dboption student readonly TRUEGO 60 2 3管理数据库 2 3 1打开数据库2 3 2查看数据库2 3 3数据库更名2 3 4修改数据库2 3 5收缩数据库2 3 6修改数据库选项2 3 7数据库的删除 61 2 3 7删除数据库 1 使用SSMS对象资源管理器删除数据库在SSMS对象资源管理器中展开 数据库 文件夹 单击要删除的数据库 如 student 单击鼠标右键 在弹出的菜单中单击 删除 命令 62 2 3 7删除数据库 2 使用T SQL语句删除数据库语法格式为 DROPDATABASEdatabase name database name 3 使用系统存储过程删除数据库Execsp dbremovedatabase name注意 任何时候删除数据库前都应备份数据库master 无法删除系统数据库msdb model master tempdb 63 2 3 7删除数据库 例15 使用T SQL语句与或系统存储过程删除student数据库 实现的T SQL语句 DropdatabasestudentGO或EXECsp dbremovestudentGO 64 第2章创建管理数据库 2 1SQLSERVER数据库的结构2 2创建数据库2 3管理数据库2 4分离和附加数据库 65 2 4分离和附加数据库 SQLServer2005允许分离数据库的数据和事务日志

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论