关系代数
关系数据库是以关系模型作为数学理论的基础
关系模型包含三个部分:关系数据结构,关系操作,关系完整性约束
关系数据结构
关系中的候选码和主码两个概念比较重要,如果关系中的某一或一组属性的键值能够唯一的确定一个元组,则该属性或者属性组称为候选码 候选键 。如果一个关系包含多个候选码,可以任选一个作为主码。
从数学角度一张二维表表要满足7个条件才可以被叫做关系
- 每一列的值都是原子的,是不可再分的
- 每一列都要有唯一的列名 or 属性名
- 同一列的数据是相同性质的
- 不同列可以在相同的域中取值
- 列的顺序无所谓
- 任意两个元组不能完全相同
- 行的顺序无所谓
关系操作
关系操作就是对关系能够执行的动作,也就是能够对二维表所做的操作
常用的有:选择,投影。连接,除,并,交,差,增加,删除,修改
关系模型的操作对象是集合而不是行,也就是操作的数据以及操作的结果都是完整的表。
关系完整性约束
1.实体完整性约束
实体完整性约束要求候选码非空且唯一。具体来说,若候选码是由一个字段构成的,则要求字段中不能出现空值,且该字段也不能出现重复值,并且所有这些字段的组合整体不能有重复值
2.参照完整性约束
参照完整性约束用于定义关系内部不同属性之间或关系之间的不同属性的关联需要满足的约束条件,要求外码中要么取空值,要么所取值在对应的候选码中出现
在具体的数据库管理系统中,通过设置外码可以实现参照完整性约束
3.用户定义完整性约束
用户定义的完整性也称为域完整性或语意完整性。用户定义的完整性就是针对某一要具体应用领域定义的数据库约束条件,他反应某一具体应用所涉及的数据必须满足应用语义的要求。
用户定义的完整性实际上就是指明关系中属性的取值范围
数据库系统结构
概念模式:
概念模式也称模式,是数据库中全部数据的逻辑结构与特征的物理描述。他由若干个概念记录类型组成,只涉及形的描述,不涉及具体的值,概念模式的一个具体的值称为模式的一个实例。同一模型可以有很多实例。但对于一个数据库,只有一个概念模式
概念模式反应的数据库的结构以及联系,所以是相对稳定的;而实例反应的是数据库莫一时刻的状态,所以是相对变动的。
概念模式不仅要描述概念的记录类型,还要描述记录间的联系,操作,以及数据的完整性和安全性等要求。但是,概念模式不涉及存储结构和访问技术等细节
外模式:也叫用户模式 or 子模式 是用户与数据库系统的接口,是用户分到的数据的描述
外模式是概念模式的子集,一个数据库可以有若干个外模式
有了外模式,程序员不必关心概念模式,只与外模式发生联系
内模式:内模式也叫存储模式。是