数据库基本知识理论
Posted YuLong~W
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库基本知识理论相关的知识,希望对你有一定的参考价值。
文章目录
数据库基本概念(四个)
数据(Data):描述事物的符号记录。
数据库(DataBase,DB):是长期存储在计算机内的、有组织的、可共享的、统一管理的相关数据的集合。
数据库管理系统(DataBase Management System,DBMS):用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统(DataBase System,DBS):有数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。
数据库系统(DBS)
DBS的组成
- 数据:数据是数据库系统的工作对象,它们是某特定应用环境中进行管理和决策所必需的信息。
- 用户:用户是指存储、维护和检索数据库中数据的人员。数据库系统中主要有3类用户:终端用户、应用程序员和数据库管理员。
- 硬件:硬件是指存储数据库和运行数据库管理系统DBMS的硬件资源。
- 软件:软件是指负责数据库存取、维护和管理的软件系统,通常叫做数据库管理系统(DBMS)。
DBS的特点
- 数据结构化: 即数据本身结构化,数据与数据之间的关系也是结构化的。这大大方便了数据的存储、管理、处理和维护,并提供统一的对外接口,方便使用和迁移。
- 数据低冗余、共享性高:整体结构化的数据面对的不再是单一应用或单个用户,而是面向整个系统,可以被多个应用共享使用 。在系统内只有一个正本,不会产生多个副本数据不一致的情况减少数据冗余。
- 数据独立性提高: 物理独立性——应用程序和数据库中数据的物理存储是相互独立的。逻辑独立性——应用程序和数据库的逻辑结构是相互独立的。
- 有统一的数据管理和控制功能: 数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。
数据库管理系统(DBMS)
DBMS的组成
- 语言编译处理程序
- 系统运行控制程序
- 系统建立、维护程序
- 数据字典
DBMS的功能
- 数据库定义功能
- 数据存取功能
- 数据库运行管理功能
- 数据库的建立和维护功能
- 数据通信功能
数据库系统的
内部体系结构
内部体系结构是三级模式结构,分别为:模式、外模式和内模式
外部体系结构
外部体系结构主要有:集中式结构、文件服务器结构和客户/服务器结构
数据库模式
是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据之间的联系以及数据有关的安全性、完整性要求)的描述。
数据库的三级系统结构
- 外模式:又称为子模式或用户模式,是对特定数据库用户相关的局部数据的逻辑结构和特征的描述。是数据库用户的数据视图,通常是模式的子集。一个数据库可有多个外模式。
- 内模式:又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
- 模式:是对数据库中全体数据的逻辑结构和特征的描述。
数据库的二级映像
① 外模式/模式映像、② 模式/内模式映像
数据库三级模式通过二级映象在 DBMS 内部实现这三个抽象层次的联系和转换。外模式面向应用程序, 通过外模式/模式映象与逻辑模式建立联系, 实现数据的逻辑独立性。 模式/内模式映象建立模式与内模式之间的一对一映射, 实现数据的物理独立性。
概念模型
也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计
- 实体与实体集:实体是现实世界中可区别于其他对象的事物或物体;实体集是具有相同类型及共享相同性质(属性)的实体集合。
- 属性:实体通过一组属性来表示;属性是实体集中每个成员具有的描述性性质。
- 关键字和域:实体的某一属性或属性组合,其值能惟一标识出某一实体,称为关键字,也称码;每个属性都有一个可取值的集合,称为该属性的域,或者该属性的值集;
- 联系:两个实体之间的联系又可分为一对一联系(1:1)、一对多联系(1:n)和多对多的联系(m:n)。
常见的数据模型(三种)
- 层次模型:是用 树状<层次>结构 来组织数据的数据模型。层次结构模型具有如下特征:① 有且只有一个结点没有双亲结点,这个结点称为根结点 ② 根以外的其它结点有且只有一个双亲结点
- 网状模型:是用 有向图(由有向树演变而来)表示实体和实体之间的联系的数据结构模型称为网状数据模型。网状模型具有如下特征:① 允许一个以上的结点没有双亲 ② 至少有一个结点可以有多于一个双亲
- 关系模型:是用 二维表格结构 来表示实体及实体之间联系的数据模型,关系模型的数据结构是一个“二维表框架”组成的集合。关系模型具有以下特征:① 无论是是实体、还是实体之间的联系都是被映射成统一的关系 ② 操作的对象和结果都是一张二维表,它由行和列组成
关系模型是使用最广泛的数据模型,目前大多数数据库管理系统都是关系型的,如mysql、Sql server、Oracle都是关系数据库管理系统。
关系模型相关概念
- 关系:一个关系对应通常说的一张表
- 元组:表中的一行即为一个元组
- 属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名
- 域:是一组具有相同数据类型的值的集合。即属性的取值范围
- 分量:元组中的一个属性值。
- 候选关键字:也称候选码,关系中的一个或几个属性的集合,该属性集唯一标识一个元组
- 主关键字(主键):一个关系中有多个候选关键字,可以选择其中一个作为主关键字
- 外部关键字(外键):如果一个属性组不是所在关系的关键字,但它是其他关系的关键字,则该属性组称为外部关键字
- 主属性:包含在任一候选关键字中的属性称为主属性
- 关系模式:对关系的描述,关系名(属性1,属性2,…,属性n)
关系模型的完整性约束
- 实体完整性:是通过主键来实现。主键不能为空且值必须唯一
- 参照完整性:是通过主外键关联来实现
- 域完整性:是通过列的取值范围实现
- 用户自定义完整性:用户根据具体需求定义的完整性约束条件来实现
关系代数
传统的集合运算是二目运算,包括并、差、交、笛卡尔积4种运算。
- 关系R和关系S的并运算
- 关系R和关系S的差运算
- 关系R和关系S的交运算
- 关系R和关系S的笛卡尔积:两个分别具有n和m个属性的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的笛卡尔积有k1k2元组。
专门的关系运算包括选择、投影、连接、除运算等。
- 选择:从一个关系中选出满足给定条件的记录的操作称为选择或筛选。选择是从行的角度进行的运算
- 投影:从一个关系中选出若干指定字段的值。投影是从列的角度进行的运算,所得到的字段个数通常比原关系少,或者字段的排列顺序不同
- 连接:把两个关系中的记录按一定条件横向结合,生成一个新的关系
- 除:元组在X上分量值x的象集Yx包含S在Y上投影的集合
数据库其它知识点
索引
索引: 是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,主要使用了B+tree和Hash结构
创建索引的目的:提高查询的效率
工作原理: 在MySQL中,存储引擎用类似的方法使用索引,其先在索引中查找对应的值,然后根据匹 配的索引记录找到对应的数据行,最后将数据结果集返回给客户端
类别:
- 普通索引:提高查询效率针对表中的某列建立的索引
- 主键索引:在创建表格并指定主键时会自动创建,为了提高查询效率
- 唯一索引:创建索引的字段(列)取值是唯一的
- 外键索引:查询时会自动进行主外键的关联查询.外键的作用是保证数据的一致性和完整性
- 全文索引:主要用于文章的搜索,在搜索引擎中使用较多
唯一索引和主键索引的区别:(重点)
- ①二者本质不同:主键是约束,唯一索引是索引
- ②主键创建后一定包含一个唯一索引,但是唯一索引不一定是主键
- ③唯一索引允许空值,主键不允许有空值
- ④一个表最多一个主键,但可以有多个唯一索引
- ⑤主键可被其他表引用为外键,唯一索引不能
视图
视图: 是一张虚拟的表,数据来自于查询语句所涉及的表。使用时和真实的表相同,但是视图不会在数据库中进行存储。
作用: 针对复杂的多表查询,为了简化SQL语句的编写,可以先建立视图,然后用简单的查询语句去查询视图,就可以提高查询效率。
事务
事务: 在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。
作用: 确保数据库的完整性
事务的特性(ACID):
- (1) 原子性(Atomicity):事务中包括的所有操作要么都做,要么都不做
- (2) 一致性(Consistency):事务必须使数据库从一个一致性状态变到另一个一致性状态
- (3) 隔离性(Isolation):一个事务内部的操作及使用的数据对并发的其他事务时隔离的
- (4) 持久性(Durability) :事务一旦提交,对数据库的改变时永久的
持续更新。。。。。。。
以上是关于数据库基本知识理论的主要内容,如果未能解决你的问题,请参考以下文章