数据库系统原理与应用 课后作业答案.doc_第1页
数据库系统原理与应用 课后作业答案.doc_第2页
数据库系统原理与应用 课后作业答案.doc_第3页
数据库系统原理与应用 课后作业答案.doc_第4页
数据库系统原理与应用 课后作业答案.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统原理与应用 课后作业 计算机科学与技术专业第一章作业1.1简述数据、数据库、数据库管理系统和数据库系统的概念。数据:描述事物的符号记录。数据库:长期保存在计算机的存储设备上,并按照某种模型组织起来的,可以被各种用户或应用共享的数据的集合。数据库管理系统:介于用户和操作系统之间的一种软件,它实现对共享数据的有效组织、存取和管理。数据库系统:采用数据库技术,以计算机为硬件和应用环境,以os、dbms、某种程序语言和实用程序等为软件环境,以某种应用领域为应用背景而建立,是一个可实际运行的、按照数据库方法存储和维护数据的、并为用户提供数据支持和管理功能的应用系统。1.3 简述数据库管理员(dba)的主要职责。数据库管理员(dba)的主要职责:1)数据库管理员首先要调查数据库用户需求,在规划阶段参与选择和评价有关的软、硬件,与用户共同确定数据库系统的目标和数据库应用需求,确定数据库的开发计划。2)负责数据库标准的制定、共用数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计,决定文件的组织方法。3)数据库管理员对用户进行数据库方面的培训;负责数据库管的转储和恢复;负责对数据库中的数据进行维护;负责用户对数据库的使用权限;确定授权核对和访问生效方法;监视数据库性能,并调整、改善数据库性能;提高系统效率;负责数据库安全系统的管理,发现解决问题。1.8 数据库管理系统的主要功能有哪些?答:(1)数据库定义(2)数据库操作及查询优化。(3)数据库运行控制管理。(4)数据组织、存储和管理。(5)数据库的恢复和维护。(6)数据库的多种接口。(7)其它功能。1.10数据库的基本特征?答:(1)数据库具有较高的数据独立性。(2)数据库用综合的方法组织数据,保证尽可能高的访问效率。 (3)数据库具有较少的数据冗余,可供多个用户共享。(4)数据库具有安全控制机制,能保证数据的安全、可靠。(5)数据库允许多用户共享,能有效、及时处理数据,并能保证数据的一致性和完整性。第二章作业2.5 什么是数据模型?数据模型的作用及三要素是什么?数据模型:模型是对现实世界的特征的模拟和抽象。 数据模型也是一种模型,是对现实世界的数据特征的抽象。数据模型的作用:一是比较真实的模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据模型的三要素:数据结构、数据操作和完整性约束。2.9 何谓数据独立性?数据库为什么要有数据独立性?答:应用程序与数据的组织、存储数据分离开来,实现应用程序与数据的相互独立即为数据的独立性。数据库是在文件系统上发展起来的。在数据结构或程序设计语言中编写文件管理的系统程序是很复杂的,如果把这样的程序用于实际数据文件的管理就会更复杂,这时候程序是为特定的文件而编写的。也许还是高效的,但它的最大缺点是与文件本身太过密切。如果发现文件组织不合适,则与之相关的应用程序都必须要进行彻底的修改。对于一个规模稍大的系统来说,是难而又难的事情,所需要的程序开发和维护工作量也是难以承受的。更重要的是,随着时间的退役,整个系统可能会混乱不堪。故希望数据库有独立性。第三章作业3.5设有关系r和s,如下图所示,计算rus,rs,r-s,rs,2,3(r),c”4”(s),rs,r s22关系r 关系sa b c a b c4 6 9 5 7 61 5 8 7 3 47 4 72 3 4解:rus:a b c 4 6 9 1 5 87 4 72 3 4 5 7 6 7 3 4rs为空;r-s:a b c4 6 9 1 5 8 7 4 72 3 4rs:r.a r.b r.c s.a s.b s.c4 6 9 5 7 64 6 9 7 3 41 5 8 5 7 61 5 8 7 3 47 4 7 5 7 67 4 7 7 3 42 3 4 5 7 62 3 4 7 3 42,3(r)b c6 95 84 73 4c”4”(s) 为空;rs :22r.a r.b r.c s.a s.b s.c4 6 9 5 7 61 5 8 5 7 67 4 7 5 7 62 3 4 7 3 4r s为空。3.7 设有三个关系:学生关系s( s#, sname, age, sex ) (学号,姓名,年龄,性别)成绩关系sc(s#, c#, grade) (学号,课程号,教师名)课程关系c(c#, cname, teacher) (课程号,课程名,教师名)试用关系代数表达式表示下列查询:(1) 查询wang老师所授的课程号、课程名。(2) 查询学习了wang老师所授课程的女学生的学号与成绩。(3) 查询学号为9801001学生所学课程与任课老师名。(4) 查询至少学习了wang老师与zhang老师所授课程的学生学号与姓名。(5) 查询全部学生都选修的课程的课程号与教师。答:(1)c#,cname(teacher=“wang”(c)(2)s.s#,grade(sex=“female”teacher=“wang”(sscc)(3)c.c#,cname,teacher(sc.s#=“9801001”(sc)c)(4)s.s#,sname(1=6(scteacher=“wang”(c)(scteacher=“zhang”(c) wang老师与zhang老师所授课程至少各一门 s.s#,sname(s(s#,c#(sc)c#(teacher=“wang”teacher=“zhang”(c)wang老师与zhang老师所授所有课程(5)c.c#,teacher(c#,s#(sc)s#(s) c)第四章作业4.3 sql server 2000在安装后默认创建了哪几个系统数据库?分别叙述它们的作用。答:sql server 2000在安装后默认创建了4个系统数据库:master,model,msdb,tempdb。(1) master数据库。它存放了sql server 2000 所有的服务器级系统信息,包括本地及远程用户帐号、系统配置信息、系统错误信息、所有数据库的主体地址和初始化信息等。(2) model数据库。它是建立新数据库的模板,它包含了将复制到每个数据库中的系统表。每一个用户数据库都是以它的样板创建的。当发出create database 语句时,新数据库的第一部分通过复制model数据库中的内容创建,剩余部分由空页填充。(3) msdb数据库。它主要被sql server agent 用于进行复制、作业调度以及管理报警等活动。该数据库常用于通过调度任务排除故障。(4) tempdb数据库。它保存所有的临时表和临时存储过程,它还可以满足任何其他的临时存储要求。它在sql server 每次启动时都重新创建,因此该数据库在系统启动时总是干净的。4.4与数据库相关的磁盘文件有哪几种?它们的扩展名分别是什么?答:1.主文件:存储数据库的启动信息和系统表,也可以用来存储用 户数据。扩展名为 .mdf。 2.次文件:保存所有主文件中容纳不下的数据。扩展名为 .ndf。3.事务日志文件:用来保存恢复数据库的日志信息。扩展名为 .ldf。第五章作业5.1 试述sql的特点和功能。答:sql的特点:(1)一体化特点。 (2)两种使用方式,统一的语法结构。 (3)高度非过程化。 (4)类似于人的思维习惯,容易理解和掌握 sql的功能: (1)数据定义:a.基本表的创建,修改和删除。 b.索引创建和删除。 c.视图的创建和删除。(2)数据查询:a.简单查询。b.汇总查询。c.多表查询,其中包括连接查询和子查询。 d.合并查询(3)数据更新:a.数据插入。 b.数据修改。 c.数据删除。(4)数据控制:a.数据库安全保护。 b.数据完整保护。 c.并发事务处理。 d.数据库的恢复。 5.2试述sql支持的三级模式结构。答:sql支持关系数据库三级模式结构。其中视图对应于外模式,基本表对应于模式,存储文件对应于内模式。 用户可以用sql对基本表和视图进行查询或其他操作。基本表和视图一样,都是关系。 基本表是本身独立存在的表,在sql中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。 存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。 视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上定义视图。 5.8(1)找出学了刘老师所授全部课程的同学的姓名 select name from swhere s_no in ( select sc. s_no from sc, c where s.s_no =sc.s_no and sc.c_no = c.c_no and teacher = 刘老师 group by sc. s_no having count(sc.c_no)=(select count(c_no) from cwhere teacher = 刘老师)select name from swhere not exists(select * from c where teacher = 刘老师 and not exists(select * from sc where s.s_no =sc.s_no and sc.c_no = c.c_no)(2)select name from swhere not exists (select * from sc, cwhere s.s_no =sc.s_no and sc.c_no = c.c_no and teacher = 刘老师)select name from swhere s_no not in (select distinct s_no from sc, cwhere sc.c_no = c.c_no and teacher = 刘老师)select name from s (不推荐本题这种解法!)where s_no in (select distinct s_no from sc where not in (select distinct s_no from sc,c where sc.c_no = c.c_no and teacher = 刘老师) (3)select distinst name from swhere s_no in(select distinst s_no from sc where grade60)select name from swhere exists (select * from scwhere s.s_no =sc.s_no and grade60)(4)select name from swhere not exists (select * from scwhere s.s_no =sc.s_no and grade211.查询参加学习的学生所学的课程号和总分select cno,sum(grade)from studygroup by cnoselect cno,sno,gradefrom studyorder by cnocompute sum(grade) by cno12.查询选修高等数学课程且成绩在80分以上的学生的学号、姓名select study.sno,sfrom student, study, coursewhere student.sno=study.sno and so= co and cname=高等数学 and grade80 13.查询每一课程的间接先行课(即先行课的先行课)select o 课程号, b.pcno 间接先行课from course a, course bwhere a.pcno*=o14.查询年龄低于所有工程系学生的学生姓名、所在系、年龄select name,department,agefrom studentwhere ageall(select age from studentwhere department=工程系) select name,department,agefrom studentwhere age90select namefrom studentwhere sex=女 and exists(select * from study where student.sno=study.sno and grade90)20.求出每一年龄上人数超过2的男生的具体人数,并按年龄从小到大排列select age, count(sno)from studentwhere sex=男group by agehaving count(sno)2order by age试验四-数据库定义与数据更新(1)把学生的学号及他的平均成绩定义为一个视图grade_view。create view grade_view(学号,平均成绩)asselect sno,avg(grade)from studygroup by sno(2)创建一个从student,course,study表中查出计算机系的学生及其成绩的视图computer_view,要求显示学生的学号sno,姓名name,课程号cno,课程名称cname,成绩grade。create view computer_view(学号sno,名字name,课程号cno,课程名cname,成绩grade)asselect student.sno,name,o,cname,gradefrom student,study,coursewhere student.sno=study.sno and o=o(3)在student表中依据学生姓名创建索引name_index。create index name_index on student(name)(4)在student表中依据sno和cno创建索引main_index。create index main_index on study(cno,sno)(5)将课程c603的任课老师改为“赵明”。update courseset teacher=赵明where cno=c603(6)在student表中插入两个学生的记录:1201,吴华,女,20,成都,计算机系1102,张军,男,21,上海,工程系insert into student (sno,name,sex,age,native,department)values(1201,吴华,女,20,成都,计算机系)insert into student (sno,name,sex,age,native,department)values(1102,张军,男,21,上海,工程系)(7)删除年龄在21岁以上学生的记录。deletefrom studywhere sno in(select snofrom studentwhere age21)delete from studentwhere age21实验五 数据库安全与保护用户管理与权限管理1. exec sp_addlogin student,123,student2. use student exec sp_grantdbaccess student,student3. exec sp_addsrvrolemember student,sysadmin4. exec sp_addrolemember db_owner,student 5. grant create table, create view to student 6. grant all on study to studentwith grant option7. revoke update on study from studentcascade8.deny delete on study to student cascade实验六 数据库安全与保护数据完整性实验内容(1)在查询分析器中使用create table 语句,在student数据库中创建符合下表中完整性约束条件的学生表screate table s(sno char(6)constraint sno_prim primary key,sn char(8)constraint sn_cons not nullconstraint sn_uniq unique,age numeric(2)constraint age_cons not null,sex char(2)constraint sex_cons not nullconstraint sex_def default男,dept char(10)constraint dept_cons not null)(2)在查询分析器中使用create table 语句,在student数据库中创建符合下表中完整性约束条件的选课表sccreate tabl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论