数据库习题答案

目录

第1章数据系统概述

第2章信息与数据模型

第3章关系代数与关系数据库理论

第4章数据库设计方法

第5章 MySQL安装与使用

第6章MySQL存储引警与数据库

第7章MySQL表定义与完整性约束控制

第8章  MySQL数据操作管理

第9章MySQL索引

第10章MySQL视图

第11章 MySQL存储过程与函数

第12章 MySQL触发器与事件调度器

第13章MySQL权限管理

第14章 事务与MySQL的多用户并发控制

第15章 MySQL数据库备份与还原

第16章 MySQL日志管理

第17章分布式数据库与MySQL的应用

第18章MySQL在Web开发中的应用

第19章 非关系型数据库—NoSQL

第1章数据系统概

1、数据库管理系统(Database Management System)安装于操作系统之上,是一个管理、控制数据库中各种数据库对象的系统软件。主要功能如下:

(1)数据库的建立和维护

(2)数据定义功能

(3)数据组织、存储和管理

(4)数据操作功能

(5)数据库事务管理和运行管理

(6)其他功能

2、数据库系统(Database System),是由数据库及其管理软件组成的系统。

数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。

特点:

(1)数据的结构化

(2) 数据的共享性高,冗余度低,易扩充

(3)数据独立性高

(4)数据由DBMS统一管理和控制

3、DBA/数据库管理员职责:

1)决定数据库中的信息内容和结构

2)决定数据库中的存储结构和存取策略

3)定义数据的安全性要求和完整性约束条件

4)监控数据库的使用和运行

5)数据库的改进和重组重构

4模式(Schema):也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

外模式(External Schema) :也称子模式(Sub schema) 或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

内模式 (Internal Schema):也称存储模式 (Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

通过外模式-模式映射模式-内模式映射这两个映射保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性

当数据库模式发生变化时,可以调整外模式/模式间的映像关系,保证面向用户的各个外模式不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性。当数据库中数据物理存储结构改变时,即内模式发生变化,可以调整模式/内模式映像关系,保持数据库模式不变,从而使数据库系统的外模式和各个应用程序不必随之改变。这样就保证了数据库中数据与应用程序间的物理独立性,简称数据的物理独立性

5.这两种结构的区别非常明显,主要体现在下面几个方面

1)硬件环境不同

2)对安全要求不同

3)对程序架构不同

4)软件重用不同

5)系统维护不同

6)处理问题不同

7) 用户接口不同

8)信息流不同

6.略

7-11 CAAAB  12-17 BABAAA

18-25 AAAA  CAAA

第2章信息与数据模型

  1. 信息的三种世界分别是:信息的现实世界、信息世界和信息的计算机世界这3 个领域是由客观到认识、由认识到使用管理的 3 个不同层次,后一领域是前一领域的抽象描述。信息的三种世界描述:

2.也称信息模型,按用户的观点对数据和信息建模,主要用于数据库设计。

3.实体:客观存在的实体事物。

实体型:用实体类型名和所有属性来共同表示同一类实体。

实体集:同一类型实体的集合

属性:实体所具有的某一特性

码:可以唯一标识一个实体的属性集

E-R 图:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

4.转换原则:一个实体转换为一个关系模式。实体的属性就是关系的属性。

联系类型的转换:

1).若实体间联系是 1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式中加入另一个关系模式的码和联系类型的属性。

2.)若实体间的联系是 1:n,则在 n 端实体类型转换成的关系模式中加入1端实体类型的码和联系类型的属性。

3.若实体间联系是 m:n,则将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而码为两端实体码的组合。

5-9ADCDA   10-14ABABA  15-19 CCDAC   20-24BAAAA

25(1)B  (2)D  (3)C  (4)A

26(1)D (2)D(3)C (4)B

27 答:

  1. 学生与课程联系类型是多对多联系。
  2. 课程与教师的联系类型是多对多联系。
  3. 学生与教师的联系类型是一对多联系
  4. 完善本题 E-R 图的结果如下图所示

  1. 对应的关系模型结构如下:

科室(科名,科地址,科电话)

病房(病房号,床位号,科室名)

医生(工作证号,姓名,职称,科室名,年龄)

病人(病历号,姓名,性别,诊治,主管医生,病房号)

  1. 每个关系模式的候选码如下:

科室的候选码是科名;

病房的候选码是科室名、病房号;

病房号:医生的候选码是工作证号;

病人的候选码是病历号。

(2)这个ER 图可转换4 个关系模式:

商店(商店编号,商店名,地址)

主码:商店编号

职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)

主码:职工编号 外码: 商店编号

商品(商品号,商品名,规格,单价)

主码:商品号

销售(商店编号,商品号,月销售量)

主码:商店编号,商品号

第3章关系代数与关系数据库理论

1、候选码:若关系中的某一属性或属性组的值能唯一地标识一个元组,则该属性或属性组为候选码。

主码:若一个关系中有多个候选码,则选定其中一个为主码

组合码:多个属性构成的主码

外码:关系 R 中的一个属性组,它不是 R 的主属性,但它与另一个关系 S 中的主码相对应则称这个属性组为 R 的外码或外键。

  1. 关系模型的完整性有三类:实体完整性,参照完整性和用户自定义完整性。

实体完整性:例如学生关系中,学号为主码,则学号的值必须唯一且非空。

参照完整性:成绩关系中,学号是外码,则学号的取值必须是学生关系中学号的有效值或取空值。

3、连接运算符是"="的连接运算称为等值连接。它是从关系 R与S的广义笛卡尔积中选取A,B 属性值相等的那些元组;自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

4-9 DBBABA   10DBC  11-16 BCCBCC      

17-22   DADCBA    23AD  24 D 25A

26 (1)不能,因为一个关系主键取值必须唯一。表中已有主键值“09088”所以违背了实体完整性

(2) 不可以,因为专业表中为专业名称设置唯一约束;插入的新记录违背了这一完整性约束

(3)不可以,参照完整性要求外键取值必须是另一个关系主键的有效值或空值教师表中的专业为外键,参照专业表中的专业号,“JK”不是专业表中的主键值,所以不可以更改。

(4)不能,因为教师表中有专业为“CS”的记录,若删除,则违背了实体完整性。

28、(1)基本的FD 有三个:

(职工编号,日期)->日营业额

职工编号->部门名

部门名 ->部门经理

R 的关键码为 (职工编号,日期)。

(2)R中有两个这样的 FD:

(职工编号,日期)->(部门名,部门经理)

职工编号->(部门名,部门经理)

可见前一个 FD 是局部依赖,所以 R 不是2NF 模式。

R 应分解成R1 (职工编号,部门名,部门经理)

R2(职工编号,日期,日营业额)

此处,R1 和 R2 都是2NF 模式

(3) R2 已是3NF 模式。

在 R1 中,存在两个FD:职工编号->部门名

部门名->部门经理

因此,“职工编号->部门经理”是一个传递依赖,R1 不是3NF 模式。

R1 应分解成 R11 (职工编号,部门名)

R12 (部门名,部门经理) 这样,p=(R11,R12,R2]是一

个3NF 模式集。

29、(1) 基本的FD 有:

教师编号->教师姓名,教师职称

系编号->系名称,系地址

课程号->课程名,学分

教师编号 ->系编号,系名称,系地址

R 的关键码为 (教师编号,课程号)。

部分依赖:教师编号->教师姓名,教师职称

课程号->课程名,学分

传递依赖:教师编号->系名称,教师编号->系地址

(2)设计不合理,存在插入异常,更新异常,删除异常和数据冗余

(3) 规范化为 R1 (教师编号,教师姓名,教师职称) R2 (系编号,系名称系地址) R3(课程号,课程名,学分)

第4章数据库设计方法

1、

1)需求分析阶段

准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步。

2.)概念结构设计阶段

是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。

3.)

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下为Oracle数据库习题答案: 6. 查询同时学过课程1和课程2的同学的学号和姓名: ``` SELECT g.sno AS "学号", g.sname AS "姓名" FROM student g, (SELECT * FROM sc WHERE cno = 1) t WHERE t.sno IN (SELECT sno FROM sc WHERE cno = 2) AND g.sno = t.sno; ``` 该查询使用了子查询和多表连接,首先在子查询中选择了选修了课程1的学生的学号,然后通过连接操作找到同时选修了课程2的学生,并返回他们的学号和姓名。 7. 查询学过“李丁”老师所教的所有课程的所有同学的学号和姓名: ``` SELECT sno AS "学号", sname AS "姓名" FROM student WHERE sno IN ( SELECT p.sno FROM (SELECT * FROM sc WHERE cno = 4) p, (SELECT * FROM sc WHERE cno = 5) k WHERE p.sno = k.sno ); ``` 该查询使用了子查询和多表连接,在子查询中先选择了李丁老师所教的课程4的学生的学号,然后通过连接操作找到同时学习了课程5的学生,并返回他们的学号和姓名。 3. 查询所有同学的学号、姓名、选课数、总成绩: ``` SELECT z."学号", g.sname AS "姓名", z."选课数", z."总分数" FROM ( SELECT s.sno AS "学号", COUNT(s.cno) AS "选课数", SUM(s.grade) AS "总分数" FROM course c, sc s WHERE c.cno = s.cno GROUP BY s.sno ORDER BY "总分数" DESC ) z, student g WHERE z."学号" = g.sno; ``` 该查询使用了子查询和表连接,首先在子查询中计算了每个学生的选课数和总成绩,并按照总成绩降序排序,然后通过连接操作将学生的学号、姓名、选课数和总成绩与student表连接起来,并返回结果。 以上是关于Oracle数据库习题答案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Oracle数据库习题](https://blog.csdn.net/WhenTheWindBlows/article/details/89403828)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值