C/C++教程

dbsc 第二章 关系数据库

本文主要是介绍dbsc 第二章 关系数据库,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

关系模型在逻辑层和视图层描述数据,使得用户不必关注存储的底层细节,关系模型非常简洁

2.1 关系模型的结构

  • 由于一个中的一行代表了一组值之间的一种联系,表就是这种联系的一个集合,表这个概念和数学上的关系这个概念联系密切。
  • n元组表示一个具有n个属性的tuple,关系用来指代元组用来指代属性是指行中的
  • 关系实例用来表示一个关系的特定实例
  • 是指一个属性允许取值的集合
  • 如果一个属性是不可拆分的,那么它就是原子的
  • 空(null)很难处理,应该尽量比避免使用空值

2.2 数据库模式

  • 关系对应于程序设计语言中的变量
  • 关系模式对应于程序设计语言中变量的类型,关系模式由属性序列以及各属性对应域组成
  • 关系实例对应于程序设计语言中变量的值
  • 在关系模型中,使用相同的属性是将不同关系的元组联系起来的一个方法

2.3 码

  • 超码是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一标识一个元组
  • 超码的任意超集也是超码,而候选码是指任意真子集都不能成为超码的超码,也就是最小超码
  • 我们用主码来说代表被数据库设计者选中的,主要用来在一个关系种区分不同元组的候选码。代表了被建模的事物在现实世界的约束。
  • 一个关系模式r1可能在它的属性种包括另外一个关系模式r2的主码。这个属性被称作参照r2的外码,关系r1也被称为外码依赖的参照关系,r2被叫做外码的被参照关系
  • 参照完整性约束是指,在参照关系中任意元组在特定属性上的取值必然等于被参照关系中某个元组在特定属性上的取值。

2.4 模式图

2.5 关系查询语言

  • 实际使用的查询语言既包含过程化方式的成分,又包含非过程方式的成分。在一些“纯”查询语言,其中关系代数(Relational Algebra)是过程化的,关系代数是指一个运算的集合,这些运算以一个或两个关系为输入,产生一个新的关系作为结果;元组关系演算和域关系演算(tuple relational calculus and domain relational calculus)是非过程化的,关系演算使用谓词逻辑来定义所需的结果,但不需要给出获取结果的特定代数过程

2.6 关系运算(Relational Algebra)

  • Relational Algebra一般施加于单个关系或者一对关系上,结果总是单个关系
  • 自然连接是指从两个输入关系中输出所有的元组对:它们在具有相同名字的所有属性上取值相同

2.7 总结

这篇关于dbsc 第二章 关系数据库的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!