共计 2560 个字符,预计需要花费 7 分钟才能阅读完成。
SQL Server 数据库相关知识点
1、为什么要使用数据库?
数据库技术是计算机科学的核心技术之一。使用数据库可以高效且条理分明地存储数据、使人们能够更加迅速、方便地管理数据。数据库具有以下特点:
·可以结构化存储大量的数据信息,方便用户进行有效的检索和访问
·可以有效地保持数据信息的一致性. 完整性, 降低数据冗余
·可以满足应用的共享和安全方面的要求
2、数据库的基本概念
⑴什么是数据?
数据就是描述事物的符号记录,数据包括数字、文字、图形、声音、图像等;数据在数据库中以“记录”的形式存储,相同格式和类型的数据将存放在一起;数据库中,每一行数据就是一条“记录”。
⑵什么是数据库和数据库表?
不同的记录组织在一起就是数据库的“表”,也就数说表就是来存放数据的,而数据库就是“表”的集合。
⑶什么是数据库管理系统?
数据库管理系统 (DBMS) 是实现对数据库资源有效组织、管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各种操作。DBMS 主要有以下功能:
·数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的转储与恢复、数据库的重组与性能监视等功能
·数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式及数据格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语义的错误数据被输入或输出,
·数据操纵功能:包括数据查询统计和数据更新两个方面
·数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控制、数据库内部维护等功能
·通信功能:DBMS 与其他软件之间的通信
⑷什么是数据库系统?
数据库系统是一人一机系统,一由硬件、操作系统、数据库、DBMS、应用软件和数据库用户组成。
⑸数据库管理员(DBA)
一般负责数据库的更新和备份、数据库系统的维护、用户管理工作、保证数据库系统的正常运行。
3、数据库的发展过程
·初级阶段 - 第一代数据库:在这个阶段 IBM 公司研制的层次模型的数据库管理系统 -IMS 问世
·中级阶段 - 关系数据库的出现:DB2 的问世、SQL 语言的产生
·高级阶段 - 高级数据库:各种新型数据库的产生;如工程数据库、多媒体数据库、图形数据库、智能数据库等
4、数据库的三种模型
·网状模型:数据关系多对多、多对一,较复杂
·层次模型:类似与公司上下级关系
·关系模型:实体(实现世界的事物、如×××、银行账户)- 关系
5、当今主流数据库
·SQLServer:Microsoft 公司的数据库产品,运行于 windows 系统上。
·Oracle:甲骨文公司的产品;大型数据库的代表,支持 linux、unix 系统。
·DB2:IBM 公司的德加·考特提出关系模型理论,13 年后 IBM 的 DB2 问世
·MySQL:现被 Oracle 公司收购。运行于 linux 上,Apache 和 Nginx 作为 Web 服务器,MySQL 作为后台数据库,PHP/Perl/Python 作为脚本解释器组成“LAMP”组合
6、关系型数据库
⑴基本结构
关系数据库使用的存储结构是多个二维表格,即反映事物及其联系的数据描述是以平面表格形式体现的。在每个二维表中,每一行称为一条记录,用来描述一个对象的信息:每一列称为一个字段,用来描述对象的一个属性。数据表与数据库之间存在相应的关联,这些关联用来查询相关的数据。关系数据库是由数据表之间的关联组成的。其中:
·数据表通常是一个由行和列组成的二维表,每一个数据表分别说明数据库中某一特定的方面或部分的对象及其属性
·数据表中的行通常叫做记录或者元组,它代表众多具有相同属性的对象中的一个
·数据表中的列通常叫做字段或者属性,它代表相应数据库中存储对象的共有的属性
⑵主键和外键
主键:是唯一标识表中的行数据,一个主键对应一行数据;主键可以有一个或多个字段组成;主键的值具有唯一性、不允许为控制(null);每个表只允许存在一个主键。
外键:外键是用于建立和加强两个表数据之间的链接的一列或多列;一个关系数据库通常包含多个表,外键可以使这些表关联起来。
⑶数据完整性规则
·实体完整性规则:要求关系中的元组在主键的属性上不能有 null
·域完整性规则:指定一个数据集对某一个列是否有效或确定是否允许 null
·引用完整性规则:如果两个表关联,引用完整性规则要求不允许引用不存在的元组
·用户自定义完整性规则
7、SQLServer 系统数据库
master 数据库:记录系统级别的信息,包括所有的用户信息、系统配置、数据库文件存放位置、其他数据库的信息。如果该数据库损坏整个数据库都将瘫痪无法使用。
model 数据库:数据库模板
msdb 数据库:用于 SQLServer 代理计划警报和作业
tempdb 数据库:临时文件存放地点
SQL Server 数据库文件类型
数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成,一个数据库至少应该包含一个数据文件和一个事务日志文件。
数据库创建在物理介质 (如硬盘) 的 NTFS 分区或者 FAT 分区的一个或多个文件上,它预先分配了将要被数据和事务日志所使用的物理存储空间。存储数据的文件叫做数据文件,数据文件包含数据和对象,如表和索引。存储事务日志的文件叫做事务日志文件(又称日志文件)。在创建一个新的数据库的时候仅仅是创建了一个“空壳, 必须在这个“空壳”中创建对象(如表等),然后才能使用这个数据库。
SQLServer2008 数据库具有以下四种类型的文件
·主数据文件:主数据文件包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件,主数据文件的文件扩展名是.mdf。
·次要 (辅助) 数据文件: 除主数据文件以外的所有其他数据文件都是次要数据文件,某些数据库可能不包含任何次要数据文件, 而有些数据库则包含多个次要数据文件,次要数据文件的文件扩展名是.ndf。
·事务日志文件:包含恢复数据库所有事务日志的信息。每个数据库必须至少有一个事务日志文件,当然也可以有多个,事务日志文件的推荐文件扩展名是.ldf。
·文件流 (Filestream):可以使得基于 SQLServer 的应用程序能在文件系统中存储非结构化的数据,如文档、图片、音频等,文件流主要将 SQLServer 数据库引擎和新技术文件系统(NTFS) 集成在一起,它主要以 varbinary (max)数据类型存储数据。
: