创建和管理数据库PPT课件_第1页
创建和管理数据库PPT课件_第2页
创建和管理数据库PPT课件_第3页
创建和管理数据库PPT课件_第4页
创建和管理数据库PPT课件_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

1 SQLServer2005数据库管理与开发教程 第3章创建和管理数据库 2 char储存固定长度的字符串最大长度8000个字节varcahr储存可变长度的字符串最大长度8000个字节nchar储存固定长度的unicode字符串最大长度为4000个字符 对中文字符识别转换较好 nvarchar储存可变长度的unicode字符串最大长度为4000个字符备注 有 var 前缀的都是可变的意思 就是说你在输入字符时可以输入任意长度不同的字符串另外 你存名字 中文名就用nvarchar吧英文名就用varchar吧 3 Unicode 统一码 万国码 单一码 是一种在计算机上使用的字符编码 它为每种语言中的每个字符设定了统一并且唯一的二进制编码 以满足跨语言 跨平台进行文本转换 处理的要求 1990年开始研发 1994年正式公布 随着计算机工作能力的增强 Unicode也在面世以来的十多年里得到普及 4 本章主要介绍使用Transact SQL语句和使用企业管理器创建数据库 修改数据库和删除数据库的过程 通过本章的学习 读者可以熟悉SQLServer2005数据库的组成元素 并能够掌握创建和管理数据库的方法 可以调用sp helpdb存储过程或使用企业管理器查看数据库参数等 5 6 3 1认识数据库 3 1 1数据库基本概念数据库 DataBase 是按照数据结构来组织 存储和管理数据的仓库 是存储在一起的相关数据的集合 7 数据结构 数据结构是计算机存储 组织数据的方式 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合 通常情况下 精心选择的数据结构可以带来更高的运行或者存储效率 数据结构 算法 程序数据结构 所谓结构就是组织形式 数据的结构就是数据怎么组织 即怎么描述 怎么在电脑中存储 不同类型的数据 它们的组织形式 数据结构 是不同的 如我们把一个班的学生按照学号排队 可以用 数组 来描述它 8 其优点主要体现在以下几方面 1 减少数据的冗余度 节省数据的存储空间 2 具有较高的数据独立性和易扩充性 3 实现数据资源的充分共享 9 下面介绍一下与数据库相关的几个概念 1 数据库系统 2 数据库管理系统 10 数据存取的物理构建 数据操纵功能 数据定义功能 数据库的运行管理 数据库的建立和维护功能 11 3 关系数据库 关系数据结构 关系操作集合 完整性约束 12 3 1 2数据库常用对象 1 表 2 字段 3 索引 4 视图 5 存储过程 13 3 1 3数据库组成 1 文件 主要数据文件 次要数据文件 事务日志文件 14 2 文件组 主文件组 用户定义文件组 15 对文件进行分组时 一定要遵循文件和文件组的设计规则 文件只能是一个文件组的成员 文件或文件组不能由一个以上的数据库使用 数据和事务日志信息不能属于同一文件或文件组 日志文件不能作为文件组的一部分 日志空间与数据空间分开管理 16 3 1 4系统数据库 1 Master数据库 2 Tempdb数据库 3 Model数据库 4 Msdb数据库 5 Mssqlsystemresource 资源 系统数据库 17 系统数据库与用户数据库在SQLServer2005中有两类数据库 系统数据库和用户数据库 系统数据库存储有关SQLServer的系统信息 它们是SQLServer2005管理数据库的依据 如果系统数据库遭到破坏 SQLServer将不能正常启动 在安装SQLServer2005时 系统将创建4个可见的系统数据库 master model msdb和tempdb 1 master数据库包含了SQLServer诸如登录账号 系统配置 数据库位置及数据库错误信息等 用于控制用户数据库和SQLServer的运行 2 model数据库为新创建的数据库提供模板 Model数据库是作为在系统上创建数据库的模板 当系统收到 CreateDATABASE 命令时 新创建的数据库的第一部分内容从Model数据库复制过来 剩余部分由空页填充 所以SQLServer数据中必须有Mode数据库 3 Msdb数据库供SQLServer代理程序调度警报和作业以及记录操作员时使用 比如 我们备份了一个数据库 会在表backupfile中插入一条记录 以记录相关的备份信息 4 tempdb数据库为临时表和临时存储过程提供存储空间 所有与系统连接的用户的临时表和临时存储过程都存储于该数据库中 18 Tempdb数据库在每次SQLServer启动的时候 都会清空该数据库中的内容 所以每次启动SQLServer后 该表都是干净的 临时表和存储过程在连接断开后会自动除去 而且当系统关闭后不会有任何活动连接 19 一个新的SQLServer2005安装总是包括四个数据库 master model tempdb和msdb 它也包含第五个 隐藏的 数据库 我们无法使用可以列出所有数据库的一般SQL命令来看到它 这个数据库被称为resource数据库 它的实际名字是mssqlsystemresource 20 mssqlsystemresource数据库是一个隐藏的数据库 并且通常被称为resource数据库 可执行的系统对象 例如系统存储过程和函数都存储在这里 微软创建它是为了允许非常快速和安全地更新 21 3 2创建数据库 T SQL用于创建数据库的语句是CREATEDATABASE 语法格式如下 22 CREATEDATABASEDATABASE NAME ON n n LOGON n COLLATEcollation name FORLOAD FORATTACH PRIMATR 23 NAME logical file name FILENAME os file name SIZE size MAXSIZE max size UNLIMITED FILEGROWTH growth increment n FILEGROUPfilegroup name n 24 database name数据库名称 不能超过128个字符 由于系统会在其后添加5个字符的逻辑后缀 因此实际能指定的字符数为123个 on指明数据库文件和文件组的明确定义 PRIMARY指明主数据库文件或主文件组 主文件组的第一个文件被认为是主数据库文件 其中包含了数据库的逻辑启动信息和数据库的系统表 如果没有PRIMARY项 则在CREATEDATABASE命令中列出的第一个文件将被默认为主文件 filespec文件说明 25 n占位符表明可以指定多个类似的对象 filegroupspec文件组说明 LOGON 指明事务日志文件的明确定义 如果没有LOGON选项 则系统会自动产生一个文件名前缀与数据库名相同 容量为所有数据库文件大小1 4的事务日志文件 COLLATE指明数据库使用的校验方式 collation name可以是Windows的校验方式名称 也可以是SQL校验方式名称 如果省略此子句 则数据库使用当前的SQLServer设置的校验方式 FORLOAD此选项是为了与SQLServer7 0以前的版本兼容而设定的 读者可以不用管它 RESTORE命令可以更好地实现此功能 26 FORATTACH用于附加已经存在的数据库文件到新的数据库中 而不用重新创建数据库文件 使用此命令必须指定主文件 被附加的数据库文件的代码页 CodePage 和排序次序 SortOrder 必须和目前SQLServer所使用的一致 建议使用sp attach db系统存储过程来代替此命令 关于sp attach db系统存储过程的用法请参见本章的第7节 移动和复制数据库 CREATEDATABASEFORATTACH命令只有在指定的文件数目超过16个时才必须使用 NAME指定文件在SQLServer中的逻辑名称 当时用FORATTACH选项时 就不需要使用NAME选项了 FILENAME指定文件在操作系统中存储的路径名和文件名称 27 1 使用默认值创建数据库 用户在使用CREATEDATABASE命令创建数据库时 除了指定数据库名称外 可以不用设定任何参数 所有参数均取默认值 所以新创建的数据库是由Model模板数据库复制过来的 其文件大小与Model中的设置完全相同 所创建的数据文件和日志均存放在SQLServer安装路径下 28 例如 在 master 数据库中 使用CREATEDATABASE命令创建一个名称为 STU 的数据库 SQL代码如下 CREATEDATABASESTU 29 例3 1 使用CREATEDATABASE命令创建一个数据库 30 图3 1创建一个名称为 mrgwh 的数据库 31 2 自定义选项创建数据库 自定义选项创建数据库是比较常用的创建数据库的一种方法 创建的数据文件 后缀名为 mdf 存储于SQLServer安装路径 D ProgramFiles Sqlserver MSSQL Data 下 而日志则存放在相同目录下的日志 后缀名为 ldb 中 32 例3 2 自定义选项创建数据库 图3 2自定义选项创建数据库 33 3 2 2使用企业管理器创建数据库 在SQLServer2005中 通过SQLServerManagementStudio可以创建数据库 用于存储数据及其他对象 如视图 索引 存储过程和触发器等 34 图3 3选择新建数据库 35 图3 4 常规 选项卡 36 例子 3 1分别用图形化方法和CREATEDATABASE语句创建符合如下条件的数据库 数据库的名字为 students数据文件的逻辑文件名为 students dat 物理文件名Students mdf 存放在D Test目录下 若D 中无此子目录 可先建立此目录 然后再创建数据库 文件的初始大小为 5MB 增长方式为自动增长 每次增加1MB 日志文件的逻辑文件名字为 students log 物理文件名students ldf 也存放在D Test目录下 日志文件的初始大小为 2MB 日志文件的增长方式为自动增长 每次增加10 37 createdatabasestudentson name student dat filename E Test student mdf size 5 filegrowth 1 logon name student log filename E Test student ndf size 2 filegrowth 10 38 分别用图形化方法和T SQL语句对例题所建的 students 数据库空间进行如下扩展 增加一个新的数据文件 文件的逻辑名为 students dat2 物理文件名students2 ndf 存放在D Test目录下 文件的初始大小为 2MB 不自动增长 39 ALTERDATABASEstudentsADDFILE NAME student dat2 FILENAME E Test student dat2 ndf SIZE 2MB 40 新添加的 students dat2 文件的初始大小改为6MB ALTERDATABASEstudentsMODIFYFILE NAME student dat2 SIZE 6MB 41 3 3修改数据库 3 3 1使用Transact SQL修改数据库T SQL中修改数据库的命令为ALTERDATABASE 42 语法格式如下 ALTERDATABASEDATABASE ADDFILE n TOFILEGROUPfilegroup name ADDLOGFILE n REMOVEFILElogical file name ADDFILEGROUPfilegroup name REMOVEFILEGROUPfilegroup name 43 MODIFYFILE MODIFYNAME new dbname MODIFYFILEGROUPfilegroup name filegroup property NAME new filegroup name SET n WITH COLLATE 44 1 修改数据库时修改数据库大小 可以使用ALTERDATABASE命令修改数据库的大小 例3 3 使用ALTERDATABASE MODIFY命令删除数据库的文件 45 图3 5修改数据库的大小 46 2 修改数据库时缩小数据库 1 可以调用T SQL的命令DBCCSHRINKDATABASE缩小过于庞大的数据库 以回收没有使用的数据页 47 DBCCSHRINKDATABASE的语法格式如下 DBCCSHRINKDATABASE database name target percent NOTRUNCATE TRUNCATEONLY 48 例3 4 使用DBCCSHRINKDATABASE命令缩小数据库的文件 49 图3 6缩小gwh数据库的大小 50 2 可以使用DBCCSHRINKFILE命令收缩相关数据库的指定数据文件或日志文件大小 51 DBCCSHRINKFILE的语法格式如下 DBCCSHRINKFILE file name target size EMPTYFILE NOTRUNCATE TRUNCATEONLY 52 例3 5 使用DBCCSHRINKFILE命令缩小joy文件 53 图3 7使用DBCCSHRINKFILE命令缩小joy文件 54 3 修改数据库时将数据库更名 系统存储过程sp renamedb可以修改数据库的名字 语法格式如下 sp renamedb dbname old name newname new name 55 例3 6 将数据库名称 mr 更名为 mrsoft 56 图3 8将数据库名称 mr 更名为 mrsoft 57 3 3 2使用企业管理器修改数据库 数据库创建完成以后 用户在使用过程中可以根据需要对其原始定义进行修改 58 修改的内容主要包括以下几项 1 扩展数据库 2 收缩数据库 3 添加和删除文件 数据文件和事务日志文件 4 创建文件组 5 创建默认文件组 6 更改数据库所有者 59 图3 9选择数据库属性 60 图3 10 文件 选项卡 61 图3 11选择数据库所有者 62 图3 12 查找对象 对话框 63 3 4删除数据库 3 4 1使用Transact SQL删除数据库DROPDATABASE命令可以删除一个或多个数据库 当某一个数据库被删除后 这个数据库的所有对象和数据都将被删除 所有日志文件和数据文件也都将删除 所占用的空间将会释放给操作系统 64 语法格式如下 DROPDATABASEdatabase name n 65 图3 13删除正在使用的数据库 系统会报错 66 1 使用DROPDATABASE命令删除一个数据库 例3 7 使用DROPDATABASE命令删除数据库 67 图3 14删除 teacher 数据库 68 2 使用DROPDATABASE命令批量删除数据库 DROPDATABASE学生管理 住房信息管理DROPDATABASEstudent stu goods shopping 69 例3 8 使用DROPDATABASE命令将 hello every 和 person 这3个数据库批量删除 70 图3 15批量删除数据库 71 3 4 2使用企业管理器删除数据库 如果用户不再需要某

温馨提示

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

评论

0/150

提交评论