网上的鱼龙混杂,在此记录一下自己觉得正确的概念,希望对初学者有帮助
数据:描述事物的符号记录。狭义的数据就是数值,广义的数据则种类繁杂,文本图形图像视音频,甚至对于天气的描述,运输情况等等都是数据。
信息:数据及数据的语义构成信息
数据库:长期保存的,可共享,有组织的数据集合
数据库管理系统:用来科学组织和存储数据、高效获取和维护数据、可以保护数据的安全性,对数据完整性进行检查的系统软件,如:mysql、oracle、sql server、db2、mongdb等等
数据库系统:包括数据库、数据库管理系、数据库管理员、数据库应用程序等组成的系统
现实世界:不解释
信息世界:是现实世界在人脑中的反映。人们用文字、符号、图形图像、视音频等方式记载下现实世界的信息,称之为信息世界
机器世界:信息世界的信息在机器中以数据形式存储,称为机器世界数据模型:数据模型是对现实世界数据特征的抽象。它是一个描述数据结构、数据操作以及数据约束的数据形式体系,是数据库系统的核心和基础。主要包括两大类,其一是概念模型,其二是逻辑模型和物理模型。
概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。它不是只针对某一个数据库管理系统的数据模型,而是通用型的概念级的模型。主要涉及到实体、属性、联系等对象,通常用E-R图工具来实现
逻辑模型:它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。它是在概念模型的基础上,按选定的数据库管理系统软件所支持的数据结构进行转换得到的模型。逻辑模型按数据结构可分为层次模型、网状模型、关系模型、面向对象模型等等。
- 层次模型
1.有且只有一个结点无双亲,即根结点
2. 根以外结点有且只有一个双亲结点
- 网状模型
1. 允许一个以上的结点无双亲结点
2. 一个结点可以有多于一个的双亲结点
物理模型:是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法。它是针对逻辑模型所说的内容,在具体的物理介质上实现出来,比如系统需要几个数据表,字段类型、约束,索引等等。
数据模型有三要素:
- 数据结构:描述数据库组成对象以及对象之间的联系
- 数据约束(数据完整性约束):对数据结构和数据操作的一致性、完整性约束
- 数据操作:主要是对数据的增删改查的操作。
实体:客观存在并可相互区别的事物成为实体,可以是具体的人事物,也可以是抽象的概念如一次旅游,一场球赛
属性:实体所具有的特性。一个实体可以有多个属性,也应该至少有一个属性,否则这样的实体在数据库中没有意义。属性在关系型数据库里也称为“字段”或“数据项”。属性会根据我们视角的不同而有不同的划分,一般来说,能作为属性的就不要作为实体。归属属性的准则是:
- 作为属性,它不能再具有需要描述的性质。例如“职称”可以作为员工的属性,但是如果职称需要再细分不同档次,比如不同职称与不同工资挂钩等,则需要把职称看作实体
- 属性不能与其他实体具有联系
实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如 学生(学号,姓名,性别,出生年月,所在院系,入学时间)就是一个实体型
实体集:同一类型实体的集合称为实体集,例如全体学生就是一个实体集
鱼(重量,长度,品种)是实体型,(鲫鱼,鲤鱼,金龙鱼)是实体集
汽车(品牌,长度,颜色)是实体型,(奔驰,宝马,奥迪)是实体集
所以可以这么理解:实体型就是一个框架,形式上就是 类别统称(属性1,属性2...属性N)
码(key):可以唯一标识每个实体的属性或属性集称为码。
候选码(candidate key):可以唯一标识一个元组(实体)的属性组,但是其子集不能,则称该属性组为候选码
主码(primary key):候选码有多个的,可以任选一个作为主码
全码(all-key):某个关系的所有属性是这个关系的候选码,则这个候选码称为全码
主属性:候选码中所有属性的并集中的任一个属性都叫主属性,其他的属性称为非主属性
联系:世界上任何事物都不是孤立的,事物内部、事物之间都存在联系。实体之间的联系通常有三种类型1:1、1:N(1对多)和M:N(多对多)
关系:一种数据结构。在关系模型中,数据的逻辑结构是一张二维表。
模式(schema):在数据模型中有型(type)和值(value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如学生记录定义为:(学号,姓名,性别)这样的记录型,而(20220918,台东,男)则是该记录型的一个记录值
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述。模式的一个具体值称为模式的一个实例(instance)。同一个模式可以有很多实例。模式是相对稳定的,实例是相对变动的。模式反映的是数据的结构和联系,而实例反映的是数据库某一时刻的状态。
数据库的三级模式结构:外模式、模式、内模式
外模式:也称为子模式、用户模式。它是数据库用户(包括程序员和普通用户)能够看见和使用的局部数据的逻辑结构和特征的描述(简单的说就是用户的视图),通常是模式的子集
模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名称、类型、取值范围等;而且要定义数据间的联系,定义与数据有关的安全性完整性要求。
内模式:也称存储模式,一个数据库只有一个内模式。它是物理结构和存储方式的描述,是数据在数据库内部的组织形式。例如记录的存储方式是堆存储还是按照某个属性值的升降序存储,或按照属性值聚簇存储,索引按照什么方式组织,B+还是哈希;数据是否压缩,是否加密;数据的存储记录结构是定长或变长,一个记录不能跨物理页存储等等。
外模式/模式映射保证了数据的逻辑独立性:通过数据库管理员修改映射关系,保证了外模式在模式发生改变(如增加新的关系、新的属性、改变属性的数据类型等)时保持不变,因此依据外模式编写的应用程序也就不必修改了。
内模式/模式映射保证了数据的物理独立性:当数据库的存储结构发生变化时(如选用了另外一种存储结构),通过数据库管理员对内模式/模式的映像作相应改变,可以使得模式保持不变,从而使应用程序也不必改变。
元组:表中的一行,也称为记录
属性:表中的一列即为一个属性,属性的名称为属性名,也称为字段或数据项
域:一组具有相同数据类型的值的集合,属性的取值范围来自某个域。如人的年龄域是(1~150),性别的域是(男,女),系名的域是一个学校所有系名的集合
分量:元组中的一个属性值
关系模式:对关系的描述,一般形如:关系名(属性1,属性2...属性N),可以理解为二维表的表头