数据库基本知识理论

数据库基本概念(四个)

数据(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)。

数据库分类

数据库分类:根据数据库的架构和数据组织原理进行分类

1、早期根据数据库的组织数据的存储模型分类

  • 层次数据库:基于层次的数据结构(数据分层)
  • 网状数据库:基于网状的数据结构(数据网络)
  • 关系数据库:基于关系模型的数据结构(二维表)

  • ① 层次模型:是用 树状<层次>结构 来组织数据的数据模型。层次结构模型具有如下特征:① 有且只有一个结点没有双亲结点,这个结点称为根结点 ② 根以外的其它结点有且只有一个双亲结点
  • ② 网状模型:是用 有向图(由有向树演变而来)表示实体和实体之间的联系的数据结构模型称为网状数据模型。网状模型具有如下特征:① 允许一个以上的结点没有双亲至少有一个结点可以有多于一个双亲
  • ③ 关系模型:是用 二维表格结构 来表示实体及实体之间联系的数据模型,关系模型的数据结构是一个“二维表框架”组成的集合。关系模型具有以下特征:① 无论是是实体、还是实体之间的联系都是被映射成统一的关系 ② 操作的对象和结果都是一张二维表,它由行和列组成

关系模型是使用最广泛的数据模型,目前大多数数据库管理系统都是关系型的,如MySQL、Sql server、Oracle都是关系数据库管理系统。

2、现在较多根据实际数据管理模型分类(存储介质)

  • 关系型数据库:基于关系模型的数据结构(二维表)通常存储在磁盘
  • 非关系型数据库:没有具体模型的数据结构(键值对)通常存储在内存

关系型数据库

目标:了解关系型数据库的模型逻辑,了解当前流行的关系型数据库产品

关系型数据库:是一种建立在关系模型上的数据库

  • 关系模型
    • 关系数据结构(存储)
    • 关系操作集合(操作)
    • 关系完整性约束(约束)
  • 关系型数据库存储在磁盘中(永久性存储)
  • 关系型数据库系统(DBS)模型有四层结构
    • 数据库管理系统(DBMS):管理系统运行(DataBase Management System)
    • 数据库(DB):数据存储的管理者(小管理,受DBMS管理)
    • 数据表(Table):数据关系管理者
    • 数据字段(Field):依赖于数据表,实际数据存储者
  • 关系型数据库产品
    • 大型:Oracle、DB2
    • 中型:MySQL、SqlServer
    • 小型:Sybase、Access

关系模型相关概念

  • 关系:一个关系对应通常说的一张表
  • 元组:表中的一行即为一个元组
  • 属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名
  • 域:是一组具有相同数据类型的值的集合。即属性的取值范围
  • 分量:元组中的一个属性值。
  • 候选关键字:也称候选码,关系中的一个或几个属性的集合,该属性集唯一标识一个元组
  • 主关键字(主键):一个关系中有多个候选关键字,可以选择其中一个作为主关键字
  • 外部关键字(外键):如果一个属性组不是所在关系的关键字,但它是其他关系的关键字,则该属性组称为外部关键字
  • 主属性:包含在任一候选关键字中的属性称为主属性
  • 关系模式:对关系的描述,关系名(属性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上投影的集合

非关系型数据库

目标:了解非关系型数据库的概念和一些主流产品

非关系型数据库:NoSQL(Not only SQL),不仅仅是关系型数据库

  • 所有不是关系型数据库的统称
  • 数据存储模型不是二维表,而是键值对(key->value)
  • 存储的位置通常是内存(效率高)
  • 不能永久性存储(需要定时存到关系型数据库中)
  • 常见的非关系型数据库产品
    • MongoDB
    • Redis
    • Memcached

比较:

NoSQL通常是与关系型数据库配合使用的,彼此是一种互补关系

  • NoSQL运行在内存,解决效率问题
    • I/O问题
    • 效率问题
  • MySQL运行在磁盘,解决稳定问题
    • 安全问题(永久存储)
    • 稳定

小结

1、NoSQL是对非关系型数据库的一类统称

  • NoSQL是不仅仅只是关系型数据库的意思

2、NoSQL通常运行在内存

  • 读取效率高
  • 并发访问高
  • 稳定性不高(断电即丢失)

3、NoSQL通常是键值对存储数据,访问也比较简单

数据库其它知识点

索引

​ 索引: 是关系型数据库中给数据库表中一列或多列的值排序后的存储结构,主要使用了B+tree和Hash结构

创建索引的目的:提高查询的效率

工作原理: 在MySQL中,存储引擎用类似的方法使用索引,其先在索引中查找对应的值,然后根据匹 配的索引记录找到对应的数据行,最后将数据结果集返回给客户端

类别:

  • 普通索引:提高查询效率针对表中的某列建立的索引
  • 主键索引:在创建表格并指定主键时会自动创建,为了提高查询效率
  • 唯一索引:创建索引的字段(列)取值是唯一的
  • 外键索引:查询时会自动进行主外键的关联查询.外键的作用是保证数据的一致性和完整性
  • 全文索引:主要用于文章的搜索,在搜索引擎中使用较多

唯一索引和主键索引的区别:(重点

  • ①二者本质不同:主键是约束,唯一索引是索引
  • ②主键创建后一定包含一个唯一索引,但是唯一索引不一定是主键
  • ③唯一索引允许空值,主键不允许有空值
  • ④一个表最多一个主键,但可以有多个唯一索引
  • ⑤主键可被其他表引用为外键,唯一索引不能

视图

视图: 是一张虚拟的表,数据来自于查询语句所涉及的表。使用时和真实的表相同,但是视图不会在数据库中进行存储。

作用: 针对复杂的多表查询,为了简化SQL语句的编写,可以先建立视图,然后用简单的查询语句去查询视图,就可以提高查询效率。

事务

事务: 在数据库中事务是工作的逻辑单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务机制确保这一组SQL语句所作的操作要么完全成功执行,完成整个工作单元操作,要么一点也不执行。

作用: 确保数据库的完整性

事务的特性(ACID):

  • (1) 原子性(Atomicity):事务中包括的所有操作要么都做,要么都不做
  • (2) 一致性(Consistency):事务必须使数据库从一个一致性状态变到另一个一致性状态
  • (3) 隔离性(Isolation):一个事务内部的操作及使用的数据对并发的其他事务时隔离的
  • (4) 持久性(Durability) :事务一旦提交,对数据库的改变时永久的

持续更新。。。。。。。

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值