早教吧作业答案频道 -->其他-->
数据库题目二设学生---社团数据库有三个基本表:学生(学号,姓名,年龄,性别);社团(编号,名称,负责人,办公地点);参加(学号,编号,参加日期);其中:学生表的主码为
题目详情
数据库题目
二 设学生---社团数据库有三个基本表:
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);
其中:
学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为职工表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。
试用SQL语句表达1-5小题操作,并请写出第3小题的关系代数表达式。
1)定义社团表,说明其主码和参照关系。
2)建立视图:
社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
3)查询参加科协的学生学号、姓名和性别。
4)求每个社团的参加人数。
5)把对社团表的插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。
三 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0。
T1: R:=R+5
T2: R:=R*3
T3: R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
四 假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;(2) 找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF模式集。
五 现有如下关系模式:
R(A,B,C,D,E)
其中:AB组合为码
R上存在的函数依赖有AB→E,B→C,C→D
(1)该关系模式满足2NF吗?为什么? (2)如果将关系模式R分解为:
R1(A,B,E)
R2(B,C,D)
指出关系模式R2的码,并说明该关系模式最高满足第几范式?(在1NF~BCNF之内)。 (3)将关系模式R分解到BCNF。
(4) 在E-R模型中,如果实体间是1∶N的联系,如何设计相应部分的关系模型?
六. 假定一个部门的数据库包括以下的信息:
职工的信息:职工号、姓名、住址和所在部门。
部门的信息:部门所有职工、经理和销售的产品。
产品的信息:产品名、制造商、价格、型号及产品内部编号。
制造商的信息:制造商名称、地址、生产的产品名和价格。
完成如下设计:
(1)设计该计算机管理系统的E-R图;
(2)将该E-R图转换为关系模型结构;
二 设学生---社团数据库有三个基本表:
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);
其中:
学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为职工表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。
试用SQL语句表达1-5小题操作,并请写出第3小题的关系代数表达式。
1)定义社团表,说明其主码和参照关系。
2)建立视图:
社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
3)查询参加科协的学生学号、姓名和性别。
4)求每个社团的参加人数。
5)把对社团表的插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。
三 设T1,T2,T3是如下三个事务,其中R为数据库中某个数据项,设R的初值为0。
T1: R:=R+5
T2: R:=R*3
T3: R:=2
若允许三个事务并行执行,试列出所有可能的正确结果。采用什么手段,可以解决并行调度的不一致问题?
四 假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;(2) 找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么? (4) 如果R不属于3NF,请将R分解成3NF模式集。
五 现有如下关系模式:
R(A,B,C,D,E)
其中:AB组合为码
R上存在的函数依赖有AB→E,B→C,C→D
(1)该关系模式满足2NF吗?为什么? (2)如果将关系模式R分解为:
R1(A,B,E)
R2(B,C,D)
指出关系模式R2的码,并说明该关系模式最高满足第几范式?(在1NF~BCNF之内)。 (3)将关系模式R分解到BCNF。
(4) 在E-R模型中,如果实体间是1∶N的联系,如何设计相应部分的关系模型?
六. 假定一个部门的数据库包括以下的信息:
职工的信息:职工号、姓名、住址和所在部门。
部门的信息:部门所有职工、经理和销售的产品。
产品的信息:产品名、制造商、价格、型号及产品内部编号。
制造商的信息:制造商名称、地址、生产的产品名和价格。
完成如下设计:
(1)设计该计算机管理系统的E-R图;
(2)将该E-R图转换为关系模型结构;
▼优质解答
答案和解析
1、 查和“S0701026”读者借了相同图书的读者的图书证号和姓名
select rno,rn from reader where rno in(select a.rno from borrow as a,borrow as b where a.bno=b.bno and b.rno='S0701026')
2、 查询每个读者的姓名和所借图书名
select rn,bn from reader,borrow,book where reader.rno=borrow.rno and borrow.bno=book.bno
3、 查没有借书的读者的图书证号和姓名
select rno,rn from reader where rno not in(select rno from borrow)
4、 查询借阅了“数据结构”的读者数量
select count(*) from borrow where bno=(select bno from book where bn='数据结构') group by bno
5、 查“李丽”和“张朝阳”都借阅了的图书的书号
select a.bno from borrow as a,borrow as b where a.rno=(select rno from reader where rn='李丽') and b.rno=(select rno from reader where rn='张朝阳') and a.bno=b.bno
6、 查询借书上限最大的读者信息
select * from reader where rup=(select max(rup) from reader) order by rup desc
7、 查询借阅图书数量达到2本的读者信息
select * from reader where rno in(select rno from borrow group by rno having count(*)>1)
8、 查询每个读者姓名,所借图书的图书号,没有借书的读者也列出来
select reader.rn,bno from reader left join borrow on reader.rno=borrow.rno
9、 查询没有借阅“C程序设计”的读者姓名
select rn from reader where rno not in(select rno from borrow where bno=(select bno from book where bn='C程序设计'))
10、 检索所有姓李的读者所借图书的书号
select bno from borrow where rno in(select rno from reader where rn like '李%')
11、 查被借出的图书编号以“TP”开头的图书信息
select * from book where bno in(select bno from borrow where bno like 'TP%')
12、 查没有被借阅的图书信息
select * from book where bno not in(select bno from borrow)
13、 查询借阅了“数据库原理及其应用教程”的读者的图书证号和姓名
select reader.rno,rn from reader,borrow,book where reader.rno=borrow.rno and borrow.bno=book.bno and bn='数据库原理及其应用教程'
14、 统计各个系读者的数量,显示系名和数量
select rde 系名,count(*) 数量 from reader group by rde
15、 查询有过期未还图书的读者的书号、姓名、所在系
select bno,rn,rde from reader,borrow where reader.rno=borrow.rno and rda < getdate()
16、 检索至少借阅了“数据结构”和“操作系统教程”的读者图书证号
select a.rno from borrow as a,borrow as b where a.bno=(select bno from book where bn='数据结构') and b.bno=(select bno from book where bn='操作系统教程') and a.rno=b.rno
17、 查库存书的总数
select sum(bnu) from book
18、 查询借阅了图书的读者信息
select * from reader where rno in(select rno from borrow)
select rno,rn from reader where rno in(select a.rno from borrow as a,borrow as b where a.bno=b.bno and b.rno='S0701026')
2、 查询每个读者的姓名和所借图书名
select rn,bn from reader,borrow,book where reader.rno=borrow.rno and borrow.bno=book.bno
3、 查没有借书的读者的图书证号和姓名
select rno,rn from reader where rno not in(select rno from borrow)
4、 查询借阅了“数据结构”的读者数量
select count(*) from borrow where bno=(select bno from book where bn='数据结构') group by bno
5、 查“李丽”和“张朝阳”都借阅了的图书的书号
select a.bno from borrow as a,borrow as b where a.rno=(select rno from reader where rn='李丽') and b.rno=(select rno from reader where rn='张朝阳') and a.bno=b.bno
6、 查询借书上限最大的读者信息
select * from reader where rup=(select max(rup) from reader) order by rup desc
7、 查询借阅图书数量达到2本的读者信息
select * from reader where rno in(select rno from borrow group by rno having count(*)>1)
8、 查询每个读者姓名,所借图书的图书号,没有借书的读者也列出来
select reader.rn,bno from reader left join borrow on reader.rno=borrow.rno
9、 查询没有借阅“C程序设计”的读者姓名
select rn from reader where rno not in(select rno from borrow where bno=(select bno from book where bn='C程序设计'))
10、 检索所有姓李的读者所借图书的书号
select bno from borrow where rno in(select rno from reader where rn like '李%')
11、 查被借出的图书编号以“TP”开头的图书信息
select * from book where bno in(select bno from borrow where bno like 'TP%')
12、 查没有被借阅的图书信息
select * from book where bno not in(select bno from borrow)
13、 查询借阅了“数据库原理及其应用教程”的读者的图书证号和姓名
select reader.rno,rn from reader,borrow,book where reader.rno=borrow.rno and borrow.bno=book.bno and bn='数据库原理及其应用教程'
14、 统计各个系读者的数量,显示系名和数量
select rde 系名,count(*) 数量 from reader group by rde
15、 查询有过期未还图书的读者的书号、姓名、所在系
select bno,rn,rde from reader,borrow where reader.rno=borrow.rno and rda < getdate()
16、 检索至少借阅了“数据结构”和“操作系统教程”的读者图书证号
select a.rno from borrow as a,borrow as b where a.bno=(select bno from book where bn='数据结构') and b.bno=(select bno from book where bn='操作系统教程') and a.rno=b.rno
17、 查库存书的总数
select sum(bnu) from book
18、 查询借阅了图书的读者信息
select * from reader where rno in(select rno from borrow)
看了 数据库题目二设学生---社团...的网友还看了以下:
93号和97号汽油有何差别?93号和97号汽油价格上差了好几角,不知两个性能差别大吗?能不能混合使 2020-05-16 …
在Northwind数据库中完成如下查询:1、表PRODUCTS中有属性CategoryID,表示 2020-06-13 …
每一个宝宝在自己家的户口本上都有一个属于自己的身份证号码.某一个小宝宝的号码是3601032011 2020-06-22 …
求解答数据库应用题!1.现有关系数据库如下:部门(部门号,名称,负责人编号,联系电话)职工(职工号 2020-07-02 …
求java程序.题目要求‘程序编完后输入某人身份证号后运行输出该人的出生日期,性别,年龄.’身份证 2020-07-10 …
1、显示STUD表中所有男生的学号、姓名、性别、班级名、系别代号,可使用的命令是().2、显示STU 2020-11-02 …
一个人的身份证号是:460021198407250818,这个人的出生日期年月日,性别是. 2020-11-02 …
某人的身份证编号是452528199012034032,这个人的出生年月日,性别是. 2020-11-02 …
一人的身份证号码为350521199607262743,那么此人出生于年月日,性别是. 2020-11-02 …
王冰的身份证号是:422123197608132119,王冰的出生日期是年月日,性别是. 2020-11-05 …