第4章数据库的创建与管理 本章导读 在 SQL Server系统中,数据库是最基本的对象, 从体系结构上说,它有逻辑结构和物理结构之分, 其中,逻辑数据库相当于一个容器,用于存储表 视图等数据库对象;物理数据库是对应于操作系统 的文件系统,由一系列数据文件和事务日志文件组 成的。 知识要点: ●数据库体系结构 1数据库结构既然。数据库的创建 构,那么究竟有·数据库的修改 什么不一样的结·数据库的删除 构? ●数据库的压缩 2不同于一般文件。数据库的附加和分离 结构的数据库在 创建时究竟有什 么要注意的事项 呢
第4章 数据库的创建与管理 本章导读: 在SQL Server 系统中,数据库是最基本的对象, 从体系结构上说,它有逻辑结构和物理结构之分, 其中,逻辑数据库相当于一个容器,用于存储表、 视图等数据库对象;物理数据库是对应于操作系统 的文件系统,由一系列数据文件和事务日志文件组 成的。 知识要点: ⚫数据库体系结构 ⚫数据库的创建 ⚫数据库的修改 ⚫数据库的删除 ⚫数据库的压缩 ⚫数据库的附加和分离 1.数据库结构既然 不同一般文件结 构,那么究竟有 什么不一样的结 构? 2.不同于一般文件 结构的数据库在 创建时究竟有什 么要注意的事项 呢?
4.1数据库的体系结构 在 SQL Server中,数据库由两部分组成:物理数据库 和逻辑数据库。物理数据库是数据库面向操作系统的物理 文件部分,由一系列文件组成,如数据文件和事物日志文 件;逻辑数据库是数据库面向用户的可视部分,由一系列 数据库对象组成,如表、视图、存储过程、扩展存储过程 用户自定义函数、用户自定义数据类型、用户、角色、规 则、默认值等。 4.1.1文件名 4.1.2数据库文件 4.1.3数据库文件组
4.1 数据库的体系结构 在SQL Server中,数据库由两部分组成:物理数据库 和逻辑数据库。物理数据库是数据库面向操作系统的物理 文件部分,由一系列文件组成,如数据文件和事物日志文 件;逻辑数据库是数据库面向用户的可视部分,由一系列 数据库对象组成,如表、视图、存储过程、扩展存储过程、 用户自定义函数、用户自定义数据类型、用户、角色、规 则、默认值等。 4.1.1 文件名 4.1.2 数据库文件 4.1.3 数据库文件组
4.1.1文件名 在 SQL Server中,每个文件都有两种名称,分别称为逻辑(文件) 名和物理(文件)名。 1.逻辑文件名:逻辑文件名是指在所有T-SQL语句中引用文件时必须使 用的名称。逻辑文件名必须遵守 SQL Server标识符的命名规则,且对数据 库必须是唯一的。 2.物理文件名:也称物理存储文件名,是指数据库的文件在物理磁盘上 的存储路径及文件系统名称的统称,物理文件名遵从操作系统文件名的命 注意:以符号@、#开头的标识符具有特殊的含义, SQL Server中标识符规则 以@开头的标识符表示局部变量,以@@开头的标 识符表示全局变量;以#开头的标识符表示临时表或 过程,以#排开头的标识符表示全局临时对象 (1)长度不超过128个字符 (2)开头字母为a~z或AZ、#、、@以及来自其它语言的字母字符 (3)后续字母可以是a~z或A~Z、#、_、@以及来自其它语言的字母字符 0~9、$: (4)不允许嵌入空格或其它特殊字符 (5)不允许与保留字同名 (6)在TSQL语句使用标识符时,必须用双引号或方括号封装不符合规 则的标识符;
4.1.1 文件名 在SQL Server中,每个文件都有两种名称,分别称为逻辑(文件) 名和物理(文件)名。 1.逻辑文件名:逻辑文件名是指在所有T-SQL语句中引用文件时必须使 用的名称。逻辑文件名必须遵守SQL Server标识符的命名规则,且对数据 库必须是唯一的。 2.物理文件名:也称物理存储文件名,是指数据库的文件在物理磁盘上 的存储路径及文件系统名称的统称,物理文件名遵从操作系统文件名的命 名规则。 SQL Server中标识符规则: (1)长度不超过128个字符; (2)开头字母为a~z或A~Z、#、_、@以及来自其它语言的字母字符; (3)后续字母可以是a~z或A~Z、#、_、@以及来自其它语言的字母字符、 0~9、$; (4)不允许嵌入空格或其它特殊字符; (5)不允许与保留字同名; (6)在T-SQL语句使用标识符时,必须用双引号或方括号封装不符合规 则的标识符; 注意:以符号@、#开头的标识符具有特殊的含义, 以@开头的标识符表示局部变量,以@@开头的标 识符表示全局变量;以#开头的标识符表示临时表或 过程,以##开头的标识符表示全局临时对象
41.2数据库文件 在 SQL Server中,每个数据库都由一系列文件组成,包括数据文件和事物日 志文件两类,而数据文件又可分为主数据文件和辅数据文件两大类 1.主数据文件:简称主文件,用来存储数据库的启动信息和部分或全部数据, 每个数据库有且仅有一个主数据文件。主数据文件总是位于主文件组( primary 中,它代表数据库的起点,并且提供指针指向数据库中的其它文件。使用时,主 数据文件包含两种名称:逻辑文件名和物理文件名,其中逻辑文件名无扩展名, 物理存储文件名的扩展名默认为mdf。 2.辅数据文件:简称辅文件,用于存储主数据文件中未存储的剩余数据和数据 库对象。一个数据库既可以没有辅数据文件,也可以有若干个辅数据文件。辅数 据文件既可以位于主文件组,也可以位于辅文件组中。使用时,辅数据文件也包 含两种名称:逻辑文件名和物理文件名,其中逻辑文件名无扩展名,物理存储文 件名的扩展名默认为ndf。 3.事务日志文件:简称日志文件,用于存储对数据库任何操作过程的事务日志, 以保证数据的一致性和完整性,有利于数据库的恢复。每个数据库都必须至少含 有一个事务日志文件,也可以含有多个事务日志文件。事物日志文件不属于任何 文件组。使用时,事务日志文件也包含两种名称:逻辑文件名和物理文件名,其 中逻辑文件名无扩展名,物理存储文件名的扩展名默认为.Jdf 注意:在 SQL Server中,一个数据库可以包含多个文件,不同文件也可以分别存 储在不同分区磁盘上,但是一个文件只能存储于一个数据库内
4.1.2 数据库文件 在SQL Server中,每个数据库都由一系列文件组成,包括数据文件和事物日 志文件两类,而数据文件又可分为主数据文件和辅数据文件两大类。 1.主数据文件:简称主文件,用来存储数据库的启动信息和部分或全部数据, 每个数据库有且仅有一个主数据文件。主数据文件总是位于主文件组(primary) 中,它代表数据库的起点,并且提供指针指向数据库中的其它文件。使用时,主 数据文件包含两种名称:逻辑文件名和物理文件名,其中逻辑文件名无扩展名, 物理存储文件名的扩展名默认为.mdf。 2.辅数据文件:简称辅文件,用于存储主数据文件中未存储的剩余数据和数据 库对象。一个数据库既可以没有辅数据文件,也可以有若干个辅数据文件。辅数 据文件既可以位于主文件组,也可以位于辅文件组中。使用时,辅数据文件也包 含两种名称:逻辑文件名和物理文件名,其中逻辑文件名无扩展名,物理存储文 件名的扩展名默认为.ndf。 3.事务日志文件:简称日志文件,用于存储对数据库任何操作过程的事务日志, 以保证数据的一致性和完整性,有利于数据库的恢复。每个数据库都必须至少含 有一个事务日志文件,也可以含有多个事务日志文件。事物日志文件不属于任何 文件组。使用时,事务日志文件也包含两种名称:逻辑文件名和物理文件名,其 中逻辑文件名无扩展名,物理存储文件名的扩展名默认为.ldf。 注意:在SQL Server中,一个数据库可以包含多个文件,不同文件也可以分别存 储在不同分区磁盘上,但是一个文件只能存储于一个数据库内
4.1.3数据库文件组 文件组是一组相关数据文件的逻辑分组(有点类似于文件夹,文件 夹是磁盘上的实际位 组。一个数据文件只能属 另处,文件组也分为主文件和辅助文供 文件组也只能属于一个 数据库。事务日志文仵独立存在的,不属于任何文件组。 1.主文件组:主文件组( prImary)是数据库系统自身提供的,每个 数据库有且仅有一个主文件组,主文件组中包含了所有系统表、主数 据文件和耒指定文件组的其它数据文 2.辅文件组:辅文件组是用户自行定义的文件组,每个数据库既可以 没有铺文件组,也可以包含若干个辅文件组,辅文件组可以存储用户 指定的辅数据文件。 3.默认文件组:默认文件组是没有分配文件组的数据文件的首选文件 组(默认逻辑文组),其中包含在创建时没有分配文件组的所有表和 索引的页。每个数据库只能有一个默认文件组。 注;黔谈文件组和主文件组不是同,概念:数据库建立初始时,主 0 owner固疋 用户定义的文件组指定为后续数据文件的默认文件组
4.1.3 数据库文件组 文件组是一组相关数据文件的逻辑分组(有点类似于文件夹,文件 夹是磁盘上的实际位置)。另外,文件组也分为主文件组和辅助文件 组。一个数据文件只能属于一个文件组,一个文件组也只能属于一个 数据库。事务日志文件独立存在的,不属于任何文件组。 1.主文件组:主文件组(primary)是数据库系统自身提供的,每个 数据库有且仅有一个主文件组,主文件组中包含了所有系统表、主数 据文件和未指定文件组的其它数据文件。 2.辅文件组:辅文件组是用户自行定义的文件组,每个数据库既可以 没有辅文件组,也可以包含若干个辅文件组,辅文件组可以存储用户 指定的辅数据文件。 3.默认文件组:默认文件组是没有分配文件组的数据文件的首选文件 组(默认逻辑文组),其中包含在创建时没有分配文件组的所有表和 索引的页。每个数据库只能有一个默认文件组。 注意:默认文件组和主文件组不是同一概念,数据库建立初始时,主 文件组是默认文件组,db_owner固定数据库角色成员可以通过命令将 用户定义的文件组指定为后续数据文件的默认文件组
4.2数据库的创建 创建数据库的过程实际上是确定数据库名称、数 据库相关文件存放位置、存储空间大小及其相关属性 的设置。创建数据库既可以使用 Transact-SQL语句, 也可以使用企业管理器。使用企业管理器时,既可以 利用向导创建数据库,也可以利用设计器创建数据库。 4.2.1使用向导创建数据库 4.2.2使用设计器创建数据库 4.2.3使用査询分析器建立数据库 1在了解数据库体 系结构的基础上 能不能亲自体验 下创建数据库 呢? 2不同于一般文件 结构的数据库在 创建时究竟有什 么要注意的事项 呢
4.2 数据库的创建 创建数据库的过程实际上是确定数据库名称、数 据库相关文件存放位置、存储空间大小及其相关属性 的设置。创建数据库既可以使用Transact-SQL语句, 也可以使用企业管理器。使用企业管理器时,既可以 利用向导创建数据库,也可以利用设计器创建数据库。 4.2.1 使用向导创建数据库 4.2.2 使用设计器创建数据库 4.2.3 使用查询分析器建立数据库 1.在了解数据库体 系结构的基础上, 能不能亲自体验 一下创建数据库 呢? 2.不同于一般文件 结构的数据库在 创建时究竟有什 么要注意的事项 呢?
4.21使用向导创建数据库 【例4-1】使用向导创建数据库步骤如下: (1)展开企业管理器控制台根目录(左侧窗格) 的树形结构,直至 SQL Server服务器实例, 如“(oca)( Windows nt)”,然后执行“工 具”→“向导”命令后(如图4-1所示),弹 出“选择向导”对话框,展开“数据库”,选 择“创建数据库向导”,如图4-2所示
4.2.1 使用向导创建数据库 【例4-1】 使用向导创建数据库步骤如下: (1)展开企业管理器控制台根目录(左侧窗格) 的树形结构,直至SQL Server服务器实例, 如“(local)(Windows NT)”,然后执行“工 具”→“向导”命令后(如图4-1所示),弹 出“选择向导”对话框,展开“数据库”,选 择“创建数据库向导”,如图4-2所示
4.21使用向导创建数据库 im SQL Server Enterprise夏 anager-[控制台根目录ri,回回 面文件①)操作)查看窗囗)帮助0 中→国回X国国数据转换服务0) 选择向导 作业调度〔D 口控制台根目录 青选择要使用的向导: Microsoft sQL server复制g) 卜6个项目 全文索引①) 注册服务器向导 日目 SQL Server组 数据库 b[ca) Windows N sQ1查询分析器 创建存储过程向导 白数据库 管理 sqL事件探查器() 创建登录向导 maste 创建视图向导 t目 model 生成SqL脚本(G) 创建数据库向 主目ndb 向导) 创建索引向导 中数据转换服务 目 Nor thine数据库维护十划器〔) 管理 备份数据库①) 中复制 t口数据转换服务 还原数据库) 口管理 SQL Server配置属性A) 口复制 囗安全性 管理 SQL Server消息) 口支持服务 外部工具C) 项 字体①) 取消 图4-1“企业管理器”对话框 图4-2“选择向导” 对话框
4.2.1 使用向导创建数据库 图4-1 “企业管理器”对话框 图4-2 “选择向导” 对话框
(2)继续单击“确定”按钮,打开“创建数据库向导”对话框①,如图4-3所示。 (3)继续单击“下一步”按钮,打开“创建数据库向导”对话框②,并设置数据 库名称为“jxg",数据库文件位置和事务日志文件位置均为“D: datal",如图4-4 所示 创建数据库向导-(1oca1) 创建数据库向导-(1 欢迎使用创建 命名数据库并指定它的位置 数据库向导 按照标识符的规则指定数据库名称。为数据库键入或选择一个位置 本向导将帮助您创建新数据库。使用本向导,您可以 数据库名称Q ·给数据库命名 ·创建构成数据库的一个或多个文件 数据库文件位置L ·指定数据库文件增长信息 事务日志文件位置 ·创建构成事务日志的一个或多个文件 指定事务日志文件增长信息 上一步0作一龙2D 上一步下一步③0习取消 图4-3“创建数据库向导”对话框① 图4-4“创建数据库向导”对话框②
(2)继续单击“确定”按钮,打开“创建数据库向导”对话框①,如图4-3所示。 (3)继续单击“下一步”按钮,打开“创建数据库向导”对话框②,并设置数据 库名称为“jxgl”,数据库文件位置和事务日志文件位置均为“D:\data\”,如图4-4 所示 图4-3 “创建数据库向导”对话框① 图4-4 “创建数据库向导”对话框②
(4)继续单击“下一步”按钮,打开“创建数据库向导”对话框③, 可以设置数据文件名和初始大小,如图45所示。 (5)继续单击“下一步”按钮,打开“创建数据库向导”对话框④, 可以设置数据库文件的增长方式和最大文件大小,如图4-6所示 创建数据库向导-(1ocal) 冈创建数据库向导=0c1 命名数据库文件 义数据库文件的增长 指定在其中包含数据库的一个或多个文件的名称,指定每个文件的始大自 指定数据库文件是否应该自动增长,或者仅在您扩大数据库文件时才可以 数据库文件 C数据库文件不自动增长 初始大小MB 数据库文件自动增长 ixa Data C以兆字节MB为单位增长文件 按百分比增长文件P 最大文件大小 文件增长不受限制凹 C文件增长的最大值MB 彐 上一步@步取消」 上一步0)下一步0> 取消 图4-5“创建数据库向导”对话框③ 图4-6“创建数据库向导”对话框④
(4)继续单击“下一步”按钮,打开“创建数据库向导”对话框③, 可以设置数据文件名和初始大小,如图4-5所示。 (5)继续单击“下一步”按钮,打开“创建数据库向导”对话框④, 可以设置数据库文件的增长方式和最大文件大小,如图4-6所示。 图4-5 “创建数据库向导”对话框③ 图4-6 “创建数据库向导”对话框④