(一)数据库的4个基本概念
- 数据(data):描述事物的符号记录。数据的含义称为数据的语义,数据与其语义是不可分的。
- 数据库(DataBase DB):长期存储在计算机内、有组织、可共享的大量数据的集合。三个基本特点:永久存储、有组织、可共享
- 数据库管理系统(DataBase Management System,DBMS):位于用户和操作系统之间的一层数据管理软件。主要功能包括:数据定义功能;数据组织、存储和管理;数据操纵功能;数据库的事务管理和运行管理;数据库的建立和维护功能;其他。
- 数据库系统(DataBase System,DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator,DBA)组成的存储、管理、处理和维护数据的系统。
(二)数据库管理技术的发展阶段
- 人工管理阶段
- 文件系统阶段
- 数据库系统阶段
(三)数据库系统的三级模式结构
- 模式(schema):也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
- 外模式(external schema):也称子模式(subschema)或用户模式,是数据库用户(包括应用程序猿和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
- 内模式(internal schema):也称存储模式(storage schema),一个数据库只有一个内模式。是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
(四)数据模型(data model)
概念: 对现实世界数据特征的抽象,是数据库系统的核心和基础
组成要素:
- 数据结构:描述数据库的组成对象以及对象之间的联系,是对系统静态特性的描述
- 数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。主要有查询和更新(包括插入、删除、修改)两大类操作,是对系统动态特性的描述
- 数据的完整性约束条件(integerity constraints):是一组完整规则,保证数据的正确、有效和相容
分两类:
-
概念模型(conceptual model):也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。
基本概念:
a、实体(entity):客观存在并可相互区别的事物
b、属性(attribute):实体所有的某一特性
c、码(key):唯一标识实体的属性集
d、实体型(entity type):用实体名及其属性名集合来抽象和刻画同类实体
e、实体集(entity set):同一类型实体的集合
f、联系(relationship):实体(型)内部的联系和实体(型)之间的联系,有一对一,一对多,多对多等多种类型
一种表示方法: 实体-联系方法(Entity-Relationship approach)用E-R图(E-R diagram)来描述现实世界的概念模型,E-R方法也称为E-R模型。 -
逻辑模型和物理模型
逻辑模型主要包括层次模型(hierarchical model)、网状模型(network model)、关系模型(relational model)、面向对象模型(object oriented data model)和对象关系模型(object relational data model)、半结构化数据模型(semistructured data model)等。按计算机的观点对数据建模,主要用于数据库管理系统的实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。
(五)关系数据库
定义: 在一个给定的应用领域中,所有关系的集合构成一个关系数据库
关系模型(Relation Schema): 最重要的一种数据模型,是型,建立在严格的数学概念的基础上。关系数据库采用关系模型作为数据的组织形式。
关系是值,关系模式是对关系的描述
关系模型的相关术语:
- 关系(relation):关系模式在某一时刻的状态或内容;动态的、随时间不断变化的(元组的插入、删除、更新),一个关系对应通常说的一张表
- 元组(tuple):表中的一行
- 属性(attribute):表中的一列,属性的名称即属性名
- 码(key):也称码键。表中的某个属性组,可以唯一确定一个元组
- 分量:元组中的一个属性值
- 关系模式:对关系的描述,静态的、稳定的要,求关系必须是规范化的
关系的每一个分量必须是一个不可分的数据项
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D 属性组U中属性所来自的域
DOM 属性向域的映象集合
F 属性间的数据依赖关系集合
通常可以简记为:
R (U) 或 R (A1,A2,…,An)
R: 关系名
A1,A2,…,An : 属性名
注:域名及属性向域的映象常常直接说明为属性的类型、长度
-
域(domain):一组具有相同数据类型的值的集合。属性的取值范围来自某个域
-
笛卡尔积(Cartesian Product):域的所有取值的一个集合(故不能重复)
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn ={(d1,d2,…,dn)|diDi,i=1,2,…,n}
D1,D2,…,Dn的笛卡尔积的某个子集才有实际含义
笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)
笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量
关系(是笛卡儿积的有限子集,是有实际意义的)D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的 关系,表示为 R(D1,D2,…,Dn) R:关系名 n:关系的目或度(Degree)
n目关系必有n个属性
关系中的每个元素是关系中的元组,通常用t表示
当n=1时,称该关系为单元关系(Unary relation)或一元关系
当n=2时,称该关系为二元关系(Binary relation)
- 基数(Cardinal number):元素的个数
- 候选码(Candidate key)
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
简单的情况:候选码只包含一个属性 - 全码(All-key):
最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key) - 主码(Primary key):若一个关系有多个候选码,则(任意)选定其中一个,唯一的
- 主属性(Prime attribute):候选码的诸属性
- 非主属性( Non-Prime attribute)或非码属性(Non-key attribute):不包含在任何侯选码中的属性
关系的三种类型:
- 基本关系(基本表或基表):实际存在的表,是实际存储数据的逻辑表示
- 查询表:查询结果对应的表
- 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
基本关系的6种性质:
① 列是同质的(Homogeneous):每一列中的分量是同一类型的数据,来自同一个域。
② 不同的列可出自同一个域:其中的每一列称为一个属性,不同的属性要给予不同的属性名
③ 列的顺序无所谓,列的次序可以任意交换
④ 任意两个元组的候选码不能相同
⑤ 行的顺序无所谓,行的次序可以任意交换
⑥ 分量必须取原子值(即不能有表中表):这是规范条件中最基本的一条
关系操作:
常用的关系操作:
查询(query):并、交、差、选择、投影、连接、除
数据更新:插入(insert)、删除(delete)、修改(update)
查询的表达能力是其中最主要的部分,由可分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)、笛卡尔积等。其中选择、投影、并、差、笛卡尔积是5种基本操作
关系操作的特点:
集合操作方式:操作的对象和结果都是集合,一次一集合的方式
关系的三类完整性约束:
- 实体完整性
- 参照完整性
- 用户定义的完整性
关系代数
关系代数运算符:
转载:https://blog.csdn.net/suoyue_py/article/details/100921533