狠狠撸

狠狠撸Share a Scribd company logo
第 4 章  SQL Server 数据库的管理
本章内容 4.1  SQL Server 数据库概述 4.2  数据库的创建 4.3  数据库的修改 4.4  数据库的删除
4.1  SQL Server 数据库概述 SQL Server 中的数据库  数据库的逻辑组件 ( 数据库对象 ) …  Sales 数据库 SQL Server 表 视图 数据库的物理实现 ( 数据库文件 ) … SalesDat1.mdf SalesDat2.ndf SalesLog1.ldf 主数据文件 次数据文件 日志文件 索引 存储过程 用户视图 物理视图 图 4-1  数据库的用户视图和物理视图
4.1  SQL Server 数据库概述 1. SQL Server 中的数据库对象 SQL Server 提供了很多逻辑组件,这些逻辑组件通常被称为数据库对象。  保障数据安全的基础。 登录、用户、角色和组 确保数据库的数据完整性; 强制执行业务规则。 约束、规则、默认值和触发器 提高性能;封装数据库的部分或全部细节;帮助在不同的数据库应用程序之间实现一致的逻辑。 存储过程 加快从表或视图中检索数据的效率。 索引 定制复杂或常用的查询,以便用户使用;限定用户只能查看表中的特定行或列;为用户提供统计数据而不展示细节。 视图 数据库中数据的实际存放处所。 表 作用 对象
4.1  SQL Server 数据库概述 2. SQL Server 中的数据库文件 主数据文件 *.mdf 仅有一个 事务日志文件 *.ldf 一到多个 次数据文件 *.ndf 零到多个 次数据文件 *.ndf 零到多个 ( 仅有一个 ) 主文件组 ( 零到多个 ) 次文件组 事务日志 一个数据库的文件集 图 4-2  数据库的文件组成
4.1  SQL Server 数据库概述 (1) 数据文件 数据文件是存放数据和数据库对象的文件。一个数据库可以有一个或多个数据文件,每个数据文件只属于一个数据库。当有多个数据文件时,有一个文件被定义为主数据文件 (Primary Database File) ,扩展名为 MDF ,用来存储数据库的启动信息和部分或全部数据。其他数据文件被称为次数据文件 (Secondary Database File)  扩展名为 NDF ,用来存储主数据文件没存储的其他数据。
4.1  SQL Server 数据库概述 (2) 事务日志 事务日志文件是用来记录数据库更新信息 ( 例如使用 INSERT 、 UPDATE 、 DELETE 等语句对数据进行更改的操作 ) 的文件。这些更新信息 ( 日志 ) 可用来恢复数据库。事务日志文件最小为  512 KB ,扩展名为 LDF 。每个数据库可以有一个或多个事务日志文件。
4.1  SQL Server 数据库概述 (3) 文件组  SQL Server 允许对文件进行分组,以便于管理和数据的分配/放置。所有数据库都至少包含一个主文件组,所有系统表都分配在主文件组中。用户可以定义额外的文件组。数据库首次创建时,主文件组是默认文件组;可以使用  ALTER DATABASE 语句将用户定义的文件组指定为默认文件组。创建时没有指定文件组的用户对象的页将从默认文件组分配。 在使用文件组时,应当注意以下几个准则: 文件或文件组不能由一个以上的数据库使用。 文件只能是一个文件组的成员。 数据和事务日志信息不能属于同一文件或文件组。 事务日志文件不能属于任何文件组。
4.1  SQL Server 数据库概述 SQL Server 的系统数据库  数据库服务器上自动建立了 6 个数据库,其中有 4 个系统数据库、两个示例数据库。 系统数据库 : master 数据库 tempdb 数据库 model 数据库 msdb  数据库 示例数据库 : northwind 数据库 pubs 数据库
4.1  SQL Server 数据库概述 数据库对象的标识符  例如数据库名、表名、视图名、列名等。 SQL Server 标识符的命名遵循以下规则: (1) 标识符包含的字符数必须在 1 到 128 之间。 (2) 标识符的第一个字符必须是字母、下划线 (_) 、 at 符号 (@) 或者数字符号 (#) 。 (3) 标识符的后续字符可以为字母、数字或“ @” 符号、“ $” 符号、数字符号或下划线。  (4) 标识符不能是 Transact-SQL 的保留字,也不能包含空格。
4.2  数据库的创建 使用公司管理器创建数据库 使用 Transact-SQL 语句创建数据库  命令格式: CREATE DATABASE  database_name [ON [<filespec>[,...n]] [,<filegroup>[,...n]] ] [LOG ON {<filespec>[,...n]}] [FOR ATTACH]
< 文件格式 >::= (NAME=< 逻辑文件名 > [,FILENAME='< 物理文件名 >'] [,SIZE=< 文件大小 >] [,MAXSIZE={< 文件最大尺寸 >|UNLIMITED}] [,FILEGROWTH=< 文件增量 >])
使用 T-SQL 语句 CREATE DATABASE < 数据库名 > [ON {[PRIMARY](NAME=< 数据文件逻辑文件名 >, FILENAME='< 数据文件物理文件名 >' [,SIZE=< 数据文件大小 >] [,MAXSIZE=< 数据文件最大尺寸 >] [,FILEGROWTH=< 数据文件增量 >]) }[,…n] ]
使用 T-SQL 语句 [LOG ON {(NAME=< 逻辑文件名 >, FILENAME='< 事务日志文件逻辑文件名 >' [,SIZE=< 事务日志文件大小 >] [,MAXSIZE=< 事务日志文件最大尺寸 >] [,FILEGROWTH=< 事务日志文件增量 >]) }[,…n] ] [FOR RESTORE]
4.2  数据库的创建 例 4-1  最简形式的创建数据库 ( 不指定文件 ) 语句。 CREATE DATABASE Sales 例 4-2  不指定 SIZE 创建数据库。 CREATE DATABASE Sales2 ON  ( NAME=Sales2_dat, FILENAME='C:\DataBase\Sales2.mdf')
4.2  数据库的创建 例 4-3  创建简单的数据库。 CREATE DATABASE Sales3 ON  ( NAME=Sales3_dat, FILENAME='C:\DataBase\Sales3.mdf', SIZE=4, MAXSIZE=10, FILEGROWTH=10% )
4.2  数据库的创建 例 4-4  创建指定数据文件和事务日志文件的数据库。 CREATE DATABASE Sales4 ON  ( NAME=Sales4_dat, FILENAME='C:\DataBase\sales4dat.mdf', SIZE=10000KB, MAXSIZE=500000KB, FILEGROWTH=5 ) LOG ON ( NAME='Sales4_log', FILENAME='C:\DataBase\sales4log.ldf', SIZE=5, MAXSIZE=25, FILEGROWTH=5 )
4.2  数据库的创建 例 4-7  使用 FOR ATTACH  子句来附加数据库。 CREATE DATABASE Sales7 ON PRIMARY  (FILENAME='C:\DataBase\Sales7dat1.mdf') FOR ATTACH
例  创建 student 数据库。 在 D 盘的 example 文件夹下创建一个 student 数据库,主文件名为 student_data.mdf ,事务日志文件名为 student_log.ldf 。 (1)  启动“查询分析器”,输入 SQL 语句。 (2)  按 F5 键或单击工具栏上的“执行查询”图标执行。 脚本:
例  创建 customer 数据库。 包含 1 个数据文件和 1 个事务日志文件。数据文件为主数据文件,其逻辑文件名为 customer ,实际文件名为 customer.mdf ,初始容量为 10 MB ,最大容量为 50 MB ,自动增长时的递增量为 2 MB 。事务日志文件的逻辑文件名为 customer_log ,实际文件名为 customer_log.1df ,初始容量为 5 MB ,最大容量为 30MB ,自动增长时的递增量为 1 MB 。 脚本:
例  创建 archive 数据库。 包含 3 个数据文件和 2 个事务日志文件。主数据文件的逻辑文件名为 archl ,实际文件名为 archdatl.mdf ,两个次数据文件的逻辑文件名分别为 arch2 和 arch3 ,实际文件名分别为 archdat2.ndf 和 archdat3.ndf 。两个事务日志文件的逻辑文件名分别为 archlogl 和 archlog2 ,实际文件名分别为 archklogl.1df 和 archklog2.1df 。上述文件的初始容量均为 5 MB ,最大容量均为 50 MB ,递增量均为 1MB 。 脚本:
4.3  数据库的修改 使用公司管理器修改数据库  使用 Transact-SQL 语句修改数据库 命令格式: ALTER DATABASE  database_name { ADD FILE <filespec> [,...n] [TO FILEGROUP filegroup_name] |REMOVE FILE logical_file_name |MODIFY FILE <filespec> |ADD LOG FILE <filespec> [,...n] |ADD FILEGROUP filegroup_name  |REMOVE FILEGROUP filegroup_name  |MODIFY FILEGROUP filegroup_name {filegroup_property|NAME=new_filegroup_name} |MODIFY NAME=new_dbname |SET <optionspec> [,...n] }
4.3  数据库的修改 例 4-8  更改数据库名称。 ALTER DATABASE Sales MODIFY NAME=NewSales 例 4-9  向数据库中添加文件。 ALTER DATABASE studinfo ADD FILE  ( NAME=studinfo_data1, FILENAME='E:\stud\Data\studinfo_data1.ndf', SIZE=1MB, MAXSIZE=5MB, FILEGROWTH=10% )
4.3  数据库的修改 例 4-11  向数据库中添加两个日志文件。 ALTER DATABASE Sales ADD LOG FILE  ( NAME=SalesLog2, FILENAME='D:\DataBase\Sales_log2.ldf', SIZE=5MB, MAXSIZE=100MB, FILEGROWTH=5MB )
4.3  数据库的修改 例 4-12  从数据库中删除文件。 ALTER DATABASE Sales REMOVE FILE SalesG1F2_dat 例 4-13  更改文件。 ALTER DATABASE Sales MODIFY FILE ( NAME=SalesG1F1_dat, SIZE=20MB )
例  调整数据库的大小。 将前例中的数据库 customer 的主数据文件 customer 的大小调整为 20 MB 。 脚本: ALTER DATABASE customer MODIFY FILE  (NAME=customer, SIZE=20MB)
例  增加次数据文件。 将前例中的数据库 customer 增加一个次数据文件 customer_1 。 脚本: ALTER DATABASE customer ADD FILE  (NAME=customer_1, FILENAME='e:\example\customer_1.ndf ', SIZE=10MB, MAXSIZE=20MB, FILEGROWTH=20%)
例  添加数据文件。 首先创建一个名为 test 的数据库,其主数据文件的逻辑文件名和实际文件名分别为 testdatl 和 tdatl.mdf 。然后向该数据库中添加一个数据文件,其逻辑文件名和实际文件名分别为 testdat2 和 tdat2.ndf 。两个数据库文件的初始容量均为 5 MB ,最大容量均为 10 MB ,递增量均为 20% 。 脚本:
4.4  数据库的删除  使用公司管理器删除数据库  使用 Transact-SQL 语句删除数据库 例 4-14  删除单个数据库。 DROP DATABASE Sales1 例 4-15  删除多个数据库。 DROP DATABASE Sales2,Sales3
重新命名数据库 sp_renamedb ‘< 旧数据库名 > ’,‘< 新数据库名 > ’  例   将数据库 archive 名修改为 arch 。  脚本: sp_renamedb 'archive' ,'arch'
本章小结 (1) 数据库的用户视图和物理视图:用户视图是用户看到和操作的数据库,而物理视图是数据库在磁盘上的文件存储。 SQL Server 的用户视图由表、视图、索引、存储过程等数据库对象组成,物理视图由数据库文件组成。 (2)SQL Server 的系统数据库: master 数据库记录 SQL Server 系统的所有系统信息和所有其他数据库的结构和定义, tempdb 数据库保存所有的临时表和临时存储过程, model 数据库用作在系统上创建的所有数据库的模板, msdb 数据库供 SQL Server 代理程序调度警报和作业以及记录操作员时使用。 (3) 创建、修改和删除数据库有两种常用方法,一是使用公司管理器,二是使用 Transact-SQL 语句。

More Related Content

What's hot (15)

Oracle Tablespace介紹
Oracle Tablespace介紹Oracle Tablespace介紹
Oracle Tablespace介紹
Chien Chung Shen
?
Oracle Instance 介紹
Oracle Instance 介紹Oracle Instance 介紹
Oracle Instance 介紹
Chien Chung Shen
?
深入学习Mongo db
深入学习Mongo db深入学习Mongo db
深入学习Mongo db
Lucien Li
?
颁补蝉蝉补苍诲谤补架构与应用
颁补蝉蝉补苍诲谤补架构与应用颁补蝉蝉补苍诲谤补架构与应用
颁补蝉蝉补苍诲谤补架构与应用
lsdyg
?
Index
IndexIndex
Index
jiannrong
?
贬产补蝉别拾荒者
贬产补蝉别拾荒者贬产补蝉别拾荒者
贬产补蝉别拾荒者
chernbb
?
诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识
maclean liu
?
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
ted-xu
?
第十章解答
第十章解答第十章解答
第十章解答
jiannrong
?
中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本
Lorex L. Yang
?
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Chien Chung Shen
?
Oracle SGA 介紹
Oracle SGA 介紹Oracle SGA 介紹
Oracle SGA 介紹
Chien Chung Shen
?
淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林
Shaoning Pan
?
深入学习Mongo db
深入学习Mongo db深入学习Mongo db
深入学习Mongo db
Lucien Li
?
颁补蝉蝉补苍诲谤补架构与应用
颁补蝉蝉补苍诲谤补架构与应用颁补蝉蝉补苍诲谤补架构与应用
颁补蝉蝉补苍诲谤补架构与应用
lsdyg
?
贬产补蝉别拾荒者
贬产补蝉别拾荒者贬产补蝉别拾荒者
贬产补蝉别拾荒者
chernbb
?
诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识诗檀软件 Oracle数据块损坏知识
诗檀软件 Oracle数据块损坏知识
maclean liu
?
7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery7, OCP - configure database for backup and recovery
7, OCP - configure database for backup and recovery
ted-xu
?
第十章解答
第十章解答第十章解答
第十章解答
jiannrong
?
中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本中正大學/FHIR 快速掃描 R4 版本
中正大學/FHIR 快速掃描 R4 版本
Lorex L. Yang
?
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Chien Chung Shen
?
淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林淘宝数据魔方的系统架构 -长林
淘宝数据魔方的系统架构 -长林
Shaoning Pan
?

Viewers also liked (16)

Power point para slidesharePower point para slideshare
Power point para slideshare
Yosmar Hernandez Teran
?
第10章 存储过程与触发器
第10章 存储过程与触发器第10章 存储过程与触发器
第10章 存储过程与触发器
hanmo1988
?
第8章 数据完整性
第8章   数据完整性第8章   数据完整性
第8章 数据完整性
hanmo1988
?
第11章 数据库的安全管理
第11章   数据库的安全管理第11章   数据库的安全管理
第11章 数据库的安全管理
hanmo1988
?
De economie van 2024 - Flevum kennissessie mei 2014
De economie van 2024 - Flevum kennissessie mei 2014De economie van 2024 - Flevum kennissessie mei 2014
De economie van 2024 - Flevum kennissessie mei 2014
Tielkemeijer & Partners Vermogensbeheer
?
Saturn Digital Signage Software - Connectvision
Saturn Digital Signage Software - ConnectvisionSaturn Digital Signage Software - Connectvision
Saturn Digital Signage Software - Connectvision
Saturn Communications Group Ltd
?
Presentatie Tielkemeijer en Partners vermogensbeheer tbv beleggingsclubs
Presentatie Tielkemeijer en Partners vermogensbeheer tbv beleggingsclubsPresentatie Tielkemeijer en Partners vermogensbeheer tbv beleggingsclubs
Presentatie Tielkemeijer en Partners vermogensbeheer tbv beleggingsclubs
Tielkemeijer & Partners Vermogensbeheer
?
Player Motivations CISGAME 401
Player Motivations CISGAME 401Player Motivations CISGAME 401
Player Motivations CISGAME 401
Chaffey College
?
Economic Update 2010
Economic Update 2010Economic Update 2010
Economic Update 2010
Tielkemeijer & Partners Vermogensbeheer
?
MARKETING 3.0
MARKETING 3.0MARKETING 3.0
MARKETING 3.0
Amanah Group
?
第3章 sql server 介绍
第3章   sql server 介绍第3章   sql server 介绍
第3章 sql server 介绍
hanmo1988
?
Exploración de conocimientos previos, informatica básicaExploración de conocimientos previos, informatica básica
Exploración de conocimientos previos, informatica básica
Alvaro Ruiz
?
Comparison Between a Conventionally Financed Firm and a Profit Sharing Firm
Comparison Between a Conventionally Financed Firm and a Profit Sharing FirmComparison Between a Conventionally Financed Firm and a Profit Sharing Firm
Comparison Between a Conventionally Financed Firm and a Profit Sharing Firm
Kashif Choudhury
?
Historycoolwork001
Historycoolwork001Historycoolwork001
Historycoolwork001
devanshbhasin
?
Zacchaeus
ZacchaeusZacchaeus
Zacchaeus
hazelanne
?
Management Information Systems: Telecom Industry
Management Information Systems: Telecom IndustryManagement Information Systems: Telecom Industry
Management Information Systems: Telecom Industry
Kashif Choudhury
?
Power point para slidesharePower point para slideshare
Power point para slideshare
Yosmar Hernandez Teran
?
第10章 存储过程与触发器
第10章 存储过程与触发器第10章 存储过程与触发器
第10章 存储过程与触发器
hanmo1988
?
第8章 数据完整性
第8章   数据完整性第8章   数据完整性
第8章 数据完整性
hanmo1988
?
第11章 数据库的安全管理
第11章   数据库的安全管理第11章   数据库的安全管理
第11章 数据库的安全管理
hanmo1988
?
Player Motivations CISGAME 401
Player Motivations CISGAME 401Player Motivations CISGAME 401
Player Motivations CISGAME 401
Chaffey College
?
第3章 sql server 介绍
第3章   sql server 介绍第3章   sql server 介绍
第3章 sql server 介绍
hanmo1988
?
Exploración de conocimientos previos, informatica básicaExploración de conocimientos previos, informatica básica
Exploración de conocimientos previos, informatica básica
Alvaro Ruiz
?
Comparison Between a Conventionally Financed Firm and a Profit Sharing Firm
Comparison Between a Conventionally Financed Firm and a Profit Sharing FirmComparison Between a Conventionally Financed Firm and a Profit Sharing Firm
Comparison Between a Conventionally Financed Firm and a Profit Sharing Firm
Kashif Choudhury
?
Management Information Systems: Telecom Industry
Management Information Systems: Telecom IndustryManagement Information Systems: Telecom Industry
Management Information Systems: Telecom Industry
Kashif Choudhury
?

Similar to 第4章 sql server数据库的管理 (20)

翱谤补肠濒别北大青鸟完全教程
翱谤补肠濒别北大青鸟完全教程翱谤补肠濒别北大青鸟完全教程
翱谤补肠濒别北大青鸟完全教程
yiditushe
?
尘测蝉辩濒总结
尘测蝉辩濒总结尘测蝉辩濒总结
尘测蝉辩濒总结
haiwang
?
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
Lin JiaMing
?
翱谤补肠濒别数据库体系结构介绍.辫辫迟
翱谤补肠濒别数据库体系结构介绍.辫辫迟翱谤补肠濒别数据库体系结构介绍.辫辫迟
翱谤补肠濒别数据库体系结构介绍.辫辫迟
james tong
?
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
Herman Wu
?
A.oracle 数据字典与脚本初步
A.oracle 数据字典与脚本初步A.oracle 数据字典与脚本初步
A.oracle 数据字典与脚本初步
WASecurity
?
lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫
建興 王
?
Altibase管理培训 管理篇
Altibase管理培训 管理篇Altibase管理培训 管理篇
Altibase管理培训 管理篇
小新 制造
?
惭测厂蚕尝数据库生产环境维护
惭测厂蚕尝数据库生产环境维护惭测厂蚕尝数据库生产环境维护
惭测厂蚕尝数据库生产环境维护
mysqlops
?
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
boxu42
?
Chapter 4 models
Chapter 4 modelsChapter 4 models
Chapter 4 models
Ekman Hsieh
?
P6 数据库安装和配置
P6 数据库安装和配置P6 数据库安装和配置
P6 数据库安装和配置
epst
?
Altibase管理培训 优化篇 v1.1
Altibase管理培训 优化篇 v1.1Altibase管理培训 优化篇 v1.1
Altibase管理培训 优化篇 v1.1
小新 制造
?
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
Leyi (Kamus) Zhang
?
颈尘辞产颈濒别-产别迟补技术沙龙
颈尘辞产颈濒别-产别迟补技术沙龙颈尘辞产颈濒别-产别迟补技术沙龙
颈尘辞产颈濒别-产别迟补技术沙龙
posestudio
?
手机之家新系统介绍及架构分享
手机之家新系统介绍及架构分享手机之家新系统介绍及架构分享
手机之家新系统介绍及架构分享
Dahui Feng
?
惭测厂蚕尝入门介绍
惭测厂蚕尝入门介绍惭测厂蚕尝入门介绍
惭测厂蚕尝入门介绍
Stanley Huang
?
自助工具助顿产补提升效率
自助工具助顿产补提升效率自助工具助顿产补提升效率
自助工具助顿产补提升效率
Chao Zhu
?
贬测辫别谤颈辞苍基础架构
贬测辫别谤颈辞苍基础架构贬测辫别谤颈辞苍基础架构
贬测辫别谤颈辞苍基础架构
Jack Wong
?
翱谤补肠濒别北大青鸟完全教程
翱谤补肠濒别北大青鸟完全教程翱谤补肠濒别北大青鸟完全教程
翱谤补肠濒别北大青鸟完全教程
yiditushe
?
尘测蝉辩濒总结
尘测蝉辩濒总结尘测蝉辩濒总结
尘测蝉辩濒总结
haiwang
?
翱谤补肠濒别数据库体系结构介绍.辫辫迟
翱谤补肠濒别数据库体系结构介绍.辫辫迟翱谤补肠濒别数据库体系结构介绍.辫辫迟
翱谤补肠濒别数据库体系结构介绍.辫辫迟
james tong
?
Azure Data Lake 簡介
Azure Data Lake 簡介Azure Data Lake 簡介
Azure Data Lake 簡介
Herman Wu
?
A.oracle 数据字典与脚本初步
A.oracle 数据字典与脚本初步A.oracle 数据字典与脚本初步
A.oracle 数据字典与脚本初步
WASecurity
?
lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫lwdba – 開放原始碼的輕量級資料庫存取程式庫
lwdba – 開放原始碼的輕量級資料庫存取程式庫
建興 王
?
Altibase管理培训 管理篇
Altibase管理培训 管理篇Altibase管理培训 管理篇
Altibase管理培训 管理篇
小新 制造
?
惭测厂蚕尝数据库生产环境维护
惭测厂蚕尝数据库生产环境维护惭测厂蚕尝数据库生产环境维护
惭测厂蚕尝数据库生产环境维护
mysqlops
?
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
boxu42
?
P6 数据库安装和配置
P6 数据库安装和配置P6 数据库安装和配置
P6 数据库安装和配置
epst
?
Altibase管理培训 优化篇 v1.1
Altibase管理培训 优化篇 v1.1Altibase管理培训 优化篇 v1.1
Altibase管理培训 优化篇 v1.1
小新 制造
?
数据库性能诊断的七种武器
数据库性能诊断的七种武器数据库性能诊断的七种武器
数据库性能诊断的七种武器
Leyi (Kamus) Zhang
?
颈尘辞产颈濒别-产别迟补技术沙龙
颈尘辞产颈濒别-产别迟补技术沙龙颈尘辞产颈濒别-产别迟补技术沙龙
颈尘辞产颈濒别-产别迟补技术沙龙
posestudio
?
手机之家新系统介绍及架构分享
手机之家新系统介绍及架构分享手机之家新系统介绍及架构分享
手机之家新系统介绍及架构分享
Dahui Feng
?
惭测厂蚕尝入门介绍
惭测厂蚕尝入门介绍惭测厂蚕尝入门介绍
惭测厂蚕尝入门介绍
Stanley Huang
?
自助工具助顿产补提升效率
自助工具助顿产补提升效率自助工具助顿产补提升效率
自助工具助顿产补提升效率
Chao Zhu
?
贬测辫别谤颈辞苍基础架构
贬测辫别谤颈辞苍基础架构贬测辫别谤颈辞苍基础架构
贬测辫别谤颈辞苍基础架构
Jack Wong
?

More from hanmo1988 (9)

第10章 (续)事务
第10章 (续)事务 第10章 (续)事务
第10章 (续)事务
hanmo1988
?
第9章 t sql程序设计
第9章 t sql程序设计第9章 t sql程序设计
第9章 t sql程序设计
hanmo1988
?
第9章 transact sql程序设计
第9章   transact sql程序设计第9章   transact sql程序设计
第9章 transact sql程序设计
hanmo1988
?
第7章 索引和视图
第7章 索引和视图第7章 索引和视图
第7章 索引和视图
hanmo1988
?
第6章 数据查询
第6章 数据查询第6章 数据查询
第6章 数据查询
hanmo1988
?
第5章 sql server表的管理
第5章 sql server表的管理第5章 sql server表的管理
第5章 sql server表的管理
hanmo1988
?
第2章 关系数据库基本原理
第2章  关系数据库基本原理第2章  关系数据库基本原理
第2章 关系数据库基本原理
hanmo1988
?
第1章 数据库系统概论
第1章   数据库系统概论第1章   数据库系统概论
第1章 数据库系统概论
hanmo1988
?
第10章 (续)事务
第10章 (续)事务 第10章 (续)事务
第10章 (续)事务
hanmo1988
?
第9章 t sql程序设计
第9章 t sql程序设计第9章 t sql程序设计
第9章 t sql程序设计
hanmo1988
?
第9章 transact sql程序设计
第9章   transact sql程序设计第9章   transact sql程序设计
第9章 transact sql程序设计
hanmo1988
?
第7章 索引和视图
第7章 索引和视图第7章 索引和视图
第7章 索引和视图
hanmo1988
?
第6章 数据查询
第6章 数据查询第6章 数据查询
第6章 数据查询
hanmo1988
?
第5章 sql server表的管理
第5章 sql server表的管理第5章 sql server表的管理
第5章 sql server表的管理
hanmo1988
?
第2章 关系数据库基本原理
第2章  关系数据库基本原理第2章  关系数据库基本原理
第2章 关系数据库基本原理
hanmo1988
?
第1章 数据库系统概论
第1章   数据库系统概论第1章   数据库系统概论
第1章 数据库系统概论
hanmo1988
?

第4章 sql server数据库的管理

  • 1. 第 4 章 SQL Server 数据库的管理
  • 2. 本章内容 4.1 SQL Server 数据库概述 4.2 数据库的创建 4.3 数据库的修改 4.4 数据库的删除
  • 3. 4.1 SQL Server 数据库概述 SQL Server 中的数据库 数据库的逻辑组件 ( 数据库对象 ) … Sales 数据库 SQL Server 表 视图 数据库的物理实现 ( 数据库文件 ) … SalesDat1.mdf SalesDat2.ndf SalesLog1.ldf 主数据文件 次数据文件 日志文件 索引 存储过程 用户视图 物理视图 图 4-1 数据库的用户视图和物理视图
  • 4. 4.1 SQL Server 数据库概述 1. SQL Server 中的数据库对象 SQL Server 提供了很多逻辑组件,这些逻辑组件通常被称为数据库对象。 保障数据安全的基础。 登录、用户、角色和组 确保数据库的数据完整性; 强制执行业务规则。 约束、规则、默认值和触发器 提高性能;封装数据库的部分或全部细节;帮助在不同的数据库应用程序之间实现一致的逻辑。 存储过程 加快从表或视图中检索数据的效率。 索引 定制复杂或常用的查询,以便用户使用;限定用户只能查看表中的特定行或列;为用户提供统计数据而不展示细节。 视图 数据库中数据的实际存放处所。 表 作用 对象
  • 5. 4.1 SQL Server 数据库概述 2. SQL Server 中的数据库文件 主数据文件 *.mdf 仅有一个 事务日志文件 *.ldf 一到多个 次数据文件 *.ndf 零到多个 次数据文件 *.ndf 零到多个 ( 仅有一个 ) 主文件组 ( 零到多个 ) 次文件组 事务日志 一个数据库的文件集 图 4-2 数据库的文件组成
  • 6. 4.1 SQL Server 数据库概述 (1) 数据文件 数据文件是存放数据和数据库对象的文件。一个数据库可以有一个或多个数据文件,每个数据文件只属于一个数据库。当有多个数据文件时,有一个文件被定义为主数据文件 (Primary Database File) ,扩展名为 MDF ,用来存储数据库的启动信息和部分或全部数据。其他数据文件被称为次数据文件 (Secondary Database File) 扩展名为 NDF ,用来存储主数据文件没存储的其他数据。
  • 7. 4.1 SQL Server 数据库概述 (2) 事务日志 事务日志文件是用来记录数据库更新信息 ( 例如使用 INSERT 、 UPDATE 、 DELETE 等语句对数据进行更改的操作 ) 的文件。这些更新信息 ( 日志 ) 可用来恢复数据库。事务日志文件最小为 512 KB ,扩展名为 LDF 。每个数据库可以有一个或多个事务日志文件。
  • 8. 4.1 SQL Server 数据库概述 (3) 文件组 SQL Server 允许对文件进行分组,以便于管理和数据的分配/放置。所有数据库都至少包含一个主文件组,所有系统表都分配在主文件组中。用户可以定义额外的文件组。数据库首次创建时,主文件组是默认文件组;可以使用 ALTER DATABASE 语句将用户定义的文件组指定为默认文件组。创建时没有指定文件组的用户对象的页将从默认文件组分配。 在使用文件组时,应当注意以下几个准则: 文件或文件组不能由一个以上的数据库使用。 文件只能是一个文件组的成员。 数据和事务日志信息不能属于同一文件或文件组。 事务日志文件不能属于任何文件组。
  • 9. 4.1 SQL Server 数据库概述 SQL Server 的系统数据库 数据库服务器上自动建立了 6 个数据库,其中有 4 个系统数据库、两个示例数据库。 系统数据库 : master 数据库 tempdb 数据库 model 数据库 msdb 数据库 示例数据库 : northwind 数据库 pubs 数据库
  • 10. 4.1 SQL Server 数据库概述 数据库对象的标识符 例如数据库名、表名、视图名、列名等。 SQL Server 标识符的命名遵循以下规则: (1) 标识符包含的字符数必须在 1 到 128 之间。 (2) 标识符的第一个字符必须是字母、下划线 (_) 、 at 符号 (@) 或者数字符号 (#) 。 (3) 标识符的后续字符可以为字母、数字或“ @” 符号、“ $” 符号、数字符号或下划线。 (4) 标识符不能是 Transact-SQL 的保留字,也不能包含空格。
  • 11. 4.2 数据库的创建 使用公司管理器创建数据库 使用 Transact-SQL 语句创建数据库 命令格式: CREATE DATABASE database_name [ON [<filespec>[,...n]] [,<filegroup>[,...n]] ] [LOG ON {<filespec>[,...n]}] [FOR ATTACH]
  • 12. < 文件格式 >::= (NAME=< 逻辑文件名 > [,FILENAME='< 物理文件名 >'] [,SIZE=< 文件大小 >] [,MAXSIZE={< 文件最大尺寸 >|UNLIMITED}] [,FILEGROWTH=< 文件增量 >])
  • 13. 使用 T-SQL 语句 CREATE DATABASE < 数据库名 > [ON {[PRIMARY](NAME=< 数据文件逻辑文件名 >, FILENAME='< 数据文件物理文件名 >' [,SIZE=< 数据文件大小 >] [,MAXSIZE=< 数据文件最大尺寸 >] [,FILEGROWTH=< 数据文件增量 >]) }[,…n] ]
  • 14. 使用 T-SQL 语句 [LOG ON {(NAME=< 逻辑文件名 >, FILENAME='< 事务日志文件逻辑文件名 >' [,SIZE=< 事务日志文件大小 >] [,MAXSIZE=< 事务日志文件最大尺寸 >] [,FILEGROWTH=< 事务日志文件增量 >]) }[,…n] ] [FOR RESTORE]
  • 15. 4.2 数据库的创建 例 4-1 最简形式的创建数据库 ( 不指定文件 ) 语句。 CREATE DATABASE Sales 例 4-2 不指定 SIZE 创建数据库。 CREATE DATABASE Sales2 ON ( NAME=Sales2_dat, FILENAME='C:\DataBase\Sales2.mdf')
  • 16. 4.2 数据库的创建 例 4-3 创建简单的数据库。 CREATE DATABASE Sales3 ON ( NAME=Sales3_dat, FILENAME='C:\DataBase\Sales3.mdf', SIZE=4, MAXSIZE=10, FILEGROWTH=10% )
  • 17. 4.2 数据库的创建 例 4-4 创建指定数据文件和事务日志文件的数据库。 CREATE DATABASE Sales4 ON ( NAME=Sales4_dat, FILENAME='C:\DataBase\sales4dat.mdf', SIZE=10000KB, MAXSIZE=500000KB, FILEGROWTH=5 ) LOG ON ( NAME='Sales4_log', FILENAME='C:\DataBase\sales4log.ldf', SIZE=5, MAXSIZE=25, FILEGROWTH=5 )
  • 18. 4.2 数据库的创建 例 4-7 使用 FOR ATTACH 子句来附加数据库。 CREATE DATABASE Sales7 ON PRIMARY (FILENAME='C:\DataBase\Sales7dat1.mdf') FOR ATTACH
  • 19. 例 创建 student 数据库。 在 D 盘的 example 文件夹下创建一个 student 数据库,主文件名为 student_data.mdf ,事务日志文件名为 student_log.ldf 。 (1) 启动“查询分析器”,输入 SQL 语句。 (2) 按 F5 键或单击工具栏上的“执行查询”图标执行。 脚本:
  • 20. 例 创建 customer 数据库。 包含 1 个数据文件和 1 个事务日志文件。数据文件为主数据文件,其逻辑文件名为 customer ,实际文件名为 customer.mdf ,初始容量为 10 MB ,最大容量为 50 MB ,自动增长时的递增量为 2 MB 。事务日志文件的逻辑文件名为 customer_log ,实际文件名为 customer_log.1df ,初始容量为 5 MB ,最大容量为 30MB ,自动增长时的递增量为 1 MB 。 脚本:
  • 21. 例 创建 archive 数据库。 包含 3 个数据文件和 2 个事务日志文件。主数据文件的逻辑文件名为 archl ,实际文件名为 archdatl.mdf ,两个次数据文件的逻辑文件名分别为 arch2 和 arch3 ,实际文件名分别为 archdat2.ndf 和 archdat3.ndf 。两个事务日志文件的逻辑文件名分别为 archlogl 和 archlog2 ,实际文件名分别为 archklogl.1df 和 archklog2.1df 。上述文件的初始容量均为 5 MB ,最大容量均为 50 MB ,递增量均为 1MB 。 脚本:
  • 22. 4.3 数据库的修改 使用公司管理器修改数据库 使用 Transact-SQL 语句修改数据库 命令格式: ALTER DATABASE database_name { ADD FILE <filespec> [,...n] [TO FILEGROUP filegroup_name] |REMOVE FILE logical_file_name |MODIFY FILE <filespec> |ADD LOG FILE <filespec> [,...n] |ADD FILEGROUP filegroup_name |REMOVE FILEGROUP filegroup_name |MODIFY FILEGROUP filegroup_name {filegroup_property|NAME=new_filegroup_name} |MODIFY NAME=new_dbname |SET <optionspec> [,...n] }
  • 23. 4.3 数据库的修改 例 4-8 更改数据库名称。 ALTER DATABASE Sales MODIFY NAME=NewSales 例 4-9 向数据库中添加文件。 ALTER DATABASE studinfo ADD FILE ( NAME=studinfo_data1, FILENAME='E:\stud\Data\studinfo_data1.ndf', SIZE=1MB, MAXSIZE=5MB, FILEGROWTH=10% )
  • 24. 4.3 数据库的修改 例 4-11 向数据库中添加两个日志文件。 ALTER DATABASE Sales ADD LOG FILE ( NAME=SalesLog2, FILENAME='D:\DataBase\Sales_log2.ldf', SIZE=5MB, MAXSIZE=100MB, FILEGROWTH=5MB )
  • 25. 4.3 数据库的修改 例 4-12 从数据库中删除文件。 ALTER DATABASE Sales REMOVE FILE SalesG1F2_dat 例 4-13 更改文件。 ALTER DATABASE Sales MODIFY FILE ( NAME=SalesG1F1_dat, SIZE=20MB )
  • 26. 例 调整数据库的大小。 将前例中的数据库 customer 的主数据文件 customer 的大小调整为 20 MB 。 脚本: ALTER DATABASE customer MODIFY FILE (NAME=customer, SIZE=20MB)
  • 27. 例 增加次数据文件。 将前例中的数据库 customer 增加一个次数据文件 customer_1 。 脚本: ALTER DATABASE customer ADD FILE (NAME=customer_1, FILENAME='e:\example\customer_1.ndf ', SIZE=10MB, MAXSIZE=20MB, FILEGROWTH=20%)
  • 28. 例 添加数据文件。 首先创建一个名为 test 的数据库,其主数据文件的逻辑文件名和实际文件名分别为 testdatl 和 tdatl.mdf 。然后向该数据库中添加一个数据文件,其逻辑文件名和实际文件名分别为 testdat2 和 tdat2.ndf 。两个数据库文件的初始容量均为 5 MB ,最大容量均为 10 MB ,递增量均为 20% 。 脚本:
  • 29. 4.4 数据库的删除 使用公司管理器删除数据库 使用 Transact-SQL 语句删除数据库 例 4-14 删除单个数据库。 DROP DATABASE Sales1 例 4-15 删除多个数据库。 DROP DATABASE Sales2,Sales3
  • 30. 重新命名数据库 sp_renamedb ‘< 旧数据库名 > ’,‘< 新数据库名 > ’ 例 将数据库 archive 名修改为 arch 。 脚本: sp_renamedb 'archive' ,'arch'
  • 31. 本章小结 (1) 数据库的用户视图和物理视图:用户视图是用户看到和操作的数据库,而物理视图是数据库在磁盘上的文件存储。 SQL Server 的用户视图由表、视图、索引、存储过程等数据库对象组成,物理视图由数据库文件组成。 (2)SQL Server 的系统数据库: master 数据库记录 SQL Server 系统的所有系统信息和所有其他数据库的结构和定义, tempdb 数据库保存所有的临时表和临时存储过程, model 数据库用作在系统上创建的所有数据库的模板, msdb 数据库供 SQL Server 代理程序调度警报和作业以及记录操作员时使用。 (3) 创建、修改和删除数据库有两种常用方法,一是使用公司管理器,二是使用 Transact-SQL 语句。