数据库作业

设有一个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;

(2) 求供应工程J1零件P1的供应商号码SNO;

(3) 求供应工程J1零件为红色的供应商号码SNO;

(4) 求没有使用天津供应商生产的红色零件的工程号JNO;

(5) 求至少用了供应商S1所供应的全部零件的工程号JNO。

解: 1.πSno(σSno=‘J1’(SPJ))

2.πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))

3.πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))

4.πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)

5.πJno,Pno(SPJ)÷
πPno(σSno=‘S1‘ (SPJ))

试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?

答;实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。

若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。

关系代数的基本运算有哪些?如何用这些基本运算来表示其他的运算?

答;并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他三种运算,即交、链接和除,均可以用这5种运算来表达

1,查询至少选修了3门其直接先行课为5号课程的学生姓名?

解:πSname(σCpno=‘5’(Course)∧σCpon>3(Course)∞SC∞πSno.Sname(Student))

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值