第二章作业
1、查询至少选修了3门其直接先行课为5号课程的学生姓名。
πSname(σCpno=‘5’(Course)∧σCpon>3(Course)∞SC∞πSno.Sname(Student))
5 . 述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。
6、 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S( SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
①供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;②零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;③工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;④供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:
(1) 求供应工程J1零件的供应商号码SNO;
πSno(σSno=‘J1’(SPJ))
(2) 求供应工程J1零件P1的供应商号码SNO;
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
(3) 求供应工程J1零件为红色的供应商号码SNO;
πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))
(4) 求没有使用天津供应商生产的红色零件的工程号JNO;
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)
5) 求至少用了供应商S1所供应的全部零件的工程号JNO。
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
8.关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?
并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。