GIS数据库设计与建立.ppt

上传人:za****8 文档编号:6143945 上传时间:2020-02-17 格式:PPT 页数:184 大小:626KB
返回 下载 相关 举报
GIS数据库设计与建立.ppt_第1页
第1页 / 共184页
GIS数据库设计与建立.ppt_第2页
第2页 / 共184页
GIS数据库设计与建立.ppt_第3页
第3页 / 共184页
点击查看更多>>
资源描述
第3章GIS数据库设计与建立 主要内容 3 1GIS数据库设计概述3 2GIS数据库的概念设计3 3关系型数据库设计3 4面向对象的数据库设计3 5地理信息元数据的设计3 6基于Geodatabase的数据库设计3 7空间数据采集建库 数据库设计的特点 数据库建设是硬件 软件和干件的结合三分技术 七分管理 十二分基础数据技术与管理的界面称之为 干件 数据库设计应该与应用系统设计相结合结构 数据 设计 设计数据库框架或数据库结构行为 处理 设计 设计应用程序 事务处理等 结构和行为分离的设计传统的软件工程忽视对应用中数据语义的分析和抽象 只要有可能就尽量推迟数据结构设计的决策早期的数据库设计致力于数据模型和建模方法研究 忽视了对行为的设计 3 1GIS数据库设计概述 3 1 1GIS数据库设计的内容3 1 2数据库设计目标 3 1 1GIS数据库设计的内容 概念结构设计 逻辑结构设计 物理设计 3 1 2数据库设计目标 满足用户需求良好的数据库性能准确模拟现实世界能够被某个数据库管理系统接受 3 2GIS数据库的概念设计 3 2 1概念设计的一般步骤与方法3 2 2实体 联系模型 E R 3 2 3实体 联系扩展模型 EER 3 2 4E R模型设计步骤与方法3 2 5E R模型的操作3 2 6空间数据分层 什么是概念结构 面向用户的模型 按照用户的观点 对数据和信息进行抽象建模 什么是概念结构设计 需求分析阶段描述的用户应用需求是现实世界的具体需求将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础 它比数据模型更独立于机器 更抽象 从而更加稳定 概念结构设计是整个数据库设计的关键 概念结构设计的特点 1 能真实 充分地反映现实世界 包括事物和事物之间的联系 能满足用户对数据的处理要求 是对现实世界的一个真实模型 2 易于理解 从而可以用它和不熟悉计算机的用户交换意见 用户的积极参与是数据库的设计成功的关键 3 易于更改 当应用环境和应用要求改变时 容易对概念模型修改和扩充 4 易于向关系 网状 层次等各种数据模型转换 3 2 1概念设计的一般步骤与方法 方法 自顶向下自底向上逐步扩张混合策略步骤 抽象数据并设计局部视图 集成局部视图 得到全局的概念结构 3 2 2实体 联系模型 E R 实体 联系模型 简称E R模型 是由P P Chen于1976年首先提出的 它提供不受任何DBMS约束的面向用户的表达方法 在数据库设计中被广泛用作数据建模的工具 E R数据模型问世后 经历了许多修改和扩充 这里仅介绍基本的E R数据模型 E R模型的结构 E R模型的构成成分是实体集 属性和联系集 其表示方法如下 1 实体集用矩形框表示 矩形框内写上实体名 2 实体的属性用椭圆框表示 框内写上属性名 并用无向边与其实体集相连 3 实体间的联系用菱形框表示 联系以适当的含义命名 名字写在菱形框中 用无向连线将参加联系的实体矩形框分别与菱形框相连 并在连线上标明联系的类型 即1 1 1 M或M M 实体的属性 3 2 3实体 联系扩展模型 EER EER模型是在标准E R模型的基础上增加了一些新的要素 这些扩展包括子类 超类等新的构造 姓名 编号 职称 地址 员工 秘书 业务员 研究人员 打字速度 业绩 研究项目 d 父类 子类 3 2 4E R模型设计步骤与方法 设计局部的E R模型设计全局的E R模型全局E R模型的优化 设计局部的E R模型 数据抽象局部视图设计选择局部应用逐一设计分E R模型 设计全局的E R模型 概述 视图集成的方式视图集成的步骤集成的概念与方法 等同 聚合 抽取 设计全局的E R模型 合并分E R图 生成初步的E R图 消除冲突 属性冲突命名冲突结构冲突 设计全局的E R模型 消除不必要的冗余 设计基本的E R图 分析方法规范化理论 分析方法 以数据字典和数据流图为依据 根据数据字典中关于数据项之间逻辑关系的说明来消除冗余 例 教师工资单中包括该教师的基本工资 各种补贴 应扣除的房租水电费以及实发工资 由于实发工资可以由前面各项推算出来 因此可以去掉 在需要查询实发工资时根据基本工资 各种补贴 应扣除的房租水电费数据临时生成 规范化理论 函数依赖的概念提供了消除冗余联系的形式化工具 确定分E R图实体之间的数据依赖FL 实体之间一对一 一对多 多对多的联系可以用实体码之间的函数依赖来表示 例 班级和学生之间一对多的联系 学号 班级号学生和课程之间多对多的联系 学号 课程号 成绩 求FL的最小覆盖GL 差集为D FL GL 逐一考察D中的函数依赖 确定是否是冗余的联系 若是 就把它去掉 3 2 5E R模型的操作 实体 联系 类型 的分裂与合并实体 联系 类型 的增加与删除实体 联系 类型 的转位 3 2 6空间数据分层 三个依据两个因素一些原则 3 3关系型数据库设计 3 3 1关系模型的基本概念3 3 2关系数据库设计理论3 3 3关系数据库设计步骤与方法 关系数据库简介 系统而严格地提出关系模型的是美国IBM公司的E F Codd1970年提出关系数据模型E F Codd ARelationalModelofDataforLargeSharedDataBanks CommunicationoftheACM 1970之后 提出了关系代数和关系演算的概念1972年提出了关系的第一 第二 第三范式1974年提出了关系的BC范式 关系数据模型是一种数学化的模型 关系数据库应用数学方法来处理数据库中的数据80年代后 关系数据库系统成为最重要 最流行的数据库系统 典型实验系统SystemRUniversityINGRES典型商用系统ORACLESYBASEINFORMIXDB2INGRES 3 3 1关系模型的基本概念 关系 规范化了二维表 域是一组具有相同数据类型的值的集合 例 整数实数介于某个取值范围的整数长度指定长度的字符串集合 男 女 介于某个取值范围的日期 基本关系的性质 列是同质的 Homogeneous 每一列中的分量是同一类型的数据 来自同一个域 不同的列可出自同一个域其中的每一列称为一个属性不同的属性要给予不同的属性名 举例 人 PERSON 张清玫 刘逸 李勇 刘晨 王敏专业 SPECIALITY 计算机专业 信息专业SAP关系的导师属性和研究生属性都从PERSON域中取值 为了避免混淆 必须给这两个属性取不同的属性名 而不能直接使用域名 如定义 导师属性名为SUPERVISOR PERSON 或SUPERVISOR 研究生属性名为POSTGRADUATE PERSON 或POSTGRADUATE 列的顺序无所谓列的次序可以任意交换 遵循这一性质的数据库产品 如ORACLE 增加新属性时 永远是插至最后一列但也有许多关系数据库产品没有遵循这一性质 例如FoxPro仍然区分了属性顺序 任意两个元组不能完全相同但许多关系数据库产品没有遵循这一性质 例如 Oracle FoxPro等都允许关系表中存在两个完全相同的元组 除非用户特别定义了相应的约束条件 行的顺序无所谓行的次序可以任意交换遵循这一性质的数据库产品 如ORACLE 插入一个元组时永远插至最后一行但也有许多关系数据库产品没有遵循这一性质 例如FoxPro仍然区分了元组的顺序 分量必须取原子值每一个分量都必须是不可分的数据项 这是规范条件中最基本的一条 主键 码 若关系中的某一属性组的值能唯一地标识一个元组 则称该属性组为候选码在最简单的情况下 候选码只包含一个属性在最极端的情况下 关系模式的所有属性组是这个关系模式的候选码 称为全码 All key 主码若一个关系有多个候选码 则选定其中一个为主码 Primarykey 主码的诸属性称为主属性 Primeattribute 不包含在任何侯选码中的属性称为非码属性 Non keyattribute 主键 码 的性质 唯一性非冗余性有效性 外键 R1 R2 关系模式 关系模式 RelationSchema 是型关系是值关系模式是对关系的描述元组集合的结构属性构成属性来自的域属性与域之间的映象关系元组语义以及完整性约束条件属性间的数据依赖关系集合 关系模式可以形式化地表示为 R U D dom F R关系名U组成该关系的属性名集合D属性组U中属性所来自的域dom属性向域的映象集合F属性间的数据依赖关系集合 例 导师和研究生出自同一个域 人 取不同的属性名 并在模式中定义属性向域的映象 即说明它们分别出自哪个域 dom SUPERVISOR PERSON dom POSTGRADUATE PERSON PERSON 关系模式通常可以简记为R U 或R A1 A2 An R关系名A1 A2 An属性名注 域名及属性向域的映象常常直接说明为属性的类型 长度 关系模式对关系的描述静态的 稳定的关系关系模式在某一时刻的状态或内容动态的 随时间不断变化的 关系模型 是由若干关系模式组成的集合是用二维表格结构表示数据及数据之间联系的数据模型 3 3 2关系数据库设计理论 数据依赖理论规范化理论 数据依赖理论 什么是数据依赖 1 完整性约束的表现形式限定属性取值范围 例如学生成绩必须在0 100之间定义属性值间的相互关连 主要体现于值的相等与否 这就是数据依赖 它是数据库模式设计的关键 2 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系是现实世界属性间相互联系的抽象是数据内在的性质是语义的体现 3 数据依赖的类型函数依赖 FunctionalDependency 简记为FD 多值依赖 MultivaluedDependency 简记为MVD 其他 函数依赖 一 函数依赖二 平凡函数依赖与非平凡函数依赖三 完全函数依赖与部分函数依赖四 传递函数依赖 一 函数依赖 设R U 是一个属性集U上的关系模式 X和Y是U的子集 若对于R U 的任意一个可能的关系r r中不可能存在两个元组在X上的属性值相等 而在Y上的属性值不等 则称 X函数确定Y 或 Y函数依赖于X 记作X Y 1 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件 而是指R的所有关系实例均要满足的约束条件 2 函数依赖是语义范畴的概念 只能根据数据的语义来确定函数依赖 例如 姓名 年龄 这个函数依赖只有在不允许有同名人的条件下成立3 数据库设计者可以对现实世界作强制的规定 例如规定不允许同名人出现 函数依赖 姓名 年龄 成立 所插入的元组必须满足规定的函数依赖 若发现有同名人存在 则拒绝装入该元组 例 Student Sno Sname Ssex Sage Sdept 假设不允许重名 则有 Sno Ssex Sno Sage Sno Sdept Sno Sname Sname Ssex Sname SageSname Sdept但Ssex Sage若X Y 并且Y X 则记为X Y 若Y不函数依赖于X 则记为X Y 二 平凡函数依赖与非平凡函数依赖 在关系模式R U 中 对于U的子集X和Y 如果X Y 但Y X 则称X Y是非平凡的函数依赖若X Y 但Y X 则称X Y是平凡的函数依赖例 在关系SC Sno Cno Grade 中 非平凡函数依赖 Sno Cno Grade平凡函数依赖 Sno Cno Sno Sno Cno Cno 于任一关系模式 平凡函数依赖都是必然成立的 它不反映新的语义 因此若不特别声明 我们总是讨论非平凡函数依赖 三 完全函数依赖与部分函数依赖 在关系模式R U 中 如果X Y 并且对于X的任何一个真子集X 都有X Y 则称Y完全函数依赖于X 记作X Y 若X Y 但Y不完全函数依赖于X 则称Y部分函数依赖于X 记作XPY 例 在关系SC Sno Cno Grade 中 由于 Sno Grade Cno Grade 因此 Sno Cno Grade 四 传递函数依赖 在关系模式R U 中 如果X Y Y Z 且Y X Y X 则称Z传递函数依赖于X 注 如果Y X 即X Y 则Z直接依赖于X 例 在关系Std Sno Sdept Mname 中 有 Sno Sdept Sdept MnameMname传递函数依赖于Sno 多值依赖 规范化理论 规范化理论正是用来改造关系模式 通过分解关系模式来消除其中不合适的数据依赖 以解决插入异常 删除异常 更新异常和数据冗余问题 范式是符合某一种级别的关系模式的集合 关系数据库中的关系必须满足一定的要求 满足不同程度要求的为不同范式 范式的种类 第一范式 1NF 第二范式 2NF 第三范式 3NF BC范式 BCNF 第四范式 4NF 第五范式 5NF 各种范式之间存在联系 某一关系模式R为第n范式 可简记为R nNF 1NF 1NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项 则R 1NF 第一范式是对关系模式的最起码的要求 不满足第一范式的数据库模式不能称为关系数据库 但是满足第一范式的关系模式并不一定是一个好的关系模式 例 关系模式SLC Sno Sdept Sloc Cno Grade Sloc为学生住处 假设每个系的学生住在同一个地方 函数依赖包括 Sno Cno fGradeSno Sdept Sno Cno PSdeptSno Sloc Sno Cno PSlocSdept Sloc SLC的码为 Sno Cno SLC满足第一范式 非主属性Sdept和Sloc部分函数依赖于码 Sno Cno 问题 1 插入异常假设Sno 95102 Sdept IS Sloc N的学生还未选课 因课程号是主属性 因此该学生的信息无法插入SLC 2 删除异常假定某个学生本来只选修了3号课程这一门课 现在因身体不适 他连3号课程也不选修了 因课程号是主属性 此操作将导致该学生信息的整个元组都要删除 3 数据冗余度大如果一个学生选修了10门课程 那么他的Sdept和Sloc值就要重复存储了10次 4 修改复杂例如学生转系 在修改此学生元组的Sdept值的同时 还可能需要修改住处 Sloc 如果这个学生选修了K门课 则必须无遗漏地修改K个元组中全部Sdept Sloc信息 原因Sdept Sloc部分函数依赖于码 解决方法SLC分解为两个关系模式 以消除这些部分函数依赖 SC Sno Cno Grade SL Sno Sdept Sloc 2NF 若关系模式R 1NF 并且每一个非主属性都完全函数依赖于R的码 则R 2NF 例 SLC Sno Sdept Sloc Cno Grade 1NFSLC Sno Sdept Sloc Cno Grade 2NFSC Sno Cno Grade 2NFSL Sno Sdept Sloc 2NF 采用投影分解法将一个1NF的关系分解为多个2NF的关系 可以在一定程度上减轻原1NF关系中存在的插入异常 删除异常 数据冗余度大 修改复杂等问题 将一个1NF关系分解为多个2NF的关系 并不能完全消除关系模式中的各种异常情况和数据冗余 3NF 例 2NF关系模式SL Sno Sdept Sloc 中函数依赖 Sno SdeptSdept SlocSno SlocSloc传递函数依赖于Sno 即SL中存在非主属性对码的传递函数依赖 解决方法采用投影分解法 把SL分解为两个关系模式 以消除传递函数依赖 SD Sno Sdept DL Sdept Sloc SD的码为Sno DL的码为Sdept SD的码为Sno DL的码为Sdept 关系模式R中若不存在这样的码X 属性组Y及非主属性Z Z Y 使得X Y Y X Y Z 成立 则称R 3NF 例 SL Sno Sdept Sloc 2NF SL Sno Sdept Sloc 3NFSD Sno Sdept 3NFDL Sdept Sloc 3NF 若R 3NF 则R的每一个非主属性既不部分函数依赖于候选码也不传递函数依赖于候选码 如果R 3NF 则R也是2NF 采用投影分解法将一个2NF的关系分解为多个3NF的关系 可以在一定程度上解决原2NF关系中存在的插入异常 删除异常 数据冗余度大 修改复杂等问题 将一个2NF关系分解为多个3NF的关系后 并不能完全消除关系模式中的各种异常情况和数据冗余 BC范式 BCNF 设关系模式R 1NF 如果对于R的每个函数依赖X Y 若Y不属于X 则X必含有候选码 那么R BCNF 若R BCNF每一个决定属性集 因素 都包含 候选 码R中的所有属性 主 非主属性 都完全函数依赖于码R 3NF 证明 若R 3NF则R不一定 BCNF 例 在关系模式STJ S T J 中 S表示学生 T表示教师 J表示课程 每一教师只教一门课 每门课由若干教师教 某一学生选定某门课 就确定了一个固定的教师 某个学生选修某个教师的课就确定了所选课的名称 S J T S T J T J STJ 3NF S J 和 S T 都可以作为候选码S T J都是主属性STJ BCNFT J T是决定属性集 T不是候选码 解决方法 将STJ分解为二个关系模式 SJ S J BCNF TJ T J BCNF没有任何属性对码的部分函数依赖和传递函数依赖 3NF与BCNF的关系 如果关系模式R BCNF 必定有R 3NF如果R 3NF 且R只有一个候选码 则R必属于BCNF BCNF的关系模式所具有的性质 所有非主属性都完全函数依赖于每个候选码 所有主属性都完全函数依赖于每个不包含它的候选码 没有任何属性完全函数依赖于非码的任何一组属性 多值依赖与第四范式 4NF 例 学校中某一门课程由多个教师讲授 他们使用相同的一套参考书 关系模式Teaching C T B 课程C 教师T和参考书B Teaching BCNF Teach具有唯一候选码 C T B 即全码Teaching模式中存在的问题 1 数据冗余度大 有多少名任课教师 参考书就要存储多少次 2 插入操作复杂 当某一课程增加一名任课教师时 该课程有多少本参照书 就必须插入多少个元组例如物理课增加一名教师刘关 需要插入两个元组 物理 刘关 普通物理学 物理 刘关 光学原理 3 删除操作复杂 某一门课要去掉一本参考书 该课程有多少名教师 就必须删除多少个元组 4 修改操作复杂 某一门课要修改一本参考书 该课程有多少名教师 就必须修改多少个元组产生原因存在多值依赖 多值依赖 设R U 是一个属性集U上的一个关系模式 X Y和Z是U的子集 并且Z U X Y 多值依赖X Y成立当且仅当对R的任一关系r r在 X Z 上的每个值对应一组Y的值 这组值仅仅决定于X值而与Z值无关例Teaching C T B 对于C的每一个值 T有一组值与之对应 而不论B取何值 在R U 的任一关系r中 如果存在元组t s使得t X s X 那么就必然存在元组w v r w v可以与s t相同 使得w X v X t X 而w Y t Y w Z s Z v Y s Y v Z t Z 即交换s t元组的Y值所得的两个新元组必在r中 则Y多值依赖于X 记为X Y 这里 X Y是U的子集 Z U X Y txy1z2sxy2z1wxy1z1vxy2z2 平凡多值依赖和非平凡的多值依赖若X Y 而Z 则称X Y为平凡的多值依赖否则称X Y为非平凡的多值依赖 第四范式 4NF 关系模式R 1NF 如果对于R的每个非平凡多值依赖X Y Y X X都含有候选码 则R 4NF X Y 如果R 4NF 则R BCNF不允许有非平凡且非函数依赖的多值依赖允许的是函数依赖 是非平凡多值依赖 例 Teach C T B 4NF存在非平凡的多值依赖C T 且C不是候选码用投影分解法把Teach分解为如下两个关系模式 CT C T 4NFCB C B 4NFC T C B是平凡多值依赖 规范化 关系数据库的规范化理论是数据库逻辑设计的工具 一个关系只要其分量都是不可分的数据项 它就是规范化的关系 但这只是最基本的规范化 规范化程度可以有多个不同的级别 规范化程度过低的关系不一定能够很好地描述现实世界 可能会存在插入异常 删除异常 修改复杂 数据冗余等问题一个低一级范式的关系模式 通过模式分解可以转换为若干个高一级范式的关系模式集合 这种过程就叫关系模式的规范化 关系模式规范化的基本步骤1NF 消除非主属性对码的部分函数依赖消除决定属性2NF集非码的非平 消除非主属性对码的传递函数依赖凡函数依赖3NF 消除主属性对码的部分和传递函数依赖BCNF 消除非平凡且非函数依赖的多值依赖4NF 规范化的基本思想 消除不合适的数据依赖的各关系模式达到某种程度的 分离 采用 一事一地 的模式设计原则让一个关系描述一个概念 一个实体或者实体间的一种联系 若多于一个概念就把它 分离 出去所谓规范化实质上是概念的单一化 不能说规范化程度越高的关系模式就越好在设计数据库模式结构时 必须对现实世界的实际情况和用户应用需求作进一步分析 确定一个合适的 能够反映现实世界的模式上面的规范化步骤可以在其中任何一步终止 3 3 3关系数据库设计步骤与方法 E R图向关系模型的转换数据模型的优化关系模型的优化 E R图向关系模型的转换 转换内容转换原则 转换内容 E R图由实体 实体的属性和实体之间的联系三个要素组成关系模型的逻辑结构是一组关系模式的集合将E R图转换为关系模型 将实体 实体的属性和实体之间的联系转化为关系模式 转换原则 一个实体型转换为一个关系模式 关系的属性 实体型的属性关系的码 实体型的码例 学生实体可以转换为如下关系模式 学生 学号 姓名 出生日期 所在系 年级 平均成绩 性别 宿舍 班级 档案材料 教师 课程 教室 教科书都分别转换为一个关系模式 一个m n联系转换为一个关系模式 关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合例 选修 联系是一个m n联系 可以将它转换为如下关系模式 其中学号与课程号为关系的组合码 选修 学号 课程号 成绩 一个1 n联系可以转换为一个独立的关系模式 也可以与n端对应的关系模式合并 1 转换为一个独立的关系模式关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的码 n端实体的码 2 与n端对应的关系模式合并合并后关系的属性 在n端关系中加入1端关系的码和联系本身的属性合并后关系的码 不变可以减少系统中的关系个数 一般情况下更倾向于采用这种方法 例 组成 联系为1 n联系 将其转换为关系模式的两种方法 1 使其成为一个独立的关系模式 组成 学号 班级号 2 将其学生关系模式合并 学生 学号 姓名 出生日期 所在系 年级 班级号 平均成绩 一个1 1联系可以转换为一个独立的关系模式 也可以与任意一端对应的关系模式合并 1 转换为一个独立的关系模式关系的属性 与该联系相连的各实体的码以及联系本身的属性关系的候选码 每个实体的码均是该关系的候选码 2 与某一端对应的关系模式合并合并后关系的属性 加入对应关系的码和联系本身的属性合并后关系的码 不变 例 管理 联系为1 1联系 可以有三种转换方法 1 转换为一个独立的关系模式 管理 职工号 班级号 或管理 职工号 班级号 2 管理 联系与班级关系模式合并 则只需在班级关系中加入教师关系的码 即职工号 班级 班级号 学生人数 职工号 3 管理 联系与教师关系模式合并 则只需在教师关系中加入班级关系的码 即班级号 教师 职工号 姓名 性别 职称 班级号 是否为优秀班主任 注意 从理论上讲 1 1联系可以与任意一端对应的关系模式合并 但在一些情况下 与不同的关系模式合并效率会大不一样 因此究竟应该与哪端的关系模式合并需要依应用的具体情况而定 由于连接操作是最费时的操作 所以一般应以尽量减少连接操作为目标 例如 如果经常要查询某个班级的班主任姓名 则将管理联系与教师关系合并更好些 三个或三个以上实体间的一个多元联系转换为一个关系模式 关系的属性 与该多元联系相连的各实体的码以及联系本身的属性关系的码 各实体码的组合例 讲授 联系是一个三元联系 可以将它转换为如下关系模式 其中课程号 职工号和书号为关系的组合码 讲授 课程号 职工号 书号 同一实体集的实体间的联系 即自联系 也可按上述1 1 1 n和m n三种情况分别处理 例 如果教师实体集内部存在领导与被领导的1 n自联系 我们可以将该联系与教师实体合并 这时主码职工号将多次出现 但作用不同 可用不同的属性名加以区分 教师 职工号 姓名 性别 职称 系主任 具有相同码的关系模式可合并 目的 减少系统中的关系个数 合并方法 将其中一个关系模式的全部属性加入到另一个关系模式中 然后去掉其中的同义属性 可能同名也可能不同名 并适当调整属性的次序 例 拥有 关系模式 拥有 学号 性别 与学生关系模式 学生 学号 姓名 出生日期 所在系 年级 班级号 平均成绩 都以学号为码 可以将它们合并为一个关系模式 学生 学号 姓名 性别 出生日期 所在系 年级 班级号 平均成绩 数据模型的优化 数据库逻辑设计的结果不是唯一的 得到初步数据模型后 还应该适当地修改 调整数据模型的结构 以进一步提高数据库应用系统的性能 这就是数据模型的优化 关系数据模型的优化通常以规范化理论为指导 数据模型的优化 优化方法 确定数据依赖按需求分析阶段所得到的语义 分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖 例 课程关系模式内部存在下列数据依赖 课程号 课程名课程号 学分课程号 教室号选修关系模式中存在下列数据依赖 学号 课程号 成绩 学生关系模式中存在下列数据依赖 学号 姓名学号 性别学号 出生日期学号 所在系学号 年级学号 班级号学号 平均成绩学号 档案号 学生关系模式的学号与选修关系模式的学号之间存在数据依赖 学生 学号 选修 学号 对于各个关系模式之间的数据依赖进行极小化处理 消除冗余的联系 按照数据依赖的理论对关系模式逐一进行分析 考查是否存在部分函数依赖 传递函数依赖 多值依赖等 确定各关系模式分别属于第几范式 例如经过分析可知 课程关系模式属于BC范式 按照需求分析阶段得到的各种应用对数据处理的要求 分析对于这样的应用环境这些模式是否合适 确定是否要对它们进行合并或分解 并不是规范化程度越高的关系就越优 当一个应用的查询中经常涉及到两个或多个关系模式的属性时 系统必须经常地进行联接运算 而联系运算的代价是相当高的 可以说关系模型低效的主要原因就是做联接运算引起的 因此在这种情况下 第二范式甚至第一范式也许是最好的 非BCNF的关系模式虽然从理论上分析会存在不同程度的更新异常 但如果在实际应用中对此关系模式只是查询 并不执行更新操作 则就不会产生实际影响 对于一个具体应用来说 到底规范化进行到什么程度 需要权衡响应时间和潜在问题两者的利弊才能决定 一般说来 第三范式就足够了 例 在关系模式学生成绩单 学号 英语 数学 语文 平均成绩 中存在下列函数依赖 学号 英语学号 数学学号 语文学号 平均成绩 英语 数学 语文 平均成绩 显然有 学号 英语 数学 语文 因此该关系模式中存在传递函数信赖 是2NF关系 虽然平均成绩可以由其他属性推算出来 但如果应用中需要经常查询学生的平均成绩 为提高效率 我们仍然可保留该冗余数据 对关系模式不再做进一步分解 按照需求分析阶段得到的各种应用对数据处理的要求 对关系模式进行必要的分解或合并 以提高数据操作的效率和存储空间的利用率常用分解方法水平分解垂直分解 水平分解什么是水平分解把 基本 关系的元组分为若干子集合 定义每个子集合为一个子关系 以提高系统的效率 水平分解的适用范围1 满足 80 20原则 的应用80 20原则 一个大关系中 经常被使用的数据只是关系的一部分 约20 把经常使用的数据分解出来 形成一个子关系 可以减少查询的数据量 2 并发事务经常存取不相交的数据如果关系R上具有n个事务 而且多数事务存取的数据不相交 则R可分解为少于或等于n个子关系 使每个事务存取的数据对应一个关系 垂直分解什么是垂直分解把关系模式R的属性分解为若干子集合 形成若干子关系模式 垂直分解的原则经常在一起使用的属性从R中分解出来形成一个子关系模式 垂直分解的优点可以提高某些事务的效率垂直分解的缺点可能使另一些事务不得不执行连接操作 从而降低了效率 垂直分解的适用范围取决于分解后R上的所有事务的总效率是否得到了提高 进行垂直分解的方法简单情况 直观分解复杂情况 用模式分解算法垂直分解必须不损失关系模式的语义 保持无损连接性和保持函数依赖 关系模型的优化 结合用户需求和查询效率进一步优化关系模型设计的两个主要目标 数据冗余较小快速查询数据认真分析用户需求 从最常用的查询要求中找到最频繁使用的连接运算及相关关系模式 进行必要的合并 关系模型的局限性 3 4面向对象的数据库设计 3 4 1面向对象数据库及其基本特征3 4 2面向对象的分析和设计 概念的区分 把面向对象的数据库设计 即数据库模式 思想与面向对象数据库管理系统 OODBMS 理论混为一谈 其实前者是数据库用户定义数据库模式的思路 后者是数据库管理程序的思路 用户使用面向对象方法学可以定义任何一种DBMS数据库 即网络型 层次型 关系型 面向对象型均可 甚至文件系统设计也照样可以遵循面向对象的思路 面向对象的思路或称规范可以用于系统分析 系统设计 程序设计 也可以用于数据结构设计 数据库设计 3 4 1面向对象数据库及其基本特征 面向对象其实是现实世界模型的自然延伸 现实世界中任何实体都可以看作是对象 对象之间通过消息相互作用 另外 现实世界中任何实体都可归属于某类事物 任何对象都是某一类事物的实例 对象类具有相同属性和服务的一组对象的集合例化与实例实例是某个特定的具体类所描述的一个具体的对象例化用对象类定义其实例对象的过程 表明这个对象是属于这个类的属性实体所具有的特性的抽象单值属性互斥属性多值属性 封装就是用一个自主式框架把对象的数据和方法联在一起形成一个整体多态性就是多种表现形式 具体来说 可以用 一个对外接口 多个内在实现方法 表示 举一个例子 计算机中的堆栈可以存储各种格式的数据 包括整型 浮点或字符 不管存储的是何种数据 堆栈的算法实现是一样的 继承是指一个对象直接使用另一对象的属性和方法 事实上 我们遇到的很多实体都有继承的含义 例如 若把汽车看成一个实体 它可以分成多个子实体 如 卡车 公共汽车等 这些子实体都具有汽车的特性 因此 汽车是它们的 父亲 而这些子实体则是汽车的 孩子 消息是对象之间唯一合法的动态联系途径 实现对象之间的交互作用事件引起对象状态转换的控制信息 在一个时间点上发生的事情 3 4 2面向对象的分析和设计 面向对象的分析和设计一般分为 问题定义系统分析系统设计详细设计 问题定义 系统分析 建立三个模型 对象模型动态模型功能模型 系统分析 对象模型 定义了系统中实现功能的主体和它们的静态与动态结构 做事主体 通过标识对象类以及它们之间的关系来反映对象系统的整体结构归纳关系组合关系关联关系 系统分析 动态模型 对象在什么状态下接受什么事件的触发 回答什么时候做的问题 条件 将每个类的动态行为 不同的状态 触发状态的事件 对事件的响应用状态转换图表示出来 是基于事件共享而相互关联的一组状态转换图的集合 系统分析 功能模型 明确系统中功能的具体对象 说明系统做什么 责任 表示系统中信息的流动 变化与存储 由一组数据流图组成 系统设计 设计系统的体系结构选择一个外部控制的实现方法选择数据管理方法和数据库管理模式确定重用范围选择数据交互的策略选择一种对象标识方法处理临时数据处理辅助数据 详细设计 使用变换简化和优化分析阶段的对象模型补充漏掉的细节详细设计模型质量的评估 3 5地理信息元数据的设计 3 5 1地理信息元数据确定的原则3 5 2地理信息元数据的主要内容3 5 3地理信息元数据的组织 对于空间元数据标准内容的研究 目前国际上主要有欧洲标准化委员会 CEN TC287 美国联邦地理委员会 FGDC 国际标准化组织地理信息 地球信息技术委员会 ISO TC211 空间元数据的定义 欧洲标准化委员会CEN TC287 描述地理信息数据集内容 表示 空间参考 质量以及管理的数据 美国联邦地理数据委员会FGDC和国际标准化组织地理信息 地球信息委员会ISO TC211 空间元数据是 关于数据的内容 质量 条件以及其它特征的数据 总的来说 空间元数据是 关于数据的数据 它在地理信息中用于描述地理数据集的内容 质量 表达方式 空间参考 管理方式以及数据集的其它特征 它是实现地理空间信息共享的核心标准之一 地理空间元数据与数据字典的主要区别 元数据是对关于数据集本身及其内容的全面分层次规范化的描述 且任何数据集的元数据描述格式和内容都是相同的 因而可以用相同的管理系统对所有数据集的元数据进行管理和维护 数据字典只是描述数据集中的部分内容 且没有统一的规范和标准 不同数据集生产者只是根据不同需求对数据集内容作出描述或说明 因此不可用相同的管理系统进行统一的管理和维护 空间元数据主要有下列几个方面的作用 1 用来组织和管理空间信息 并挖掘空间信息资源 这正是数字地球的特点和优点所在 通过它可以在Internet上准确地识别 定位和访问空间信息 2 帮助数据所有者查询所需空间信息 比如 它可以按照不同的地理区间 指定的语言以及具体的时间段来查找空间信息资源 3 维护和延续一个机构对数据的投资 空间元数据可以确保一个机构对数据投资的安全 4 用来建立空间信息的数据目录和数据交换中心 5 提供数据转换方面的信息 在未来的空间信息中 均应当包含空间元数据信息 以便使用户在获取包含空间信息数据集的同时就可以得到空间元数据信息 空间元数据的应用现状 目前对于地理空间元数据的应用需求主要集中在目录 历史记录 地理空间数据集内部以及可读性等4个方面 其具体的实施应用 关键是在获取和整理地理空间数据的同时 要严格按照地理空间元数据的标准规范 建立该数据集的元数据和建立相应的元数据管理系统 并向上一级数据交换中心提供该数据集的元数据标准规范 空间元数据的分类 按照Metadata所描述的数据内容 Metadata可分为数据系列Metadata 数据集Metadata 要素类型和要素实例Metadata 属性类型和属性实例Metadata 3 5 1地理信息元数据确定的原则 完整性准确性结构性与其他标准的一致性 3 5 2地理信息元数据的主要内容 标识信息数据质量信息空间参照系统信息内容信息核心元数据参考信息 3 5 3地理信息元数据的组织 按照元素性质来组织按照功能来组织按照使用范围来组织按照重要程度来组织 3 6基于Geodatabase的数据库设计 3 6 1Geodatabase数据模型3 6 2Geodatabase数据库设计3 6 3广东省佛山市南海区土地利用数据库设计 Geodatabase是ESRI公司在ArcGIS8引入的一个全新的空间数据模型 是建立在关系型数据库管理信息系统之上的统一的 智能化的空间数据库 它是在新的一体化数据存储技术的基础上发展起来的新数据模型实现了Geodatabase之前所有 包括Coverage shape 空间数据模型都无法完成的数据统一管理 即在一个公共模型框架下对GIS通常所处理和表达的地理空间特征如矢量 栅格 TIN 网络 地址进行同一描述同时 Geodatabase是面向对象的地理数据模型 其地理空间特征的表达较之以往的模型更接近我们对现实事物对象的认识和表达 3 6 1Geodatabase数据模型 Geodatabase中的信息类型 表对象类要素类子类要素数据集关系拓扑关系几何网络栅格数据集元数据 Geodatabase数据模型的优势 1 所有的图形数据和属性数据统一存储在商业DBMS中 2 便于使用DBMS支持的多用户并发访问 事务管理 失败事务恢复等机制 3 支持智能化的要素 规则和关系 4 完善的用户支持 3 6 2Geodatabase数据库设计 设计的内容设计的步骤 设计的内容 规定构成数据库的要素类 栅格数据集 其他表 以及表之间的各种关系 设计的步骤 1 数据的用户视图建模 和用户交流 了解用户结构 解析用护的业务模型 2 定义对象和关联 使用对象集和创建逻辑数据模型 并定义它们之间的关联 3 选择地理描述方式 对有意义的数据采用确切的描述方式 如矢量 栅格 表面或Locator 4 与Geodatabase元素匹配 将逻辑模型中的对象与Geodatabase中的元素互相匹配起来 5 组织Geodatabase结构 考虑地图专题 拓扑关联以及不同用户部门对数据的需求 创建Geodatabase 3 6 3广东省佛山市南海区土地利用数据库设计 数据分层数据组织
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!