数据库原理及应用复习资料

2023-05-16

单选(无解析)

  1. (A)是对数据库中全部数据的逻辑结构和特征的描述。
    A.模式 B.外模式 C.内模式 D.视图

  2. (B)是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
    A.模式 B.外模式 C.内模式 D.概念模式

  3. 数据库中的记录是按照B+树存储还是按hash方法存储,这一特征在数据库的(C)中定义。
    A.模式 B.外模式 C.内模式 D.子模式

  4. 概念模型的表示方法有很多种,其中最著名的是(B)。
    A.关系模型 B. E-R模型 C.层次模型 D.网状模型

  5. 数据库的概念模型(D)
    A. 独立于计算机硬件,依赖于 DBMS
    B. 依赖于计算机硬件,独立于 DBMS
    C. 依赖于计算机硬件和 DBMS
    D. 独立于计算机硬件和 DBMS

  6. 下列关系代数操作中复杂度最高的是(C)。
    A.投影 B.连接 C.选择 D. 交

  7. 若关系R和S的元组个数分别为m和n,则R∪S的元组个数为(B)。
    A.m+n B.小于或等于m+n C.大于m D.大于n

  8. 已知关系R1和R2进行关系运算后得到S,则S是(B)
    A. 一行记录 B. 一个关系 C. 一个确定值 D. 一个数组

  9. 若关系R和S的元组个数分别为m和n,则R-S的元组个数是(D)。
    A. m-n B.小于m C.小于n D.小于等于m

  10. 下列关系代数操作中最费时的是(B)。
    A.投影 B.笛卡尔积 C.选择 D.交

  11. 在信息系统的设计中,普遍采用的是基于(B)的系统设计方法。
    A. BCNF B.3NF C.2NF D.4NF

  12. 在函数依赖范畴内,(C)是关系模式能够达到的最高规范化程度。
    A.3NF B.4NF C.BCNF D.5NF

  13. 下列说法中错误的是(C)
    A. 模式分解是关系规范化的基本方法
    B. 实际应用中,数据库设计一般应达到3NF
    C. 若一个关系模式符合2NF,则它必然也符合3NF
    D. 实际应用中常常为了提高查询效率而允许数据库中存在一定的数据冗余

  14. 关系数据库中由数据冗余导致的异常不包括(D)。
    A.插入异常 B.删除异常
    C.修改异常 D.查询异常

  15. 设关系模式R(XYZ),已知存在函数依赖X->Y和Y->Z,则可作为R的候选键的是(A)。
    A. X B. Y C. Z D.已知条件无法判断候选键

  16. (A)是数据库系统的核心,是位于用户和操作系统之间的一层数据管理软件。
    A.DBMS B.DBS C.DBA D.DDL

  17. 数据库管理系统的英文缩写是(A)。
    A.DBMS B.DBA C.DBS D.MIS

  18. 下列不是关系数据库产品的是(D)。
    A.SQL Server B.Oracle C.DB2 D.IMS

  19. DBS指的是(B )。
    A. 数据库 B. 数据库系统 C. 数据库管理员 D. 数据库管理系统

  20. DBA指的是( C )。
    A. 数据库 B. 数据库系统 C. 数据库管理员 D. 数据库用户

  21. SQL Server系统中所有的系统级信息均存放在(A)数据库中。
    A. master B. model C. tempdb D. msdb

  22. 下列不属于SQL Server系统数据库的是( B )。
    A. master B. northwind C. tempdb D. msdb

  23. SQL Server数据库的主数据文件后缀是( B )。
    A. ldf B. mdf C. ndf D. swf

  24. SQL Server数据库日志文件的后缀是( A )。
    A. ldf B. ndf C. mdf D. swf

  25. SQL Server系统数据库中,( D )用于记录报警,任务调度,操作员的操作等信息。
    A .master B. model C. tempdb D. msd

  26. 关于索引,下列说法错误的是(C)。
    A. 索引可以加快数据的检索速度
    B. 建立索引会牺牲一定的系统性能
    C. 在一张表上可以建立多个聚集索引
    D. 在一张表上可以建立多个非聚集索引

  27. 关于视图,下列说法错误的是(B)。
    A.视图是虚拟表
    B.数据可以存放在视图中
    C.在视图上做查询与在基本表上做查询方法是相同的
    D.视图可以建立在多个基本表的基础之上

  28. 下面哪种情况下适合建立索引(C)。
    A. 经常进行插入操作的表 B. 行数较小的表
    C. 更新少而数据量大的表 D. 表中存在大量重复值的列

  29. 关于存储过程与触发器,下列说法正确的是(B)。
    A. 存储过程是存储在客户端的SQL程序 B. 触发器是一种特殊的存储过程
    C. 触发器可通过其名字被用户直接调用 D .存储过程是一种特殊的触发器

  30. 关于视图,下列说法正确的是(A)
    A. 建立视图语句的关键部分是查询语句
    B. 若导出某视图的数据库表被删除了,该视图不受任何影响
    C. 视图一旦建立,就不能被删除
    D. 当某一视图被删除后,导出该视图的数据库表将会受到影响

  31. 数据库应用程序开发中,需求分析阶段的主要目的是(A)。
    A.回答“做什么”的问题 B.回答“怎么做”的问题
    C.建立逻辑数据模型 D.建立最佳物理存储结构

  32. 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
    A. 可行性分析 B.需求分析
    C. 概念设计 D.物理设计

  33. 实体与实体的联系,反映在数据上是(C)之间的联系
    A. 文件 B. 集合 C. 记录 D. 结构

  34. ( A )是在业务流程分析的基础上,描述实际数据流动和处理过程的图形表示法。
    A. DFD B. UML C. ER D. FLOWCHART

  35. 在数据库设计的需求分析阶段,( B )是数据库系统中各类数据详细描述的集合,提供了对各类数据描述的集中管理。
    A. DFD B. 数据字典 C. 实体联系图 D.数据集

  36. 关于主键约束,下列说法正确的是(A)。
    A.主键值不为空,也不允许出现重复 B.主键值不为空,但允许出现重复
    C.主键值允许空,但不允许出现重复 D.主键值允许空,也允许出现重复

  37. 关于参照完整性,下列说法中错误的是(A)。
    A.外键属性取值不能为空 B.关系中不允许引用不存在的实体
    C.可以通过定义外键实现 D.外键属性取值允许为空

  38. 在关系数据库中,"关系中不允许出现相同的元组"的约束可以通过定义(B)实现的
    A.超键 B. 主键 C. 外键 D. check约束

  39. 在实际应用中,常常需要在表中定义非空约束。数据库中的空值表示什么(C )。
    A.0 B.默认值 C.不确定 D.空格

  40. 下列不属于SQL Server数据库中的约束的是( D )。
    A. 主键约束 B. 外键约束
    C. 唯一约束 D. 空值约束

  41. 事务必须满足的四个原则是(A),一致性,隔离性,持久性。
    A. 原子性 B. 完整性 C. 安全性 D.正确性

  42. 事务并发执行时,每个事务不必关心其他事务,如同在单用户环境下执行一样,这个性质称为事务的(D)
    A. 持久性 B. 一致性 C. 独立性 D. 隔离性

  43. 一个事务中所有对DB的操作是一个不可分割的整体,这个性质称为(D)。
    A.完整性 B.一致性 C.隔离性 D.原子性

  44. 当多个事务同时读取或修改相同的数据库资源时,( A )是进行并发控制的主要方法。
    A. 锁 B. 互斥 C. 隔离 D. 游标

  45. ( A )是构成单一逻辑工作单元的操作集合,这些操作或者全部执行,或者全部不执行。
    A. 事务 B. 存储过程 C. 数据库对象 D. 触发器

  46. SQL中,下列涉及空值的操作,不正确的是(A)。
    A. AGE=NULL
    B. AGE IS NOT NULL
    C. AGE IS NULL
    D. NOT(AGE IS NULL)

  47. 在 SQL 语句中,与 X BETWEEN 20 AND 30 等价的表达式是(D)
    A. X>=20 AND X<30
    B. X>20 AND X<30
    C. X>20 AND X<=30
    D. X>=20 AND X<=30

  48. 关于SQL,下列说法正确的是(D)。
    A. 是过程化语言 B. 是机器语言
    C. 是面向对象语言 D. 是非过程化语言

  49. 当SELECT语句返回的结果是一个集合时,可以借助(B)对其中的单行记录进行处理。
    A. 锁 B. 游标 C.索引 D .存储过程

  50. 在SELECT语句中,能够实现对查询结果排序的操作是(B)
    A. COUNT B. ORDER BY C. GROUP BY D. INDEX

填空题

  1. SQL查询语句中,SELECT子句对应于关系代数中的 投影 操作。
  2. SQL查询语句中,WHERE子句对应于关系代数中的 选择 操作。
  3. SQL查询语句中,FROM子句对应于关系代数中的 笛卡尔积 操作。
  4. 关系代数中的 选择 操作是对一个关系进行水平分割。
  5. 关系代数中的 投影 操作是对一个关系进行垂直分割。
  6. 设关系R、S和W的元组个数分别为3、5和6,则这三个关系的笛卡尔积的元组个数为 90 。
  7. 设关系R、S和W的属性个数分别为2、3和4,则这三个关系的笛卡尔积的属性个数为 9
  8. 设关系R和S的元组个数分别为3和2,则R×S的元组个数为(6)。
  9. 设关系R和S的属性个数分别为3和4,则它们的笛卡尔积的属性个数为(7)。
  10. 设关系R中有5个元组,S中有4个元组,则R×S中有(20)个元组。
  11. nchar(10)用于存放固定长度的10个 Unicode 字符数据。
  12. char与varchar的区别在于, varchar 按可变长存储字符数据。
  13. char与nchar的区别在于, nchar 用于存放Unicode字符数据。
  14. char(10)数据类型占据 10 字节的存储空间。
  15. nchar(10)数据类型占据(20)字节的存储空间。
  16. 将年龄字段(age)限制在12~40岁之间,应如何定义约束(check age between 12 and 40 )。
  17. 将性别字段(sex)限制在’男’或’女’这两种取值,应如何定义约束
    (check sex in (’男’,’女’))。
  18. 已知课程表包括课程号,课程名和学分三个字段,课程号已被定义为主键,现要求限定课程名的取值不能重复,则应该在课程名字段上定义( 唯一 )约束。
  19. 已知商品表包括商品编号,商品名和价格三个字段,商品编号已被定义为主键,现要求限定商品名的取值不能重复,则应该在商品名字段上定义( 唯一 )约束。
  20. 一张表上可以定义多个主键,这种说法是( 错误 )的。(注:填写正确或错误)
  21. 创建数据库d的SQL语句是( create database d)。
  22. 删除数据库d的SQL语句是(drop database d)。
  23. 删除表t的SQL语句是(drop table t)。
  24. 删除视图v的SQL语句是(drop view v)。
  25. 向表中增加约束,或是更改表结构,需要用到( alter table )命令。
  26. 已知学生表存储学号,姓名,年龄信息,表结构如下:student(sid,sname,age),age为整型,其余字段为字符型。则向学生表中添加学号为1001,姓名为李华,年龄为20的记录,应该执行的SQL语句是
    ( insert into student values(‘1001’,’李华’,20) )。
  27. 已知员工表存储工号,姓名,出生日期信息,表结构如下:employee(eid, ename, birthdate),birthdate为datetime数据类型,其余字段为字符型。则向员工表中添加工号为2002,姓名为王刚,出生日期为1990年10月12日的记录,应该执行的SQL语句是( insert into employee values(‘2002’,’王刚’, ‘1990-10-12’) )。
  28. 已知图书表存储图书编号,图书名,作者信息,表结构如下:book(bid,bname,author),三个字段均为字符型。则向图书表中添加编号为b059,书名为数据结构,作者为张雷的记录,应该执行的SQL语句是
    ( insert into book values(‘b059’, ‘数据结构’,’张雷’) )。
  29. 已知成绩表存储学号,课程号和成绩信息,表结构如下:sc(sid,cid,score),score字段为整型,其余字段为字符型。则向成绩表中添加1001号学生选修c005号课程,成绩为80分的记录,应该执行的SQL语句是
    ( insert into sc values(‘1001’, ‘c005’,80) )。
  30. 已知课程表存储课程号,课程名,学分信息,表结构如下:course(cid,cname,credit),credit字段为整型,允许为空;其余字段为字符型。则向课程表中添加编号为c001,名称为数据库,学分待定的一门课程记录,应该执行的SQL语句是
    ( insert into course(cid,cname) values(‘c001’,’数据库’) )。
  31. 已知成绩表存储学号,课程号和成绩信息,表结构如下:sc(sid,cid,score),score字段为整型,其余字段为字符型。则从成绩表中删除1001号学生的所有选修记录,应该执行的SQL语句是
    ( delete from sc where sid=’1001’ )。
  32. 已知课程表存储课程号,课程名,学分信息,表结构如下:course(cid,cname,credit),credit字段为整型,其余字段为字符型。则从课程表中删除学分大于6的所有课程记录,应该执行的SQL语句是
    ( delete from course where credit>6 )。
  33. 已知图书表存储图书编号,图书名,作者信息,表结构如下:book(bid,bname,author),三个字段均为字符型。则从图书表中删除书名中包括数据库关键词的所有图书的记录,应该执行的SQL语句是
    ( delete from book where bname like ‘%数据库%’ )。
  34. 已知员工表存储工号,姓名,出生日期信息,表结构如下:employee(eid, ename, birthdate),birthdate为datetime数据类型,其余字段为字符型。则从员工表中删除工号为1001的员工的记录,应该执行的SQL语句是
    ( delete from employee where eid=’1001’ )。
  35. 已知借阅表存储用户名,图书编号和借阅时间信息,表结构如下:ub(uid,bid,borrowdate),borrowdate字段为日期型,其余字段为字符型。则从借阅表中删除早于1980年1月1日的借阅记录,应该执行的SQL语句是
    ( delete from ub where borrowdate<’1980-1-1’ )。
  36. 已知成绩表存储学号,课程号和成绩信息,表结构如下:sc(sid,cid,score),score字段为整型,其余字段为字符型。则将1001号学生选修c005课程的成绩增加百分之五,应该执行的SQL语句是
    ( update sc set score=score*1.05 where sid=’1001’ and cid=’c005’ )。
  37. 已知课程表存储课程号,课程名,学分信息,表结构如下:course(cid,cname,credit),credit字段为整型,其余字段为字符型。则将数据结构课程的学分修改为4,应该执行的SQL语句是
    ( update course set credit=4 where cname=’数据结构’ )。
  38. 已知图书表存储图书编号,图书名,作者信息,表结构如下:book(bid,bname,author),三个字段均为字符型。则将图书编号为b049的图书的作者修改为张雷,应该执行的SQL语句是
    ( update book set author=’张雷’ where bid=’b049’ )。
  39. 已知员工表存储工号,姓名,出生日期信息,表结构如下:employee(eid, ename, birthdate),birthdate为datetime数据类型,其余字段为字符型。则将1001号员工的出生日期修改为1995年10月20日,应该执行的SQL语句是
    ( update employee set birthdate=’1995-10-20’ where eid=’1001’ )。
  40. 已知学生表存储学号,姓名,年龄信息,表结构如下:student(sid,sname,age),age为整型,其余字段为字符型。则将所有学生的年龄增长一岁,应该执行的SQL语句是
    ( update student set age=age+1 )。

设计题

1、一个运动会管理系统数据库中有如下信息:
运动员(运动员编号,姓名,性别)
比赛(比赛编号,名称,时间)
裁判员(裁判员编号,姓名)
其中约定:一个运动员可参加多场比赛,一场比赛可有多个运动员参加,运动员参加比赛产生成绩;一场比赛有一个裁判员,一个裁判员可主持多场比赛。
根据以上情况,完成下述设计:
(1)设计系统的E-R图
在这里插入图片描述

(2)将E-R图转换为关系模式,并指定其中的主键和外键
在这里插入图片描述
2、一个仓库管理数据库中有如下信息:
 仓库:仓库号,地址,电话
 零件:零件号,零件名称,规格,单价
 管理员:工号,姓名,性别
其中约定:一种零件可存放在多个仓库中,一个仓库可存放多种零件,零件存放在仓库中有库存量。一个仓库有多名管理员,一个管理员仅可以管理一个仓库。根据以上情况,完成下述设计:
(1) 设计系统的E-R图
在这里插入图片描述

(2) 将E-R图转换为关系模式,并指定其中的主键和外键

在这里插入图片描述
3、某商业集团的销售管理系统数据库中有如下信息:
 商店:商店编号,商店名,地址
 商品:商品编号,商品名,规格,单价
 职工:工号,姓名,性别,业绩
其中约定:一个商店可销售多种商品,一种商品可在多个商店销售,每个商店对所销售的每一种商品按月进行销量统计;一个商店有多名职工,一个职工仅在一个商店任职,商店聘用职工有月薪。根据以上情况,完成下述设计:
(1) 设计系统的E-R图
在这里插入图片描述

(2) 将E-R图转换为关系模式,并指定其中的主键和外键
在这里插入图片描述
4、一个图书馆管理系统中有如下信息:
 图书:书号,书名,数量,位置
 借书人:借书证号,姓名,单位
 出版社:出版社名,地址,电话,Email
其中约定:任何人都可以借多种书,任何一种书可以被多个人借,借书和还书时要登记借阅时间;一个出版社可以出版多种书籍,同一本书仅由一个出版社出版,出版社名具有唯一性。根据以上情况,完成下述设计:
(1)设计系统的E-R图
在这里插入图片描述

(2)将E-R图转换为关系模式,并指定其中的主键和外键
在这里插入图片描述

一个教学管理系统中有如下信息:
 学生:学号,姓名,性别,年龄
 课程:课程号,课程名,学分
 班级:班级名,班主任
 教师:工号,姓名
其中约定:一个学生属于一个班级,一个班级包括多名学生;一个学生可选修多门课程,一门课程可由多个学生选修,学生选修的每门课程均有相应的成绩;一个教师可教授多门课程,一门课程仅由一个教师教授。根据以上情况,完成下述设计:
(1) 设计系统的E-R图
在这里插入图片描述

(2) 将E-R图转换为关系模式,并指定其中的主键和外键
在这里插入图片描述

综合应用题

1.已知商品销售数据库中包括三张表:
 员工信息表employee(eid,ename,age,sex,tel),存放员工的工号、姓名、年龄、性别以及电话信息; (年龄字段为整型、其余均为字符型)
 商品信息表goods(gid,gname,type,price),存放商品的商品编号,商品名称,类别以及价格;(价格字段为money型,其余均为字符型)
 销售信息表eg(eid,gid,quantity,saledate),存放员工工号、商品编号,销售数量和销售时间信息;(销售时间字段为datetime类型,其余均为字符型)

(1)利用SQL查询年龄在40到50岁之间(含40,50)的员工信息,按年龄由小到大排序;
select *
from employee
where age between 40 and 50
order by age asc

(2)利用SQL查询2017年10月1日的销售记录,包括员工工号,姓名,商品编号,商品名;
select employee.eid, ename, goods.gid,gname
from employee,goods,eg
where employee.eid=eg.eid and goods.gid=eg.gid and saledate=‘2017-10-1’

(3)利用SQL查询所有姓李的员工的工号,姓名以及电话;
select eid, ename,tel
from employee
where ename like ‘李%’

(4)利用SQL创建存储过程,统计各类别商品的平均价格;
create procedure myproc
as
select type,avg(price)
from goods
group by type

(5)利用SQL查询员工李华销售出的商品的总数量;
select sum(quantity)
from employee,eg
where employee.eid=eg.eid and ename=‘李华’

(6)利用SQL查询在2017年10月1日销售业绩为0的员工的工号和姓名;
select eid, ename
from employee
where eid not in ( select eid
from eg
where saledate=‘2017-10-1’)

(7)利用关系代数表达式查询所有工号为1001的员工所销售商品的名称以及销售时间。

2、已知图书管理数据库中包括三张表:
 学生信息表student(sid,sname,age,sex,major),存储学生的学号、姓名、年龄、性别以及专业名称;(年龄字段为整型,其余字段均为字符型)
 图书信息表book(bid,bname,author,press,price,ISBN),存储图书的编号、书名、作者、出版社、价格和ISBN号;(价格字段为整型,其余字段均为字符型)
 图书借阅记录表sb(sid,bid,borrowdate),存储学号、图书编号、借阅日期;(学号与图书编号为字符型,借阅日期为日期型)

(1) 利用SQL查询年龄在20到25岁(含20,25)之间的学生信息
select *
from student
where age between 20 and 25

(2) 利用SQL查询清华大学出版社出版的书籍的图书编号,图书名和价格,按价格由低到高排序
select bid,bname,price
from book
where press=‘清华大学出版社’
order by price

(3) 利用SQL查询所有姓李的学生的姓名、年龄、性别和专业
select sname,age,sex,major
from student
where sname like ‘李%’

(4) 利用SQL查询借阅过数据结构书籍的学生的姓名和借阅时间
select sname,borrowdate
from student,book,sb
where student.sid=sb.sid and book.bid=sb.bid and bname=‘数据结构’

(5) 利用SQL创建一个存储过程,统计各专业的学生人数(存储过程名称自定义)
create procedure myprocedure
as
select major, count(sid)
from student
group by major

(6) 利用SQL查询年龄大于平均年龄的学生的信息
select *
from student
where age>( select avg(age)
from student)

(7) 利用关系代数表达式查询年龄大于等于30岁的学生借阅的图书书名

3、已知教学管理数据库中包括三张表:
 教师信息表teacher(tid,tname,age,sex,title),存储教师的工号、姓名、年龄、性别以及职称信息; (年龄字段为整型、其余均为字符型)
 课程信息表course(cid,cname),存储课程的课程号和课程名称;(字段均为字符型)
 授课信息表tc(tid,cid),存储教师工号、课程号 (字段均为字符型)
(1) 利用SQL查询年龄在30到40岁之间(含30,40)的教师信息,按年龄由小到大排序
select *
from teacher
where age between 30 and 40
order by age asc

(2) 利用SQL查询所有姓张的教师的姓名、年龄和性别
select tname,age,sex
from teacher
where tname like ‘张%’

(3) 利用SQL查询讲授“数据库”课程的教师的工号
select tid
from course, tc
where course.cid=tc.cid and cname=‘数据库’

(4) 利用SQL创建存储过程,统计各个专业技术职称的教师人数
create procedure myprocedure
as
select title,count(tid)
from teacher
group by title

(5) 利用SQL查询教师李华的授课数量
select count(cid)
from teacher,tc
where teacher.tid=tc.tid and tname=‘李华’

(6) 利用SQL查询年龄小于所有教师平均年龄的男性教师的工号与职称
select tid,title
from teacher
where sex=‘男’ and age<( select avg(age)
from teacher)

(7) 利用关系代数表达式查询所有职称为教授的教师讲授课程的课程名称

4、已知网上图书销售系统数据库中包括三张表:
 客户信息表customer(cid,cname,email,tel,address),存放客户账号、姓名、电子邮箱、电话以及地址; (所有字段均为字符型)
 图书信息表book(bid,bname,author,press,price,ISBN),存放图书编号、书名、作者、出版社、价格和ISBN号; (价格字段为整型,其他字段均为字符型)
 图书购买记录表cb(cid,bid,shoppingdate,quantity),存放客户账号、图书编号、购买日期、数量。 (购买日期为日期型,数量为整型,其他字段均为字符型)

(1)利用SQL查询价格在50元到100元(含50、100元)之间的图书的书名、作者与价格;
select bname,author,price
from book
where price between 50 and 100

(2)利用SQL查询购买了编号为b001的图书的客户的账号和购买日期,按购买日期由先到后排序;
select cid,shoppingdate
from cb
where bid=‘b001’
order by shoppingdate asc

(3)利用SQL查询所有地址中含有“杨浦”关键字的客户的姓名、电话和地址;
select cname,tel,address
from customer
where address like ‘%杨浦%’

(4)利用SQL查询一次购买了超过50本《数据库应用技术》图书的客户的姓名;
select cname
from customer,book,cb
where customer.cid=cb.cid and book.bid=cb.bid
and bname=‘数据库应用技术’ and quantity>50

(5)利用SQL创建一个视图,统计各出版社出版的图书的平均价格(视图名称自行定义);create view myview
as
select press, avg(price) as avgprice
from book
group by press

(6)利用SQL查询没有购买过图书的客户的姓名和电话;
select cname,tel
from customer
where cid not in ( select cid
from cb)

(7)利用关系代数表达式查询购买了《数据库应用技术》的客户姓名

5、已知教学管理数据库中包括三张表:
 学生信息表student(sid,sname,age,sex,major),存放学生的学号,姓名,年龄,性别以及专业信息;(年龄字段为整型,其余字段均为字符型)
 课程信息表 course(cid,cname),存放课程的课程号和课程名;(所有字段均为字符型)
 选课信息表 sc(sid,cid,score),存放学号、课程号以及成绩;(成绩字段为整型,其余字段均为字符型)

(1)利用SQL查询年龄在20到30岁(含20与30)之间的女学生信息
select *
from student
where sex=‘女’ and age between 20 and 30
(2) 利用SQL查询选修了课程号为c001课程的学生的学号和成绩,按成绩由高到低排序select sid,score
from sc
where cid=‘c001’
order by score desc

(3) 利用SQL查询所有姓名中含有华字的学生的姓名,年龄和性别
select sname, age, sex
from student
where sname like ‘%华%’

(4) 利用SQL创建视图,统计各门课程考试成绩的最高分
create view myview
as
select cid, max(score) as maxscore
from sc
group by cid

(5) 利用SQL查询李华同学选修的所有课程的课程名以及成绩
select cname, score
from student, course, sc
where student.sid=sc.sid and course.cid=sc.cid and sname=‘李华’

(6) 利用SQL查询没有被选修的课程的课程名
select cname
from course
where cid not in ( select cid
from sc)

(7) 利用关系代数表达式查询机械电子专业学生选修的课程名

问答题

1、试列举数据库系统的主要组成部分。
答: 数据库,数据库管理系统,数据库应用系统,数据库管理员,数据库开发工具和用户。

2、试论述存储过程的概念。
答: 存储过程是SQL语句和可选流程控制语句的预编译集合,可接受输入参数,输出参数,返回单个或多个结果集以及返回值,可由应用程序调用执行。
存储过程的优点是:允许模块化程序设计;允许更快速地执行;减少网络流量;可作为安全机制使用。

3、根据关系规范化理论,一个设计不好的关系模式存在哪些问题?关系规范化的一般方法是什么?可结合实例进行阐述。
答: 一个设计不好的关系模式会导致较大的数据冗余,而数据冗余又会导致更新异常,插入异常和删除异常,造成数据的不一致。关系规范化的一般方法是模式分解,即将一个设计不够好的关系模式分解为一组规范化级别更高的关系模式。在实际应用中,通常需要规范化到3NF。结合实例部分可自由发挥。

4、试论述数据库管理系统的功能。
答: 数据库管理系统是数据库系统的核心,它是建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件。它为用户或应用程序提供访问数据库的方法,同时它还承担着数据库的维护工作,保证数据库的安全性和完整性。

5、试结合实例阐述关系模型的参照完整性规则。
答: 参照完整性规则是:若属性F是基本关系R的外键,它与基本关系S的主键相对应,则R中每个元组在属性F上的取值或者为空,或者等于S中某个元组的主键值。参照完整性的实质是不能引用不存在的实体。
结合实例阐述部分可由学生自由发挥,视答题情况给分。例如,教师(工号,姓名)和课程(课程号,课程名,工号),其中课程表中的工号引用了教师表中的工号,其各个记录中工号部分的取值或者为空,或者等于教师表中某个教师的工号。

6、试论述索引的概念。
答: 索引是对数据库表在能够一个或多个列的值进行排序的结构,其主要目的是加快数据的查询速度和减少系统的响应时间。
索引的优点包括:加快数据的检索速度;创建唯一性索引可保证表中每一行数据的唯一性;加速表和表之间的连接等。但是创建索引和维护索引会消耗时间,另外,每个索引都会占用一定的物理空间,因此索引在带来诸多优势的同时也让系统付出了一定的代价。

7、什么是关系?试列举不少于三种关系数据库产品。
答: 在关系数据模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系是一种规范化了的二维表格,是一个属性数目相同的元组的集合。
常见的关系数据库产品包括SQL Server,Oracle,DB2,Access等。

8、什么是数据库备份?SQL Server提供了哪些备份方式?
答: 数据库备份就是在某种介质上创建完整数据库(或其中一部分)的副本,并将所有数据项都复制到备份集,以便在数据库遭到破坏时能够恢复数据库。
SQL Server的备份方式包括:完全数据库备份,差异数据库备份,事务日志备份,数据库文件或文件组备份。

9、试论述视图的概念。
答: 视图是从一个或多个基本表中使用select语句导出的虚拟表,视图也可以定义在其他视图的基础上。
视图的优点主要包括:简化用户的数据查询和处理;保证数据的逻辑独立性;重新定制数据,使得数据便于共享;数据保密等。

10、试论述数据库的逻辑数据独立性和物理数据独立性。
答: 数据库的三级模式二级映像结构保证了逻辑独立性和物理独立性。
当模式改变时,由DBA对各个外模式/模式映像作相应改变,可以使外模式保持不变,因此依据数据的外模式编写的应用程序不必修改,保证了数据与程序的逻辑独立性。
当数据库的存储结构发生改变时,由DBA对模式/内模式映像作相应改变,可使模式保持不变,因而应用程序也不需要修改,保证了数据与程序的物理独立性。

11、设有关系模式R(工号,姓名,性别,部门号,部门名,部门负责人),若规定:一个职工属于一个部门,一个部门有多名职工,一个部门仅有一个负责人,每个负责人仅能负责一个部门,
(1)R最高符合第几范式,说明理由;
(2)若R不是3NF,将其分解为3NF,并指定其中的主键和外键。

答:(1)R最高符合2NF。由于R的主键是单一属性工号,因此必然是2NF。又由于工号->部门号,且部门号->部门名,因此工号->部门名是一个传递函数依赖,则R不符合3NF。(阐述理由部分可由学生自由发挥)
(2)
R1(工号,姓名,性别,部门号),其中工号为主键,部门号为外键
R2(部门号,部门名,部门负责人),其中部门号为主键

12、设有关系模式R(学号,姓名,性别,图书号,图书名,出版社,借阅时间),若规定,一个学生可以借阅多本图书,一本图书一次仅能借给一个学生,
(1)R最高符合第几范式,说明理由;
(2)若R不是3NF,将其分解为3NF,并指定其中的主键和外键。
答: (1)R最高符合1NF。由于R的主键是(学号,图书号,借阅时间)。由于(学号,图书号,借阅时间)->姓名,并且学号->姓名,因此R中存在主键到非主属性的部分函数依赖,所以R不符合2NF。(阐述理由部分可由学生自由发挥)
(2) R1(学号,姓名,性别),其中学号为主键
R2(图书号,图书名,出版社),其中图书号为主键
R3(学号,图书号,借阅时间),其中(学号,图书号,借阅时间)为联合主键,且存在两个外键:学号,图书号

13、设有关系模式R(运动员编号,姓名,性别,项目号,项目名,比赛成绩),若规定:一个运动员可参加多个比赛项目,一个项目可由多名运动员参加,
(1)R最高符合第几范式,说明理由;
(2)若R不是3NF,将其分解为3NF,并指定其中的主键和外键。
答: (1)R最高符合1NF。由于R的主键是(运动员编号,项目号)。由于(运动员编号,项目号)->姓名,并且运动员编号->姓名,因此R中存在主键到非主属性的部分函数依赖,所以R不符合2NF。(阐述理由部分可由学生自由发挥)
(2)
R1(运动员编号,姓名,性别),其中运动员编号为主键
R2(项目号,项目名),其中项目号为主键
R3(运动员编号,项目号,比赛成绩),其中(运动员编号,项目号)为联合主键,且存在两个外键:运动员编号,项目号

14、设有关系模式R(学号,姓名,性别,系号,系名,系主任),若规定:一个学生属于一个系,一个系有多个学生,一个系有一个系主任,一个人仅能担任一个系的系主任,
(1)R最高符合第几范式,说明理由
(2)若R不是3NF,将其分解为3NF,并指定其中的主键和外键。
答: (1)R最高符合2NF。由于R的主键是单一属性学号,因此必然是2NF。又由于学号->系号,且系号->系名,因此学号->系名是一个传递函数依赖,则R不符合3NF。(阐述理由部分可由学生自由发挥)
(2)
R1(学号,姓名,性别,系号),其中学号为主键,系号为外键
R2(系号,系名,系主任),其中系号为主键

15、设有关系模式R(学号,姓名,性别,课程号,课程名,成绩),若规定:一个学生可以选选多门课程,一门课程可由多个学生选修,
(1)R最高符合第几范式,说明理由;
(2)若R不是3NF,将其分解为3NF,并指定其中的主键和外键。
答: (1)R最高符合1NF。由于R的主键是(学号,课程号)。由于(学号,课程号)->姓名,并且学号->姓名,因此R中存在主键到非主属性的部分函数依赖,所以R不符合2NF。(阐述理由部分可由学生自由发挥)
(2)R1(学号,姓名,性别),其中学号为主键
R2(课程号,课程名),其中课程号为主键
R3(学号,课程号,成绩),其中(学号,课程号)为联合主键,且存在两个外键:学号和课程号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库原理及应用复习资料 的相关文章

随机推荐

  • 生产者与消费者

    生产者和消费者 目录 生产者和消费者1 什么是生产者和消费者2 生产者和消费者 不加唤醒机制 3 生产者和消费者 加唤醒机制 4 解决虚假唤醒5 使用lock锁6 面试题 1 什么是生产者和消费者 在日常生活中 xff0c 我们去商店买东西
  • mysql学习——修改用户名

    通过命令行修改数据库用户名和密码 修改用户名 mysql span class token operator span u root span class token operator span p Enter password xff1a
  • python面向对象——类成员与初始化方法

    类成员 类的成员主要由实例方法和数据成员组成 在类中创建了类的成员后 xff0c 可以通过类的实例进行访问 实例方法 是指在类中定义的函数 该函数是一种在类的实例上操作的函数 语法 class 类名 类的说明信息 def 方法名 self
  • Python GUI之tkinter库教程

    tkinter的简介 tkinter 是 Python 的标准 GUI 库 它基于 Tk 工具包 xff0c 该工具包最初是为工具命令语言 xff08 Tool Command Language xff0c Tcl xff09 设计的 Tk
  • falsk练习小项目——利用mysql实现登录+注册

    本文主要记录利用python的Flask框架和Mysql数据库实现登录 43 注册功能 xff0c 创建项目文件 templates文件夹主要放网页文件 static文件夹下主要放静态文件比如 css js 图片等等 xff1b 因为在fl
  • 大数据可视化学习总结

    自大一下学期听说的大数据 xff0c 也是那个时候才了解大数据这个专业 xff0c 自己并不喜欢这个专业 xff0c 一方面是因为学历的原因 xff0c 一方面自己对这个确实没什么兴趣 xff0c 当时一心都扑在了Java方向 先说好的一方
  • Python1+X(中级)证书培训笔记(上)

    最近参加了一个Python1 43 X的证书培训 xff0c 然后以下是整理的学习笔记 xff0c 证书涵盖的知识点有三大块 分别是数据库操作 WEB开发 网络爬虫分析下面将详细分别讲解 阅读必看 本博客没有安装的讲解 xff0c 更多是如
  • 初识Python自动化运维(一)

    系统模块 系统模块主要是使用psutil库 xff0c 后面会主要写这个介绍一下 psutil 是一个跨平台库 xff0c 能够轻松实现获取系统运行的进程和系统利用率 xff08 包括cpu 磁盘 网络等信息 xff09 常用psutil监
  • 二叉树先中后序遍历(递归非递归)

    先序遍历 先序遍历也叫先根遍历 xff0c 采用先访问根节点 xff0c 再访问左节点 xff0c 最后访问右节点 递归实现 span class token comment Definition for a binary tree nod
  • 数据结构与算法二 ---链表

    前言 这一节是链表 xff0c 这是为了填坑 xff0c 自己说过的话 xff0c 一定要做到 什么是链表 相比上一章的数组 xff0c 链表是一种稍微麻烦亿丢丢的数据结构 如图 xff1a 数组需要一块连续的存储空间 xff0c 对内存要
  • 如何在Linux中的命令行中列出和启动VirtualBox VM?

    VirtualBox is a nice open source virtual machine software It works nicely on Linux and is supported by many Linux distro
  • 数据结构与算法---(最小栈)

    最小栈 题目需求 xff1a 实现一个这样的栈 xff0c 这个栈除了可以进行普通的push pop操作以外 xff0c 还可以进行getMin的操作 xff0c getMin方法被调用后 xff0c 会返回当前栈的最小值 栈里面存放的都是
  • JAVA集合三大类

    JAVA集合三大类 xff1a 1 set set集合无法记住添加的顺序 xff0c 因此set集合中的元素不能重复 2 list xff1a 与数组类似 xff0c list集合可以记住每次添加元素的顺序 xff0c 因此可以根据元素的索
  • 计算机网络词汇解释(二)——交互、 点到点、端到端

    计算机网络词汇解释 xff08 二 xff09 交互 点到点 端到端 本篇文章试图以 xff1a 是什么 xff1f 为什么 xff1f 怎么样 xff1f 三个层次来解释词汇 xff0c 并尽量实现通信的哲学 你传达的复杂信息 xff0c
  • java 字符串 提取 或 去除字母字符串

    提取 linStr span class token operator 61 span linStr span class token punctuation span span class token function replaceAl
  • 数字图像处理---自适应中值滤波实验(MATLAB实现含源码)

    自适应中值滤波实验 xff08 MATLAB实现 xff09 实验目的 1 掌握中值滤波以及自适应中值滤波器的原理以及滤波过程 2 掌握自适应中值滤波的算法设计 3 进一步熟悉MATLAB编程 实验原理 中值滤波的思想就是比较一定领域内的像
  • SpringBoot拦截器执行后,Controller层不执行

    问题描述 xff1a 请求在SpringBoot拦截器中执行后 xff0c 在Controller层不执行 xff0c 前端错误码400 原因分析 xff1a ServletRequest 中通过流获取参数 xff08 getInputSt
  • 一位工作了10年的C++程序员总结出这些忠告

    1 可以考虑先学习C 大多数时候 xff0c 我们学习语言的目的 xff0c 不是为了成为一个语言专家 xff0c 而是希望成为一个解决问题的专家 做一个有用的程序员 xff0c 做一个赚钱的程序员 我们的价值 xff0c 将体现在客户价值
  • 1.6配置通过ftp进行文件操作

    ftp是文件传输的internet标准 xff0c 主要功能是向用户提供本地和远程主机之间的文件传输 版本升级 日志下载 使用c s结构 实验内容 xff1a 模拟企业网络 xff0c pc1访问ftp server 做上传下载操作 出于安
  • 数据库原理及应用复习资料

    单选 xff08 无解析 xff09 xff08 A xff09 是对数据库中全部数据的逻辑结构和特征的描述 A 模式 B 外模式 C 内模式 D 视图 xff08 B xff09 是对数据库用户能够看见和使用的局部数据的逻辑结构和特征的描