SQL数据库练习及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(一)现有图书借阅关系数据库如下:

图书(图书号、书名,作者,单价,库存量)

读者(读者号,姓名,工作单位,地址)

借阅(图书号,读者号,借期,还期,备注)

其中:还期为NULL表示该书未还。

用关系代数表达式实现下列1-4小题:

1、检索读者号为R016的读者姓名、工作单位;

Π姓名,工作单位(σ读者号=‘R016’(读者))

2、检索借阅图书号为B5的读者姓名;

Π姓名(σ图书号=‘B5’(读者∞借阅))

3、检索读者“李林”所借图书的书名;

Π书名(σ姓名=‘李林’(图书∞借阅∞读者))

4、检索读者“李林”所借图书中未还的书名;

Π书名(σ姓名=‘李林’∧还期=‘NULL’(图书∞借阅∞读者))

用SQL语言实现下列5-10小题:

5、检索读者号为R016的读者姓名、工作单位;

SELECT 姓名,工作单位

FROM 读者

WHERE 读者号=‘R016’

6、检索借阅图书号为B5的读者姓名;

SELECT DISTINCT 姓名

FROM 读者,借阅

WHERE 读者.读者号=借阅.读者号 AND 图书号=‘B5’

7、检索读者“李林”所借图书的书名;

SELECT DISTINCT 书名

FROM 图书,借阅,读者

WHERE 图书.图书号=借阅.图书号 AND 借阅.读者号=读者.读者号 AND 姓名=‘李林’

8、检索读者“李林”所借图书中未还的书名;

SELECT DISTINCT 书名

FROM 图书,借阅,读者

WHERE 图书.图书号=借阅.图书 AND 借阅.读者号=读者.读者号 AND 姓名=‘李林’ AND 还期 IS NULL

9、将读者“李林”所借图书的信息从借阅表中删除;

DELETE FROM 借阅

WHERE 读者号 IN

(SELECT 读者号

FROM 读者

WHERE 姓名=‘李林’)

10、建立未还图书的读者姓名和单位视图。

CREATE VIEW 未还(姓名,工作单位)

AS SELECT 姓名,工作单位

FROM 读者,借阅,图书

WHERE 图书.图书号=借阅.图书号 AND 借阅.读者号=读者.读者号 AND 还期 IS NULL

(二)设有一个顾客商品关系数据库,有三个基本表,表结构如下:

商品表:Article (商品号,商品名,单价,库存量)

客户表:Customer (顾客号,顾客名,性别,年龄,电话)

订单表:OrderItem (顾客号,商品号,数量,购买价,日期)

注意:回答时要将答案写到规定的地方;给出的答案要求字迹必须清楚;不允许改变程序结构和随意添加子查询。

1.请用SQL语言创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额和日期。(金额等于数量*购买价)(4分)

CREAT VIEW GM_VIEW(顾客号,顾客名,商品名,金额,日期) AS

SELECT _ Customer.顾客号,Customer.顾客名,Article.商品名,OrderItem.购买价* OrderItem.数量,OrderItem.日期

FROM Artcle, Customer, OrderItem

WHERE Artcle.商品号= OrderItem.商品号AND OrderItem.顾客号= Customer.顾客号;

2.请用SQL语言找出女顾客购买的商品号、商品名和数量合计。(6分)SELECT OrderItem.商品号AS商品号, OrderItem.商品名AS商品名,SUM(OrderItem.数量) AS数量合计

FROM OrderItem, Artcle, Customer,

WHERE Artcle.商品号= OrderItem.商品号AND OrderItem.顾客号= Customer.顾客号AND Customer. 性别='女'

GROUP BY OrderItem.商品号,商品名;

3.请用SQL语言ALTER TABEL命令给商品表Article增加一个字段,字段名为:产地,数据类型为:CHAR,长度为:30,命令如下:(4分)

ALTER TABLE Article ADD产地char(30)

(三)设有四个关系

S(SNO,SNAME, ADDRESS,TEL)

SNO:供应商代码 SNAME:姓名 ADDRESS:地址 TEL:电话

J(JNO,JNAME,LEADER,BG)

JNO:工程代码 JNAME:工程名 LEADER:负责人 BG:预算

P(PNO,PNAME,SPEC,CITY,COLOR)

PNO:零件代码 PNAME:零件名 SPEC:规格 CITY:产地 COLOR:颜色

SPJ(SNO,JNO,PNO,QTY)

SNO:供应商代码 JNO:工程代码 PNO:零件代码 QTY:数量

用关系代数表达式实现下列5小题:(每小题3分,共15分)(1)求供应工程J1零件的供应商号SNO;

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

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

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

(5)求至少用了S1供应商所供应的全部零件的工程号JNO。答(1)ΠSNO(σJNO=‘J1’(SPJ))

(2) ΠSNO(σJNO=‘J1’∧PNO=’P1’(SPJ))

(3) ΠSNO(σJNO=‘J1’∧COLOR=‘红’(P∞SPJ))

(4) ΠJNO(SPJ)-ΠJNO(σCITY=‘天津’∧COLOR=‘红’(SPJ∞S∞P))

(5)ΠJNO,PNO,SNO(SPJ)÷ΠPNO,SNO(σSNO=‘S1’(SPJ))

相关文档
最新文档