您现在的位置: 论文网 >> 计算机论文 >> 计算机网络论文 >> 局域网图书资料查询系统论文

局域网图书资料查询系统

作者:未知
出处:论文网
时间:2006-09-06


               
                 
                      
                   
             
                                                 
                     
2. 键(KEY)
键由一个或几个属性组成,在实际使用中,有下列几种键:
1) 超键(Super Key):在关系中能惟一标识元组的属性集称为关系模式的超键。
2) 候选键(Candidate Key):不含有多余属性的超键称为候选键。也就是在候选键中,若要再删

除属性,就不是键了。
3) 主键:(Primary Key):用户选作元组标识的一个侯选键称为主键。一般,如不加说明,则键

是指主键。
3. 关系的定义和性质
我们可以用集合的观点定义关系。关系是一个元数为K(K>=1)的元组的集合。
把关系看成是一个集合,集合中的元素是元组,每个元组的属性个数应相同。在关系模型中,对

关系作了下列规范性限制:
1) 关系中每一个属性值都是不可分解的。
2) 关系中允许出现相同的元组(没有重复元组)
3) 由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。
4) 元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。
2.1.2数据库的设计理论
关系数据库的设计理论主要包括三个方面的内容:数据依赖、范式,模式设计方法。其中数据依

赖起着核心的作用。
1. 函数依赖(Functional dependency , FD)的定义
设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任何一个可能的关系r,

如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“Y函数依赖于X

” ,记作X→Y。如果X→Y,并且对于X的任一真子集X ’,都有Y 不函数依赖于X ’,则称“Y完

全函数依赖于X” ,记作X f Y 。若X→Y,但Y不完全函数依赖于X,则称“Y部分函数依赖于X”

,记作X P Y 。如果X→Y,Y→Z,且Y≮ X, X不函数依赖于Y,则称“Z传递函数依赖于X”。
2.  范式
在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范

式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容

”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动

满足第一、二、三范式,……,依此类推。
第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重

复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实

际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满

足1st NF。
第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主

关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们将合同号

定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道

了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们

称这种关系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于主关键字,

或称该数据元素唯一地被主关键字所标识。
第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主

关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足

了 2nd NF的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,

必须加以消除。
为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量

按关系规范化要求进行数据库设计。下面以教务管理信息系统为例来进行分析。
3.  模式设计方法
一个好的模式设计方法应符合下列三条原则:
l 表达性:涉及到两个数据库模式的等价性问题,即数据等价和依赖等价,分别用无损联接和保

持函数依赖来衡量。
l 分离性:是指属性间的“独立关系”应该用不同的关系模式表达。独立联系是我们所考虑的“

基本信息单位”。实际上分离就是清除存储异常和数据冗余现象。如果能达到这个目的,就分离

。分离的基准就是一系列范式,分离与依赖等价有时是不可兼容的。
l 最小冗余性:要求在分解后的数据库能表达原来数据库的所有信息这个前提下实现。目的就是

节省存储空间,提高对关系的操作效率,清除不必要的冗余。但要注意,在实际使用中,并不一

定要达到最小宙余。因为有时带点冗余对于查询处理是有好处的。
关系模式的方法基本上可以分为分解与合成两大类。分解型算法要求输入一个
初始模式集和依赖集,而结果满足数据等价要求。对于合成型算法只要求输入初始依赖集,结果

满足依赖等要求。但它们依据的基本思想是共同的,即独立的联系独立表示。
§2.2 SQL语言介绍
SQL(Structured Query Language)即“结构式查询语言”。SQL虽然名为查询语
言,但实际上具有定义、查询、更新和控制等多种功能。由于它使用方便、功能丰富、语言简单

易学,很快得到应用和推广。从20世纪70年代末起,在推出的关系数据库系统产品ORACLE、SQL/

DS、DB2、SYBASE上实现了SQL语言。很快,SQL语言被整个计算机界认可。1987年6月,国际标准

化组织(ISO)采纳为国际标准。随后,ISO对标准进行了大量的修改和扩充。在1992年推出了新

的标准-SQL2。SQL的标准化工作还在继续,新的标准已被命名为SQL3,将包括许多新的数据库概

念,正在不征求意见和进行修改
这里将简单介绍基于SQL89和SQL2的语言使用概貌:
2.2.1 SQL的组成
SQL主要分成四个部分:
1)数据定义:这一部分也称为“SQL DDL”,用于定义SQL模式、基本表、视图和索引。
2)数据操纵:这一部分也称为“SQL DML”。它分为数据查询和数据更新两类。其中数据更新又

分成插入、删除、和修改三种操作。
3)数据控制:这一部分包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
4)嵌入式SQL的使用规定:这一部分内容涉及到SQL语句嵌入在宿主语言程序中使用的规则。
2.2.2 SQL的数据查询
n SELECT语句的语法
SELECT 目标表的列名或列表达式序列
FROM 基本表和(或)视图序列
[WHERE行条件表达式]
[GROUP BY列名序列
[HAVING组条件表达式]]
[ORDER BY列名[ASC|DESC]…]
句法中[]表示该成分可有,也可无。
整个语句的执行过程如下:
a) 读取FROM子句中基本表、视图的数据,执行笛卡尔积操作。
b) 读取满足WHERE子句中给出的条件表达式的元组。
c) 按GROUP子句中指定列的值分组,同时提取满足HAVING子句中组条件表达式的那些组。
d) 按SELECT子句中给出的列名或列表达式求值输出。
e) ORDER子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。
SELECT语句中,WHERE子句称为“行条件子句”,GROUP子句称为“分组
子句”,HAVING子句称为“组条件子句”,ORDER子句称为“排序子句”。
2.2.3  SQL的数据更新
SQL的数据更新包括数据插入、删除和修改等三种操作
1)数据插入
a) 元组值的插入
INSERT INTO 基本表名(列名表)
VALUES(元组值)
或者 INSERT INTO 基本表名(列名表)
(TABLE(元组值),
    (元组值),
     ……)
前一种格式只能插入一个元组,后一种格式可以插入多个元组。
2)数据删除
SQL的删除操作是指从基本表删除元组,其语法如下:
DELETE FROM 基本表名
[WHERE条件表达式]
其语义是从基本表中删除满足条件表达式的元组。
3)数据修改
当需要修改基本表中元组的某些列值时,可以用UPDATE语句实现,其句法如下:
UPDATE 基本表名
SET 列名=值表达式[,列名=值表达式…]
[WHERE条件表达式]
其语义是:修改基本表中满足条件表达式的那些元组中的列值,需修改的列值在SET子句中指出。
§2.3  PB6.5对数据库的操作
   PowerBuilder对数据库的操作即可以通过数据窗口完成(本质上是数据窗口把在屏幕上对数据

库的操作转化成SQL语句),又可以在PowerScript语言中直接调用SQL或存储过程(本质上仍是SQL

语句)完成。下面通过列举两个简单实例来描述在PowerScript程序调用SQL的方式:
1、SELECT语句查询返回一行
如果SQL SELECT语句返回的结果只有一行,可以在PowerScript中书写以下的SQL语句:
SELECT 列名1,列名2,列名3,…
         INTO:变量1,:变量2,:变量3…
         FROM 表名1,表名2,表名3,…
         WHERE…
其中,“变量1”,“变量2”和“变量3”等都是PowerScript语言的变量。该语句的作用是把数

据库表的“列名1”,“列名2”和“列名3”等列的值从数据库中取出,然后放入对应的“变量1

”,“变量2”和“变量3”等变量中。例如:
String name, extrace
SELECT name,extract INTO : name , : extrace from auths
     Where author_code=’A00001’;
该语句仅仅适合于查询到一条记录的情况。如果查询到的记录是多条,则要用下面的方法。
2、查询多行
SELECT是描述型语言,它面向的是集合,是一组记录。而PowerScript语言却是面向过程的,它要

一条条地接收并处理记录。PowerScript通过描述型光标(CURSOR)在这组记录上游动的方法,给

Script语句逐个地传送记录,建立了集合与记录间的内在联系。请看下例:
String  name
String  V1=’A%’
     DECLARE CURSOR FOR           file://定义光标,光标名为C1
           SELECT name FROM auths  file://光标对应的SELECT语句
           WHERE author_code like :V1; file://SELECT语句中用到了变量V1
     OPEN C1; // 打开光标,此时执行此光标对应的SQL SELECT语句。
   Lab1:
     FETCH C1 INTO :name;       file://取记录,光标下移一条
     If  SQLCA.SQLCode=0 then     file://取记录成功
            Goto lab1          file://如果成功取出记录,则取下一条
     End if
打开光标的时候,变量V1被其值“A%”替换,因此最后执行的SQL SELECT语句为:
SELECT name FROM auths
WHERE author_code like ‘A%’
执行完这条语句后,把光标C1定位到了查询出的第一条记录上。每执行一次语句:
FECTCH C1 INTO :name ;
则取出一条记录送给变量name,然后光标移到下一条记录。如果想控制查询结果的次序,必须在

SELECT语句中用ORDER BY子句,否则,没有其它的办法。我们不可能一下子把光标定位在某条记

录上,只能从第一条开始,一个个地移。
 

第三章  PB6.5及其数据库编程
§3.1  开发工具PowerBuilder6.5
3.1.1  PowerBuilder6.5特点及功能
要适应企业环境不断变化的需求,成功地开发出高质量的应用系统,必须采用先进的应用开发工

具。这对于减轻应用开发人员的开发负担,提高开发速度和质量都有十分重要的意义。Sybase公

司推出的PowerBUilder6.0/6.5是用于Client/Server、Web及组件开发的企业级应用开发工具。它

占全球开发工具市场近50%,是当前最优秀的开发工具之一。它具有以下优异的功能和特点:
1、内置的关系数据库
PowerBuilder本身带有一套数据库系统Sybase SQL Anywhere。这样做的好处是, PowerBuilder

可以脱离网络数据库服务器独立运行,从而在开发阶段脱离网络服务器上的数据库。当然,利用

这一功能也可以开发和调试单用户的独立的数据库应用。下图显示了内置数据库的工作原理:
 
 
 
 

如果没有内置的数据库Sybase SQL Anywhere,开发时则不能脱离网络服务器上的数据库(如图3

-2所示):
  
 
              
  

       
 
             
2、数据窗口(Datawindow)对象
PowerBuilder拥有数据窗口这个具有专利技术的智能对象,利用该对象可以操作关系数据库的数

据而无需编写SQL语句。用户可以查询、修改、插入、删除、浏览、打印、以多种文件格式打开和

存储数据,或在数据窗口中直接定义功能按钮实现预定义的系统功能,如插入、删除数据的操作

。它还支持数据库事务管理和并发控制等机制。其工作机理如下图所示:

                 
                                
 
 
 
3、丰富的数据窗口数据源和多种样式的数据显示格式
数据窗口可以用来维护数据和显示数据,可定义多种显示风格和数据显示格式;并且还可以与

TreeView控制、ListView控制配合使用,创建出更丰富的数据显示格式
4、支持多种商业图形,包括多种类型的二维和三维的图形
5、支持组件的开发和调用
用PowerBuilder开发的组件,可以在其它应用中调用,可以由多种事务管理服务器管理。
6、具有面向对象的特征
PowerBuilder采用了面向对象的开方式,这可以使系统开发人员在无需精通专用语言的情况下就

可以迅速转向面向对象的开发。PowerBuilder应用是由一系列对象组成的,包括窗口、菜单、函

数、数据窗口和各种控制等对象,它支持对象的继承、封装和多态性。
7、有机结合的集成开发环境
8、完全支持Windows的窗口信息和控制
9、强有力的PowerScript编程语言
它能使开发人员很容易地将简单或复杂的事务逻辑与应用相配合。该语言还有几百个函数用于操

纵对象、处理数字、文本、字符串、日期和应用分布,进行文件处理、报表打印,用DDE和OLE 2

.0进行程序之间的通信,直接调用SQL语句操纵数据库等等。
10、PowerBuilder提供了多种流行软件的接口库
Netware Library
Pen Computing Library
Lotus Notes Library
Microsoft MAPI
11、PowerBuilder支持多种平台
目前,PowerBuilder能够在Microsoft Windows 3.X、Windows 95Windows NTAlpha/IntelApple

Mac Sun Saloris IBM AIX HP Unix等多种平台上开发和运行应用程序,并能够不加改动地应用于

其它平台上。
12、支持Internet/Intranet下的Web应用开发
13、支持团体开发
14、对多种数据库的支持
PowerBuilder几乎支持所有的数据库,它提供了到多种数据库的专用接口和ODBC接口。
§3.2  PowerBuilder与Client/Server体系结构
3.2.1  Client/Server模式 
在C/S结构中,存在着几个非常重要的基本概念,它们是:主机、终端、客户机、工作站和服务器

。在分析C/S网络结构之前,必须搞清楚它们之间的区别。
最早的计算机网络是伴随着主机(Host)和终端(Terminal)这两个概念的出现而产生的。当时的

主机通常是指具有中央处理单元(CPU)的大型机或功能较强的小型机,而终端则是指计算机的输

入输出设备。终端没有自己的CPU,当然也没有自己的内存,其主要功能是将键盘输入的请求数据

发往主机并将主机的运算结果显示出来。主机和终端共同构成了集中式系统结构。在这种应用系

统中,几乎所有的工作都是由主机来完成,终端仅仅作为一种输入输出设备,因此系统负荷重、

效率低、扩充性差。
之后随着计算机网络结构的细化,不同的计算机开始在网络中担负不同的任务,于是出现了文件

服务器/网络工作站(F/W)式结构的模型。其中,工作站(Workstation)和服务器(Server)都

是独立的计算机。当一台连入网络的计算机向其它计算机(工作站)提供各种网络服务(如数据

、文件的共享)时,它就被叫做服务器。而那些用于访问服务器资料的计算机则被叫做工作站。

在F/W结构中,所有实际的数据处理工作仍在运行数据库应用程序的PC工作站上完成,因此不论文

件服务器的性能有多高,其整体网络性能都将受到PC机能力的限制。
客户机(Client)是伴随C/S数据访问的兴起而被提出来的,在一般人的理解中它和F/W概念没有

本质的区别。但是,严格说来,C/S模型并不是从物理分布的角度来定义的。它既包括具体的网络

结构设计,又包括软件的运行和组织,所体现的是一种网络数据的访问方式。这里的客户机和服

务器不仅指承担不同任务的计算机本身,而且包括主机上运行的客户端和服务器端的软件环境。

它们的区别,是相对于各自在网络数据库访问中所处的地位或实现的功能而言的。
理解了以上的基本概念,才可以更好地理解C/S结构的实质和运行方式:所谓C/S结构,是将数据

存取与应用程序分离开来,把一个软件系统或应用系统按功能分成若干个部分,再将这些软件的

组成部分按其不同的角色分成Client软件和Server软件,分别放置在客户机和服务器上。客户机

程序负责用户交互界面、数据表示及应用处理逻辑等应用部分,而服务器端则负责数据存取管理

、完整性控制及并发控制等数据库管理部分。客户机程序应用通过SQL语句访问数据库,相应的

SQL语句经网络传输到服务器端,由服务器端的数据库服务器解释执行这些SQL语句,执行后的结

果数据送回客户机。

上一页 [1] [2] [3] [4] [5] [6] 下一页

论文搜索
关键字:局域网 图书资料 查询系统
最新计算机网络论文
浅谈计算机网络维护工作和管理策略
浅议网络游戏安全问题及防范措施
调度自动化通信服务器不稳定造成四遥数据时
基于IPv6的配电自动化系统通信网络构架
大数据分析在移动通信网络优化中的应用思考
基于可扩展的计算机网络管理系统技术分析
多用户多天线FDD下行系统中空时码研究
一种基于删除准则的NOMA资源联合优化算法
基于区块链的隐私安全保护可行性分析
微博“热搜”机制的创新传播策略分析
热门计算机网络论文
计算机网络
网络安全技术的探讨
计算机网络安全问题剖析
信息安全风险管理理论在IP城域网的应用
浅析网络安全技术(一)
计算机网络管理技术及其应用
网页设计制作规范
局域网的信息安全与病毒防治策略
浅谈计算机网络中服务的概念
光纤通信技术今后如何发展