千表的数据库模型怎么设计模块模型
设计千表的数据库模型设计模块模型的方法:
细化和确定模块的功能(包括异常处理需求)、识别关键问题和实现策略与流程、以及主要静态类和线程结构设计等。
详细设计完成并通过评审之后,模块负责人根据详细设计指导,进行编码并实现模块。
模块设计方法是从计算机的模块程序设计法发展而来用于操作系统的方法,即对操作系统的各个模块分别进行设计的方法。要使操作系统具有较高的可靠性、可维护性和高效率,关键是结构设计。早期的传统模块设计法出自于早期的管理程序。
总结如下:
一个庞大的操作系统划分成许多模块之后,各模块之间必然产生联系,组成复杂的网状结构,其复杂程度将随着模块的增加而成倍增长。
主要问题是如何划分模块,如何处理模块之间的接口关系。近来提出的类程和管理模块是划分模块的好方法。它可使模块之间的接口简化,而且还保持了模块具有的效率高、系统开销小的特点。
(一)系统数据库类型
数据库是整个农用地分等信息系统的基础,是系统开发设计要考虑的重中之重。在数据形式上,系统数据库包括两大块:一是空间数据库,二是属性数据库。目前的空间数据技术已从以MapInfo为代表的混合型数据库(空间数据库+关系型数据库)发展到以ArcInfo的Coverage为代表的拓展型数据库。鉴于农用地分等属性数据量庞大,为减少数据冗余,提高数据检索的速度,本研究采用空间数据和属性数据分开管理的模式,依据关键字段进行绑定,进行科学索引,从而实现空间数据和属性动态链接和高效整合。
1.空间数据库
江苏省农用地分等信息系统空间数据库内容包括以下方面:
(1)土地利用现状图层:全省13个省辖市以1996年土地利用现状图为基础,经变更调绘形成以2000年为基准年的土地利用现状图,以现行的土地分类标准按八大类分类进行信息提取并分层存储,系统分别存储为耕地、林地、水域、未利用地、建设用地等图层。
(2)全省土壤类型图层:以土属为分类单位,比例尺为1:20万。
(3)1996年和2000年全省行政区划图层:在行政区划中精确到乡镇级别,分别提取存储了市名图层、县(区)名图层、乡(镇)名图层、全省行政界线图层、市级行政界线图层、县(区)级行政界线图层、乡(镇)级行政界线图层。
(4)评价单元图层:通过GIS空间叠加功能,利用土地利用现状图、行政区划图和土壤类型图叠加产生的评价单元图层,建立分等评价单元数据库。
2.属性数据库
江苏省农用地分等信息系统属性数据库内容包括以下方面:
(1)土壤属性数据:以全国第二次土壤普查为基础,结合全省土壤监测样点数据,建立土壤质量状况数据库,最小单位为土种,包括pH值、有机质含量、表层土壤质地、耕层厚度、障碍层深度、水土侵蚀程度、盐渍化程度数据。
(2)农田水利环境数据:建立了1996~2000年间各乡镇农田水利环境基础数据库,包括灌溉保证率、排水条件数据。
(3)土地利用现状数据:建立了全省13个省辖市的以1996年土地利用现状图为基础,经变更调绘形成的以2000年为基准年的土地利用现状数据库,区分耕地中的详细用地类型差异,标示水田、旱地、荒草地等纳入本次评价范围的用地内容。
(4)全省地形地貌数据库。
(5)农业区划数据:输入了江苏省农业区划数据,把江苏全省划分为6大区划,以乡镇为最小级别,建立全省乡镇的区划归属数据库。
(6)农业耕作制度数据:建立了全省各市、县、乡镇的农业耕作制度数据库,包括指定作物水稻和小麦的播种空间分布状况数据库。
(7)光温生产潜力数据:建立了全省各市、县指定作物水稻和小麦的光温生产潜力和气候生产潜力数据库。
(8)农业投入-产出数据:全省13个省辖市以乡镇为单位,建立了1996~2000年农业生产投入-产出数据库。
(9)作物产量数据:全省13个省辖市以乡镇为单位,建立了1996~2000年的指定作物水稻和小麦的产量数据库。
(10)土地利用详查分类面积数据:全省13个省辖市以乡镇为单位,建立了2000年土地利用详查分类面积数据库。
从数据格式上分,数据库又可分为:①图件数据库:指空间数据以及绑定在空间数据上的相关属性数据,本次江苏省农用地分等建立了以分等单元为记录的属性数据库,并通过关键字段与空间数据关联;②分类统计数据库:包括全省13个省辖市以乡镇为单位的1996~2000年指定作物产量统计数据和全省13个省辖市以乡镇为单位的2000年土地利用详查分类面积统计数据。
(二)系统数据库管理模式
为减少数据存储冗余,同时提高索引速度,江苏省农用地分等信息系统数据文件采用普遍的目录树形式进行管理,按省-市-县行政体系分别存储相关数据。全省建立13个省辖市分目录,分目录下按照各自所含的县(区)建立子目录。根据目前行政管理体系现状,基础资料大多来源于县级行政单位,因此采用县(区)为基本行政单位较为合理,在保证资料来源的同时,也利于资料的分类归档存储。其相对应的空间图件数据也按精度要求分割到县级行政单位,既能减少系统调用数据的吞吐量,同时也满足了系统的精度需求。空间数据、属性数据、文本数据按照各自所属的行政级别归类存储,同时设立数据文件管理器进行目录文件的索引管理,见图3-86。
图3-86 江苏省农用地分等信息系统数据文件管理模式图
(三)系统数据库结构
数据库的结构设计决定了数据之间的调用及接口关系,清晰的逻辑调用关系和统一的数据接口格式有利于数据的组织、管理、调用。
1.空间数据库
江苏省农用地分等信息系统空间数据库以矢量图件的形式存在,以分图层的方式管理,包括了全省行政界线、土壤类型、按八大类分别提取的土地利用现状、分等单元等图层。其中,分等单元图层作为农用地分等的基础,考虑到图层本身信息量大,可能影响到系统运行效率,因此所在图层的属性表中只保留了ID字段,通过ID字段与外部属性库绑定,实现分等单元与外部属性库一一对应关系。ID字段是本图层的特征代码,表征了单元的唯一性,能体现出单元的图上位置和行政归属。《农用地分等定级规程》(国土资源大调查专用)和《中华人民共和国行政区划代码》(GB/T 2260-1999)为本研究分等单元代码的编码依据;本研究有1996年和2000年两套行政区划工作底图,为此分等单元特征代码共设14位,依次为江苏省代码(2位)-市代码(2位)-2000年县或区代码(2位)-2000年乡镇代码(2位)-1996年县或区代码(2位)-1996年乡镇代码(2位)-分等单元号(2位)。其中,省、市、县(区)的行政代码按国家统一代码,乡镇级代码在县(区)范围内根据划分分等单元的需要依次编码;分等单元编号的原则是不破乡镇界,即单元号是在同一乡镇内部自行编码。示例:32011501210101,指1996年江苏(32)南京(01)市江宁县(21)由于2000年行政调整变更为南京(01)的江宁区(15)。按行政体系分级编码的优点是有利于空间查询和国土资源管理部门根据工作需求按行政级别分类汇总统计数据。
2.属性数据库
江苏省农用地分等信息系统采用关系型数据库来存储数据,优点是结构清晰明了,数据的更新维护方便,通过索引能优化数据库,建立快速的查询浏览(表3-26~表3-30)。
表3-26 行政代码数据结构表
表3-27 土壤属性数据结构表
表3-28 农田水利设施数据结构表
表3.29 指定农作物投入-产出数据结构表
表3-30 农业耕作制度及农业区划表
(四)系统模型库
系统以《农用地分等定级规程》(国土资源大调查专用)中的相关技术方法和计算模型为基础,在模型库中预先内置了分等计算模型。模型库是动态,它允许专家根据情况动态调整计算模型形式及其参数。系统主要模型的数学计算公式如下:
(1)农用地自然质量分值(Clij)计算公式见式(3-11)。
(2)样点土地利用系数计算公式:
中国耕地质量等级调查与评定(江苏卷)
式中:
Klj´——样点的第j种指定作物土地利用系数;
Yj——样点的第j种指定作物实际单产;
Yj,max——第j种指定作物最大标准粮单产。
(3)等值区土地利用系数计算公式:
中国耕地质量等级调查与评定(江苏卷)
式中:
Klj——等值区内第j种指定作物土地利用系数;
Klj´——参与计算的同一等值区内合格样点第j种指定作物土地利用系数;
n——排除异常数据后参与计算的样点的个数。
(4)样点土地经济系数计算公式:
中国耕地质量等级调查与评定(江苏卷)
式中:
Kcj′——样点的第j种指定作物土地经济系数;
Yj——样点第j种指定作物实际单产;
Cj——样点第j种指定作物实际成本;
Aj——第j种指定作物最高“产量-成本”指数。
(5)等值区土地经济系数计算公式:
中国耕地质量等级调查与评定(江苏卷)
式中:
Kcj——等值区内土地经济系数;
Kcj´——参与计算的同一等值区内合格样点第j种指定作物土地经济系数;
n——排除异常数据后参与计算的样点的个数。
(6)农用地自然质量等指数(Ri)计算公式见式(3-12)和式(3-13)。
(7)农用地利用等指数(Yi)计算公式见式(3-14)和式(3-15)。
(8)农用地经济等指数(Gi)计算公式见式(3-16)和式(3-17)。
按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段。
1、需求分析:分析用户的需求,包括数据、功能和性能需求
2、概念结构设计:主要采用E-R模型进行设计,包括画E-R图
3、逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换
4、数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径
5、数据库的实施:包括编程、测试和试运行
6、数据库运行与维护:系统的运行与数据库的日常维护
主要特点:
⑴ 实现数据共享
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
⑵ 减少数据的冗余度
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
⑶ 数据的独立性
数据的独立性包括逻辑独立性(数据库中数据库的逻辑结构和应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
⑷ 数据实现集中控制
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
数据库设计的基本步骤
1、需求分析阶段
进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,是最困难和最耗费时间的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建数据库“大厦”的速度与质量。需求分析做的不好,可能会导致整个数据库设计返工重做。
2、概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
3、逻辑结构设计阶段
逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
4、物理设计阶段
物理结构设计师为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方式)。
5、数据库实施阶段
在数据库实施阶段,设计人员运用数据库管理系统提供数据库语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编写与调试应用程序,组织数据入库,并进行测试运行。
6、数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断对其进行评估、调整与修改。
数据库设计的基本原则
1、一致性原则:对数据来源进行统一、系统的分析与设计,协调好各种数据源,保证数据的一致性和有效性。
2、完整性原则:数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据。对输入到数据库中的数据要有审核和约束机制。
3、安全性原则:数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏。要有认证和授权机制。
4、可伸缩性与可扩展性原则:数据库结构的设计应充分考虑发展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余。
5、规范化原则:数据库的设计应遵循规范化理论。规范化的数据库设计,可以减少数据库插入、删除、修改等操作时的异常和错误,降低数据冗余度等。