数据库系统概念(第2章 关系模型介绍)

2.1 关系数据库的结构

关系数据库由(table)构成,每张表被赋予一个唯一的名称。
在关系模型中:
术语关系(relation)被用来指代
术语元组(tuple)被用来指代
术语属性(attribute)被用来指代
术语关系实例(relation instance)被用来指代一个关系的特定实例,也就是说关系实例包含一组特定的行
关系是元组的集合(set),所以元组在关系中出现的顺序是无关紧要的。
对于关系的每个属性都存在一个允许取值的集合,称为该属性的(domain)。
如果一个域中的元素被认为是不可再分的单元,则该域就是原子的(atomic)。
空值(null value)是一个特殊的值,它表示值未知或并不存在。

2.2 数据库模式

数据库模式(database schema)是数据库的逻辑设计。
数据库实例(database instance)是在给定时刻数据库中数据的一个快照。
关系的概念对应于程序设计语言中变量的概念,而关系模式(relation schema)的概念对应于程序设计语言中类型定义的概念。一个关系模式由一个属性列表及各属性所对应的域组成。eg:department(dept_name, building, budget)

2.3 码

一个元组的所有属性值必须能够唯一标识元组。
超码(superkey)是一个或多个属性的集合,将这些属性组合在一起可以允许我们在一个关系中唯一地标识出一个元组。
候选码(candidate key)——任意真子集都不是超码的最小超码。
主码(primary key)——被数据库设计者选中来作为在一个关系中区分不同元组的主要方式的候选码。(一般将一个关系模式的主码属性列在最前面,并加上下划线)
r1关系的A属性(集)到r2关系的主码B的外码约束(foreign-key constraint)——在任何数据库实例中,r1中每个元组对A的取值也必须是r2中某个元组对B的取值。A属性集被称为从r1引用r2外码(foreign key)。r1被称为引用关系(referencing relation),r2被称为被引用关系(referenced relation)。(被引用属性集必须是被引用关系的主码)
引用完整性约束(referential integrity constraint)要求引用关系中的任意元组在指定属性上出现的取值也必然出现在被引用关系中至少一个元组的指定属性上。

2.4 模式图(schema diagram)

每个关系显示为一个框,关系名用灰色显示在顶部,框内列出各属性,主码属性用下划线标注,外码约束用单头箭头表示,引用完整性约束用双头箭头表示。
image

2.5 关系查询语言

查询语言(query language)是用户用来从数据库中请求获取信息的语言。
命令式查询语言(imperative query language)是用户用来指导系统在数据库上执行特定的运算序列以计算出所需的结果,状态变量在计算的过程中被更新。
函数式查询语言(functional query language),计算被表示为对函数的求值,函数没有附带作用,并且它们并不更新程序的状态。
声明式查询语音(declarative query language),用户只需描述所需信息,不用给出具体步骤序列或函数调用,所需的信息通常使用某种形式的数学逻辑来描述。

2.6 总结

image

posted @   kirin-dev  阅读(268)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示