第3章 创建和管理数据库(第1-2讲)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.标识符分类 • 常规标识符:符合标识符的格式规则。 • 分隔标识符:包含在双引号(“”)或者方括号 ([ ])内的标识符。该标识符可以不符合标识 符的格式规则,如[MR GZGLXT]、MR和 GZGLXT之间含有空格,但因为使用了方 括号,所以视为分隔标识符。
3.2.2 实例命名规则
• 默认实例
3.1.4
系统数据库 P79
(1)Master 数据库
(2)Tempdb 数据库
(3)Model 数据库
(4)Msdb 数据库
3.1.4
Master
系统数据库 P79
系统信息 : 磁盘空间 ;文件分配和使用 ;系统级的配置参 数;登录账号信息 ;SQL Server初始化信息; 系统中其他系统数据库和用户数据库的相关信息 Model数据库存储了所有用户数据库和Tempdb数 据库的创建模板 通过更改Model数据库的设置可以大大简化数据 库及其对象的创建设置工作 存储计划信息以及与备份和还原相关的信息
[例3-1] 用SQL命令创建一个教学数据库Teach,数据 文件的逻辑名称为Teach_Data,数据文件物理地存 放在D:盘的根目录下,文件名为TeachData.mdf, 数据文件的初始存储空间大小为10MB,最大存储 空间为50MB,存储空间自动增长量为5MB;日志 文件的逻辑名称为Teach_Log,日志文件物理地存 放在D:盘的根目录下,文件名为TeachLog.ldf, 初始存储空间大小为10MB,最大存储空间为25MB, 存储空间自动增长量为5MB。
• 此实例由运行它的计算机的网络名称标识。使用以前版本 SQL Server客户端软件的应用程序可以连接到默认实例。 但是,一台计算机上每次只能有一个版本作为默认实例运 行。
• 命名实例
• 计算机可以同时运行任意个SQL Server命名实例。实例 通过计算机的网络名称加上实例名称以<计算机名称 >\<实例名称>格式进行标识,即 computer_name\instance_name,但该实例名不 能超过16个字符。
20
21
CREATE DATABASE Teach ON ( NAME=Teach_Data, FILENAME='D:\TeachData.mdf', SIZE=10, MAXSIZE=50, FILEGROWTH=5) LOG ON ( NAME=Teach_Log, FILENAME='D:\TeachLog.ldf', SIZE=5, MAXSIZE=25, FILEGROWTH=5)
3.3 数据库操作
• 3.3.1 创建数据库 1. 使用SSMS创建数据库
图3.2 创建数据库名称
2. 用SQL命令创建数据库 P82
CREATE DATABASE database_name [ ON [ < filespec > [ ,...n ] ] [ , < filegroup > [ ,...n ] ] ] [ LOG ON { < filespec > [ ,...n ] } ] [ COLLATE collation_name ] [ FOR LOAD | FOR ATTACH ]
22
[例3-2] 修改Teach数据库中的 Teach_Data文件增容方式为一 次增加2MB。
ALTER DATABASE Teach MODIFY FILE ( NAME = Teach_Data, FILEGROWTH = 2mb )
23
3.3.3 删除用户数据库
1.用SSMS删除数据库 2. 用SQL命令删除数据库
数据库组成
只有一个 可有多个
数据文件1 数据文件n 事务日志文件 …
存放数据库数据和数据库对象的文件 主要数据文件(.mdf ) +次要数据文件 (.ndf )
记录数据库更新情况,扩展名为.ldf 当数据库破坏时可以用事务日志 还原数据库内容
6
(2)文件组
文件组是数据文件的逻辑管理单位,用于将数据
3.3.2 修改数据库
1. 用SSMS 修改数据库 2. 用SQL命令修改数据库 P84
ALTER DATABASE database_name { ADD FILE <filespec> [,...n] [TO FILEGROUP filegroup_name] | ADD LOG FILE <filespec> [,...n] | REMOVE FILE logical_file_name [WITH DELETE] | 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 > }
用系统存储过程显示数据库结构
Sp_helpfile [[@filename =] 'name']
用系统存储过程显示文件信息 用系统存储过程显示文件组信息
Sp_helpfilegroup [[@filegroupname =] 'name']
25
如:EXEC Sp_helpdb Teach EXEC Sp_helpfile
•
本讲介绍使用Transact-SQL语句和使
用企业管理器创建数据库、修改数据库和 删除数据库的过程。
•
通过本讲的学习,同学们熟悉SQL Server 2008数据库的组成元素,并能够掌
握创建wk.baidu.com管理数据库的方法。
3.1 认识数据库 3.2 SQL Server的命名规范
3.3 数据库操作 3.4 数据表操作 3.5 表与表之间的关联
EXEC Sp_helpfilegroup
26
3.1.3
(1)文件
数据库组成
① 主要数据文件:存放数据和数据库的初
始化信息。每个数据库只有一个主数据文件,扩展 名为 .mdf。
② 次要数据文件:存放除主数据文件外的
所有数据文件,扩展名为.ndf。
③ 事务日志文件 :存放用于恢复数据库的
所有日志信息。至少有一个,扩展名为.ldf。
3.1.3
数据库
包含了一个公司的销售数据
重建实例数据库
• 安装目录\MSSQL\Install中:
Instpubs.sql Instnwnd.sql
11
3.2
SQL Server的命名规范
1.标识符格式
在定义标识符时必须遵守以下规定:
(1)标识符的首字符必须是下列字符之一。
统一码(Unicode)2.0标准中所定义的字母, 包括拉丁字母a-z和A-Z,以及来自其他语言的字符。 下划线“_”、符号“@”或者数字符号“#”。
(2)标识符的后续字符可以是以下3种。 统一码(Unicode)2.0标准中所定义的字 母。 来自拉丁字母或其他国家/地区脚本的十 进制数字。 “@”符号、美元符号“$”、数字符号“#” 或下划线“_”。
(3)标识符不允许是Transact-SQL的保留 字。 (4)不允许嵌入空格或其他特殊字符。
3.1
认识数据库
•
•
3.1.1 数据库基本概念
数据库(Data Base)是按照数据结 构来组织、存储和管理数据的仓库,是存 储在一起的相关数据的集合。
3.1.2
数据库常用对象
(1)表:包含数据库中所有数据的数据库
对象,由行和列组成,用于组织和存储数据。
(2)字段:表中每列称为一个字段。 (3)索引 (4)视图 (5)存储过程
DROP DATABASE database_name [,...n] [例3-3] 删除数据库Teach。 DROP DATABASE Teach
24
3.3.4 查看数据库信息
1. 用SSMS 查看数据库信息 2. 用系统存储过程显示数据库信息
Sp_helpdb [[@dbname=] 'name']
库文件分成不同的文件组,便于对文件的分配和管 理。
① 主文件组 :包含主要数据文件和任何没 有明确指定给其他文件组的文件。系统表的 所有页都分配在主文件组中。 ② 用户定义文件组 :在使用CREATE(ALTER)
DATABASE语句时,使用FILEGROUP关键字指定 的文件组。
对文件进行分组时,一定要遵循文件和 文件组的设计规则。 ① 文件只能是一个文件组的成员。 ② 文件或文件组不能由一个以上的数据 库使用。 ③ 数据和事务日志信息不能属于同一文 件或文件组。 ④ 日志文件不能作为文件组的一部分。 日志空间与数据空间分开管理。
系 统 默 认 数 据 库
Model
Msdb
Tempdb
10
Tempdb数据库用作系统的临时存储空间 存储临时表,临时存储过程和全局变量值 ,创建临 时表 ,存储用户利用游标说明所筛选出来的数据
3.1.1 SQL Server的实例数据库
实 例 数 据 库 pubs
虚构的图书出版公司的基本情况
Northwind