数据库的创建于管理

数据库常用对象

在SQL Server数据库中,表、字段、索引、视图、存储过程等常用的对象被称为数据库对象。
(1)表
表是包含数据库中所有数据的数据库对象,由行和列组成,用于组织和存储数据。
(2)字段
列被称为字段,字段具有自己的属性,如字段类型、字段大小等,字段类型是字段最重要的属性。
SQL规范支持的5种基本字段类型,包括字符型、文本型、数值型、逻辑型和日期类型。
(3)索引
索引是数据表中一列或多列值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
(4)视图
视图是从一个或多个表导出的表。视图与表不同,视图是虚表,即视图所对应的数据不进行实际存储。
(5)存储过程
存储过程是一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后进行调用,不需要再次编译。

数据库组成

数据库主要由文件、文件组和日志文件组成,数据库中所有数据和对象都被存储在文件中。
(1)文件
文件是指数据库中用来存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个文件,但一个数据文件只属于一个数据库。数据库只有一个主数据文件,其他则为次要数据文件。
主文件:存放数据和数据库初始化信息。默认扩展名为.mdf
次要数据文件:存放除主数据文件以外的所有数据文件。默认扩展名.ndf。
次要文件作用:

  • 由于一个mdf太大,当还原到别的机器上时可能一个盘装不下,如果有多个ndf,那么可以分开到别的盘曲。
  • 可以把数据和索引分开,这两个分到不同的文件,由于一个db只能有一个mdf(其实这只是命名问题,是可以有多个mdf后缀名的文件的,不过强烈不建议这样做),所以需要用最少一个文件,这就要加多一个ndf,用来存放索引(一般mdf存放数据就可以了)。
  • 对于超大的数据库,一个文件会造成很多不便,比如备份,可能要很久,但是如果分开文件组(每个文件组有一个到多个ndf,主文件组有一个mdf),可以使用文件组备份,在某种程度下降低备份文件的存放压力
    (2)文件组
    文件组是数据库文件的一种逻辑管理单位,它将数据库文件分为不同的文件组,方便对文件的分配和管理。文件组主要分为两种类型,一种是主文件组,另一种是用户自定义文件组。
    改善数据库性能
    使用文件和文件组可以改善数据库的性能,因为这样允许跨多个磁盘、多个磁盘控制器或 RAID(独立磁盘冗余阵列)系统创建数据库。例如,如果计算机上有四个磁盘,那么可以创建一个由三个数据文件和一个日志文件组成的数据库,每个磁盘上放置一个文件。在对数据进行访问时,四个读/写磁头可以同时并行地访问数据。这样可以加快数据库操作的速度。

主文件组:包含主要数据文件和任何没有明确指派给其他文件组的文件。
用户自定义文件组:主要是在CREATE DATABASE 或ALTER DATABASE语句中,使用FILEGROUP关键字指定的文件组。
(3)日志文件
日志文件种记录了存储数据库的更新情况等事务日志信息。

数据库存储结构

数据库的存储结构分为逻辑存储结构和物理存储结构
(1)逻辑存储结构:说明数据库是由那些性质的信息所组成。数据库不仅仅只是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。
(2)物理存储结构:说明数据库文件在磁盘是如何存储的。数据库在磁盘上是以文件单位存储的,有数据库文化和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。

命名规则

在计算机中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。

1.标识符规则

(1)首字母
第一种情况:标识符首字母包括26个英文字母,及其他一些语言字符,如汉字。
第二种情况:下划线''、符号'@'、或数字符号'#'。
(2)首字母后的字符
第一种:26个英文字符
第二种:下划线'
'、符号'@'、或数字符号'#'。
第三种:数字0-9。
(3)标识符不允许是T-SQL保留字。
(4)标识符内部不允许有空格或特殊字符。
@@开头的标识符为全局变量,以##开头的为全局临时数据库对象。

2.标识符的分类

SQL Server中,标识符共有两种,规则标识符(遵守标识符规则),界定标识符(不符合标识符格式的标识符,需要给标识符加上[]或' ')。

创建数据库

在创建数据库时,用户要提供与数据库有关的数据库名称、数据存储方式、数据库大小、数据库的存储路径等信息。
创建数据库语句:

CREATE DATABASE mydb
ON
(
    NAME = my_db,   --数据库主数据文件名
    FILENAME = 'D:\SQL Server 2016\my_db.mdf',   --主数据文件存储位置
    SIZE = 10,      --数据文件大小,默认单位为MB
    MAXSIZE = 12,   --最大增长空间为MB
    FILEGROWTH = 2  --文件每次的增长大小为MB
)
LOG ON      --创建日志文件
(
    NAME = mydb_log,
    FILENAME = 'D:\SQL Server 2016\mydb_log',
    SIZE = 2MB,
    MAXSIZE = 4MB,
    FILEGROWTH = 2
)

如果直接创建数据库,数据库参数采用系统默认设置。
如CREATE DATABASE MY_db

使用ALTER语句修改数据库
添加samples.mdf行文件

ALTER DATABASE mydb
ADD FILE
(
NAME = 'samples',
FILENAME = 'D:\SQL Server 2016\samples.mdf',
SIZE = 1024kb,
MAXSIZE = 5MB,
FILEGROWTH = 1MB
)

修改数据库名称

ALTER DATABASE oldname
MODIFY  NAME = newname

把数据库名为mydb的数据库改为名称为my_db的数据库。

ALTER DATABASE mydb
MODIFY NAME = my_db

修改数据库初始大小

ALTER DATABASE my_db
MODIFY FILE
(
NAME=samples,
SIZE = 20MB   --初始大小
MAXSIZE=200   --最大容量大小
);

修改数据库文件的初始大小时,指定的SIZE的大小必须大于或等于当前大小,如果小于当前大小,代码将不能被执行。

删除数据库

DROP DATABASE my_db

如果数据库大小不断增长,则可以指定其增长方式,如果数据库大小基本保存不变,为了提高数据库的使用效率,通常不指定其有自动增长方式。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。