数据库的基本概念
总结下数据库的基本概念。
描述事物的符号记录。可以说数字、文字、图像、语音、视频。数据的含义成为数据的语义,数据及其语义是不可分割的。另外,还有数据库、模型、关系等。详细如下。
数据库的基本概念
数据
描述事物的符号记录。可以说数字、文字、图像、语音、视频。数据的含义成为数据的语义,数据及其语义是不可分割的。数据库
数据库指长期存储在计算机内、有组织的、可共享的大量数据的集合。不同的数据库管理系统按照不同的方式组织、描述、管理数据。如关系型、文档型、键值型数据库。通常数据库设计时都会考虑冗余度、数据独立性、可扩展性这些因素。数据库管理系统 DBMS
它是一种计算机软件,包含如下功能:数据定义、数据组织、存储和管理
、数据操纵、数据库事务管理和运行管理、数据库建立和运行数据库系统
由数据库、数据库管理系统、应用程序、DBA组成数据模型
数据模型分两类概念模型、逻辑模型和物理模型。概念模型:按用户观点来对数据和信息建模,主要用于数据库设计。逻辑模型:从计算机的观点对数据建模,包括层次模式、面向对象数据模型、对象关系模型、半结构化数据模型等。物理模型:是对数据的最底层抽象,它描述数据在系统内部的表示方式和存取方法。
概念模型 —> 逻辑模型 —> 物理模型
人的世界 —> 概念 —> 机器的世界
概念模型的基本概念
实体 entity
客观存在的可以和其他事务区别的物体成为实体。属性
实体所具有的某一特点、特性成为属性码 Key
唯一
标识实体的属性
集称为码。实体型
用实体名和其属性名集合来抽象和刻画同类实体的方法。例如人的实现型就是:人(身份证,姓名,性别,DNA序列,身高,体重,学习,…)实体集
同一类型的实体的集合称为实体集。联系
客观世界中事物间是有联系的,这种联系反映在信息世界中称为实体之间的联系。实体之间的联系通常是指不同实体集之间的联系。这种联系有一对一、一对多、多对多。实体-联系方法—概念模型的表方法
简称E-R模型
关系模型
关系
可以直观地把关系看作一张二维的表格。元组
表中的一行称为元组。属性
表中的一列称为一个属性。给每一个属性起一个名字称为属性名。码 Key
码键的简称。可以唯一确定一个元组的属性组
。参考键域 domain
一组具有相同数据类型的值的集合。例如,大学生年龄属性的域是15-45岁。分量
元组中的一个属性值。关系模式:
关系的一般描述:关系名(属性1,属性2,…,属性n)
模式 schema
模式
模式也称为逻辑模式,是数据库中全体数据的逻辑结果和特征的描述,是有所用户的公共数据的视图。它是数据库模式结构的中间层。可以把模式理解为数据库数据在逻辑级上的视图。定义模式是不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等,还需要定义数据之间的联系,定义与数据有关的安全性、完整性。数据库管理系统提供模式数据定义语言(模式DDL)来严格定义模式。外模式
外模式也称为子模式或用户模式,它是数据库用户(包括开发者和中端用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集。外模式是保证数据库安全的一个有力措施。内模式
内模式也称为存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。应用层 | 外模式 | 模 式 | 内模式 | 数据库
例如,是B+树索引还是hash索引;数据是否压缩存储,是否需要加密。
数据库的二级映像功能与数据独立性
模式
为了能够在系统内部实现三个抽象层次的联系和转换,具体数据库管理系统在这三级模式之间提供了两层映像。正是这两层映像保证了数据库管理系统的数据能够具有较高的逻辑独立性和物理独立性。
外模式/模式映像
外模式/模式映像定义了外模式与模式之间的对应关系。当模式改变是,如新增加关系、新属性、改变属性的数据类型等,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。模式/内模式映像
数据库中只有一个模式,也就只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。当数据库的存储结构改变时,例如选择了另一种存储结构,有数据库管理员对模式/内模式映像作相应的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,称为数据的物理独立性。
键
类型 | 含义 |
---|---|
超键 | 关系中能唯一标识元组的属性集 |
候选键 | 不含有多余属性的超键 |
主键 | 用户选作元组标识的一个候选键 |
外键 | 关系Ra中的某属性集k不是Ra的主键,是关系Rb的主键则该属性集k是关系模式R1的外键 |
外键用来描述两个表的关系。
NoSQL数据库
MongoDB、Redis、LevelDB
转载请包括本文地址:https://allenwind.github.io/blog/1776
更多文章请参考:https://allenwind.github.io/blog/archives/