关于关系代数

时间:2021-04-10 13:29:20   收藏:0   阅读:0

在初学数据库的关系代数时,老师给我们布置了书后的课后习题,让我们独立思考。但是我在做的时候,在有一道题时,虽然看了老师PPT上的例题,但是感觉对解决那道题没有思路,我就在网上搜了答案。我看懂了答案,并了解了其思路,后面的题也举一反三地做完了。最后发现其实自己的思路是被答案有束缚了。

题目如下:

4.设有一个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。

第三题的答案:

技术图片

第四题我也按照相同的思路求解了。

老师反问我为什么要加上Πsno,pno和Πpno,Π的目的是给用户看吗?

确实Π的目的就是给用户看,就是说在求解过程中不需要再Π取其中的几列,Π了其实还降低了查找的效率。

技术图片

数据库中,查找的效率是很重要的。

在之后的学习中一定要更加注重思考,否则就会一叶障目。我当时就认为网上的答案就是标准答案,但其实不然。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!