数据库原理作业
一.填空题
- 按照数据库管理系统所支持的数据模型不同,可将数据库划分为关系型数据库、(_______) 数据库和(________) 数据库三种基本类型。
层次型 网状型
- 关系模型可以有三类完整性约束是:(___________)完整性、(___________)完整性和(_______)完整性。
实体 参照 用户定义的
- 数据管理技术从50年代至今经历了()、()和(______________)三个阶段。
人工管理 文件管理 数据库系统
- 实体之间的联系可归结为()、()和(______________)三种。
一对一 一对多 多对多
- 数据的物理独立性是指当数据的(_______________________)改变时,通过系统内部的自动映像或转换功能,保持了数据的(______________________)不变。
物理结构 逻辑结构
- 数据库系统的三级模式结构是(________)、(_____) 和(__________)。
外模式 模式 内模式
- 关系运算包括两类:一类是传统的集合运算,另一类是专门的关系运算,试举出两类专门的关系运算() 和()。
选择 投影 连接 除
- 关系规范化的目的是为了解决() 、() 和更新异常等异常问题,从而得到一个好的或比较好的关系模式的集合.
修改复杂 数据冗余
- 数据库并发控制方法一般包括:①以()方式打开数据表,②对数据表或记录()两种方法.
独占 加锁
- SELECT 语句的ORDER BY作用是(__) GROUP BY作用是(____)。
按字段排序 按字段分类
- 数据库系统的三级模式中,其中的外模式又可称为____________。
子模式或用户模式
- 如果一个满足1NF关系的所有属性合起来组成一个关键字,则该关系最高满足的范式是______(在1NF、2NF、3NF范围内确定)。
3NF
- 由于数据库系统在三级模式之间提供了_________和_________两层映射功能,所以就保证了数据库系统具有较高的数据独立性。
外模式 模式
- 在SQL语言中,定义一个视图的命令为(___________________)。
create view
- 在标准SQL语言中,定义触发器的语句为______________________________,向用户授权的语句是__________________________。
create trigger ; grant
- 在标准SQL语言中,聚集函数COUNT()的功能是________________,使用DISTINCT关键词的作用是________________。
统计数据的行数 对查询结果去重
- 标准SQL语言修改表中记录数据的命令是_______________。
update
- 在标准SQL语言中,收回用户权限的语句是________________。
revoke
- 若一个关系的所有属性合起来才能组成一个关键字(码),则该码叫__________。
全码
- 定义视图的WITH CHECK OPTION短语的作用是(______________________________________________)
保证了通过视图进行的修改,必须也能通过该视图看到修改后的结果
- 在SQL语言中,定义一个基本表的命令为(___________________)。
create table
- 创建视图时,若要保证插入或修改的数据行必须满足视图定义的约束,创建时附带的参数是(___________________________________________)。
WITH CHECK OPTION
- SQL语言中定义断言的指令是(___________________________________)
CREATE ASSERTION
- 一个关系模式为全码,则该关系满足的最高范式是(_____________)。
BCNF
- 若关系R的候选码都是单属性的,则R必然满足的最高范式是(_____________)。
2NF
- 当前数据库应用系统的主流数据模型是(____________________)。
关系模型
二.名次解释:
- 解释实体完整性并举例
作为主键的属性或属性组的值在关系中必须是唯一的和确定的
举例:学生选课关系: 选修(学号,课程号,成绩)中,(学号,课程号)为主码,则学号和课程号两个属性都不可以取空值并且唯一。
- 何谓关系中的非主属性?可举例说明。
不包含在任何候选码中的属性称为非主属性。例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性。
- 解释何为参照完整性?
如果表中存在外键,则外键的值必须与主表中相应的键值相同,或者外键的值为空。
- ER 图
E-R图是实体-联系图,提供了表示实体型,属性和联系的方法。
- 数据字典。
数 据字典是关系数据库管理系统内部的一组系统表,它记录了数据库中所有的定义信息
- 解释关系代数中的等值连接。
从关系R和S的笛卡尔积中选取A,B属性值相等的那些元组
- 何为数据库的并发冲突?
并发冲突是指不同的事务对同一个数据的读写操作和写写操作。
- 试举例说明什么是关系代数中的自然连接。
自然连接是一种特殊的等值连接,它要求两个关系进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。
- 层次模型
层次模型用树形结构来表示各类实体以及实体间的联系。层次模型有且只有一个双亲结点,这个结点为根结点;根以外的其他结点有且只有一个双亲结点。
- 解释数据库原理中“事务”操作的含义
事务是用户定义的一个数据库操作序列,这些操作要么全做、要么全不做,是一个不可分割的工作单位。
- 解释数据库原理中“事务”操作的含义
事务是用户定义的一个数据库操作序列,这些操作要么全做、要么全不做,是一个不可分割的工作单位。
- 完全函数依赖和部分函数依赖。
在R(U)中,如果Y依赖于X,并且对于X的任何一个真子集X',都有Y不函数依赖于X,则称Y对X完全函数依赖。
若Y依赖于X,但Y不·完全函数依赖于X,则称Y对X部分函数依赖。
- 何为概念模型?
概念模型也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。
- 关系运算中的选择与投影的基本含义,可举例说明。
关系R上的选择是在R中选择满足给定条件的诸元组
关系R上的投影是从R中选择出若干属性列组成新的关系
- 何谓传递函数依赖?试举例。
在R(U)中,如果X->Y(Y真包含于X),X不依赖于Y,Z依赖于Y(Z真包含于Y)则称Z对X传递函数依赖
举例:有Sno->Sdept,Sdept->Mname成立,所以Mname对Sno传递依赖。
- 数据独立性
数据的独立性:是指应用程序和数据之间的依赖程度低,相互影响小。
三.简答题
-
现有关系数据表如下: STUD(学号,姓名,性别,专业、出生日期)。写出完成下列功能的SQL语句(要求每小题尽量用一个语句来完成)。
(1) 查询数据表中姓氏为‘李’的所有学生的学号信息。
(2) 建立计算机专业学生的视图IS_STUDNET使得该视图只有计算机专业的学生。
(3) 统计各专业学生的女生人数分别是多少,并按人数降序输出。
(4) 查找出与“赵六”在同一个专业的所有男同学姓名与学号。
(1) select 学号 from STUD where 姓名 like '李%';
(2) create view IS_STUDENT as select * from STUD where 专业='计算机';
(3) select count(*) from STUD where 性别='女' group by 专业 order by count(学号) desc;
(4) select 姓名,学号 from STUD where 专业=(select 专业 from STUD where 姓名='赵六') and 性别='男'; -
现有如下关系:student (SNO,SNAME,SEX,DEPARTMENT,BORN_DATE),写出实现下列查询的SQL语句(要求每小题尽量用一个语句来完成) 1)查询数据表student中SNAME为“赵六”学生的所有信息。
2)定义一个只显示学生的SNO、SNAME字段的视图SNO_SNAME。
3)统计表student中各系的学生人数分别是多少?并以人数的降序输出。
4)查找出所有与“李刚”在同一个系的男生。
(1) select * from student where SNAME='赵六';
(2) create view SNO_SNAME as select SNO,SNAME from student;
(3) select DEPARTMENT,COUNT(SNO) from student group by DEPARTMENT order by count(SNO) desc;
(4) select sno SNAME from student where DEPARTMENT=(select DEPARTMENT from student where SNAME='李刚') ans SEX='男'; -
现有关系数据表如下: STUDENT(学号,姓名,性别,专业、家庭住址)。写出完成下列功能的SQL语句(要求每小题尽量用一个语句来完成)。
(1) 查询数据表中姓名为‘李斯’学生的学号和家庭住址信息。
(2) 建立信息系统专业学生的视图IS_STUDNET使得该视图只有信息系统专业的学生。
(3) 统计出“数学”专业的男女生人数分别是多少,并按人数降序输出。
(4) 查找出与“赵六”在同一个专业、且出生日期小于“赵六”的所有同学。
(1) select 学号,家庭住址 from student where 姓名='李斯';
(2) create view IS_STUDENT as select * from STUDENT where 专业='信息系统';
(3) select count(学号) from STUDENT where 专业='数学' group by 性别 order by count(学号) desc;
(4) select * from STUDENT where 专业=(select 专业 from STUDENT where 姓名='赵六') and 出生日期<(select 出生日期 from STUDENT where 姓名='赵六'); -
谈谈关系型数据库的优缺点,并举出三个关系数据库产品的名称。
关系型数据库使用关系模型:
优点:
- 建立在严格的数学概念基础上
- 概念单一,数据结构简单清晰
- 存取路径对用户透明,具有更高的数据独立性、更好的数据保密性,简化了工作
缺点:
- 查询效率低
- 数据库管理系统开发难度高
关系数据库产品:
MySQL SQLserver Access
- 数据库中“视图”的作用是什么?
1.视图能够简化用户的操作
2.视图使用户能以多种角度看待同一数据
3.数据对重构数据库提供一定程度的逻辑独立性
4.视图能够对机密数据提供安全保护
5.适当利用视图可以更清晰表达查询
- 现有数据表student,写出检索数据表student的s_name字段中姓氏为“李”的学生的所有信息的SQL语句。
select * from student where s_name like '李%';
- 试述SQL语言的特点
1.综合统一
2.高度非过程化
3.面向集合的操作方式
4.以同一种语法结构提供多种使用方式
5.语言简洁,易学易用
- 在网络数据库的编辑操作中为什么要进行并发控制?
用来协调并发用户的并发操作以保证并发事务的隔离性和一致性,保证数据库的一致性。
- 简述数据库应用系统开发的各个阶段(即基本步骤)
需求分析;
概念结构设计;
逻辑结构设计;
物理结构设计;
数据库实施;
数据库运行和维护
- 为什么定义“关系中不允许有重复元组”?
如果存在重复元组就无法通过键来标识唯一的元组。
- 何谓数据库系统的审计日志?试述其作用。
审计日志用于记录用户对数据库的所有操作,审计员可以利用审计日志监控数据库的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
- 在进行MIS系统详细设计时,数据库逻辑结构设计、输入模块设计、数据处理模块设计和输出模块设计中,以上模块一般的设计顺序是什么?为什么?
首先进行输入模块设计和输出模块设计然后进行输出模块设计,最后进行数据库逻辑结构设计
遵循数据库的一般设计步骤。
- 结合自己的理解,谈谈关系数据库中的数据冗余会带来什么问题。
会造成存储空间的浪费以及数据库交互和访问执行效率的降低。
- 解释数据库中角色的含义与主要作用。
数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。
使用角色来管理数据库权限可以简化授权的过程,使自主授权的执行更加灵活、方便。
- CHAR与VARCHAR两种数据类型的区别,并说明分别在什么情况下适宜使用这两种数据类型。
char类型是用来存储固定长度的字符串,varchar类型用来存储可变长度的字符串。
varchar比char节省空间,但是效率上比char稍微差些。
char适合存储长度固定的数据,如国家代码、性别代码等
varchar适合存储长度可变的数据,如文章内容、用户评论等
- 简述存储过程、触发器和断言的异同。
相同:
存储过程、触发器和断言都是在数据库中用于实现逻辑和规则的对象。它们都可以包含SQL代码和逻辑,且都有助于确保数据的完整性和一致性。