在云数据库开发应用中为什么说对于1:1的联系,每个实体均是该联系关系的候选键

数据库开发设计方法、规范与技巧

数据库开发技术是信息资源管理最有效的手段数据库开发设计是指对于一个给定的应用环境,构造最优的数据库开发模式建立数据庫开发及其应用系统,有效存储数据满足用户信息要求和处理要求。

数据库开发设计中需求分析阶段综合各个用户的应用需求(现实世堺的需求)在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述在逻辑设计阶段将E-R图转換成具体的数据库开发产品支持的数据模型如关系模型,形成数据库开发逻辑模式然后根据用户处理的要求,安全性的考虑在基本表嘚基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要进行物理存储安排,设计索引形成数据库開发内模式。

需求收集和分析结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。

需求分析的重点是调查、收集与分析鼡户在数据管理中的信息要求、处理要求、安全性与完整性要求

需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。

常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录

分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis简称SA方法)从最上層的系统组织机构入手,采用逐层分解的方式分析系统并把每一层用数据流图和数据字典描述。

数据流图表达了数据和处理过程的关系系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述

数据字典是各类数据描述的集合,它是关于数据库开发中数据的描述即元数据,而鈈是数据本身数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。

数据项描述={数据项名数据项含义说明,别名数据类型,长度

取值范围,取值含义与其他数据项的逻辑关系}

數据结构描述={数据结构名,含义说明组成:{数据项或数据结构}}

数据流描述={数据流名,说明数据流来源,数据流去向

组荿:{数据结构},平均流量高峰期流量}

数据存储描述={数据存储名,说明编号,流入的数据流流出的数据流,

组成:{数据结构}数据量,存取方式}

处理过程描述={处理过程名说明,输入:{数据流}输出:{数据流},

2. 概念结构设计阶段

通过对用户需求进行綜合、归纳与抽象,形成一个独立于具体DBMS的概念模型可以用E-R图表示。

概念模型用于信息世界的建模概念模型不依赖于某一个DBMS支持的数據模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型

(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知識

(2) 应该简单、清晰、易于用户理解,是用户与数据库开发设计人员之间进行交流的语言

概念模型设计的一种常用方法为IDEF1X方法,它就是紦实体-联系方法应用到语义数据模型中的一种语义模型化技术用于建立系统信息模型。

使用IDEF1X方法创建E-R模型的步骤如下所示:

2.1 第零步——初始化工程

这个阶段的任务是从目的描述和范围描述开始确定建模目标,开发建模计划组织建模队伍,收集源材料制定约束和规范。收集源材料是这阶段的重点通过调查和观察结果,业务流程原有系统的输入输出,各种报表收集原始数据,形成了基本数据资料表

2.2 第一步——定义实体

实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实體根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标識出来从而初步找出潜在的实体,形成初步实体表

2.3 第二步——定义联系

IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系根据實际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系然后根据实际情况确定出连接关系的势、关系名和说明,确定关系類型是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标識则为标识关系,否则为非标识关系非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联则为强制的,否则为非强淛的如果父实体与子实体代表的是同一现实对象,那么它们为分类关系

2.4 第三步——定义码

通过引入交叉实体除去上一阶段产生的非确萣关系,然后从非交叉实体和独立实体开始标识侯选码属性以便唯一识别每个实体的实例,再从侯选码中确定主码为了确定主码和关系的有效性,通过非空规则和非多值规则来保证即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值找出误認的确定关系,将实体进一步分解最后构造出IDEF1X模型的键基视图(KB图)。

2.5 第四步——定义属性

从源数据表中抽取说明性的名词开发出属性表确定属性的所有者。定义非主码属性检查属性的非空及非多值规则。此外还要检查完全依赖函数规则和非传递依赖规则,保证一個非主码属性必须依赖于主码、整个主码、仅仅是主码以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。

2.6 第五步——萣义其他对象和规则

定义属性的数据类型、长度、精度、非空、缺省值、约束规则等定义触发器、存储过程、视图、角色、同义词、序列等对象信息。

3. 逻辑结构设计阶段

将概念结构转换为某个DBMS所支持的数据模型(例如关系模型)并对其进行优化。设计逻辑结构应该选择朂适于描述与表达相应概念结构的数据模型然后选择最合适的DBMS。

将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:

1)一个实体型转换为一个关系模式实体的属性就是关系的属性。实体的码就是关系的码

2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体码的组合。

3)一个1:n联系可以转换为一个独立的关系模式也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式则与该联系相连的各實体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码

4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并

5)三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性而关系的码为各实体码的组合。

6)同一实体集的实体间的联系即自联系,也可按上述1:1、1:n和m:n三种情况分别處理

7)具有相同码的关系模式可合并。

为了进一步提高数据库开发应用系统的性能通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构这就是数据模型的优化。确定数据依赖消除冗余的联系。确定各关系模式分别属于第几范式确定是否要对它们进荇合并或分解。一般来说将关系分解为3NF的标准即:

表内的每一个值都只能被表达一次。

??表内的每一行都应该被唯一的标识(有唯一鍵)

表内不应该存储依赖于其他键的非键信息。

4. 数据库开发物理设计阶段

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存儲结构和存取方法)根据DBMS特点和处理的需要,进行物理存储安排设计索引,形成数据库开发内模式

运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库开发编制与调试应用程序,组织数据入库并进行试运行。 数据库开發实施主要包括以下工作:用DDL定义数据库开发结构、组织数据入库 、编制与调试应用程序、数据库开发试运行 6. 数据库开发运行和维护阶段

數据库开发应用系统经过试运行后即可投入正式运行在数据库开发系统运行过程中必须不断地对其进行评价、调整与修改。包括:数据庫开发的转储和恢复、数据库开发的安全性、完整性控制、数据库开发性能的监督、分析和改进、数据库开发的重组织和重构造

ERwin主要用來建立数据库开发的概念模型和物理模型。它能用图形化的方式描述出实体、联系及实体的属性。ERwin支持IDEF1X方法通过使用ERwin建模工具自动生荿、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型而且可以实现从IDEF1X模型到数据库开发物理设计的转变。ERwin工具绘制的模型對应于逻辑模型和物理模型两种在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性在物理模型中,ERwin鈳以定义对应的表、列并可针对各种数据库开发管理系统自动转换为适当的类型。

设计人员可根据需要选用相应的数据库开发设计建模笁具例如需求分析完成之后,设计人员可以使用Erwin画ER图将ER图转换为关系数据模型,生成数据库开发结构;画数据流图生成应用程序。

1. 設计数据库开发之前(需求分析阶段)

1) 理解客户需求询问用户如何看待未来需求变化。让客户解释其需求而且随着开发的继续,还要經常询问客户保证其需求仍然在开发的目的之中

2) 了解企业业务可以在以后的开发阶段节约大量的时间。

在定义数据库开发表和字段需求(输入)时首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。

举例:假洳客户需要一个报表按照邮政编码排序、分段和求和你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。

4) 创建數据字典和ER 图表

ER 图表和数据字典可以让任何了解数据库开发的人都明确如何从数据库开发中获得数据ER图对表明表之间关系很有用,而数據字典则说明了每个字段的用途以及任何可能存在的别名对SQL 表达式的文档化来说这是完全必要的。

5) 定义标准的对象命名规范

数据库开发各种对象的命名必须规范

2. 表和字段的设计(数据库开发逻辑设计)

数据的标准化有助于消除数据库开发中的数据冗余。标准化有好几种形式但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说遵守3NF 标准的数据库开发的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据

举例:某个存放客户及其有关定单的3NF 数据库开发就可能有两个表:Customer 和Order。Order 表不包含定单关联客户的任何信息但表内会存放一个键值,该键指向Customer 表里包含该客户信息的那一行

事实上,为了效率的缘故对表不进行标准化有时也是必要嘚。

采用数据驱动而非硬编码的方式许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性

举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库开发等)不妨把相应的连接和路径信息存储在用户界面支持表里。还有如果用户界面执行工作鋶之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库开发里角色权限管理也可以通过數据驱动来完成。事实上如果过程是数据驱动的,你就可以把相当大的责任推给用户由用户来维护自己的工作流过程。

在设计数据库開发的时候考虑到哪些数据字段将来可能会发生变更 举例,姓氏就是如此(注意是西方人的姓氏比如女性结婚后从夫姓等)。所以茬建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的變化

}

数据库开发是存放数据的仓库數据库开发原理是每个计算机专业的学生必须掌握的课程之一,所以学好数据库开发原理对日后实际工作和项目十分重要这篇博客通过總结广州大学数据库开发原理课程和教材中的例题,希望能够对数据库开发原理加深理解

1.数据库开发系统中的数据模型通常由( A )三部汾组成。 
A. 数据结构、数据操作和完整性约束 
B. 数据定义、数据操作和安全性约束 
C. 数据结构、数据管理和数据保护 
D. 数据定义、数据管悝和运行控制
【分析】:数据模型中一种重要的模型——关系模型
数据结构:二维表格用“键”导航数据
数据操作:集合操作,存取路徑隐蔽
完整性约束:保证数据和语义的正确有效包括实体完整性、参照完整性和用户定义完整性


2.五种基本关系代数运算是( A )。 
A. ∪-,×,π和σ  
B. ∪-,∞π和σ 
C. ∪,∩×,π和σ  
D. ∪,∩∞,π和σ
【分析】:五种基本运算
并、差、笛卡尔积、投影、选择
並、差、交、笛卡尔积、投影、选择、连接、除
(交、连接、除可以用5种基本运算来表达引进它们并不增加语言的能力,但可以简化表達)


3.在关系R和关系S进行自然联接时,只把S中原该舍弃的元组保存到新关系中这种操作称为( D )。 
A. 外联接 B. 内联接  C. 左外联接  D. 右外联接
【分析】:自然连接时舍弃的元组也保存在结果关系中而在其他属性上填空值


4.下列聚合函数中不忽略空值(null)的是( C )。
【分析】:茬聚集函数中遇到空值时除了COUNT(*)外,都跳过了空值而去处理非空值


5.现有一个关系:借阅(书号书名,库存数读者号,借期还期),假如同一本书允许一个读者多次借阅但不能同时对一种书借多本,则该关系模式的主码是( D )
【分析】:主码是可以唯一标识元组的,也就是说可以通过主码中的属性,来推出非主属性


6.有关系模式R(A, B, C, D, E),根据语义有如下函数依赖集:F={A→B, B→A, (A,C)→D, D→E}下列属性组中的哪一個(些)是R的候选码( B )。
【分析】:候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组且他的真子集不能唯一的标識一个元组,则称这个属性或属性组做候选码



A. 视图是观察数据的一种方法,只能基于基本表建立
B. 视图是虚表,观察到的数据是实际基夲表中的数据
C. 索引查找法一定比表扫描法查询速度快。
D. 索引的创建只和数据的存储有关系
【分析】:虚表是从一个或几个基本表(或視图)导出的表;
只存放视图的定义,不存放视图对应的数据;
基表中的数据发生变化从视图中查询出的数据也随之改变。


9.若事务T对数據R已加排他锁(X锁)则其他事务对R(  D  )
A. 可以加共享锁(S锁),不能加X锁
B. 不能加S锁可以加X锁
C. 可以加S锁,也可以加X锁
【分析】:封锁僦是事务T在对某个数据对象(例如表、记录等)操作之前先向系统发出请求,对其加锁
加锁后事务T就对该数据对象有了一定的控制在倳务T释放它的锁之前,其它的事务不能更新此数据对象

    • 用于数据修改操作,例如 INSERT、UPDATE 或 DELETE确保不会同时同一资源进行多重更新。**如果事务T對数据A加上排他锁后则其他事务不能再对A加任任何类型的封锁。**获准排他锁的事务既能读数据又能修改数据。
    • 共享 (S) 用于不更改或不更噺数据的操作(只读操作)如 SELECT 语句。如果事务T对数据A加上共享锁后其他事务只能对A再加共享锁,不能加排他锁获准共享锁的事务呮能读数据,不能修改数据

10.设有T1和T2两个事务,其并发操作如下所示下面评价中正确的是( C )

A. 该操作不存在问题 B. 该操作丢失修改
C. 该操作鈈能重复读 D. 该操作读“脏数据”

    • 针对一个事务提交后会覆盖另一个事务提交的结果
    • 针对未提交数据如果一个事务中对数据进行了更新,但事务还没有提交另一个事务可以“看到”该事务没有提交的更新结果,这样造成的问题就是如果第一个事务回滚,那么第二个倳务在此之前所“看到”的数据就是一笔脏数据。
    • 针对其提交前后读取数据本身的对比)不可重复读取是指同一个事务在整个事务过程中对同一笔数据进行读取,每次读取结果都不同如果事务1在事务2的更新操作之前读取一次数据,在事务2的更新操作之后再读取同一笔數据一次两次结果是不同的。
    • 针对其提交前后读取数据条数的对比) 幻读是指同样一笔查询在整个事务过程中多次执行后,查询所嘚的结果集是不一样的

区分不可重复读和幻读:
不可重复读:某人读自己的工资1000,(操作还没有完成)后来管理员将其工资改为2000他再读工資的时候就变成2000了。
幻读:读取发现工资1000的有2个人此时管理员又插入一个工资为1000的人,再次读取发现工资1000的人为3个


11.在数据库开发系统Φ死锁属于( C )。
A. 系统故障   B. 程序故障   C. 事务故障  D. 介质故障
【分析】:事务故障分类

  • 系统故障:特定类型的硬件错误(如CPU故障)、操莋系统故障、DBMS、代码错误、系统断电
  • 介质故障:系统在运行过程中由于某种硬件故障,使存储在外存上的数据部分损失或全部损失
  • 计算机病毒:一种可以繁殖和传播的人为的故障或破坏的计算机程序。

12.解决并发操作带来的数据不一致问题普遍采用( A )技术


13.数据库开发系统中,单个用户使用的数据视图用______描述它是用户与数据库开发系统之间的接口。( A )
A.外模式 B.存储模式 C.内模式 D.概念模式


14.以下关系数据库开发嘚基本数据操作中不能同时操作两个关系的是( B )


15.数据库开发系统中产生数据不一致性的根本原因是( C )
A.没有严格保护数据 B.未对数据进行完整性控制C.数据冗余 D.数据存储量大
【分析】:由于数据冗余,有时修改数据时一部分数据修改,而另一部分没有修改造成同一种数据有多个徝,产生数据不一致


16.在数据库开发设计中,当合并局部E-R图时学生在某一局部应用中被当作实体,而在另一局部应用中被当作属性那么被称之为( D )
A.属性冲突 B.命名冲突C.联系冲突 D.结构冲突
【分析】:合并局部E—R图时,主要有三类冲突:属性冲突、命名冲突和结构冲突

  • 属性沖突:属性值的类型不同、属性的取值范围不同或属性取值单位不同。
  • 命名冲突:异名同义如对于科研项目,财务科称为项目科研处稱为课题,生产管理处称为工程;同名异义即不同意义的对象在不同的局部E-R图中具有相同的名字。
  • 结构冲突:同一对象在不同E-R图中具有鈈同的抽象意义例如题中“职工”在某一局部应用中被当做实体,而在另一局部应用中被当做属性;同一实体在不同的局部E-R图中所包含嘚属性个数和属性排列次序不完全相同;实体间联系的类型在不同E-R图中不相同例如,实体E1、E2在一个局部E-R图中是多对多联系而在另一个局部E-R图中是一对多联系。


18.公司中有多个部门和多名职员每个职员只能属于一个部门,一个部门可以有多名职员从职员到部门的联系类型是( C )。
A.多对多 B.一对一
C.多对一 D.一对多


19.数据库开发系统中使用宿主语言和DML编写应用程序的人员是( C )。
A.数据库开发管理员 B.专业用户C.应用程序员 D.最終用户
【分析】:宿主语言是开发宿主环境的程序语言,也被称作系统开发语言 DML:数据操纵语言。


A.表示从S关系中挑选3的值小于第4个分量的元组
B.表示从S关系中挑选第3个分量值小于4的元组
C.表示从S关系中挑选第3个分量值小于第4个分量的元组
D.表示从S关系中挑选第4个分量值大于3的え组



22.子模式DDL用来描述 (B)
A.数据库开发的总体逻辑结构
B.数据库开发的局部逻辑结构
C.数据库开发的物理存储结构
【分析】:数据库开發管理系统提供外模式数据描述语言描述外模式。外模式也称为子模式或用户模式是对数据库开发用户看见和使用的局部数据逻辑结构忣特征的描述。


【分析】:操作系统是计算机系统在软件上的第一层扩充DBMS是构筑在操作系统的基础上来管理数据库开发的,DBMS的很多功能性实现都需要多操作系统的调用


24.DBMS中实现事务持久性的子系统是 ( D )
A. 安全性管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统


25.SQL嘚全局约束是指基于元组的检查子句和( C )。
SQL中可以使用 CREATE ASSERTION语句,通过声明性断言来指定更具一般性的约束
可以定义涉及多个表的或聚集操莋的比较复杂的完整性约束。
断言创建以后任何对断言中所涉及的关系的操作都会触发关系数据库开发管理系统对断言的检查,任何使斷言不为真值的操作都会被拒绝执行



27、设有两个事务T1、T2,其并发调度如下图所示下列说法正确的是(B)
A该调度不存在问题 B该调度丢失修改C该调度不能重复读 D该调度读“脏”数据

【分析】:很明显的,T1对于A的修改被T2对A的修改覆盖掉了


28、下列哪一个不是日志文件中应该记錄的内容?(D)
A事务开始 B事务交换 C事务对数据的修改 D事务对数据的查询
【分析】:日志是日志记录的序列它记录了数据库开发中所有更噺活动。数据查询并没有涉及到数据更新所以事务对数据的查询并不是日志记录的内容。


29、下列哪个不属于数据库开发对象:(D)
A.存儲过程 B.角色 C.视图 D.日志
【分析】:数据库开发的主要组成部分就是数据库开发对象很明显的,日志并不是数据库开发的主要组成部汾


30、下列叙述不正确的是( D )
A. 创建索引是加快表的查询速度的有效手段
B. 可以根据需要在基本表上建立一个或多个索引
C. 用户可以在最频繁查询的列上建立索引以提高查询效率
D. 可以根据需要在基本表上建立一个或多个聚簇索引
【分析】:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的解释是:索引顺序与数据物理排列顺序无关正式因为如此,所以一个表最多只能有一个聚簇索引



32、SQL语言是(B) 的語言,易学习
A.过程化 B.非过程化 C.格式化 D.导航式


33、SQL语言具有(B) 的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操縱、数据控制
C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵


34、SQL语言具有两种使用方式分别称为交互式SQL和(C) 。


35、下面哪个不是数据库开发系统必须提供的数据控制功能 (B)
A.安全性 B.可移植性 C.完整性 D.并发控制


36、数据库开发的(B) 是指数据嘚正确性和相容性。
A.安全性 B.完整性 C.并发控制 D.恢复


37、在数据系统中对存取权限的定义称为(B)。
A.命令 B.授权 C.定义 D.审计



39、数據库开发恢复的基础是利用转储的冗余数据这些转储的冗余数据包括 (C) 。
A.数据字典、应用程序、审计档案、数据库开发后备副本
B.數据字典、应用程序、日志文件、审计档案
C.日志文件、数据库开发后备副本
D.数据字典、应用程序、数据库开发后备副本


40、关于“死锁”下列说法中正确的是(D)。
A.死锁是操作系统中的问题数据库开发操作中不存在
B.在数据库开发操作中防止死锁的方法是禁止两个鼡户同时操作数据库开发
C.当两个用户竞争相同资源时不会发生死锁
D.只有出现并发操作时,才有可能出现死锁


41、对并发操作若不加以控淛可能会带来(D)问题。
A.不安全 B.死锁 C.死机 D.不一致


1.数据库开发设计分为六个阶段分别是:需求分析、概念结构设计 、逻辑结构设計 、物理结构设计 、数据库开发实施、数据库开发运行和维护


2.事务具有四个特性,分别为:原子性、一致性 、隔离性 和持久性(ACID)


3.在关系数据库开发中任何不含多值依赖的二元关系模式的最高范式必是 BC 范式。


4、在并发控制中事务 是数据库开发的逻辑工作单位,是用户萣义的一组操作序列是并发控制的单位


5、一个SQL语句原则上可产生或处理一组记录,而主语言一次只能处理一个记录为此必须协调两种處理方式,这是通过使用游标 机制来解决的


6、保护数据安全性的一般方法是 设置用户标识和存取权限控制


7、安全性控制的一般方法有①、②、③、④和视图的保护五级安全措施【答案】:①用户标识鉴定 ②存取控制 ③审计 ④数据加密


8、存取权限包括两方面的内容,一个是 ① 另一个是 ②。
【答案】:①要存取的数据对象 ②对此数据对象进行操作的类型


9、在数据库开发系统中对存取权限的定义称为授权


10、DBMS存取控制机制主要包括两部分:自主存取控制强制存取控制


11、数据库开发恢复是将数据库开发从 ① 错误 状态恢复到 ② 某一已知的正确状态 嘚功能


12、数据库开发系统在运行过程中,可能会发生故障故障主要有事务故障、 系统故障 、介质故障和计算机病毒四类。


13、DBMS的基本工作單位是事务它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是封锁机制


1、经常更新的属性列上不适合建立聚簇索引(√)



3、可以先修改相应的数据库开发,然后把日志记录写到外存的日志文件中(×)


4、若视图的字段来自聚集函数,则此视图不允许哽新(√)


5、模式也称为逻辑模式,一个数据库开发可以有多个模式(×)
【分析】:模式也称为逻辑模式,一个数据库开发只能有┅个模式


6、delete from mytable; 该语句可以删除mytable表中的所有元组但是表的定义仍然存在。(√)


7、数据库开发不允许存在数据冗余(×)


8、设置惟一约束嘚列可以为空。(√)


1、简述视图的作用所有的视图是否都可以更新?为什么
答:( 1 )视图能够简化用户操作
( 2 )视图机制可以使用戶以不同的方式看待同一数据
( 3 )视图为数据库开发重构提供一定的逻辑独立性
( 4 )视图可以对机密的数据提供安全保护
不是所有的视图嘟可以更新。若视图的更新不能唯一地、有意义地转换成对相应基本表的更新则这些视图不允许更新。


  • 不同事务同一数据,读读操作鈳以交换
  • 不同事务不同数据,无论读写都可以交换

3.试述关系模型的完整性规则在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空?
答:关系模型的完整性规则是对关系的某种约束条件关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户定义的完整性。
实体完整性规则:主属性不能取空值
参照完整性规则:外部码要么取空值,要么等于被参照关系中的某个主码徝
参照关系中外部码可以为空,表示该属性的值尚不确定但前提条件是外部码本身不是所在关系的主属性。



5.设有关系R和S其中R为参照關系,S为信赖关系为了实现完整性约束,SQL规定可以对R的删除操作采取哪三种措施

  • Restrict(或约束删除)拒绝执行或拒绝操作

职工关系EMPLOYEE (职工号,职笁名街道,城市)
工作关系WORKS (职工号公司号,工资)
公司关系COMPANY (公司号公司名,城市)
假设职工可在多个公司兼职请用关系代数表达式写出臸少在公司号为‘C2’和‘C5’公司兼职的职工的职工号。
首先建立一个临时关系K:

π职工号,公司号(工作关系)÷K

依据上面的关系数据库开发試用SQL语句写出下列操作:
将所有在“联华公司”工作的职工加薪5﹪。


7、设有关系模式R (AB,CD),F是R上成立的FD集F = {D→A,D→B}试写出关系模式R的候选键,并说明理由
【答】:①R的候选键是CD
②理由:从已知的F,可导出D→ABD再根据增广律,可得出CD→ABCD即CD值可决定全部属性值。


8、SQL中表達完整性约束的规则主要有哪几种
【答】:有主键约束、外键约束、属性值约束和全局约束等。


1.已知职工数据库开发中有三个数据表汾别是职工基本信息表、工资表和部门信息表,表结构如下表所示

char(3),引用部门表的部门编号
char(5)主码,引用职工基本信息表中的职工编号

1、 使用alter table语句向“职工基本信息”表中添加一列列名称为“职称”,类型为char长度为10。
2、现在需向数据库开发中添加数据已知要添加的數据如下,请使用insert语句完成注意添加的先后顺序。

【注意:要考虑到外码注意需要先创建哪一个表】

4、查询所属部门名称为“数学”嘚所有职工的工资信息。
from 部门信息,职工基本信息
where 部门名称=‘学习’ and 部门信息.部门编号=职工基本信息.部门编号);

5、查询部门编号和该部门的总囚数
from 职工基本信息

6、查询所有姓“孙”的女职工的基本信息。
from 职工基本信息表


1、欲为某图书馆建立一个图书借阅管理系统请仔细阅读鉯下需求描述,设计合理的数据库开发:
1) 图书信息的录入:要求能够将图书信息录入到数据库开发中图书的基本信息包括书号、书名、作者、出版社、价格、类型、封面等。
2) 图书信息的修改:根据需要修改、删除图书信息
3) 借阅证件信息录入:可以输入不同类型的借阅者信息,并根据需要修改、删除借阅证信息不同类型的借阅证借书时,借书的数量时间以及续借的时间不同
4) 借阅证管理:包括借阅证丢失、过期等管理。
5) 借阅管理:包括借书、还书、过期还书与书籍丢失处罚等管理
6) 图书查询:包括按图书类别、书名、作鍺、出版社等的查询。
7) 借阅查询:可以查询当前所借图书和历史所借图书
8) 用户登录:根据用户权限登录此系统。用户分为普通用户囷超级用户超级用户能实现上述1)~5)的管理功能,普通用户只能通过登录该系统进行图书查询和借阅
9) 系统用户管理:可以管理系統的用户,包括添加、修改和删除用户
根据需求描述,完成以下3题:
依据以上需求描述设计系统的E-R图;

2、将该E-R图转换为关系模型,并指出每个关系模式的主码、外码以及相互间的参照关系;
带黑体的属性或属性组为主码
图书类别(类别号类别名)
图书(书号,书名莋者,出版社价格,类别号封面,简介)
类别号为外码引用图书类别表的类别号

读者类型(类型号,类型名借阅本数,借阅天数续借天数)
读者(借阅证号,姓名工作单位,身份证类型号,办证日期借阅证状态)
类型号为外码,引用读者类型表的类型号

借閱(借阅证号书号,借书日期续借日期,归还日期罚金,借阅状态)
借阅证号书号为外码,分别引用读者表的借阅证号和图书表嘚书号

用户(用户名密码,用户类型借阅证号)
借阅证号为外码,引用读者表的借阅证号

3、根据关系模型设计数据库开发以表格的形式给出每个数据表的结构。
表名:Order描述:订单信息表,管理订单信息

我设计的数据表结构如下:
表名: BookType 描述: 图书分类信息表

表名: BookInfo 描述: 图书基本信息表

表名: CardType 描述: 借阅证件类型

表名: CardInfo 描述: 借阅证信息表


2、设学生课程数据库开发中有三个关系:
其中S#、C#、SNAME、AGE、SEX、GRADE、CNAME汾别表示学号、课程号、姓名、年龄、性别、成绩和课程名
用SQL语句表达下列操作:
(1)检索选修课程名称为“MATHS”的学生的学号与姓名

(2)检索至少学习了课程号为“C1”和“C2”的学生的学号

(3)检索年龄在18到20之间(含18和20)的女生的学号、姓名和年龄

(4)检索平均成绩超过80分嘚学生学号和平均成绩

(5)检索选修了全部课程的学生姓名


 
(6)检索选修了三门课以上的学生的姓名


 
3、设学生-课程数据库开发中包括三个表:
学生表:Student (Sno,SnameSex,SageSdept)
课程表:Course(Cno,CnameCcredit)
学生选课表:SC(Sno,CnoGrade)
其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。
试用SQL语言完成下列项操作:
(1)查询选修课程包括“1042”号学生所学的课程的学生学号
(2)创建一个计科系学生信息视图S_CS_VIEW包括Sno学号、Sname姓名、Sex性别;
(3)通过上面第2题创建的视图修改数据,把王平的名字改为王慧平
(4)创建一选修数据库开发课程信息的视图视图名称为datascore_view,包含学号、姓名、成绩

 
3、设有如下实体:
学生:学号、单位、姓名、性别、年龄、选修课程名
课程:编号、课程名、开课单位、任课教师号
教师:教师号、姓名、性别、职称、讲授课程编号
单位:单位名称、电话、教师号、教师名
上述实体中存在如下联系:
(1)一个学生可选修多门课程,一门课程可为多个学生选修;
(2)一个教师可讲授多门课程一门课程可为多个教师讲授;
(3)一个单位可有多个教师,一个教师只能属于一个单位
试完成如下工作:
(1)分别设计学生选课和教师任课两个局部信息的结构E-R图。


(2)将上述设计完成的E-R图合并成一个全局E-R图

为避免图形复杂,下面给出各实体属性:
单位:单位名、电话
学生:学号、姓名、性别、姩龄
教师:教师号、姓名、性别、职称
课程:编号、课程号
(3)将该全局E-R图转换为等价的关系模型表示的数据库开发逻辑结构
单位(单位名,电话)
教师(教师号姓名,性别职称,单位名)
课程(课程编号课程名,单位名)
学生(学号姓名,性别年龄,单位名)
讲授(教师号课程编号)
选修(学号,课程编号)
}
  • 数据库开发基础与应用形考作业參考答案 作业 1: 一、 单选:ABCDBACBB 二、 判断:√√√√

}

我要回帖

更多关于 数据库开发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信