数据库原理与应用作业及答案

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

数据库原理与应用作业参考答案

第1章作业及参考答案

1 解释如下概念:

实体,属性,码,数据,DB,DBMS,DBS,DBA

2 试述数据库系统的特点,并与之比较文件系统的缺点

3 试述DBA的职责

4 就你所知,用E-R图描述一个简单的应用系统(如学籍管理,物资收发存管理等)的概念模型。

答:

1.DB:数据库,数据存储的”仓库”,在DBMS的集中管理下,有较高数据独立性,有较少冗余\相互间

有联系的数据集合.

DBS:包括数据库的计算机系统,包括计算机硬件、软件与人员,包含数据库,数据库管理系统,数据库应用系统等。

其它参见教材。

2.数据库系统主要包括面向全组织的数据库结构,有较好的数据与程序独立性,有较少的冗余,有完整的控制技术,最小存取单位是数据项等特点。与之相对应的文件系统是:独立性不高,冗余大,无控制技术,最小存取单位为记录。

3.参见教材。

4.见电子教案例题,最好自己能描述一个。

第2章作业及参考答案

1.名词解释

码、关系、元组

2.试用关系代数、QBE写出如下查询:

(1)找出张三的学号与年龄

(2)找出成绩>=90的学生学号与姓名

(3)找出选修数据库的所有学生的学号、姓名、年龄及成绩

表为:S(S#,SN,SA),C(C#,CN,ST),SC(S#,C#,G)

参考解答:

1.码,关系,元组:参见教材。

2 (1)ΠS#,SA(δSN=‘张三’(S) )

(2)ΠS#,SN(S|ⅹ|δG>=90(SC ). QBE参见书

(3) ΠS#,SN,SA,G(S|ⅹ|SC. |ⅹ|δCN>=’数据库’(C )), QBE参见书

第3章作业及参考答案

设有下列关系模式:

S(sno,SN,AGE,SEX,dno),S表示学生,其中sno表示学号,SN表示姓名,AGE表示年龄,SEX表示性别,Dno表示学生所在系号,要求sno为主码,SEX为‘男’,‘女’或‘其它’;age在12到65之间.

C(cno,CN),C表示课程,其中cno表示课程编号,CN表示课程名称,主码为cno;

SC(sno,cno,GRADE),SC表示学生选课,其中sno为选课的学生学号,cno为学生所选课程编号,GRADE表示学生成绩,0到100;主码为sno,cno,外部码分别为sno,cno

请用SQL语言完成下列操作:

(1)创建上面三个基本表;(考虑关系的完整性)

答:create table S(sno char(7) primary key,

SN char(8),

AGE number(2) check(age between 12 and 65),

SEX char(4) check (sex in (‘男’,’女’,’其它’),

dno char(3))

create table c(cno char(3) primary key,cn varchar2(32))

create table SC(sno char(7) references s.sno,

cno char(3) references o,

GRADE number(3) check(grade between 0 and 100),

Primary key(sno,cno)

)

(2)每个表插入二个值,体现完整性

insert into s values(‘0203101’,’张三’,19,’男’,’D03’)

insert into s values(‘0202102’,’李岚风’,18,’女’,’D02’)

insert into c values(‘C01’,’数据库原理与编程’)

insert into c values(‘C02’,’离散数学’)

insert into sc values(‘0203101’,’C01’,92)

insert into sc values(‘0203101’,’C02’,88)

insert into sc values(‘0202102’,’C01’,52)

insert into sc values(‘0202102’,’C02’,89)

(3)完成以下查询:

①检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。

Select sn,cn,grade from s,c,sc

where s.sno=sc.sno and o=o and grade>=70 and (cno=’C1’ or cno=’C2’)

②检索所有学生的姓名、所选课程的课程名和成绩,并且按课程号的升序和成绩的降序进行排列。

Select sn,cn,grade from s,c,sc

where s.sno=sc.sno and o=o

order by o,grade desc

③检索选修了“C语言”课程的学生的姓名。

Select sn from s

where sno in (select sno from sc

where cno in (select cno from c where cn=’C语言’))

④检索所有学生中年龄最大的学生的姓名及年龄。

Select sn,age from s

where age=(select max(age) from s)

⑤求所有学生中年龄的最大值和最小值。

Select max(age),min(age) from s

⑥求所有学生中女生的总人数。

Select count(*) from s where sex=’女’

⑦求选课在四门以上的学生所选课程的学号与平均成绩(不统计不及格的课程), 按平均成绩降序列出.

Select distinct avg(grade),sno from sc

where grade>=60

Group by sno

相关文档
最新文档