【习 2-1】试述关系模型的三个组成部分。 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构非常单一,实体与实体之间的各种联系均用关系来表示。关系就是一张二维表。关系模型的操作的特点是集合操作方式,即操作的对象和结果都是集合。操作分为两大类:查询类操作有:交、并、差、除、选择、投影和连接;更新操作有:插入、删除和修改。关系的完整性约束有三类:实体完整性、参照完整性和用户自定义的完整性。 【习 2-2】试述关系数据语言的特点和分类。 答:关系数据语言的共同特点是: (1)具有完备的表达能力; (2)非过程化的集合操作语言; (3)功能强; (4)能够嵌入到高级语言中使用。 根据语言的表示方式的不同,一般将现有的关系数据语言分为三类: (1)关系代数语言:用关系的运算来表达查询要求。 (2)关系演算语言:用谓词来表达查询的要求。谓词变元的基本对象是元组变量的称为元组关系演算,谓词变元的基本对象是域变量的称为域关系演算。 (3)SQL语言:介于关系代数与关系演算之间的结构化查询语言,具有数据定义、数据控制和数据查询的功能。 【习 2-4】试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空? 答:关系模型的完整性规则是对关系的某种约束条件。在关系模型中可以有三类完整性约束: (1)实体完整性规则:主码唯一,所有的主属性不能为空值。 (2)参照完整性规则:外码要么取空值,要么等于被参照关系中某个元组的主码。 (3)用户自定义完整性规则:它反映某一具体应用所涉及的数据必须满足的语义要求。例如某些属性值之间必须满足一定的函数关系,或某个属性的取值范围要求等等。 实体完整性规则和参照完整性规则是关系模型必须满足的完整性约束条件。由关系系统自动支持。用户自定义完整性规则是数据库设计人员根据具体的应用环境定义一些特殊的约束条件,关系模型要提供定义和检验这类完整性的机制。 在参照完整性中,若外码的值还未确定时,就需要取空值。 【习 2-5】设有一个 SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY) S:供应商表,SNO:供应商代码,SNAME:供应商姓名,STATUS: 供应商状态,CITY:供应商所在的城市。 P(PNO,PNAME,COLOR,WEIGHT) P:零件表,PNO:零件代码,PNAME:零件名,COLOR:颜色,WEIGHT:重量 J(JNO,JNAME,CI...