数据库作业.docx
- 文档编号:30724678
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:12
- 大小:61.30KB
数据库作业.docx
《数据库作业.docx》由会员分享,可在线阅读,更多相关《数据库作业.docx(12页珍藏版)》请在冰豆网上搜索。
数据库作业
数据库原理及应用作业
概念基础部分:
简述数据库管理系统的功能。
答:
数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。
(1)数据定义和操纵功能
(2)数据库运行控制功能
(3)数据库的组织、存储和管理
(4)建立和维护数据库
(5)数据通信接口
解释关系模型的基本概念:
关系、元组、属性、域、关系模式、候选关键字、主键、外键、主属性。
答:
关系:
一个关系就是一张二维表。
元组:
二维表中的行称为元组,每一行是一个元组。
属性:
二维表的列称为属性,每一列有一个属性名,属性值是属性的具体值。
域:
是属性的取值范围。
关系模式:
对关系的信息结构及语义限制的描述称为关系模式,用关系名和包含的属性名的集合表示。
候选关键字:
如果在一个关系中,存在多个属性(或属性组合)都能用来唯一标识该关系中的元组,这些属性(或属性组合)都称为该关系的候选关键字或候选码,候选码可以有多个。
主键:
在一个关系的若干候选关键字中,被指定作为关键字的候选关键字称为该关的主键或主码。
主属性:
在一个关系中,包含在任何候选关键字中的各个属性称为主属性。
外键:
一个关系的某个属性(或属性组合)不是该关系的主键或只是主键的一部分,却是另一个关系的主码,则称这样的属性为该关系的外键或外码。
6.某网上订书系统,涉及如下信息:
(1)客户:
客户号、姓名、地址、联系电话。
(2)图书:
书号、书名、出版社、单价。
(3)订单:
订单号、日期、付款方式、总金额。
其中:
一份订单可订购多种图书,每种图书可订购多本;一位客户可有多份订单,一份订单仅对应一位客户。
(1)根据以上叙述,建立ER模型,要求标注联系类型(可省略实体的属性)。
(2)根据转换规则,将ER模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在)。
答:
(1)ER模型
(2)关系模式:
客户(客户号,姓名,地址,联系电话,订单号)
图书(书号,书名,出版社,单价)
订单(订单号,日期,付款方式,总金额)
订购(订单号,书号,数量)
8.根据给定的关系模式进行查询。
设有学生-课程关系数据库,它由三个关系组成,它们的模式是:
学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。
请用关系代数分别写出下列查询:
(1)检索学生的所有情况。
∏S#,SN,SD,SA(S)
(2)检索学生年龄大于等于20岁的学生姓名。
∏SN(σSA≥20(S))
(3)检索先修课号为C2的课程号。
∏C#(σPC#=’C2’(C))
(4)检索课程号C1的成绩为A的所有学生姓名。
∏SN(σC#=’C1’∧G=’A’(S∞SC))
(5)检索学号为S1的学生选修的所有课程名及先修课号。
∏CN,PC#(σS#=’S1’(C∞SC))
(6)检索年龄为23岁的学生所选修的课程名。
∏CN(σSA=23(C∞SC∞S))
10.简述数据库设计过程的各个阶段上的设计任务。
答:
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
概念设计阶段要做的工作不是直接将需求分析得到的数据存储格式转换为DBMS能处理的数据库模式,而是将需求分析得到的用户需求抽象为反映用户观点的概念模型。
逻辑设计的主要目标是产生一个DBMS可处理的数据模型和数据库模式。
该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。
将逻辑设计中产生的数据库逻辑模型结合指定的DBMS,设计出最适合应用环境的物理结构的过程,称为数据库的物理结构设计。
根据逻辑和物理设计的结果,在计算机上建立起实际的数据库结构,并装入数据,进行试运行和评价的过程,叫做数据库的实施(或实现)。
维护工作包括以下内容:
数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监督、分析和改造;数据库的重组织和重构造。
12.一个图书馆理系统中有如下信息:
图书:
书号、书名、数量、位置
借书人:
借书证号、姓名、单位
出版社:
出版社名、邮编、地址、电话、E-mail
其中约定:
任何人都可以借多种书,任何一种书可以被多个人借,借书和还书时,要登记相应的借书日期和还书日期;一个出版社可以出版多种书籍,同一本书仅为一个出版社所出版,出版社名具有唯一性。
根据以上情况,完成如下设计:
(1)设计系统的E-R图;
(2)将E-R图转换为关系模式;
(3)指出转换后的每个关系模式的主码。
答:
(1)E-R图
(2)和(3)关系模式
图书(书号,书名,数量,位置,出版社名)
借书人(借书证号,姓名,单位)
出版社(出版社名,邮编,地址,电话,E-mail)
借阅(书号,借书证号,借书日期,还书日期)
T-SQL语句部分:
14.在“学生管理”数据库中建立“学生”、“课程”和“成绩”数据表,其中:
学生(学号CHAR(8),姓名CHAR(8),性别CHAR
(2),出生日期DATATIME,邮政编码CHAR(6),住址VARCHAR(50),简历TEXT),其中学号为主键。
课程(课程号CHAR(4),课程名称VARCHAR(50),学分INT),其中课程号为主键。
成绩(学号CHAR(8),课程号CHAR(4),期中成绩INT,期末成绩INT),其中学号与课程号的组合为主键。
答:
USE学生管理
GO
CREATETABLE学生
(学号CHAR(8)PRIMARYKEY,
姓名CHAR(8)NOTNULL,
性别CHAR(8),
出生日期DATATIME,
邮政编码CHAR(6),
住址VARCHAR(50),
简历TEXT
)
USE学生管理
GO
CREATETABLE课程
(课程号CHAR(4)PRIMARYKEY,
课程名称VARCHAR(50)NOTNULL,
学分INT
)
USE学生管理
GO
CREATETABLE成绩
(学号CHAR(8),
课程号CHAR(4),
期中成绩INT,
期末成绩INT,
CONSTRAINTpk_jsPRIMARYKEY(学号,课程号)
)
16.在“学生”表中,查询前5条的所有记录。
答:
USE学生管理
SELECTTOP5*
FROM学生
18.在“学生”表中查询班级不能重复的记录。
答:
USE学生管理
SELECTDISTINCT班级
FROM学生
20.在“成绩”表中查询期末成绩大于80的并期中成绩成绩大于70分的记录。
答:
USE学生管理
SELECT*
FROM成绩
WHERE期末成绩>=80AND期中成绩>=70
22.在“学生”表中,查询学号为,,的学生的班级,性别。
答:
USE学生管理
SELECT班级,性别
FROM学生
WHERE学号=’’OR学号=’’OR学号=’’
24.在“学生”表中,查询姓刘或姓张同学的学号,姓名和班级的记录。
答:
USE学生管理
SELECT学号,姓名,班级
FROM学生
WHERE姓名like’刘%’OR姓名like’张%’
26.在“学生”表中,查询除了姓刘同学的所有记录。
答:
USE学生管理
SELECT*
FROM学生
WHERE姓名like’刘%’
28.在“学生”表中,查询出生日期在1985年内出生的所有女生的所有记录。
答:
USE学生管理
SELECT*
FROM学生
WHERE出生日期=1985AND性别=’女’
30.在“成绩”表中,查询期中成绩在后4名同学的所有记录。
答:
USE学生管理
SELECTTOP4*
FROM成绩
ORDERBY期中成绩ASC
32.修改“成绩”表,添加“平时成绩”列,数据类型为int,默认值为0;再添加“总成绩”列,数据类型为int。
答:
USE学生管理
GO
ALTERTABLE成绩
ADD平时成绩intDEFAULT0,
ADD总成绩int
34.将学号为“20060004”的学生删除。
答:
USE学生管理
DELETE学生
WHERE学号=’’
36.在“成绩”表中查询期中成绩大于80,且平时成绩为18分的记录。
答:
USE学生管理
SELECT*
FROM成绩
WHERE期末成绩>=80AND平时成绩=18
38.从“学生”表中获取学生的学号、姓名、班级,从“成绩”表中获取学生的期中成绩和期末成绩。
答:
USE学生管理
SELECT学生.学号,学生.姓名,学生.班级,成绩.期中成绩,成绩.期末成绩
FROM学生INNERJOIN成绩
ON学生.学号=成绩.学号
40.在“成绩”表中查询高于期末成绩的平均成绩的行。
答:
USE学生管理
SELECT*
FROM成绩
WHERE期末成绩>
(SELECTavg(期末成绩)
FROM成绩
)
42.求选修C004课程的学生的平均年龄。
答:
SELECTAVG(年龄)FROM学生,选课
WHERE学生.学生号=选课.学生号and课程号=’C004’
44.统计每门课程的学生选修人数,超过3人的课程才统计。
要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
答:
SELECT课程号,COUNT(*)FROM选课
GROUPBY课程号
HAVINGCOUNT(*)>3
ORDERBYCOUNT(*)DESC,课程号
46.在选课表中检索成绩为空值的学生学号和课程号。
答:
SELECT学生号,课程号FROM选课
WHERE成绩ISNULL
48.求年龄大于所有女同学年龄的男学生姓名和年龄。
答:
SELECT姓名,年龄FROM学生
WHERE性别=’男’
and年龄>all(SELECT年龄FROM学生
WHERE性别=’女’)
50.检索选修课程C002的学生中成绩最高的学生的学号。
答:
SELECT学生号FROM选课
WHERE课程号=’C002’and成绩=(SELECTMAX(成绩)FROM选课
WHERE课程号=’C002’)
52.检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
答:
SELECT学生号,SUM(成绩)FROM选课
WHERE成绩>=60
GROUPBY学生号
HAVINGCOUNT(*)>=4
ORDERBYSUM(成绩)DESC
54.按照成绩表的总成绩列升序创建一个普通索引(非唯一、非聚集)。
答:
USE学生管理
GO
CREATEINDEXindex_学生姓名ON成绩(总成绩)
56.创建存储过程,从课程表中返回指定的课程的信息。
该存储过程对传递的参数进行模式匹配,如果没有提供参数,则返回所有课程的信息。
答:
CREATEPROCEDUREPcourse
@namevarchar(20)='%'
AS
SELECT*FROM课程
WHERE课程名LIKE@name
58.利用T-SQL扩展方式声明一个游标,查询学生表中所有男生的信息,并读取数据。
关闭游标,最后释放游标。
答:
DECLAREN_CursorCURSOR
DYNAMICFOR
SELECT*
FROM学生
WHERE性别=’男’
FETCNNEXTFROMN_Cursor
GO
CLOSEN_Cursor
GO
DEALLOCATEN_Cursor
GO
60.简述数据库备份和还原的基本概念?
答:
数据库备份就是在某种介质上(磁盘、磁带等)创建完整数据库(或者其中一部分)的副本,并将所有的数据项都复制到备份集,以便在数据库遭到破坏时能够恢复数据库。
还原数据库是一个装载数据库的备份,然后应用事务日志重建的过程。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 作业