在一台计算机上可以安装一个或者多个(同一版本或者不同版本),其中的一个称为一个数据库实例。一般安装第一个数据库采用默认实例(在安装时指定),通过实例名称来区分不同的SQL server。
数据库是一个容器,里面包含数据库对象。SQL Server 2016数据库包含如下常用的数据库对象。
·
表:表是存放数据及表示关系的主要形式,是最主要的数据库对象。
例如,对于学生成绩管理系统,学生信息、课程信息和成绩信息应分别存放在学生表、课程表和
成绩表中。
·视图:视图是由一个或多个基本表生成的引用表(虚表)。
例如,因为成绩中仅仅包含学号和课程号,通过成绩表不能直接看出学生姓名、课程名称等信息,
所以,就可以定义一个学生课程成绩视图,将学生表、课程表与成绩表关联起来,生成一个包含学号、
姓名、课程号、课程名和成绩的虚表,打开这个表就能看到这些字段在一起的一个表的信息。
·索引:表中的记录通常按其输入的时间顺序存放,这种顺序称为记录的物理顺序。为了实现对
表记录的快速查询,可以对表的记录按某个或某些字段或组合(索引表达式)进行排序,这种顺序称
为逻辑顺序。通过逻辑顺序搜索索引表达式的值,可以实现对该类数据记录的快速访问。如果索引表
达式能够唯一地确定一个记录,则该索引表达式可以作为主键。
例如,在学生表中,对学号字段进行索引,这样按学号进行查找对应学生信息记录时很快就可进
行定位。学号字段可指定为“主键”。
·约束:约束用于保障数据的一致性与完整性。具有代表性的约束就是主键和外键。主键约束当
前表记录的主键字段值唯一性,外键约束当前表记录与其他表的关系。
例如,在成绩表中,学号作为外键与学生表中学号(主键)建立关联,以使成绩表的成绩记录对
应学生表的学生记录。
·存储过程:存储过程是一组为了完成特定功能的 SQL 语句集合。它存储在数据库中,存储过
程具有名称,能够接受输入参数、输出参数、返回单个或多个值。存储过程独立于表存在。
例如,在学生数据库中,编写若干条T-SQL语句计算总学分作为存储过程,可以汇总成绩表相应
学生的总学分,然后放到学生表相应的学生总学分字段中。学号作为输入参数,计算制订学生的总学
分;输入参数为空,则计算所有学生的总学分。
触发器:触发器基于一个表的操作(插入、修改和删除)创建,编写若干条T-SOL语句,当该
操作发生时,这些T-SQL语句被执行,返回真或者假。返回假时,当前表的操作不能被执行。
例如,可在成绩表中创建插入触发器,实现成绩表中不能插入学生表没有的学生。
·默认值:默认值是在用户插入新表记录前,系统设置字段的初始值。
例如,在学生表,设置性别字段默认值为男,这样在增加记录时只需对女学生修改性别字段内容。
用户和角色:用户是指对数据库有存取权限的使用者;角色是一个用户组,给角色分配操作权
限,该角色对应组的用户都具有该操作权限。
·规则:规则用来限制表字段的数据范围。
例如,在学生表中,出生时间字段通过采用规则设置为当前日期前的16~65年之间。
·类型:用户可以根据需要在给定的系统类型之上定义自己的数据类型。
例如,可以定义系统的逻辑类型为性别类型,这样用户在定义性别有关的数据类型时可以采用性
别类型。
·函数:用户可以根据需要将若干个T-SQL语句或者系统函数进行组合实现特定功能,定义成自
己的函数。然后,在需要该功能处调用此函数。
简单地说,架构的作用是将数据库中的所有对象分成不同的集合,每一个集合就称为一个架构。
数据库中的每一个用户都会有自己的默认架构。这个默认架构可以在创建数据库用户时由创建者设定,
若不设定,则系统默认架构为 dbo.数据库用户只能对属于自己架构中的数据库对象执行相应的数据
操作。操作的权限则由数据库角色决定。
(1)master数据库:记录 SQL Server 系统的所有系统级信息,包括SQL Server实例初始化信息、
登录账户、端点、连接服务器和系统配置等。还记录其他数据库文件的位置。因此,如果master数据
库不可用,则 SQL Server 无法启动。
(2)model数据库:保存 SQL Server 实例上创建的所有数据库的模板。如果修改model数据库,
之后创建的所有数据库都将继承这些修改。
如果用特定于用户的模板信息修改 model 数据库,建议用户进行备份。
(3)msdb 数据库:SQL Server 代理使用msdb 数据库来计划警报和作业,SQL Server Management
Studio、Service Broker 和数据库邮件等其他功能也使用该数据库。在进行任何更新 msdb 的操作(如
备份或还原任何数据库)后,建议用户进行备份。
(4)tempdb数据库:tempdb是所有用户使用的临时数据库。每次启动SQL Server时都会重新创
建tempdb,在断开连接时会自动删除其中的临时表和存储过程。不允许对tempdb进行备份和还原操
作。
(1)文件:从逻辑上看,数据库是一个容器,存放数据库对象及其数据,其基本内
容是表数据。但从操作系统角度(物理)看,数据库由若干个文件组成,与其他文件并没有什么特别,
仅仅是数据库文件由DBMS(SQL Server)创建、管理和维护。
当原有数据库文件的存储空间不够大时,除可以采用扩大原有数据文件存储容量外,用户还可以
修改SQL Server默认的文件空间增长方式。
(2)数据文件和日志文件:在SQL Server中,数据库包含行数据文件和日志文件。行数据文件存
放数据库数据;日志文件记录操作数据库的过程。
(3)文件组:数据库文件除了可扩大原有存储容量外,还可以增加新的数据文件,称为辅助数据
文件。
在SQL Server中,一个数据库可以包含多个行数据文件和日志文件,这样可以避免文件过大,且
存放在不同的硬盘上,可以提高处理速度。多个文件通过文件组进行组织,文件组可以是一个或者多
个,给每个文件组命名一个逻辑名。文件组是由SQL Server管理的,与操作系统无关。