夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
数据库学习笔记(一)关系模型

关系模型

  • 关系数据库由表(table)的集合构成
  • 表由n元组(n-tuple)构成
  • n元组由一组值组成,这些值之间有某种联系

名字由来:和数学中的关系密切相关

术语

  • 关系(relation):表
  • 元组(tuple):行
  • 属性(attribute):列
  • 关系实例(relation instance):一个关系的特定实例
  • (属性的)域(domain):一个属性的取值集合
  • (域是)原子的(atomic):域中的元素不可再分

schema vs instance

这里有两组概念:

  • 数据库模式:数据库的逻辑设计

  • 数据库实例:给定时刻数据库中数据的快照

  • 关系模式:类比数据类型的定义

  • 关系实例:类比某个数据类型的变量

key

作用:区分一个关系中的不同元组,因此应具有唯一性

  • 超码(super key):一个或多个属性的集合,满足上述作用。其中可以包含无关紧要的属性

  • 候选码(candidate key):最小超码(任意真子集均不是超码)

  • 主码(primary key):被选中的用来区分不同元组的候选码

  • 外码(foreign key):关系模式r1在其属性中包括另一个关系模式r2的主码,则该属性在r1上称作参照r2的外码

    • 参照关系(referencing relation):r1为外码的参照关系
    • 被参照关系(referenced relation):r2为外码的被参照关系

    参照完整性约束(referential integrity constraint):参照完整性不允许关系中有不存在的实体引用,即参照关系中任意元组在特定属性上的取值必然等于被参照关系中某个元组在特定属性上的取值。

关系查询语言&关系运算

查询语言(query language):用户从数据库中请求获取信息的语言。

  • 过程化语言(procedural language):用户指导系统对数据库执行一系列操作以得出所需结果。
  • 非过程化语言:只需描述所需信息。

所有的过程化关系查询语言都提供了一组运算,施加在单个/一对关系上。这种运算具有很好的性质:运算的结果是单个的关系。因此可以将关系运算施加到查询结果上。

常用关系

暂无评论

发送评论 编辑评论


				
上一篇
下一篇