数据库系统概论-习题解析.ppt
文本预览下载声明
An Introduction to Database System 数据库系统概论 第一章:page38,12 学校中有若干个系,每个系有若干个教研室,每个教研室有若干个教员,其中有的教授和副教授每人各带若干个研究生,每个班有若干个学生,每个学生选修若干门课程,每门课程有若干个学生选修,请用ER图画出此学校的概念模型。 分析:ER图,即:Entity Relationship Step1:寻找实体(重点是:名词) Step2:建立联系 Step3:确定关系 Step4:确定属性。特别是联系的属性。 Page38:13 某工厂生产若干产品,每种产品由不同的零件构成,有的零件可用在不同的产品上,这些零件有不同的原材料制成,不同的零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中,请用ER图画出此工厂产品、零件、材料,仓库的概念模型。 第二章:page74:5 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: (1)求供应工程J1零件的供应商号码。 ∏SNO( σJNO=‘J1’ (SPJ) ) (2)求供应工程J1零件P1的供应商号码SNO; ∏SNO( σJNO=‘J1’ ∧PNO=‘P1’ (SPJ) ) (3) 求供应工程J1零件为红色的供应商号码。 ∏SNO(∏SNO ,PNO σJNO=‘J1’ (SPJ) ∞ ∏PNO σCOLOR=‘红’ (P) ) (4)求没有使用天津供应商生产的红色零件的工程号JNO 全部的工程号 -使用了天津供应商生产的红色零件的工程号。 ∏JNO(J)- ∏JNO(A ∞B ∞C) A:∏SNO( σCITY=‘天津’ (S) ) B:∏PNO( σCOLOR=‘红’ (P) ) C:∏SNO、PNO、JNO(SPJ ) (5)求至少使用了供应商S1所供应的全部零件的工程号。 供应商S1所供应的全部零件号: ∏PNO( σSNO=‘S1’ (SPJ) ) 题解: ∏PNO、JNO( SPJ ) ÷ ∏PNO( σSNO=‘S1’ (SPJ) ) 第三章:page127 4,针对上题中建立的四个表试用SQL完成第二章习题5中的查询 (1)求供应工程J1零件的供应商号码。 ∏SNO( σJNO=‘J1’ (SPJ) ) 解析: SELECT SNO FROM SPJ WHERE JNO=‘J1’ ; (2)求供应工程J1零件P1的供应商号码SNO; ∏SNO( σJNO=‘J1’ ∧PNO=‘P1’ (SPJ) ) SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’; 或:SELECT SNOFROM SPJWHERE JNO=‘J1’ AND PNO IN (SELECT PNO FROM P WHERE COLOR=‘红’); (3) 求供应工程J1零件为红色的供应商号码。 ∏SNO(∏SNO ,PNO σJNO=‘J1’ (SPJ) ∞ ∏PNO σCOLOR=‘红’ (P) ) SELECT SNO FROM SPJ,P WHERE JNO=‘J1’ AND SPJ.PNO = P.PNO AND COLOR = ‘红’; (4)求没有使用天津供应商生产的红色零件的工程号JNO SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ,S,P WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND S.CITY=‘天津’ AND P.COLOR=‘红’ ); (5)求至少使用了供应商S1所供应的全部零件的工程号。 A、查询S1供应商供应的零件号 ?????SELECT PNO FROM SPJ WHERE SNO=S1’; 结果是(P1, P2) B、查询哪一个工程既使用P1零件又使用P2零件。 SELECT JNO FROM SPJ WHERE PNO=P1AND JNO IN(SELECT JNO FROM SPJ WHERE PNO=P2) (5)求至少使用了供应商S1所供应的全部零件的工程号。 供应商S
显示全部