问答题 假设有如下所述的关系模式:
S(供应商),数据项有SNO, SNAME, SADDR;
P(零件),数据项有PNO, PNAME, COLOR, WEIGHT;
J(工程项目),数据项有JNO, JNAME, JADDR;
SPJ(联结记录),数据项有SNO, PNO, JNO, QTY,表示某供应商供应某种零件给某工程的数量为QTY。
假设规定属性的类型:SNO, SNAME, SADDR, PNO, PNAME, COLOR, JNO, JNAME, JADDR为字符型数据;WEIGHT, QTY为数值型数据;列的宽度自定义。
问答题 试用SQL语句定义上述表的结构(定义中应包括主键和外键子句)。
【正确答案】CREATE TABLE S(SNO CHAR(8), SNAME CHAR(8), SADDR CHAR(20), PRIMARY KEY(SNO)); CREATE TABLE P(PNO CHAR(10), PNAME CHAR(12), COLOR CHAR(2), WEIGHT NUMERIC(5, 2), PRIMARYKEY(PNO)); CREATE TABLE J(JNO CHAR(8), JNAME CHAR(8), JADDR CHAR(20), PRIMARYKEY(JNO)); CREATE TABLE SPJ(SNO CHAR(8), PNO CHAR(10), JNO CHAR(8), QTY INT, PRIMARYKEY(SNO, PNO, JNO), FOREIGH KEY(SNO)REFERENCES S(SNO), FOREIGH KEY(PNO)REFERENCES P(PNO), FOREIGH KEY(JNO) REFERENCES J(JNO),
【答案解析】
问答题 建立一视图,该视图定义某指定供应商“松下马达”为“珠澳大桥”项口提供的零件的编号、名称清单。
【正确答案】CREATE VIEW V1 AS SELECT P.PNO, PNAME FROM S, P, J, SPJ WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO AND S.SNAME='松下马达' AND J.JNAME='珠澳大桥'
【答案解析】
问答题 用SQL语句查询“珠澳大桥”项目所使用的零件的总重量。
【正确答案】SELECT SUM(QTY*WEIGHT) FROM P, SPJ, J WHERE P.PNO=SPJ.PNO AND J.JNO=SPJ.JNO AND J.JNAME='珠澳大桥'
【答案解析】