当前位置:首页 » 参考文献 » 数据库原理及设计课后答案

数据库原理及设计课后答案

发布时间: 2021-02-26 00:15:26

数据库系统原理及应用教程(第3版)课后习题答案!

习题5第5题p148

create database 职工_社团

use 职工_社团

create table 职工(

职工号 char(10) primary key,

姓名 char(8),

年龄 smallint default 20,

性别 char(20),

constraint C1 check (性别 in ('男','女')));

create table 社会团体(

编号 char(10) primary key,

名称 char(8),

负责人 char(10),

活动地点 char(20),

constraint C2 foreign key (负责人) references 职工 (职工号));

create table 参加(

职工号 char(10),

编号 char(10),

参加日期 smalldatetime,

constraint C3 primary key (职工号,编号),

constraint C4 foreign key (职工号) references 职工 (职工号),

constraint C5 foreign key (编号) references 社会团体 (编号));

(2)

create view 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别)

as select 社会团体.编号,社会团体.名称,社会团体.负责人, 职工.职工号,职工.性别

from 职工,社会团体,参加

where 社会团体.编号=参加.编号 and 职工.职工号=参加.职工号

create view 参加人情况(职工号,姓名,社团编号,社团名称,参加日期)

as select 参加.职工号,姓名,社会团体.编号,名称,参加日期

from 职工,社会团体,参加

where 职工.职工号=参加.职工号 and 参加.编号=社会团体.编号

(3)

select distinct 职工.职工号,姓名

from 职工,社会团体,参加

where 职工.职工号=参加.职工号 and 参加.编号=社会团体.编号

and 社会团体.名称 in('歌唱队','篮球队');

(4)

select *

from 职工

where not exists (select *

from 参加

where 参加.职工号=职工.职工号);

(5)

select * from 职工

where not exists

(select *

from 社会团体

where not exists

(select *

from 参加

where 参加.职工号=职工.职工号 and 参加.编号=社会团体.编号));

(6)

select 职工号

from 职工

where not exists (select *

from 参加 参加1

where 参加1.职工号='001'and not exists

(select *

from 参加 参加2

where 参加2.编号=参加1.编号 and 参加2.职工号=职工.职工号))

(7)

select 编号,count(职工号) as 参加人数

from 参加

group by 编号;

(8)

select TOP 1 名称,count(*) 参加人数

from 参加,社会团体

where 参加.编号=社会团体.编号

group by 名称

order by 参加人数 desc

(9)

select distinct 社会团体.名称,职工.姓名 as 负责人

from 职工,社会团体,参加

where 社会团体.编号=参加.编号

and 社会团体.负责人=职工.职工号

and 参加.编号 in(select 参加.编号

from 参加

group by 参加.编号 having count(参加.编号)>100)

(10)

grant select,insert,delete on 社会团体 to 李平

with grant option;

grant select,insert,delete on 参加 to 李平

with grant option;

习题6第9题p212

create database 学生选课

use 学生选课

create table 学生(

学号 char(10) primary key,

姓名 char(10),

性别 char(10),

constraint C1 check (性别 in ('男','女')),

年龄 smallint default 20,

所在系 char(20));

create table 课程(

课程号 char(10) primary key,

课程名 char(20),

先行课 char(20));

create table 选课(

学号 char(10),

课程号 char(10),

成绩 smallint,

constraint D1 primary key (学号,课程号),

constraint D2 foreign key (学号) references 学生(学号),

constraint D3 foreign key (课程号) references 课程(课程号))

create index student_ind on 学生(学号)

create index class_ind on 课程(课程号)

create index select_ind on 选课(学号,课程号)

create rule value_rule as @value in ('男','女')

go

exec sp_bindrule 'value_rule','学生.性别'

go

create default 性别缺省 as '男'

go

exec sp_bindefault '性别缺省','学生.性别'

go

create trigger 选课插入更新 on 选课

for insert,update

as if (select count(*)

from 学生,inserted,课程

where 学生.学号=inserted.学号 and 课程.课程号=inserted.课程号)=0

rollback transaction

go

create trigger delete_all on 学生

for delete

as delete 选课

from 选课,deleted

where 选课.学号=deleted.学号

go

select 所在系,count(学号)as 学生人数

from 学生

group by 所在系

order by 所在系

compute count(所在系),sum(count(学号))

select *

from 学生 inner join 选课 on 学生.学号=选课.学号

go

select *

from 学生 left outer join 选课 on 学生.学号=选课.学号

go

select *

from 学生 right outer join 选课 on 学生.学号=选课.学号

go

select 选课.学号,学生.姓名,

学习情况=case

when avg(成绩)>=85 then '好'

when avg(成绩)>=75 and avg(成绩)<85 then '较好'

when avg(成绩)>=60 and avg(成绩)<75 then '一般'

when avg(成绩)<60 then '较差'

end

from 学生,选课

where 学生.学号=选课.学号

group by 选课.学号,姓名

go

只有这些,不知道用得到吗

❷ 数据库原理程序设计题,麻烦给出答案

select 学号 from score where 分数 >'70' and 分数 < '90'

❸ 跪求《数据库系统原理与设计》课后习题答案!!

版本很多…………

❹ 数据库原理及应用课后习题答案doc 2005 李俊山版

那个李俊山在我复们学校制教计算机专业的,隔壁软工专业表示深受其害,虽然不是他教的,但是同宿舍友是计算机专业的,她们表示他自己出的书,他自己的答案都书上例题的答案是不一样的,所以自求多福吧!还有就是没有答案,他自己都没有答案

热点内容
涂鸦论文 发布:2021-03-31 13:04:48 浏览:698
手机数据库应用 发布:2021-03-31 13:04:28 浏览:353
版面217 发布:2021-03-31 13:04:18 浏览:587
知网不查的资源 发布:2021-03-31 13:03:43 浏览:713
基金赎回参考 发布:2021-03-31 13:02:08 浏览:489
悬疑故事范文 发布:2021-03-31 13:02:07 浏览:87
做简单的自我介绍范文 发布:2021-03-31 13:01:48 浏览:537
战略地图参考 发布:2021-03-31 13:01:09 浏览:463
收支模板 发布:2021-03-31 13:00:43 浏览:17
电气学术会议 发布:2021-03-31 13:00:32 浏览:731