《数据库应用系统设计》复习资料(7)

2018-12-10 22:34

(2)对象级结构:只在定义它的对象中可用。

41.请简述This、Parent、ParentWindow等代词的含义,并举例说明其用法。 ★考核知识点:使用代词编写通用代码 附2.1.41:(考核知识点解释)

(1)This:用来表示当前对象或正在编写脚本的对象。如在一个命令按钮的Clicked事件中书写“This.Text =\欢迎光临!\”,则按下按钮时该命令按钮上显示的文本会变为“欢迎光临”。

(2)Parent:代表当前控件所在的窗口。如在一个命令按钮的Clicked事件中书写“Close(Parent)”,则按下按钮时会将该命令按钮所在的窗口关闭。

(3)ParentWindow:代表与当前菜单相关联的窗口。如在某个菜单项的Clicked事件中书写“Close(ParentWindow)”,则单击该菜单项时会将与菜单关联的窗口关闭。 42.请简述游标的作用及使用过程。 ★考核知识点:游标语句 附2.1.42:(考核知识点解释)

(1)游标的作用:当需要查找多条记录时,就需要使用游标进行操作

(2)游标的使用过程一般为:说明游标;打开游标;推进游标(读取数据);处理数据;关闭游标。

43.请简述动态SQL语句的作用。 ★考核知识点:动态SQL语句 附2.1.43:(考核知识点解释)

(1)使用PB不支持的(某个数据库管理系统特有的)SQL语句;

(2)SQL语句的格式和参数在编译时无法确定时,应用程序只能在执行时才建立SQL语句。

44.请简述事务对象的作用。

★考核知识点:事务对象的作用及属性设置 附2.1.44:(考核知识点解释)

(1)应用程序与数据库之间进行通信的桥梁;

(2)PB对象中最为重要的一个对象,不使用事务对象将无法连接数据库; (3)在应用程序启动时,系统将自动创建一个名为SQLCA的全局事务对象; (4)要在程序中连接多个数据库,则需要自定义事务对象。 45.请简述数据窗口的作用和组成。 ★考核知识点:数据窗口对象

附2.1.45:(考核知识点解释)

(1)数据窗口的作用:快速建立起有关数据库操作的应用程序。 (2)数据窗口的组成:数据窗口控件、数据窗口对象。

(二)、设计题

1、在图书销售数据库中,有一个表1所示的图书销售表(书号和顾客号共同作为主码),请指出该表可能存在的问题,并根据3NF对该表进行分解,设计出符合3NF要求的关系模式。要求写出设计步骤。

表1 图书销售表

列名 书号 书名 书类 库存 售出 单价 顾客号 顾客名 顾客电话 订购日期 订购数量 图书的编号 图书的名称 图书的分类 图书的库存量 图书的售出量 图书的单价 顾客的编号 顾客的姓名 顾客的联系电话 顾客订购某本图书的日期 顾客订购某本图书的数量 描述 可能存在的问题: (1)数据库冗余度较大

一本书可能销售多次,则每销售一次图书销售表中都会重复一遍图书信息;一名顾客可能购买多次,则每购买一次图书销售表中都会重复一遍顾客信息。 (2)插入异常

有一种新书,还没有顾客购买,此时会由于顾客号不能为空而无法将该书信息插入到图书销售表中。 (3)删除异常

一本书仅有一名顾客购买,如果该顾客退货,则会由于没有顾客购买该书导致删除销售记录的同时也会将这本书的信息也删除。

分解步骤:

(1)表1所示关系中,书名、书类、库存、售出和单价只依赖于书号,与顾客号无关;顾客名、顾客电话只依赖于顾客号,与书号无关;订购日期和订购数量则与书号和顾客号都有关。因此,根据2NF的要求(关系中不能有部分函数依赖于主码的非主属性),可以将表1分解为3个关系:

图书(书号, 书名, 书类, 库存, 售出, 单价) 顾客(顾客号, 顾客名, 顾客电话) 订购(顾客号, 书号, 订购日期, 订购数量)

(2)根据3NF的要求(关系中不能有传递依赖于主码的非主属性),对步骤(1)中分解得到的3个关系进行检查,可以看到这3个关系中均不存在传递依赖于主码的非主属性,因此,最后设计的符合3NF的关系即为步骤(1)中分解得到的3个关系。 ★考核知识点:关系模式的规范化 附2.2.1:(考核知识点解释)

(1)第一范式(1NF)

如果关系模式R(U)中每个属性都是不可分割的数据项,则称R属于第一范式,记作R∈1NF。

(2)第二范式(2NF)

设有R(U)∈1NF,且其每一个非主属性完全函数依赖于码,则称R(U) 满足2NF,记作R∈2NF。

要讨论R是否属于第二范式,不但要确定R的属性,还要确定R的所有函数依赖。此时一个关系模式R可由三元组确定,记为R(U,F),其中U为R的属性集,F为R的函数依赖。

例如,关系模式教学1((学号, 姓名, 系别, 系主任, 课程号, 成绩),(学号→姓名,学号→系别,学号→系主任,系别→系主任,(学号,课程号)→成绩))。

为了使教学1属于2NF,需要将其分解,以消除非主属性对码的部分依赖。可以将教学1分解成两个关系模式:

教学11(学号, 姓名, 系别, 系主任) 教学12(学号, 课程号, 成绩) 仍存在插入异常和删除异常。 (3)第三范式(3NF)

若关系模式R(U)∈2NF,且每个非主属性都不传递依赖于码则称R属于第三范式,记为R∈3NF。

关系模式教学11存在系主任对学号的传递依赖,所以不属于第三范式,将它分解为: 教学111(学号,姓名,系别) 教学112(系别,系主任) 消除了插入异常和删除异常。

(三)、SQL题

表1 供应商表S

主码 P

表2 零件表J

主码 P 表3 工程表P

主码 P

表4 供应情况表SPJ

主码 P 列标题 供应商代码 工程代码 零件代码

零件数量 列名 SNO PNO JNO QTY 数据类型 Char Char Char Int 宽度 2 2 2 小数位数 是否空值 No No No No 列标题 工程代码 工程名 所在城市 列名 PNO PNAME CITY 数据类型 Char Varchar Varchar 宽度 2 8 8 小数位数 是否空值 No No Yes 列标题 零件编码 零件名 颜色 重量 列名 JNO JNAME COLOR WEIGHT 数据类型 Char Varchar Varchar Int 宽度 2 8 4 小数位数 是否空值 No No Yes Yes 列标题 供应商代码 供应商姓名 所在城市 列名 SNO SNAME CITY 数据类型 Char Varchar Varchar 宽度 2 8 8 小数位数 是否空值 No No No 表1-表4是下列题目中用到的4个表,请根据题目要求写出对应的SQL语句。 (1)创建名为“供应信息”的数据库; 参考答案:

CREATE DATABASE 供应信息;

(2)将数据库的名称由“供应信息”改为“供应信息管理”; 参考答案:

ALTER DATABASE 供应信息 MODIFY NAME=供应信息管理; (3)创建供应商表S;

参考答案: CREATE TABLE S

( );

SNO

char(2) PRIMARY KEY NOT NULL,

NOT NULL, NOT NULL

SNAME varchar(8) CITY

varchar(8)

(4)创建零件表J; 参考答案: CREATE TABLE J

( );

JNO char(2) PRIMARY KEY NOT NULL, JNAME varchar(8) COLOR varchar(4) WEIGHT int

NOT NULL,

NULL,

NULL

(5)创建工程表P; 参考答案: CREATE TABLE P

( );

PNO

char(2) PRIMARY KEY NOT NULL,

NOT NULL, NULL

PNAME varchar(8) CITY

varchar(8)

(6)创建供应情况表SPJ,其中供应商代码、工程代码和零件代码分别为供应商表S、工程表P和零件表J的外码; 参考答案: CREATE TABLE SPJ

(

SNO PNO

char(2) char(2)

NOT NULL, NOT NULL,


《数据库应用系统设计》复习资料(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于web的毕业设计管理系统的文献综述

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: