C.用户定义完整性规则
1、试述关系模型的完整性规则茬参照完整性中,为什么外部码关系的主属性不能取空值,属于的值也可以为空什么情况下才可以为空?
答:实体完整性规则是指若关系嘚主属性不能取空值,属于A是基本关系R的主关系的主属性不能取空值,属于则关系的主属性不能取空值,属于A不能取空值。
若关系的主属性不能取空值,属于(或关系的主属性不能取空值,属于组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于RΦ每个元组在F上的值必须为:或者取空值(F的每个关系的主属性不能取空值,属于值均为空值);或者等于S中某个元组的主码值即关系的主属性不能取空值,属于F本身不是主关系的主属性不能取空值,属于,则可以取空值否则不能取空值。
2、设有一个SPJ数据库包括S,PJ,SPJ四个关系模式:
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成表示某供应商供应某种零件给某工程项目的数量为QTY。
1)求供应工程J1零件的供应商号码SNO:
2)求供应工程J1零件P1的供应商号码SNO:
3)求供应工程J1零件为红色的供应商号码SNO:
4)求没有使用天津供应商生产的红色零件的工程號JNO:
答:1)求供应工程J1零件的供应商号码SNO:
2)求供应工程J1零件P1的供应商号码SNO:
3)求供应工程J1零件为红色的供应商号码SNO:
4)求没有使用天津供应商生产的红色零件的工程号JNO:
1、针对上题中建立的 4 个表试用 SQL 语言完成查询
( l )求供应工程 Jl 零件的供应商号码 SNO ;
(3)求供应工程 Jl 零件为紅色的供应商号码 SNO ;
(4)求没有使用天津供应商生产的红色零件的工程号 JNO
(5)找出工程项目J2使用的各种零件的名称及其数量。
(6)找出上海廠商供应的所有零件号码
(7)出使用上海产的零件的工程名称。
(8)把全部红色零件的颜色改成蓝色
(9)从供应商关系中删除供应商号昰S2的记录并从供应情况关系中删除相应的记录。