网络数据库课程期末考试卷(A)答案.pdf
网络数据库课程期末考试卷(A)答案一、填空题(每空 2 分,共 40 分)1自世界上第一台计算机诞生以来,数据库的发展经历了如下的四个阶段:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段.2数据库系统一般由支持数据库运行的软硬件、数据库、数据库管理系统、数据库管理员和用户等部分组成的。3三级结构对数据库的组织从内到外分三个层次描述,分别称为内模式、模式和外模式组成。4按照数据结构类型的不同,将数据模型划分为层次模型、网状模型和关系模型。5转储是数据库恢复中采用的基本技术,转储可以分为:静态转储、动态转储、海量转储和增量转储。6数据库结构设计通常分为 4 个阶段进行,每一阶段都有具体的目标和设计过程。这 4 个阶段是:需求分析、概念结构设计、逻辑结构设计、物理设计。7PowerBuilder 与数据库的连接方式有:通过使用 ODBC(开放数据库连接,OpenDataBase Connectivity)通用接口和通过使用 PowerBuilder 与数据库连接的专用接口。8建立表后,还不能向表中输入数据。在PowerBuilder 中要向表输入数据,必须为表定义一个唯一索引或主键。9要创建一个新的应用程序对象,必须先创建或打开一个工作区。10菜单的 Visible 属性决定了该菜单项是否可见。11一个数据窗口通常由数据窗口对象和数据窗口控件两部分组成。12数据窗口有两个重要特性:数据源和数据显示风格.13数据窗口在运行时使用的缓冲区主要有:主缓冲区、删除缓冲区、过滤缓冲区.14利用数据窗口控件的 DataObject 属性可以指定某个数据窗口对象。15在 PowerScript 中,有 4 种不同范围的变量:全局变量、实例变量、局部变量和共享变量.二、名词解释(每题 5 分,共 15 分)1记录关系中的每一行称为关系的一个记录,又称行(Row)或元组。一个关系可由多个记录构成、一个关系中的记录应互不相同。2主键(Primary Key):如果关系模式中的某个或某几个属性组成的属性组能惟一地标识对应于该关系模式的关系中的任何一个记录,我们就称这样的属性组为该关系模式及其对应关系的主键。3事务事务(Transaction)是并发控制的单位,是一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位。三、简答题1简述 ER 图的构成要素。(5 分)ER 图有三个要素:实体:用矩形表示实体,矩形内标注实体名称。属性:用椭圆表示属性,椭圆内标注属性名称。并用连线与实体连接起来。实体之间的联系:用菱形表示,菱形内注明联系名称,并用连线将菱形框分别与相关实体相连,并在连线上注明联系类型。2简述关系的性质。(5 分)1关系中一列的各个分量具有相同的性质,即数据类型相同。2关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。3关系中的任意两个元组不能相同.4、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项3设有某工厂工人年度考核关系模式如下:(5 分)时间2001 年上半年2001 年上半年职工编号10011002姓名李宁王海工种车工铣工定额9080超额1020车间一车间一车间车间主任周杰周杰2001 年上半年2001 年上半年2001 年下半年2001 年下半年2001 年下半年2001 年下半年100310041001100210031004赵亮张力李宁王海赵亮张力钳工铣工车工铣工钳工铣工90801009010090151020101510二车间二车间一车间一车间二车间二车间吴明吴明周杰周杰吴明吴明将模式无损分解至 3NF,给出各个关系模式.4简述排它锁和共享锁的概念。(5 分)共享性封锁(共享锁,或称S 锁),也称读锁(RLOCK):若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读取 A 但不能修改 A,其他事务只能对 A 加 S 锁,而不能加 X锁,直道 T 释放 A 上的 S 锁。这就保证了其他事务可以读A,但在T 释放 A 上的锁之前不能修改 A。排他性封锁(排他锁,或称 X 锁)也称写锁(WLOCK):若事务 T 对数据对象 A加上 X 锁,则只允许 T 读取和修改 A,其他任何事务都不能再对 A 加任何类型的锁,直道 T 释放 A 上的锁.这就保证了其他事务在 T 释放 A 上的锁之前不能在读取和修改A.5简述如何在 PB8。0 中连接本地已有的 ASA 数据库。(选做,7 分)(1)设置 ODBC 数据源(驱动程序、数据库、用户名和密码)(2)在 PB8.0 中设置 Profile。6简述 SQL Select 数据源(5 分)SQL Select 数据源主要用于在一个或多个表中通过 SQL 语句来选择数据(表之间不一定要有外部键关联)。这种数据源对SELECT 语句具有更强的控制能力.使用 SQLSelect 数据源可以对数据进行分组、添加计算列、定义筛选条件和进行分组统计等操作,可以定义和使用检索条件,可以把系统生成的 SQL 语句作为查询存储起来,并可以把它作为 Query 数据源使用。7简述数据窗口对象具有更新能力的条件.(选做,7 分)首先,对于 PowerBuilder 提供的 11 种显示风格,其中 Freeform、Grid、NUp、RichText 和 Tabular 风格的数据窗口具有对数据源数据的更新能力,而 Composite、Crosstab、Graph、Label 和 OLE2.0 风格的数据窗口不具有对数据源数据进行更新的能力。其次,取决于数据窗口数据源的类型.Quick Select、SQL Select 和 Query 类型的数据窗口具有对数据源更新的能力,而 External 和 Stored Procedure 类型的数据窗口不具有对数据源的更新能力。第三,数据窗口更新属性的设置也会影响数据窗口的更新能力。第四,数据库表必须有主键。8简述在 PB 中对嵌入式 SQL 语句有什么规定?(选做,6 分)SQL 语句是一种高级的数据操纵语言,两者结合起来可以使得对数据操纵更加灵活方便,应用系统的开发更加尽善尽美(3 分).PB 中对嵌入式 SQL 语句规定:每条语句以分号(;)结尾,所用的变量前加(:)。四、完成如下程序段:(共 16 分)1利用 SQL 命令完成下列功能(1)写出建立学费管理数据库 xfgl 的命令:CREATE DATABASE xfgl;(2)写出在 jbqk 表中添加 birthday 列(类型为:datetime)命令:alter table jbqk add birthday datetime;(3)表 sle_course 如下所示,写出查询考试成绩在 80 分以上学生学号的命令.numberc_numberscore0052201C501900052201C502850052201C503560051309C501950051309C502880051309C50485SELECT DISTINCT number FROM sle_course WHERE score 80;(4)计算表 sle_course 表中学号(number,字符型)为 0052201 学生平均成绩的命令。SELECT AVG(score)FROM sle_course WHERE number=0052201;2下图为一个学费管理程序的数据输入界面,请按照图中的形式完成下列功能。(1)若已经在应用的 OPEN 事件中,创建了事务对象SQLCA,若要使该窗口的数据窗口能够与 SQLCA 连接,则应该如何为该窗口编写 OPEN 事件脚本。(2)写出“上一条”按纽的脚本。(3)写出“插入”按纽的脚本。(4)写出“退出”按纽的脚本.