数据管理(数据库基础)

1.6 数据抽象与数据模型

——数据抽象

现实世界→信息世界→计算机(数据)世界

  •  概念模型:也称信息模型,是按用户的观点,把现实世界中的客观对象抽象成的某种信息结构,主要用于数据库设计。(独立于计算机系统;独立于具体的DBMS支持的数据模型)

——实体

实体:客观存在并可相互区分的事物。

实体集:性质相同的同类实体的集合。

属性: 实体具有的某一特性。

:能将一个实体与其它实体区分开来的属性集合

实体型 :对实体固有特性或结构的描述。 用 实体名 及其 属性名集合 来抽象和刻画。
例: 汽车(车牌号,品牌,车主)
实体值 :实体型的一个实例,即一个具体的实体。
例: (黑A00001,大众,张三)
——实体的联系
实体(型)内部(内部数据项间)的联系和实体(型)之间的联系。
实体之间的三类联系
  • 一对一联系(1:1):班级——班长
  • 一对多联系(1:n):班级——学生
  • 多对多联系(m:n):学生——课程
——概念模型的表示方法(E-R图)

——数据模型(也称逻辑模型)

定义:主要用于DBMS的实现,是数据库系统的核心和基础。

三要素:数据结构,数据操作,完整性约束 

数据结构:如何表示实体及联系。抽象出一些模型:层次模型 网状模型 关系模型 面向对象模型

  • 层次模型:树形结构表示联系 ,不能直接表示多对多联系。

  • 网状模型:有向图来表示联系。

  • 关系模型:用二维表来表示联系

数据操作:如何实现增删改查。
完整性约束如何保证数据的约束条件得到满足。

1.7数据库系统的三级模式结构

三级模式:外模式(子模式)——模式(逻辑模式)——内模式(存储模式)

  • 模式是数据库中全体数据的逻辑结构和特征的描述, 所有用户的公共数据视图
  • 模式是型的描述,不涉及具体值,是相对稳定的。
  • 外模式通常是模式的子集
  • 模式与外模式的关系:一对多
  • 外模式与应用的关系:一对多
  • 一个数据库只有一个模式,也只有一个内模式

——外模式/模式映像
  • 定义外模式与模式之间的对应关系
  • 映象定义通常包含在各自外模式的描述中
——模式/内模式映像
  • 定义了数据全局逻辑结构与存储结构之间的对应关系。
  • 映象定义通常包含在模式描述中。

 作用:三级模式二级映像结构保证了数据的逻辑独立性物理独立性

1.7 关系模型与关系运算简述

——关系模型

  • 是从表(Table)及表的处理方式抽象出来的, 是在对传统表及其操作严格定义基础上,引入集合理论数理逻辑提出的
  • 是数据库的三大经典数据模型之一

——关系运算

 关系代数示例:基于集合的运算

元组演算示例:基于逻辑的运算

域演算示例:基于示例的运算

 

1.8 关系与关系模型

——关系的严格定

关系就是“表”

行(元组;记录);表头(模式

“列”的取值范围“域(Domain)”:

  • 一组值的集合,这组值具有相同的数据类型
  • 如整数的集合、字符串的集合、全体学生的集合
  • 再如, 8位数字组成的数字串的集合,由0100组成的整数集合
  • 集合中元素的个数称为域的基数
元组 (d 1 , d 2 , … , d n ) 的每一个值 d i 叫做一个分量
笛卡尔积 是由 n 个域形成的 所有可能 n- 元组的集合,若Di 的基数为 m i ,则笛卡尔积的 基数 ,即元组个数为 m 1* m 2* …* m n
关系:由于笛卡儿积中所有元组并不都是有意义的,因此:
  • 一组域D1 , D2 ,…, Dn的笛卡尔积的子集
  • 数据模型中的关系必须是有限集合。
  • 每列起一个名字,该名字即为属性名。
  • 不同列名的列值可以来自相同域。

关系模式:用R(A1 , A2 , … , An )来描述关系,这种描述叫关系模式。关系模式是关系的结构。或R(A1 :D1 , A2 :D2 , … , An :Dn );   A为列名。

关系中元组的数目称为 关系的基数
关系模式中 属性向域的映象在很多DBMS中一般直接说明为属性的 类型、长度

关系的特性

  • 列名不能相同
  • 行/列位置可互换
  • 任意两个元组不能完全相同
关系第一范式 :属性不可再分特性

候选码:
  • 关系中的一个属性,其值能唯一标识一个元组,而其任意一个子集不能
  • 一个关系可以有多组候选码。
  • 所有属性组成的候选码称为“全码(all-key)”
主码( Primary Key)/主键
  • 当有多个候选码时,选定一个作为主码。
  • 主码应该选择那些值从不或很少变化的属性(组)

主属性:包含在候选码中的属性。

非主属性(非码属性): 不包含在任何候选码中的属性。

外码(Foreign Key)/外键:

  • 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的主码相对应,则称这个属性组为R的外码或外键。
  • R 称为参照关系
  • S 成为被参照关系(目标关系)

——关系模型

数据结构:关系

数据基本操作:插入、删除、修改、查询(并 交 差 选择 投影 连接 除)

三个完整性约束:实体、参照、用户自定义完整性。

  • 实体完整性:关系的主属性不能取空值。
  • 参照完整性:如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2中某个元组的Pk 值,或者为空值
  • 用户自定义完整性:用户针对具体的应用环境定义的完整性约束条件。

 1.9 关系代数运算

概述:是一种集合化的操作,提供了一系列的关系代数操作:并、差 、广义笛卡尔积、交、选择、投影、连接和关系除等

——关系代数基本操作

 并差交参与运算的关系要满足“相容性”

相容性关系R与关系S存在相容性,当且仅当: (1) 关系R和关系S的属性数目必须相同;(2) 对于任意i,关系R的第i个属性的域必须和关系S的第i个属性的域相同。R和S满足并相容性要求n = m 且 Domain(Ai) = Domain(Bi)

——关系代数之集合操作:并

并运算是将两个关系的元组合并成一个关系, 在合并时去掉重复的元组
R S S R 运算的结果是同一个关系
示例一:

示例二:查询 或者 参加体育队 或者 参加文艺队所有学生的信息

——关系代数之集合操作:差

R - S 与 S - R 是不同的

 

示例一:

示例二:查询参加体育队而参加文艺队的学生信息:

——关系代数之集合操作:交

R∩S S∩R 运算的结果是同一个关系

 示例一:

 示例二:查询参加体育队参加文艺队的学生信息

——关系代数之集合操作:广义笛卡尔积 

关系 R 与关系 S 的广义笛卡尔积 ( 简称广义积 ) 运算结果也是一个关系,记作: R x S, 它由关系 R 中的元组与关系 S 中的元组进行所有可能的拼接(或串接 ) 所形成的新的元组构成。

R×S与S×R结果一样

示例一:

示例二:

当一个检索涉及到多个表时 ( 如学生表和课程表 ) ,便需要将这些表串接或
拼接起来,然后才能检索,这时,就要使用广义笛卡尔积运算

 同名属性,加“表名.”前缀进行区分

——关系代数之纯关系操作:更名  

定义 :给定一个关系代数表达式Eρ x(A1,A2,…,An)(E)返回表达式E的结果(关系) ,把名字x 赋予这个结果(关系),并把对应的属性更名为A1 ,A2….An。

——关系代数之纯关系操作:赋值

定义 :给定一个 关系(或关系变量) R 和一个 关系代数表达式 E ,赋值运算将表达式 E 的结果赋给 R ,记作 R <—— E

赋值给数据库中的关系:实现增、删、改操作

——关系代数之纯关系操作:选择 

定义 给定一个关系 R, 同时给定一个逻辑表达式 F , 选择运算结果也是一 个关系,记作 σF(R) , 它从关系 R 中选择出满足给定条件 F 元组

 

示例一:

示例二:查询除了年龄大于203系同学以外的所有学生:

书写选择条件要注意运算符的优先次序,优先级如下!

  • 自高至低为: 括弧,算术运算符,比较运算符 ,非 ,交 ,并

 示例:

——关系代数之纯关系操作:投影 

定义 :给定一个关系 R, 投影运算结果也是一个关系, 它是由 关系 R 中属性包含在 A 中的那些列构成的新的关系。

投影操作从给定关系中选出某些列组成新的关系

投影运算可以对原关系的列在投影后重新排列 

示例一:

 如果投影后有重复元组,则应去掉

 示例二:查询所有学生的姓名和年龄:

 示例三:投影与选择操作一起使用的示例:查询所有在3系就读的19岁以上的学生的学号和姓名

——关系代数之纯关系操作: θ-连接 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值