“成功的路上并不挤,只是你淘汰了你自己”,你好,我是梦阳辰,未来我陪你一起成长。
模型是现实世界的模拟和抽象。
数据模型是模型的一种,实现实世界对象特征的一种抽象。
数据模型应满足三方面要求:
1)便于在计算机中实现。
2)容易被人理解
3)能够较真的模拟真实世界
数据模型是用来描述数据,组织数据和对数据进行操作的。
数据模型的三部分:
数据结构:描述实体的构成和联系。
数据操作:对数据库的查询与更新。
完整性约束:对数据施加规则和限制。
数据模型的类型:
1)概念模型
概念模型是对真实世界中问题域内的事物的描述。主要用来描述一个单位的概念化结构。
数据库的设计阶段,摆脱了计算机系统及DBMS的具体技术问题,可以集中精力去分析数据以及数据之间的联系。
表示概念模型最常用的就是实体联系图(E-R图),其基本要素是实体,属性和联系,表示方法为:
实体:用矩形表示,矩形框内写明实体名。
属性:用椭圆形表示,用无向边将其与相应的实体连接起来。
联系:用菱形表示,框内写明联系名,并用无向边与有关实体连接起来,同时在无向边旁标上联系的类型。
2)逻辑模型:
逻辑模型即数据的逻辑结构,是具体的DBMS所支持的数据模型,它的目标是尽可能详细地描述数据,但不考虑数据在物理上如何实现。它既要面向用户,又要面向系统。
它包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键(其他表的主键)。并根据需要进行范式化处理。
常用的逻辑模型:
层次模型
用树形结构表示数据及关系。
网状模型
用网络结构表示数据及关系。
关系模型
用二维表结构表示数据及关系。
3)物理模型:
物理模型是在逻辑模型的基础上,进行数据库体系结构设计,真正实现数据在数据库中的存放。其目标是指定如何用数据库模式来实现逻辑模型,以及真正的保存数据。
关系模型是由美国IBM公司San Jose研究室的研究员E.F.Codd在1970年提出来的,是目前最常用的数据模型。
定义:即关系的描述,是用公式来描述数据之间的关系。
1.表示形式:关系名(属性名1,属性名2…)
2.主键:加粗
3.外键:倾斜
学生表(学号,姓名,性别,专业号,年龄…)
课程表(课程编号,课程名称,学分…)
成绩表(学号,课程号,成绩)
关系模型的专业术语:
关系:一个关系对应一张二维表。
元组:关系中的一行为一个元组。
属性:关系中的一列,包括属性类型,属性名,属性值。
域:属性的取值范围。
分量:元组中的一个属性值。
码(key)
候选码:若关系中的某一属性的值能唯一的标识一个元组。
主码:也叫主属性或主键,候选码选定一个为主码。
外码:也叫外键。关系中的一个属性不是该关系的主码,而是另外一个关系的主码。
常用的关系操作:
集合操作:
并,交,差,笛卡儿积,除
数据查询:
选择,投影,连接
数据更新:
插入,删除,修改
数据约束:
1)实体完整性约束:
主键是否为空。
2)参照完整性约束:
外键是否为空
3)域完整性约束:
属性值的范围。
4)用户定义完整性约束
设置字段的有效性规则。
关系代数是一种抽象的查询语言,通过使用各类运算符来对关系的进行运算,以表达查询。关系代数中的运算符包括4大类:
1)比较运算
大于,小于,等于…
2)逻辑运算
非,与,或
3)集合运算
并,差(-),交,广义笛卡尔乘积
4)关系运算
专门的关系运算包括选择(σ)、投影(π)、连接(⋈) 、除(÷)四种运算
选择,限制条件,筛选。
投影:把若干列刷选出来。
连接:笛卡尔积运算再筛选。
等值连接(equi-join)是从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组
等值连接:
自然连接(natural-join)是一种特殊的等值连接,要求两个关系具有相同的属性组,在结果中把重复的属性列去掉。
“ 认真生活,就能找到生活藏起来的糖果。”