数据库的逻辑结构设计的图向关系

数据库的逻辑结构设计的图向关系,第1张

模型的转换 E-R图如何转换为关系模型呢?我们先看一个例子。

图21是学生和班级的E-R图,学生与班级构成多对一的联系。根据实际应用,我们可以做出这个简单例子的关系模式:

学生(学号,姓名,班级)

班级(编号,名称)

“学生班级”为外键,参照“班级编号”取值。

这个例子我们是凭经验转换的,那么里面有什么规律呢?在22节,我们将这些经验总结成一些规则,以供转换使用。 (1)一个实体型转换为一个关系模式

一般E-R图中的一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。

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

图22是一个一对一联系的例子。根据规则(2),有三种转换方式。

(i) 联系单独作为一个关系模式

此时联系本身的属性,以及与该联系相连的实体的码均作为关系的属性,可以选择与该联系相连的任一实体的码属性作为该关系的码。结果如下:

职工(工号,姓名)

产品(产品号,产品名)

负责(工号,产品号)

其中“负责”这个关系的码可以是工号,也可以是产品号。

(ii) 与职工端合并

职工(工号,姓名,产品号)

产品(产品号,产品名)

其中“职工产品号”为外码。

(iii) 与产品端合并

职工(工号,姓名)

产品(产品号,产品名,负责人工号)

其中“产品负责人工号”为外码。

(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

(i) 若单独作为一个关系模式

此时该单独的关系模式的属性包括其自身的属性,以及与该联系相连的实体的码。该关系的码为n端实体的主属性。

顾客(顾客号,姓名)

订单(订单号,……)

订货(顾客号,订单号)

(ii) 与n端合并

顾客(顾客号,姓名)

订单(订单号,……,顾客号)

(4)一个m:n联系可以转换为一个独立的关系模式。

该关系的属性包括联系自身的属性,以及与联系相连的实体的属性。各实体的码组成关系码或关系码的一部分。

教师(教师号,姓名)

学生(学号,姓名)

教授(教师号,学号)

(5)一个多元联系可以转换为一个独立的关系模式。

与该多元联系相连的各实体的码,以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(6)具有相同码的关系模式可以合并。

(7)有些1:n的联系,将属性合并到n端后,该属性也作为主码的一部分

这类问题多出现在聚集类的联系中,且部分实体的码只能在某一个整体中作为码,而在全部整体中不能作为码的情况下才出现(其它情况本人还没碰到,呵呵,欢迎指教)。

比如上篇文章介绍的管理信息系统中订单与订单细节的联系。

关于什么是聚集,23节介绍。 这部分本应在概念设计中介绍的,用到了才想起来,这里补充一下。

关于现实世界的抽象,一般分为三类:

(1) 分类:即对象值与型之间的联系,可以用“is member of”判定。如张英、王平都是学生,他们与“学生”之间构成分类关系。

(2) 聚集:定义某一类型的组成成分,是“is part of”的联系。如学生与学号、姓名等属性的联系。

(3) 概括:定义类型间的一种子集联系,是“is subset of”的联系。如研究生和本科生都是学生,而且都是集合,因此它们之间是概括的联系。

例:猫和动物之间是概括的联系,《Tom and Jerry》中那只名叫Tom的猫与猫之间是分类的联系,Tom的毛色和Tom之间是聚集的联系。

订单细节和订单之间,订单细节肯定不是一个订单,因此不是概括或分类。订单细节是订单的一部分,因此是聚集。 有了关系模型,可以进一步优化,方法为:

(1) 确定数据依赖。

(2) 对数据依赖进行极小化处理,消除冗余联系(参看范式理论)。

(3) 确定范式级别,根据应用环境,对某些模式进行合并或分解。

以上工作理论性比较强,主要目的是设计一个数据冗余尽量少的关系模式。下面这步则是考虑效率问题了:

(4) 对关系模式进行必要的分解。

如果一个关系模式的属性特别多,就应该考虑是否可以对这个关系进行垂直分解。如果有些属性是经常访问的,而有些属性是很少访问的,则应该把它们分解为两个关系模式。

如果一个关系的数据量特别大,就应该考 虑是否可以进行水平分解。如一个论坛中,如果设计时把会员发的主贴和跟贴设计为一个关系,则在帖子量非常大的情况下,这一步就应该考虑把它们分开了。因为 显示的主贴是经常查询的,而跟贴则是在打开某个主贴的情况下才查询。又如手机号管理软件,可以考虑按省份或其它方式进行水平分解。 这部分主要是考虑使用方便性和效率问题,主要借助视图手段实现,包括:

(1) 建立视图,使用更符合用户习惯的别名。

(2)对不同级别的用户定义不同的视图,以保证系统的安全性。

(3)对复杂的查询 *** 作,可以定义视图,简化用户对系统的使用。

物理设计主要工作是选择存取方法(索引),以及确定数据库的存储结构,这里就不说明了。

关系模式是指关系的描述

关系模式仅涉及关系名、各属性名、域名、属性向域的映象四部分。

它可以形式化地表示为:R、U、D、DOM、 F。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。

现实世界随着时间在不断地变化,因而在不同的时刻,关系模式的关系也会有所变化。但是,现实世界的许多己有事实限定了关系模式所有可能的关系必须满足一定的完整性约束条件。这些约束或者通过对属性取值范围的限定。

扩展资料

数据库中,关系模式是型,关系是值,关系模式是对关系的描述。

1、关系实质上是一张二维表,表的每一行为一个元组,每一列为一个属性。一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。关系是元组的集合,

因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。

2、一个关系通常是由赋予它的元组语义来确定的。

元组语义实质上是一个n目谓词(n是属性集中属性的个数,凡使该n目谓词为真的笛卡尔积中的元素(或者说凡符合元组语义的那部分元素)的全体就构成了该关系模式的关系。

参考资料:

百度百科-关系模式

百度百科-关系数据库

第四章 关系数据库的模式设计

45 什么是关系数据库:

关系数据库是以关系模型为基础的数据库,它利用关系来描述现实世界。一个关系既可以用来描述一个实体及其属性,也可以用来描述实体间的联系。关系实质上是一张二维表。

46 一个关系模型有哪两个方面内容:

一个关系模型包括外延和内涵两个方面的内容。

外延就是通常所说的关系,或实例,或当前值。它与时间有关,随着时间的推移在不断变化。(由于元组的插入、删除、修改引起的)

内涵是与时间独立的,包括关系、属性、及域的一些定义和说明,还有各种数据完整性约束。

47 数据完整性约束分为哪两类:

数据完整性约束分为静态约束和动态约束。

静态约束:包括各种数据之间的联系(数据依赖),主键的设计和关系值的各种限制等等。这一类约束是如何定义关系的有效数据问题。

动态约束:主要定义如插入、删除、和修改等各种 *** 作的影响。

48 关系数据库设计理论主要包括哪些内容:

关系数据库设计理论主要包括三个方面的内容:数据依赖、范式、模式设计方法。其中数据依赖起着核心的作用。

49 数据库使用过程中存在的问题是什么:

数据冗余、更新异常、插入异常、删除异常。

50 函数依赖(FD)的定义:

设有关系模式R(A1,A2,……,An)(即R(U)),X,Y是U的子集,r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y,X→Y为模式R的一个函数依赖。

或者说,对于X的每一个具体值,都有Y惟一的具体值与之对应,即Y值由X值决定,因而

这种数据依赖称为函数依赖。

51 函数依赖的逻辑蕴涵、FD的闭包F+:

设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中的函数依赖能够推出X—>Y,则称F逻辑蕴涵X—>Y,记为F X→Y。

被F逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包,记为F+。F+={X→Y|F X→Y}

52 候选键、主属性、非主属性:

设有关系模式R(A1,A2,……,An),F是R的一个函数依赖集,X是{A1,A2,……,An}的一个子集。如果

① X→A1A2……An∈F+,且

② 不存在X真子集Y,使得Y→A1A2……An成立,则称X是R的候选键。

包含在任何一个候选键中的属性称为主属性,不包含在任何一个候选键中的属性称为非主属性。

53 函数依赖的推理规则:

设有关系模式R(A1,A2,……,An)和属性集U= A1,A2,……,An,X,Y,Z,W是U的一个子集,F是R的一个函数依赖集,推理规则如下:

(1) 自反律:如果Y X U,则X→Y在R上成立。

(2) 增广律:如果X→Y为F所蕴涵,Z U,则XZ→YZ在R上成立。

(3) 传递律:如果X→Y和Y→Z在R上成立,则X→Z在R上成立。

FD的其他三个推理规则:

(4) 合并律:如果X→Y成立,那么X→YZ成立。

(5) 伪传递律:如果X→Y和WY→Z成立,那么WX→Z成立。

(6) 分解律:如果X→Y和Z Y成立,那么X→Z成立。

54 什么是平凡的FD?平凡的FD可根据哪一条推理规则推出?

如果X→Y,并且Y X,则称X→Y是平凡的FD。根据推理规则的自反律可推出。

55 关系模式的分解有几个不同的衡量标准:

分解具有无损联接;

分解要保持函数依赖;

分解既要保持依赖,又要具有无损联接。

56 什么是无损连接:

设有关系模式R,分解成关系模式ρ={R1,R2,……Rk},F是R的一个函数依赖集。如果对R中满足F的每一个关系r都有:r=πR1(r)|×|πR2(r)|×|……πRK(r),则称这个分解ρ是无损联结分解。

57 试叙保持函数依赖的定义:

设F是属性集U上的一个函数依赖集,Z是U上的一个子集,F在Z上的一个投影定义为:πZ(F)={X→Y|X→Y∈F+且XY Z}

设关系模式R的一个分解为ρ={R1,R2,……Rk},F是R的一个函数依赖集,如果

则称为分解ρ保持函数依赖。

58 第一范式(1NF):

如果关系模式R的所有属性的值域中每一个值都是不可再分解的值,则称R是属于第一范式模式。

59 第二范式(2NF):

如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的候选键,则称R是第二范式模式。

60 第三范式(3NF):

如果关系模式R是第一范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。

61 BCNF:

如果关系模式R是第一范式,且每个属性都不传递依赖于R的候选键,那么称R是BCNF的模式。从BCNF的定义可明显地得出如下结论:

(1) 所有非主属性对键是完全函数依赖。

(2) 所有主属性对不包含它的键是完全函数依赖。

(3) 没有属性完全函数依赖于非键的任何属性组。

如果模式R是BCNF,则它必定是第三范式,反之,则不一定。

62 模式设计方法的原则:

关系模式R相对于函数依赖集F分解成数据库模式ρ={R1,R2,……Rk},一般应具有下面三个特性:

(1) ρ中每个关系模式Ri是3NF或BCNF

(2) 保持无损联结

(3) 保持函数依赖集

(4) ρ中模式个数最少和属性总数最少。

63 一个好的模式设计方法应符合哪三条原则:

表达性,分离性,最小冗余性。

表达性涉及到两个数据库模式的等价性问题,即数据等价和依赖等价,分别用无损联接和保持函数依赖性来衡量。

分离性是指属性间的“独立联系”应该用不同的关系模式表达。

最小冗余性要求在分解后的数据库能表达原来数据库的所有信息这个前提下实现。

关系模式设计方法基本上可以分为分解与合成两大类。

64 多值依赖MVD:

设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对R(U)的任一关系r,对于X的一个给定的值存在着Y的一组值与其对应,同时Y的这组值又不以任何方式与U-X-Y中的属性相关,那么称Y多值依赖于X,记为X→→Y。

65 平凡多值依赖:

对于属性集U上的一个多值依赖X→→Y,如果Y X或者XY=U,那么称X→→Y是一个平凡多值依赖。

66 第四范式(4NF):

设关系模式R,D是一个多值依赖集,如果D中存在一个非平凡多值依赖X→→Y,并且X必是R的超键,那么称R是4NF模式。

可以参照数据库的概念模型到逻辑模型转换的规则进行建表。

可以分为一对一、一对多和多对多类型。

E-R图向关系模型的转换是要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码。这种转换一般按下面的原则进行:

(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。

(2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:

1:1联系,两端实体的码都成为关系的候选码。

1:n联系,n端实体的码成为关系的码。

m:n联系,两端实体码的组合成为关系的码。

作用嘛,主要是规范数据库设计,且视你自己实现的功能而定。满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和 *** 作异常。这并意味着不符合范式要求的设计一定是错误的,在数据库表中存在1:1或1:N关系这种较特殊的情况下,合并导致的不符合范式要求反而是合理的。 关系数据库的几种设计范式介绍 1 第一范式(1NF)在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或 者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系 。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将 其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是 无重复的列。 2 第二范式(2NF)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要 求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。如图3-2 员工信息 表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主 键、主码。 第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个 属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以 存储各个实例的唯一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。 3 第三范式(3NF)满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主 关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在图3-2的员工信息表中 列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也 应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

我来解释一下,看对你有用没:

首先,使用关系图的用户首先是SQL Server用户,MSSMS你要能打开可视化编辑视图。

其次,键约束,当你在 *** 作一个表时,他的记录靠主键关系约束关系表,再在关系表中 *** 作就要在他约束字段值范围内添加。

比如我们一个表1字段是: 工号 姓名 岗位编号 另一个表2是:岗位编号 薪资,我们依据岗位编号来做键约束,建立两个表之间的关系,我先对第一个表进行 *** 作,第二哥表就只能添加第一个表里曾在的岗位编号,是主键还不能重复添加,表1里没有的岗位编号是添加不进去的,以保存就报异常,这叫外键约束。

第三点作用是方便开发人员查看表与表之间的关系和表的结构。

这才是关系图,不是ER图。ER图才能解决数据关联问题,关系图是表与表之间的依赖关系。

数据库关系模型(数据库逻辑模型)是将数据概念模型转换为所使用的数据库管理系统(DBMS)支持的数据库逻辑结构,即将E-R图表示成关系数据库模式。数据库逻辑设计的结果不是唯一的,需利用规范化理论对数据库结构进行优化。

在关系模型中,数据库的逻辑结构是一张二维表。在数据库中,满足下列条件的二维表称为关系模型:

1)每列中的分量是类型相同的数据;

2)列的顺序可以是任意的;

3)行的顺序可以是任意的;

4)表中的分量是不可再分割的最小数据项,即表中不允许有子表;

5)表中的任意两行不能完全相同。

由此可见,有序的航空物探测量剖面数据不满足数据库关系模型条件第3条“行的顺序可以是任意的”,因此,不能简单地直接利用关系数据库(如Oracle,SQL Server,Sybase等)来管理剖面数据,需将数据在数据库中的存储方式改为大字段存储,确保不因数据库数据的增加和删除等 *** 作改变剖面数据有序特性。

一、大字段存储

(一)大字段存储技术

大字段LOB(Large Object)技术是Oracle专门用于存放处理大对象类型数据(如多媒体材料、影像资料、文档资料等)的数据管理技术。LOB包括内部的和外部的两种类型。内部LOB又分CLOB(字符型)、BLOB(二进制型)等3种数据类型,其数据存储在数据库中,并且支持事务 *** 作;外部LOB只有BFILE类型,其数据存储在 *** 作系统中,并且不支持事务 *** 作。LOB存放数据的长度最大可以达到4G字节,并且空值列(没有存放数据)不占空间(图2-6)。

图2-6 大字段存储示意图

由于外部LOB存放在 *** 作系统文件中,其安全性比内部LOB差一些。此外,大字段的存储支持事务 *** 作(批量提交和回滚等),而外部LOB不支持事务 *** 作。所以,航空物探测量剖面数据采用BLOB来存储。对于BLOB类型,如果数据量小于4000字节,数据库通常采用行内存储,而数据量大于4000字节采用行外存储。分析航空物探测量剖面数据,每个场值数据占4个字节(单精度),目前航磁数据采样率为10次/s,4000字节只能存储100s数据;一般情况下航空物探测量每条测线飞行时间至少在10min以上,每条测线数据量远远大于4000字节。所以,航空物探测量剖面数据采用行外存储方式,即大字段列指定“Disable Storage In Row”的存储参数。

由于大字段类型长度可变,最大可到4G。假设测线飞行时间为T,场值采样率为n次/s,测线场值数据量为4Tn,所以有4Tn≤4G。单条测线飞行时间T不会超过10h(36000s,航空物探测量1架次至少飞行1个往返2条测线),则场值的采样率n≤4G/4T=4×1024×1024×1024/4×36000次/s=29826次/s。采用大字段来存储测量数据,不仅能够减少数据表的记录数,提高查询效率,而且使得采样率的扩展不受限制。

(二)大字段存储技术应用

由于航空物探数据的数据量较大,现有的航磁测量数据按基准点方式(点存储)存储可达几亿个数据记录。若按磁场数据采样点存储方式(简称“场值存储方式”),则记录条数=(磁场数据采样率/坐标采样率)点存储方式的记录数,达几十亿条数据记录,且随着数据采样率的扩展、测点的加密,航空物探测量数据量随着时间的推移呈现快速增长之势。显然,如果采用常规的表结构来存储,势必造成数据的存储、管理、检索、浏览和提取都非常困难。另一方面,从航空物探专业应用需求来说,很少对单个测点的场值数据进行运算、分析等 *** 作,一般至少是对一条测线或以上测线,多数时候是需要对整个测区的场值数据进行化极、上延、正反演拟合等。

因此,在航空物探数据库表结构设计时,改变过去将基准点或场值点数据记录作为数据库最小管理对象的理念,采用了大字段存储技术,将测线作为数据库最小管理对象,将测线上的测量数据,如坐标数据和磁场、重力场数据分别存储在相应大字段中。在航空物探数据库建设中,大量采用数据库的大字段存储技术(详见《航空物探信息系统数据库结构设计》)。

(三)大字段存储效率

以航磁测量数据为例分析大字段存储技术优势。如果以场值存储方式存储测线数据,则每条记录包含架次号、测线号、基准号、地理坐标、投影坐标、磁场数据等,由于坐标数据采样率2次/s,磁场数据采样率10次/s,每5个磁场数据中,只有第1个磁场数据有坐标数据,其他4个坐标数据是内插出来,因此在测线记录中会产生大量冗余的数据坐标数据。采用点存储方式存储的测线数据记录数等于线上基准点数,若采用大字段存储方式,一条测线数据只存储为1条数据记录(图2-7),一般一条测线的测点数近万个,甚至更多,可见采用大字段存储大大减少测线数据存储记录数,提高数据的存取效率。

以某测区的两条航迹线为例,分别采用3种方式测试数据库的数据存储效率。磁场数据的采样率10次/s,坐标数据采样率2次/s,两条测线上共有基准点8801个。以场值方式存储先内插坐标信息,使得每个场值数据都拥有自己的坐标,然后存入数据库,共有数据记录44005条,写入数据库时间为5722s,读取时间为103s。第二种方式是以采样点的方式进行存储,共有8801条记录,写入数据库时间为947s,读取需要091s。第三种方式是以大字段的形式存储,只有2条记录,写入数据库103s,读取时间为044s(表2-2)。大字段数据存储记录数最少,存取效率最高。用整个测区数据测试效果更加明显。

表2-2 三种数据存储方法的存取效率比较

图2-7 大字段存储方式示意图

二、联合主键

主外键是关系型数据库建立表间关系的核心。在航空物探空间数据库建设过程中,要素类与要素类之间、要素类与对象类之间,以及对象类与对象类之间的关系的描述有3种形式,即拓扑关系——描述要素类与要素类之间结点、邻接和联通关系;叠加关系——描述要素类与要素类之间的相交、包含与分类关系;隶属关系——描述对象类与对象类之间的派生关系。前两种关系是采用空间数据模型建立的关系,而隶属关系是通过主键建立的对象类与对象类之间的关系。在建立一对一、一对多的表间关系时,需要在整个数据库表中确定具有唯一性的一个字段作为主键(主关键字)。

按照传统的航空物探数据的档案管理模式,每个项目分配一个自然数作为档案号,项目的所有资料均与此档案号相联系。勘查项目和科研项目的档案号是独立编号的,且均从001开始。加之人工管理的原因,存在1个项目2个档案号和2个项目1个档案号的情况,因此现行的档案号与项目之间的对应关系不具备唯一性,不能作为项目的唯一标识,即不能作为数据库表的主键。项目编号也不能作为数据库表的主键,项目编号也只是近十年的事,以前的项目没有项目编号。

综合考虑上述因素和项目具有分级、分类的特点,提出了构造项目唯一标识码(简称“项目标识”)的方法,并以此码作为数据库表的主键。

项目标识(主键):AGS+项目类别(2位)+项目起始年份(4位)+档案号(6位)

标识含义:AGS——航空物探的缩位代码;

项目类别——2位代码,01代表勘查项目、02代表科研项目;

起始年份—4位代码,项目开始年号;

档案号—6位代码,为了与传统的项目管理方式相衔接,后面3~4位是

项目档案管理模式下的档案号,不足部分补零。

以上15位编码是一级项目的项目标识,二级及其以下级别的项目标识是在上一级项目标识基础上扩展2位数字代码,中间用“”号隔开,数字为该级项目的序号。项目标识定义为30位编码,适用于六级以内的项目。例如:AGS022004000576080402,表示该项目为2004年开展的档案号为576的航空物探科研项目(一级项目)的第8课题(二级项目)第4子课题(三级项目)的第2专题。由此可见,该项目标识不仅仅是一个建立表间关系的关键字,同时还表达了不同级别项目间的隶属关系。在系统软件开发时,利用此关系生成了项目的分级树形目录,用户对项目的层次关系一目了然,便于项目查询。

数据库的主键一经确定,相应地需要确定联合主键的组成及其表达方式。所谓联合主键就是数据资料的唯一标识,在一个数据库表中选择2个或者2个以上的字段作为主键。由于航空物探数据绝大部分与项目标识有关,加之数据的种类较多,分类复杂,单凭主键确定数据库表中记录的唯一性,势必需要构建极其复杂的主键,这种方法既不利于主键的数据 *** 作,又会造成大量的数据冗余,合理地使用联合主键技术可以很好地解决资料唯一问题。以项目提交资料为例,提交的资料分为文字类资料、图件类资料和媒体类资料,我们对资料进行分类和编号,例如100代表文字资料(110——World文档,120——PDF文档),200代表图件资料(210——基础地理资料、220——基础地质资料,230——航迹线图,240——剖面图,250——等值线图等),300代表媒体资料(310——PPT文档,320——照片等),第1位(百位)表示该资料的类型,第2~3位表示该类资料的序号。

在数据库管理和项目资料查询时,采用项目标识与资料分类编号作为联合主键(图2-8),可以高效地实现复杂数据的查询。在整个数据库系统中多处(项目查询、数据提取等模块)使用联合主键技术。

图2-8 联合主键实例

三、信息标准化

为了实现数据共享,在航空物探数据库建模过程中,参考和引用了近百个国家信息化标准,编制了4个中心信息化标准和1个图件信息化工作指南。

(一)引用的国家信息化标准

1)地质矿产术语分类代码:地球物理勘查,地球化学勘查,大地构造学,工程地质学,结晶学及矿物学,矿床学,水文地质学,岩石学,地质学等。

2)国家基础信息数据分类与代码,国土基础信息数据分类与代码,地球物理勘查技术符号,地面重力测量规范,地面磁勘查技术规程,地面高精度磁测技术规程,大比例尺重力勘查规范,地理信息技术基本术语,地理点位置的纬度、经度和高程的标准表示法,地名分类与类别代码编制规则。

3)地球空间数据交换格式;数学数字地理底图数据交换格式;数字化地质图图层及属性文件格式。

(二)本系统建立的信息化标准

编写了“航空物探空间数据要素类和对象类划分标准”,“航空物探项目管理和资料管理分类代码标准”,“航空物探勘查分类代码标准”,“航空物探信息系统元数据标准”,“航空物探图件信息化工作指南”,以便与其他应用系统进行信息交换,实现数据库资料共享。

航空物探空间数据要素类和对象类划分标准:根据物探方法、数据处理过程以及推断解释方法和过程,把与GIS有关的数据划分为不同类型的要素类-对象类数据,按专业、比例尺、数据内容对要素类和对象类进行统一命名,使空间数据库中的每个要素类和对象类的命名具有唯一性,防止重名出现。规定要素类-对象类数据库表结构及数据项数值类型。

航空物探项目管理和资料管理分类代码标准:规定了航空物探项目管理和资料管理的相关内容,包括航空物探勘查项目和科研项目的项目立项、设计、实施、成果、评审、资料汇交等项目管理的全过程中的内容,以及项目成果资料和收集资料的归档、发送、销毁、借阅等资料管理与服务过程中的内容和数据项代码。

航空物探勘查分类代码标准:在“地质矿产术语分类代码地球物理勘查”(国家标准GB/T964928—1998)增加了航磁、航重专业方面所涉及的数据采集、物性参数、方法手段、仪器设备、资料数据解释及成图图件等内容和数据项代码。

航空物探信息系统元数据标准:规定了航空物探空间数据管理与服务的元数据(数据的标识、内容、质量、状况及其他有关特征)的内容。

四、航迹线数据模型

(一)航迹线模型的结构

航空物探测量是依据测量比例尺在测区内布置测网(测线和切割线)。当飞机沿着设计的测线飞行测量时,航空物探数据收录系统按照一定的采样率采集采样点的地理位置、高度和各种地球物理场信息。采用属性数据分置的方法,将测线地理位置信息从航空物探测量数据中分离出来,形成航迹线要素类表,在此表中只存储与航迹线要素类有关的数据,如项目标识、测区编号、测线号、测线类型(用于区分测线、切割线、不同高度线、重复线等)、坐标、高度值等;将航迹线的对象类数据(磁场、重力场基础数据)分别以大字段形式存储在各自的二维表中,它们共享航迹线,解决了多源有序不同采样率的航空物探测量数据的数据存储问题,在满足要素类空间查询的同时,统一数据的存储方式(图2-9)。航迹线要素类隶属于测区要素类,它们之间为空间拓扑(包含)关系。测区从属于勘查项目,每个勘查项目至少有一个测区,它们之间为1对多关系。有关项目信息存放在项目概况信息对象类表中,各种表之间通过项目标识进行联接。

图2-9 航迹线数据模型结构

(二)航迹线的UML模型

统一建模语言UML(Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。UML是面向对象技术领域内占主导地位的标准建模语言,成为可视化建模语言的工业标准。在UML基础上,ESRI定义了空间数据库建模的ArcGIS包、类库和扩展原则。

图2-10 与航迹线有关的数据库表逻辑模型结构图

在确定航迹线数据模型后,以它为基础,使用UML完成与航迹的有关的项目概况信息、测区信息、原始数据等数据库表逻辑模型设计(图2-10)。

由UML模型生成Geodatabase模式时,模型中的每个类都对应生成一个要素类或对象类。类的属性映射为要素类或对象类的字段。基类属性中包含的字段,在继承类中不需重复创建。例如,每个类都包括项目标识等字段,可以创建一个包含公共属性的基类,其他类从该类继承公共的属性,而无需重复建基类中包含的属性。因为基类没有对应的要素类或对象类,所以将基类设置为抽象类型。要素类之间的关系采用依赖关系表示。

五、数据库逻辑模型

关系数据库的逻辑结构由一组关系模式组成,因而从概念结构到关系数据库逻辑结构的转换就是将概念设计中所得到的概念结构(ER图)转换成等价的UML关系模式(图2-11)。在UML模型图中,要素数据集用Geodatabase工作空间下的静态包表示。要素集包不能互相嵌套,为了容易组织,在生成物理模型后,在要素数据集包中自定义嵌套。要素数据集与空间参考有关,但是空间参考不能在UML中表达。要素类和二维表都是以类的形式创建的,区别是要素类继承Feature Class的属性,而二维表继承Object属性。为了表达每种元素的额外属性,比如设置字符型属性字段的字符串长度,设置要素类的几何类型(点、线或面)需要使用Geodatabase预定义的元素标记值。

图2-11 逻辑设计关系转换

基于航空物探数据的内在逻辑关系进行分析,使用统一建模语言(UML)构建数据实体对象间的关系类,定义了航空物探数据库的逻辑模型(图2-12)。

数据库中“关系”和“关系的模式”有什么区别?各指的是什么

关系模式是静态的,比如我们看到的一张二维表的表头,即有哪些列构成,每个列的名称,类型啊长度等等;

关系是动态的,就是一张二维表的具体内容,就是除了标题行以外的数据行,因为表数据经常被修改,插入,删除,所以不同时刻,关系可能不一样。其实,关系就是数学中的集合了,每一行就是集合中的一个元素。

数据库与数据库模式的区别也如此

以上就是关于数据库的逻辑结构设计的图向关系全部的内容,包括:数据库的逻辑结构设计的图向关系、数据库中“关系模式”的定义是什么、数据库原理第四章关系数据库的模式设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9356483.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存