首页 > 数据库 >第03章 创建与管理数据库

第03章 创建与管理数据库

时间:2022-10-26 08:44:50浏览次数:38  
标签:03 数据文件 文件 -- 创建 数据库 Server SQL

数据库对象和

  1. 数据库的基本概念
    数据库的逻辑结构: SQL Server的数据库逻辑结构可以理解为在运行SQL Server软件中观察到的数据库组成。例如,展开SQL Server 2016的本书示例数据库teaching,如图3-1所示。
    server.database.schema.object
    --即服务器.数据库.架构.数据库对象

数据库文件

  1. 数据库的基本概念

基本概念

数据库的物理文件:

每个 SQL Server 2016 数据库至少具有两个操作系统文件:

  • 一个主数据文件
    数据文件包含数据和数据库对象,

  • 一个日志文件
    日志文件包含恢复数据库中的所有事务所需的信息。

SQL Server 2016 数据库具有3种类型的文件。
主数据文件包含数据库的启动信息,并指向数据库中的其他文件。用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要数据文件,建议文件扩展名是 .mdf。

SQL Server 2016 数据库具有3种类型的文件。
次要数据文件是可选的,由用户定义并存储用户数据。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上,建议文件扩展名是 .ndf。
事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件,建议文件扩展名是 .ldf。
默认情况下,数据和事务日志被放在同一个驱动器的同一个路径下。这是为处理单磁盘系统而采用的方法。但是,在生产环境中,建议将数据和日志文件放在不同的磁盘上。

数据库的常用对象

表:
数据库中的表与日常生活中使用的表格类似,由行(Row)和列(Column)组成。
其中,列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括若干列的信息项。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于唯一地确定一条记录。
索引:
索引是根据指定的数据库表列建立起来的顺序。它提供了快速查询大量数据的方法。有的索引还可以限制表,使其指定的列数据不重复。
视图
是一个虚拟的表,在数据库中并不实际存在。视图是由查询数据表产生的。
作用:

  • 可以用来控制用户对数据的访问,并能简化数据的显示,
  • 提高数据的安全性管理水平。

数据库关系图:
是本数据库中的表之间的关系示意图,利用图表可以编辑表与表之间的关系,以及表的行列属性。

默认值(逐渐淘汰):
默认值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。

规则(逐渐淘汰):
是对数据库表中数据信息的限制,其限定的是表的列。
存储过程:
是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。
(在SQL中,没有返回值的函数)

触发器:
是一个用户定义的SQL 事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。

用户
所谓用户,就是有权限访问数据库的使用者,同时需要自己登录账号和密码
一般来说,数据库用户分为管理员用户和普通用户,前者可对数据库进行修改删除,后者只能进行阅读、查看等操作。

注意:
除了如上列出的数据库对象之外,不同的数据库管理系统也有部分自定义的对象,将在具体学习中分别介绍,此处不再赘述。

数据库的存储

SQL Server 2016数据库是以文件的方式存储到磁盘中,其中数据文件和日志文件的文件结构不同,存储方式也不一样,如图:
image

数据文件的存储结构: 从SQL Server 2016数据库的物理架构上来看,

  • SQL Server用于存储数据的基本单位是页,每页容量为8KB。SQL Server 2016在执行底层的磁盘I/O时也是以页级为单位的。
    SQL Server将8个物理上连续的页组成一个,以此可以更加有效地管理数据页。

数据页 SQL Server将8KB的数据划分为一页。即在SQL Server 数据库中的1MB数据中包含128页。包括数据页、索引页、文本/图像页等8种。

每个页的开头为96字节的系统信息。数据区占有8060个字节,页尾的行偏移数组占有36个字节。

扩展盘区是SQL Server数据库读写数据的基本单位,扩展盘区就是管理存储空间的基本单位。
一个扩展盘区由8个物理上连续的页(64 KB)组成。即SQL Server数据库中每1MB包含16个区。

为了提高空间利用率,SQL Server2016在为数据库中的某个数据表分配存储区时采取两种不同的策略。

  1. 将扩展盘区中所有8个存储页全部分配给一个数据库对象(例如数据表)。
    采用这种方法分配的区也被称为“统一区”。统一区中的所有8个存储页只能供所属对象使用。

  2. 允许扩展盘区中的存储页由1~8个数据对象共同使用。这种分区方式也被称为“混合区”。
    采用这种方式的分区,区中的每1页(共8页)都可由不同的对象拥有。

用户数据库创建与修改

一个 SQL Server 实例,可以创建32767个用户数据库。在创建数据库之前,首先用户应该清楚是否有相关的权限。

要创建数据库,必须至少拥有 CREATE DATABASE、CREATE ANY DATABASE 或 ALTER ANY DATABASE 等语句的权限。其次,创建数据库的用户将是该数据库的所有者。

1. 用户数据库的创建

在SQL Server 2016中,用户要创建数据库,必须确定数据库的名称、所有者、大小以及存储该数据库的文件和文件组。
数据库名称必须遵循为标识符指定的规则。这些规则主要包括如下几点:

  1. 数据库名称长度为1~128个字符。
  2. 名称首字符必须是一个英文字母或“_ ”、“#”和“@”中的任意字符。
  3. 在中文版SQL Server 2016中,可以直接使用汉字为数据库命名。
  4. 名称中不能出现空格,不允许使用SQL Server 2016的保留字。

文件组
每个SQL Server数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。为了便于分配和管理,可以将数据文件集合起来,放到文件组中。

使用SSMS

在SQL Server Management Studio中创建数据库
(1)启动SSMS,在对象资源管理器中,右击“数据库”选项,在弹出的快捷菜单中选择“新建数据库”命令,如图3-3所示,打开“新建数据库”窗口。在“新建数据库”窗口中的“常规”选项卡,如图3-4所示,有以下几个可选项。

image
① 在“数据库名称”文本框中,输入数据库名称test01。
② 若要通过接受所有的默认值来创建数据库,则单击“确定”按钮;否则,继续后面的可选项目的选择。
③ 若要更改所有者名称,单击“所有者”后的...按钮选择其他所有者。

image

在SQL Server Management Studio中创建数据库
④ 若要启用数据库的全文搜索,选中“使用全文索引”复选框。
⑤ 若要更改主数据文件和事务日志文件的默认值,在“数据库文件”列表中单击相应的单元格,并输入新值。各项的具体含义如下:
逻辑名称 文件类型 文件组 初始大小
自动增长 位置 路径 文件名

image

(3)切换到“文件组”选项卡进行设置,如图3-6所示。如果要添加文件组,可以单击“添加”按钮,然后输入文件组的名称。
(4)如果单击“脚本”按钮,系统还会在查询窗口自动生成创建数据库test01命令代码,如果执行此代码,系统也会创建数据库test01。
(5)所有参数设置完毕后,单击“确定”按钮,新的数据库就创建成功。
展开对象资源管理器中的数据库文件夹,就可以观察到test01数据库已经创建成功。

SQL语句CREATE DATABASE

利用Transact-SQL语句创建数据库
(1)CREATE DATABASE语句的基本格式

CREATE  DATABASE  database_name                --设置数据库名称
[ ON   [ PRIMARY ] 
  [ <filespec> [ ,...n ]                  --设置数据文件
  [ , <filegroup> [ ,...n ] ]                               --设置文件组
  [ LOG ON { <filespec> [ ,...n ] } ]         --设置日志文件
  [ COLLATE collation_name ]                   --设置排序规则名称
  [ WITH  <external_access_option> ]          --设置外部访问
] [;]

例:
【例3.1】 创建数据库student,并指定数据库的数据文件所在位置、初始容量、最大容量和文件增长量。

CREATE DATABASE   student   ON
(   NAME='student',
  FILENAME = >'D:\sqlprogram\student.mdf',
  SIZE = 5MB,
  MAXSIZE = 10MB,
  FILEGROWTH = 5%)
GO

【例3.2】 创建数据库teaching,并指定数据库的数据文件和日志文件的所在位置、初始容量、最大容量和文件增长量。

CREATE DATABASE teaching
ON  PRIMARY 
( NAME = 'teaching', 
FILENAME = 'D:\sqlprogram\teaching.mdf',
SIZE = 6MB, 
MAXSIZE = 30MB, 
FILEGROWTH = 1MB ) 
LOG ON 
( NAME = 'teaching_log',
 FILENAME = 'D:\sqlprogram\teaching_log.ldf',
 SIZE = 2MB ,
 MAXSIZE = 10 MB, 
 FILEGROWTH = 10%)
 COLLATE Chinese_PRC_CI_AS
GO

2. 修改数据库

使用SSMS

使用SQL Server Management Studio修改数据库,其主要步骤如下:
(1)启动SQL Server Management Studio,在对象资源管理器中,用户可以右击所选择的数据库 test01,在弹出的快捷菜单中选择“属性”命令打开“数据库属性”窗口,如图3-7所示。在“数据库属性”窗口的“常规”选项卡中,显示的是数据库的基本信息,这些信息不能修改。
image

(2)单击“文件”选项卡,如图3-8所示,可以修改数据库的逻辑名称、初始大小、自动增长等属性,也可以根据需要添加数据文件和日志文件,还可以更改数据库的所有者。
image

(3)在“文件组”选项卡中,可以修改现有的文件组,也可以指定数据库的默认文件组、添加新文件组。
(4)在“选项”选项卡中,修改数据库的排序规则。
“数据库属性”窗口包含的各种属性,只要需要,就可以选择相应的选项卡来修改

SQL语句ALTER DATABASE

(1)ALTER DATABASE语句的语法

ALTER DATABASE database_name    --需修改的数据库名
{  <add_or_modify_files>                 --增加或修改数据库文件
  | <add_or_modify_filegroups>     --增加或修改数据库文件组
  | <set_database_options>                --设置数据库选项
  | MODIFY NAME = new_database_name       --数据库重命名 
  | COLLATE collation_name              --更改排序规则
} [;]

【例3.3】 为student数据库增加一个日志文件。

ALTER DATABASE student
ADD LOG FILE
(  NAME= stud_log,
  >FILENAME='D:\sqlprogram\stud_log.LDF',
  SIZE=2 MB,
 MAXSIZE=6 MB,
  FILEGROWTH=1MB  )
GO

【例3.4】修改student数据库的排序规则。

ALTER DATABASE student
COLLATE Chinese_PRC_CI_AS_KS

标签:03,数据文件,文件,--,创建,数据库,Server,SQL
From: https://www.cnblogs.com/kingwz/p/16827069.html

相关文章