数据库原理教程课后答案
① 数据库原理与应用教程第4版课后习题答案(何玉洁)
第一题:
(1)数据库原理教程课后答案扩展阅读
这部分内容主要考察的是数据库系统的知识点:
数据库系统为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。
数据库系统通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。
数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。
数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。
② 数据库原理与应用教程 课后题答案 第三版 何玉洁
发给你了 希望敢的上 望采纳 哈哈
数据库原理与应用教程―SQL Server
习题解答
1.5 习题
1.数据库的发展历史分哪几个阶段?各有什么特点?
答:数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。
1)人工管理阶段
这个时期数据管理的特点是:
数据由计算或处理它的程序自行携带,数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立性差,数据不能被长期保存,数据的冗余度大等给数据的维护带来许多问题。
2)文件系统阶段
在此阶段,数据以文件的形式进行组织,并能长期保留在外存储器上,用户能对数据文件进行查询、修改、插入和删除等操作。程序与数据有了一定的独立性,程序和数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。
3)数据库系统阶段
数据库系统的特点如下:
(1)数据结构化
(2)较高的数据共享性
(3)较高的数据独立性
(4)数据由DBMS统一管理和控制
2.简述数据、数据库、数据库管理系统、数据库应用系统的概念。
答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。
数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。
凡使用数据库技术管理其数据的系统都称为数据库应用系统。
3.简述数据库管理系统的功能。
答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。
(1) 数据定义和操纵功能
(2) 数据库运行控制功能
(3) 数据库的组织、存储和管理
(4) 建立和维护数据库
(5) 数据通信接口
4.简述数据库的三级模式和两级映像。
答:为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化了应用程序的编制和程序员的负担,增强系统的可靠性。通常DBMS将数据库的体系结构分为三级模式:外模式、模式和内模式。
模式也称概念模式或逻辑模式,是对数据库中全............
③ 数据库系统原理及应用教程(第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
只有这些,不知道用得到吗