二、基本概念
1、数据库
数据库(DB):即DataBase的缩写,是依照一定的数据结构来组织、存储和管理数据的一个仓库。是存储在一起的相关数据的一个集合。可以把数据库想象成一个文件柜,文件柜里面又包括有多个文件夹,而文件夹里面又包括有多个文件。
数据库根据作用的区别,又可以分为两种:
- 关系型数据库。是建立在关系模型基础上的数据库,借助于集合、数学等观念和方法来处理数据库的数据。比如SQL Server、MySQL、Access等。
- 非关系型数据库。非关系型数据库也被称为NoSQL数据库,NoSQL的本意是“Not Only SQL”,指的是非关系型数据库,而不是“NO SQL”的意思。非关系型数据库的产生不是要完全否定关系型数据库,而是作为传统数据库的一个有效补充。
2、数据库管理系统
数据库管理系统(DBMS):即DataBase Management System的缩写,是为了管理数据库而设计的一个电脑软件系统。是用来操作和管理数据库的大型软件,用于建立、使用和保护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完全性。用户可以通过DBMS访问数据库中的数据,数据库管理员也能够通过DBMS进行数据库的保护工作。它可以支持多个利用程序和用户用区别的方法在同时或区别时刻去建立、修改和询问数据库。大部份DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限束缚,实现对数据的追加、删除等操作。
3、数据库系统
数据库系统是由数据库和数据库管理系统组成的。
二、数据库的组成
数据库是以文件的情势存在,由文件和文件组组成的。
1、文件
数据库文件分为以下几种类型:
- 主要数据文件:主要数据文件里面寄存的是数据和数据库的一些初始化信息。每一个数据库有且只有一个主要数据文件。主要数据文件以.mdf为扩大名。
- 次要数据文件:次要数据文件里面寄存的是除主要数据文件以外的所有数据。次要数据文件不是一定要的,可以没有。如果有次要数据文件,可以有一个或多个。假设数据库的数据非常大,这时候候可以把一些数据放到次要数据文件里面。次要数据文件是以.ndf为扩大名。
- 事务日志文件:事务日志文件寄存的是对数据库进行操作的所有日志信息。每一个数据库最少要有一个日志文件,也能够有多个。事务日志文件是以.ldf为扩大名。
2、文件组
文件组是数据库文件的一种逻辑管理单位,它将数据库文件分成区别的文件组,方便我们对文件的分配和管理。文件组分为以下两种类型:
- 主文件组(Primary):主要包括主要数据文件和没有明确指派给其它文件组的文件。
- 用户自定义文件组:我们在使用脚本创建数据库或修改数据库的时候,使用fileGroup关键字指定的文件组。
一个文件只能属于一个文件组。
文件组的设计原则:
- 文件只能是一个文件组的成员。
- 文件或文件组只能属于一个数据库,不能同时属于多个数据库。
- 数据和日志信息不能属于同一个文件或文件组。
- 日志文件不能作为文件组的一部份。由于数据和日志是分开在管理的,所以我们备份的时候可以只备份数据文件或日志文件,恢复的时候也能够只恢复数据文件或日志文件,而不用备份全部数据库。
三、数据库经常使用对象
这篇文章主要讲授数据库中的经常使用对象。
1、表
表是包括数据库中所有数据的对象,由行和列组成,用于组织和存储数据。
2、字段
字段就是表中的列。一个表中可以有多个列,也能够只有一个。
字段也有自己的属性:列名、数据类型(决定了该字段存储哪一种类型的数据)。
3、视图
数据库里面可以多张表,表里面可以有多个字段。表与表之间可能也存在着关系。视图也能够认为是一张表,但是视图不是真实存在的表,是虚拟表。它可以从一张表或多张表进行关联查询,把需要的字段提取出来,这些字段就会组合成一种虚拟表。是用户查看数据的一种方式。结构和数据都是建立在对表的查询上的。
4、索引
建立索引是为了给用户提供一种快速访问数据的途径,索引是依赖于表建立的。我们创建索引是针对表创建的。创建索引以后,使得我们在遍历数据的时候,无需对整张表进行全面的查询,而可以通过索引进行快速的定位查询。可以理解为Word文档里面的目录。
5、存储进程
存储进程是一组为了完成特定功能的SQL语句的集合,存储进程里面可以只有一条查询语句也能够有多条,可以是批量的插入操作,还可以有插入、修改、查询等语句。建立好存储进程以后,需要对其进行生成和编译,编译以后就会存储在数据库当中了。以后使用的时候,直接对其进行调用便可。存储进程只需要进行一次编译。
6、触发器
属于用户自定义的一种SQL事务命令的集合,可以履行多种操作。数据库是针对表的。当对表履行增删改操作时,会自动履行触发器。
7、束缚
束缚可以理解为对数据表中列值进行的一种限制。可以是格式上、也能够是值范围的束缚。当我们对数据表的某列定义了这类限制,如果我们在对表进行插入数据操作的时候,插入的值不符合这类限制就会禁止插入数据。可以更好的规范表中的列。
8、缺省值
缺省值相当于对表中的列指定一个默许值。当进行插入数据时,如果没有为这个列插入值,那末就会自动以预先设置的默许值进行填充。
四、数据库束缚
一、定义
束缚:规定表中的数据规则。如果存在违背束缚的数据行动,行动就会被禁止。
如果是使用DBMS工具创建表,那末束缚一定要在创建表以后才能被创建。如果是使用脚本创建表,则可以在脚本中就创建束缚。
二、分类
1、主键束缚
Primary key束缚:主键束缚,具有唯一性、非空,不能被修改。
2、外键束缚
Foreign key束缚:用来加强两个表的一列或多列数据之间的连接。首先需要建立主表中的主键,然后在定义外键表中的外键。
注意:只有主表中的主键列才能被从表作为外键来使用,其它列不可以作为外键使用。从表中外键的值一定要是主表中主键的值,主表限制了从表的更新和插入。当删除主表中的某条数据时,如果该条数据的主键在从表中存在援用,那末一定要先删除从表中的援用数据,然后才能删除主表中的数据。如果该条数据在从表中没有援用,那末可以直接删除。
3、Unique束缚
Unique:唯一性束缚。确保表中的一列数据没有相同的值。与主键束缚类似,但又区别。一个表的主键束缚只能有一个,唯一性束缚可以有多个,也能够没有。而且唯一性束缚并不是是主键的一列或多列的组合。唯一键可以为null,但主键不可以。
4、Check束缚
Check束缚:我们可以通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。
5、Default束缚
Default束缚:即默许值束缚。用户在插入新的数据行时,如果该行没有指定数据,那末系统将默许值赋给该列。如果没有设置默许值,系统就会把该列设置为null值。
到此这篇关于SQL Server数据库基本概念、组成、经常使用对象与束缚的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
文章来源:丸子建站
文章标题:SQL基础:SQL Server数据库基本概念、组成、经常使用对象与束缚
https://www.wanzijz.com/view/58991.html