现代数据库技术复习-周老师-22-6-6

现代数据库技术复习-周老师-22/6/6–2

1.简答题:全部

课堂上讲的一些概念;
比如什么是时态数据库,分布式数据库,面向对象数据库,移动数据库;一些常用算法,一些程序开发的简单概念。

什么是时态数据库

时态数据库(Temporal Database)是主要用于记录那些随着时间而变化的值的数据库,而这些历史值对应用领域而言又是重要的,这类应用有:金融、保险、预订系统、决策支持系统等。

分布式数据库

分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。

面向对象数据库

面向对象数据库系统(OODBS)支持定义和操作OODB,应满足两个标准:首先它是数据库系统,其次它也是面向对象系统。第一个标准即作为数据库系统应具备的能力(持久性、事务管理、并发控制、恢复、查询、版本管理、完整性、安全性)。第二个标准就是要求面向对象数据库充分支持完整的面向对象(OO)概念和控制机制。

移动数据库

移动数据库是能够支持移动式计算环境的数据库,其数据在物理上分散而逻辑上集中。它涉及到数据库技术,分布式计算技术,移动通信技术等多个学科,与传统的数据库相比,移动数据库具有移动性,位置相关性,频繁的断接性,网络通讯的非对称性等特征。

一些常用算法

一些程序开发的简单概念

2.简单应用题:(第三章)

给出一个关系数据库相关表:根据题目要求写出 sql语句

用上次考试那道题

学生表student
idnamebirthsex
学生编号学生姓名出生年月学生性别
课程表course
idname
课程编号课程名称
成绩表score
s_idc_idscore
学生编号课程编号分数

(1)查询20岁及以上的学生编号、姓名、年龄、性别。

select id,name,birth,sex
from student
where birth <= 2002

(2)查询90分以上的学生编号、姓名、年龄、性别。

select id,name,birth,sex
from student,score
where id = s_id and score > 90

(3)查询“数据结构”这门课分数低于平均分的学生编号、姓名、年龄、性别、分数。

Select student.id, student.name, student.birth, student.sex, scorse.score
from student, score
where student.id = s_id 
and student.id IN(
    select s_id 
    from course,score
    where name = "数据结构" and id = c_id and score > AVG(score)
)

3.程序设计题:(第三章、第四章)

给出一个关系数据库,求下面之一 视图、存储过程、触发器相关的创建。
CREATE VIEW sales.product_info
AS
SELECT
    product_name, 
    brand_name, 
    list_price
FROM
    production.products p
INNER JOIN production.brands b 
        ON b.brand_id = p.brand_id;
CREATE PROCEDURE uspProductList
AS
BEGIN
    SELECT 
        product_name, 
        list_price
    FROM 
        production.products
    ORDER BY 
        product_name;
END;
CREATE TRIGGER [schema_name.]trigger_name
ON table_name
AFTER  {[INSERT],[UPDATE],[DELETE]}
[NOT FOR REPLICATION]
AS
{sql_statements}

4.综合设计题(第六章)

给出关系模式R(U,F)
1、求解F等价的最小函数依赖集
2、求该关系模式的候选码
设有关系模式R(U,F),其中U={A,B,C,D,E},函数依赖集F={ A→BC,CD→E,B→D,E→A},求出R的所有候选码。
通过分析F发现,其所有的属性A、B、C、D、E都是LR类属性,没有L类、R类、N类属性。
(一)先从这些属性中依次取出一个属性,分别求它们的闭包:A+=ABCDE,B+=BD,C+=C,D+=D,E+ =ABCDE。
由于A和E都包含了R的全部属性,因此,属性A、E分别都是R的一个候选键。
(二)从关系模式R中取出两个属性,分别求它们的闭包,但在取出两个属性时,只能从B,C,D三个属性中取出两个属性,因为属性A、E已经是R的候选键了,在多加一个属性都是冗余的,所以,根据候选键的定义,它们就不可能再存在于其他的候选键中。
BC+=ABCDE,CD+=ABCDE,BD+=BD。
由于BC和CD都包含了R的全部属性,因此,属性集BC,CD也分别都是R的一个候选键。
至此,关系模式R中不可能再存在别的候选键了。
因此,关系模式R的所有的候选键分别是A、E、BC和CD。
求F的最小函数依赖集步骤:
(1)右部单一化;得:F1={B->D,DG->C,BD->E,AG->B,ADG->B,ADG->C}
(2)左部最简化;( 这题到这可以去掉ADG->B,ADG->C,因为已有AG->B,DG->C)
(3)去多余,得最小。

在这里插入图片描述

5.应用设计题(第七章)

1、根据给出的需求分析 画出E-R图
2、再把E-R图转换成关系模式

常考题目:
①如何画ER图
②如何将ER图转化为关系模式

1,ER图 概念:
实体关系图 (Entity-Relationship,E-R),有三个组成部分:实体、属性、联系。用来进行关系型数据库系统的概念设计。

  • 实体:用矩形表示,矩形框内写上实体名.

  • 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。

  • 联系:用菱形表示,菱形框内写上联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1…1,1…n或 m…n)就是指存在的三种关系 (一对一、一对多或多对多)。

2,ER图转化为关系模式的原则

  • 一对一:遇到一对一关系的话,在两个实体任选一个添加另一个实体的主键即可。
  • 一对多:遇到一对多关系的话,在多端添加另一端的主键。
  • 多对多:遇到多对多关系的话,我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。

3,举个栗子:

img

将上面的ER图转换为关系模式(加粗为主键):

  • 工厂(工厂名,厂址,联系电话)
  • 产品(产品号,产品名,规格,单价)
  • 工人(工人编号,姓名,性别,职称,工厂名称,雇佣期,日薪),其中,工厂名称为外码
  • 生产(工厂名称,产品号,月产量),其中,工厂名称和产品号都是外码

7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型。

答:
在这里插入图片描述

习题7中的E-R图转换的关系模型如下,其中有下画线的属性是主码属性。
系(系编号,系名,学校名)
班级(班级编号,班级名,系编号)
教研室(教研室编号,教研室,系编号)
学生(学号,姓名,学历,班级编号,导师职工号)
课程(课程编号,课程名)
教员(职工号,姓名,职称,教研室编号)
选课(学号,课程编号,成绩)


8.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画出此工厂产品、零件、材料、仓库的概念模型。

答:
在这里插入图片描述

习题8中的E-R图转换的关系模型如下,其中有下画线的属性是主码属性。
产品(产品号,产品名,仓库号)
零件(零件号,零件名)
原材料(原材料号,原材料名,类别,仓库号,存放量)
仓库(仓库号,仓库名)
产品组成(产品号,零件号,使用零件量)
零件组成(零件号,原材料号,使用原材料量)
零件储存(零件号,仓库号,存储量)

产品号,产品名,仓库号)**

零件(零件号,零件名)
原材料(原材料号,原材料名,类别,仓库号,存放量)
仓库(仓库号,仓库名)
产品组成(产品号,零件号,使用零件量)
零件组成(零件号,原材料号,使用原材料量)
零件储存(零件号,仓库号,存储量)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值