个或者多个元组。在数据插入中不需定位,仅需做关系中元组插入操作,因此数据插入只有一个基本操作。
ⅳ.数据修改:数据修改是在一个关系中修改指定的元组与属性。数据修改不是一个基本操作,它可以分解为删除需修改的元组与插入修改后的元组两个更基本的操作 3.关系中的数据约束
关系模型允许定义三类数据约束,它们是实体完整性约束、参照完整性约束以及用户定义的完整性约束。
①. 实体完整性约束:该约束要求关系的主键中属性值不能为空,这是数据库完整性道德最基本要求,因为主键是惟一决定元组的,如为空置则其惟一性就变成不可能的了。
②. 参照完整性约束:该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组,即在关系中的外键要么是所关联关系中实际存在的元组,要么就为空值。
③. 用户定义的完整性约束:这是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。 §4.7 关系代数
1.关系模型的基本操作与基本运算
关系是由若干个不同的元组所组成,因此关系可视为元组的集合,n元关系是一个n元有序组的集合;关系模型有插入、删除、修改、和查询四种操作。由于操作是对关系的运算,而关系是有序组的集合,因此,可以将操作看做集合的运算??
①.插入运算 ②.删除运算 ③.修改运算
④.查询:用于查询的三个操作无法用传统的集合运算表示,需引进一些新运算
〈1〉投影运算
从关系模式中指定若干个属性组成新的关系称为投影。
投影是从列的角度进行的运算,相当于对关系进行垂直分解。经过投影运算可以得到一个新的关系,其关系模式所包含的属性个数往往比原关系少,或者属性的排列顺序不同。 〈2〉选择运算
从关系中找出满足给定条件的元组的操作称为选择。
选择是从行的角度进行的运算,即水平方向抽取记录。经过选择运算得到的结果可以形成新的关系,其关系模式不变,但其中的元组是原关系的一个子集。 〈3〉迪卡尔积
设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡儿积记为:R×S。它是一个m+n元关系,元组个数是p×
q。
2. 关系代数的扩充运算
(1)交:假设有n元关系R和n元关系S,它们的交仍然是一个n元关系,它由属于关系R且由属于关系S的元组组成,并记为R∩S,它可由基本运算推导而得:R∩S = R – (R–S)
(2)除:如果将笛卡尔积运算看作乘运算的话,那么除运算就是它的逆运算当关系T=R×S时,则可将除运算写成:T÷R=S或T/R=S(S称为T除以R的商),当然,除运算是有一定条件的,那就是T中的域包含R中的所有属性;T中有一些域不出现在R中。 §4.8 数据库设计与原理
数据库设计中有两种方法,面向数据的方法和面向过程的方法: Ⅰ.面向数据:它是以信息需求为主,兼顾处理需求;由于数据在系统中稳定性高,数据已成为系统的核心,因此面向数据的设计方法已成为主流。
Ⅱ.面向过程:它是以处理需求为主,兼顾信息需求。
数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段和进一步修改阶段。在数据库设计中采用前4个阶段。(如右图所示)
第四章完