数据库和逻辑模型有哪四种

数据库和逻辑模型有哪四种,第1张

数据库和逻辑模型有概念模型、层次模型、网状模型和关系模型四种。

逻辑模型,是指数据的逻辑结构。逻辑建模是数据仓库实施中的重要一环,因为它能直接反映出业务部门的需求,同时对系统的物理实施有着重要的指导作用。它的作用在于可以通过实体和关系勾勒出企业的数据蓝图。在管理信息系统中,逻辑模型:是着重用逻辑的过程或主要的业务来描述对象系统,描述系统要“做什么”,或者说具有哪些功能。

管理信息系统的开发策略,即通过对系统进行分析得到系统的逻辑模型,进而从逻辑模型求得最优的物理模型。逻辑模型和物理模型的这种螺旋式循环优化的设计模式体现了自上而下、自下而上结合的设计思想。在数据仓库中,总的来说数据仓库的结构采用了三级数据模型的方式,即概念模型、逻辑模型、物理模型。其中,逻辑模型:用来构建数据仓库的数据库逻辑模型。根据分析系统的实际需求决策构建数据库逻辑关系模型,定义数据库物体结构及其关系。它关联着数据仓库的逻辑模型和物理模型两方。

随着计算机技术越来越广泛地应用于国民经济的各个领域 在计算机硬件不断微型化的同时 应用系统向着复杂化 大型化的方向发展 数据库是整个系统的核心 它的设计直接关系系统执行的效率和系统的稳定性 因此在软件系统开发中 数据库设计应遵循必要的数据库范式理论 以减少冗余 保证数据的完整性与正确性 只有在合适的数据库产品上设计出合理的数据库模型 才能降低整个系统的编程和维护难度 提高系统的实际运行效率 虽然对于小项目或中等规模的项目开发人员可以很容易地利用范式理论设计出一套符合要求的数据库 但对于一个包含大型数据库的软件项目 就必须有一套完整的设计原则与技巧

一 成立数据小组

大型数据库数据元素多 在设计上有必要成立专门的数据小组 由于数据库设计者不一定是使用者 对系统设计中的数据元素不可能考虑周全 数据库设计出来后 往往难以找到所需的库表 因此数据小组最好由熟悉业务的项目骨干组成

数据小组的职能并非是设计数据库 而是通过需求分析 在参考其他相似系统的基础上 提取系统的基本数据元素 担负对数据库的审核 审核内容包括审核新的数据库元素是否完全 能否实现全部业务需求 对旧数据库(如果存在旧系统)的分析及数据转换 数据库设计的审核 控制及必要调整

二 设计原则

规范命名 所有的库名 表名 域名必须遵循统一的命名规则 并进行必要说明 以方便设计 维护 查询

控制字段的引用 在设计时 可以选择适当的数据库设计管理工具 以方便开发人员的分布式设计和数据小组的集中审核管理 采用统一的命名规则 如果设计的字段已经存在 可直接引用 否则 应重新设计

库表重复控制 在设计过程中 如果发现大部分字段都已存在 开发人员应怀疑所设计的库表是否已存在 通过对字段所在库表及相应设计人员的查询 可以确认库表是否确实重复

并发控制 设计中应进行并发控制 即对于同一个库表 在同一时间只有一个人有控制权 其他人只能进行查询

必要的讨论 数据库设计完成后 数据小组应与相关人员进行讨论 通过讨论来熟悉数据库 从而对设计中存在的问题进行控制或从中获取数据库设计的必要信息

数据小组的审核 库表的定版 修改最终都要通过数据小组的审核 以保证符合必要的要求

头文件处理 每次数据修改后 数据小组要对相应的头文件进行修改(可由管理软件自动完成) 并通知相关的开发人员 以便进行相应的程序修改

三 设计技巧

分类拆分数据量大的表 对于经常使用的表(如某些参数表或代码对照表) 由于其使用频率很高 要尽量减少表中的记录数量 例如 银行的户主账表原来设计成一张表 虽然可以方便程序的设计与维护 但经过分析发现 由于数据量太大 会影响数据的迅速定位 如果将户主账表分别设计为活期户主账 定期户主账及对公户主账等 则可以大大提高查询效率

索引设计 对于大的数据库表 合理的索引能够提高整个数据库的 *** 作效率 在索引设计中 索引字段应挑选重复值较少的字段 在对建有复合索引的字段进行检索时 应注意按照复合索引字段建立的顺序进行 例如 如果对一个 万多条记录的流水表以日期和流水号为序建立复合索引 由于在该表中日期的重复值接近整个表的记录数 用流水号进行查询所用的时间接近 秒 而如果以流水号为索引字段建立索引进行相同的查询 所用时间不到 秒 因此在大型数据库设计中 只有进行合理的索引字段选择 才能有效提高整个数据库的 *** 作效率

数据 *** 作的优化 在大型数据库中 如何提高数据 *** 作效率值得关注 例如 每在数据库流水表中增加一笔业务 就必须从流水控制表中取出流水号 并将其流水号的数值加一 正常情况下 单笔 *** 作的反应速度尚属正常 但当用它进行批量业务处理时 速度会明显减慢 经过分析发现 每次对流水控制表中的流水号数值加一时都要锁定该表 而该表却是整个系统 *** 作的核心 有可能在 *** 作时被其他进程锁定 因而使整个事务 *** 作速度变慢 对这一问题的解决的办法是 根据批量业务的总笔数批量申请流水号 并对流水控制表进行一次更新 即可提高批量业务处理的速度 另一个例子是对插表的优化 对于大批量的业务处理 如果在插入数据库表时用普通的Insert语句 速度会很慢 其原因在于 每次插表都要进行一次I/O *** 作 花费较长的时间 改进后 可以用Put语句等缓冲区形式等满页后再进行I/O *** 作 从而提高效率 对大的数据库表进行删除时 一般会直接用Delete语句 这个语句虽然可以进行小表 *** 作 但对大表却会因带来大事务而导致删除速度很慢甚至失败 解决的方法是去掉事务 但更有效的办法是先进行Drop *** 作再进行重建

数据库参数的调整 数据库参数的调整是一个经验不断积累的过程 应由有经验的系统管理员完成 以Informix数据库为例 记录锁的数目太少会造成锁表的失败 逻辑日志的文件数目太少会造成插入大表失败等 这些问题都应根据实际情况进行必要的调整

必要的工具 在整个数据库的开发与设计过程中 可以先开发一些小的应用工具 如自动生成库表的头文件 插入数据的初始化 数据插入的函数封装 错误跟踪或自动显示等 以此提高数据库的设计与开发效率

避免长事务 对单个大表的删除或插入 *** 作会带来大事务 解决的办法是对参数进行调整 也可以在插入时对文件进行分割 对于一个由一系列小事务顺序 *** 作共同构成的长事务(如银行交易系统的日终交易) 可以由一系列 *** 作完成整个事务 但其缺点是有可能因整个事务太大而使不能完成 或者 由于偶然的意外而使事务重做所需的时间太长 较好的解决方法是 把整个事务分解成几个较小的事务 再由应用程序控制整个系统的流程 这样 如果其中某个事务不成功 则只需重做该事务 因而既可节约时间 又可避免长事务

适当超前 计算机技术发展日新月异 数据库的设计必须具有一定前瞻性 不但要满足当前的应用要求 还要考虑未来的业务发展 同时必须有利于扩展或增加应用系统的处理功能

lishixinzhi/Article/program/SQL/201311/16498

设计一个数据库需要我们耐心收集和分析数据,仔细理清数据间的关系,消除对数据库应用不利的隐患等等。在整个设计过程中,我们必须按步骤认真完成。一个数据库的设计好坏将直接影响将来基于该数据库的应用。

另外,数据库也不是独立存在的,它总是与具体的应用相关的,为具体的应用而建立的。因此在设计数据库之前我们必须明确应用的目的,在设计数据库的时候也应时刻考虑用户需求,数据库与具体应用之间是相辅相成的关系。

数据库的设计过程一般包括以下几个步骤:

确定建立数据库的目的和收集数据;

建立概念模型;

建立数据模型;

实施与维护数据库;

1.确定建立数据库的目的和收集数据

数据库设计过程的第一个阶段是确定建立数据库的目的和收集数据。通常,我们也把确定建立数据库的目的称为需求分析。需求分析的任务就是通过详细调查要处理的对象来明确用户的各种需求。并且通过调查、收集和分析信息,以了解在数据库中需要存储哪些数据,要完成什么样的数据处理功能。这一过程是数据库设计的起点,它将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。

确定目的之后就需要根据目的收集有用的数据。在着手收集数据之前最重要的就是要调查用户的实际需求,然后分析与表达这些需求。调查用户需求的方法有很多,如查阅记录、访谈、开调查会、设计调查表请用户填写或回答相关问题等。其中比较有效的方法是访谈,我们可以借助一些设计合理的调查表来与用户直接交流。通过充分交流,可以了解他们平时是如何使用数据库的,以及对当前信息的要求,进而设计满足用户需求的字段,并根据设计的字段收集数据。

2.建立概念模型

确定建立数据库的目的以及完成数据收集后,就进入数据库设计过程的第二阶段——建立概念模型。这一阶段是整个数据库设计的关键。设计时,一般先根据应用的需求,画出能反映每个应用需求的E-R图,其中包括确定实体、属性和联系的类型。然后优化初始的E-R图,消除冗余和可能存在的矛盾。概念模型是对用户需求的客观反映,并不涉及具体的计算机软、硬件环境。因此,在这一阶段中我们必须将注意力集中在怎样表达出用户对信息的需求,而不考虑具体实现问题。

3.建立数据模型

完成上一阶段后,我们得到了一个与具体计算机软、硬件无关的概念模型。接着我们就可以着手建立数据库模型了,这是数据库设计过程的第三个阶段。在这一阶段中我们要将概念模型中得到的E-R图转换成具体的数据模型。通过前面的学习,我们已经了解到数据模型一般分为层次、网状、关系和面向对象模型等。目前比较常用的是关系数据模型,我们通常将E-R图转换成关系数据模型,实际上就是要将实体、实体的属性和实体之间的联系转换为关系模式。

4.实施与维护数据库

最后一个阶段是实施与维护数据库。完成数据模型的建立后,我们就必须对字段进行命名,确定字段的类型和宽度,并利用数据库管理系统或数据库语言创建数据库结构、输入数据和运行等,因此数据库的实施是数据库设计过程的“最终实现”。如果数据库运行很成功,则表明数据库设计任务基本结束,以后的重点就是数据库的维护工作,包括做好备份工作、数据库的安全性和完整性调整、改善数据库性能等。

数据库的设计在数据库应用系统的开发中占有很重要的地位。只有设计出合理的数据库,才能为建立在数据库上的应用提供方便。不过数据库的设计过程从来都不会有真正的结束,因为随着用户需求和具体应用的变化和扩大,数据库的结构也可能会随之变化。

数据库基本的功能:

信息浏览和查询;

信息的修改、添加和删除;

信息的统计、汇总等。

设计数据库时要注意保留以下内容:

设计文档、内容 *** 作说明,实例数据库、帮助及过程性文件(如下载的资源、工作日志)等。

用树形结构表示实体之间联系的模型叫层次模型。层次模型是最早用于商品数据库管理系统的数据模型。其典型代表是于1969问世、由IBM公司开发的数据库管理系统IMS(Information Management System)。

1231 层次模型的结构

层次模型的表示方法是:树的结点表示实体集(记录的型),结点之间的连线表示相连两实体集之间的关系,这种关系只能是“1一M”的。通常把表示1的实体集放在上方,称为父结点,表示M的实体集放在下方,称为子结点。层次模型的结构特点是:

(1) 有且仅有一个根结点。

(2) 根结点以外的其它结点有且仅有一个父结点。

因而层次模型只能表示“1一M”关系,而不能直接表示“M—M”关系。

在层次模型中,一个结点称为一个记录型,用来描述实体集。每个记录型可以有一个或多个记录值,上层一个记录值对应下层一个或多个记录值,而下层每个记录值只能对应上层一个记录值。例如,系记录型有:计算机系、电信系等记录值。而计算机系的下层记录值有软件、结构、应用等研究室和数据结构、 *** 作系统、数据库等课程,软件研究室下层又有员工和项目记录值,

关于层次模型中实体集之间多对多的联系的处理,解决的方法是引入冗余结点。例如,学生和课程之间的多对多的联系,引入学生和课程的冗余结点 转换为两棵树:一棵树的根是学生,子结点是课程,它表现了一个学生可以选多门课程;一棵树的根是课程,子结点是学生,它反映了一门课程可以被多个学生选。

1232层次模型的数据 *** 作

层次模型的数据 *** 作特点是必须从根结点入手,按层次顺序访问。首先介绍层次顺序中的两个概念。

(1) 记录类型码 对层次模型中的记录型树,按照从上到下,从左到右的顺序给每个记录类一个编号,称为记录类型码,以表示记录类在树中的位置。

(2) 顺序域 为了确定同一记录类下的各个记录值的位置,指定记录中某字段的值作为记录值的排序的依据,该字段称为顺序域。

(3) 层次顺序和路径  有了记录类型码和顺序域,就可以对所有的记录值进行排序,首先按类型码排序,同一类型码下的各个记录值再按顺序域排序。这种从上到下、从左到右的排列顺序就是层次顺序。从根结点开始到目标结点之间所有直系祖先的类型码和顺序域组成该结点的层次路径。如图119所示,D(Department)、S(Section)、C(Course)、F(Faculty)和P(Project)分别表示系、研究室、课程、员工和项目。D02的层次顺序: D02S01F01F02S02F03F04S03F05F06F07023056C01C02C03。

GU DEPT(DEPT#=’D02’)

SECTION(SEC#=’S03’)

FACULTY(FAC#=’F06’)

层次模型中的更新 *** 作之前,一般都先执行一个查询,再执行相应 *** 作。所以层次模型数据 *** 作的特点是通过层次路径定位记录,一次仅能访问一条记录。

1234 层次模型的物理存储

层次模型的物理存储有两种实现方法:

(1) 顺序法

按照层次顺序把所有的记录邻接存放,即通过物理空间的位置相邻来实现层次顺序。

(2) 指针法

各个记录存放时不是按层次顺序,而是用指针按层次顺序把它们链接起来。

1235 层次模型的约束

层次模型的限制是:

(1) 层次模型的树是有序树(层次顺序)。对任一结点的所有子树都规定了先后次序,这一限制隐含了对数据库存取路径的控制。

(2) 树中父子结点之间只存在一种联系,因此,对树中的任一结点,只有一条自根结点到达它的路径。

(3) 不能直接表示多对多的联系。

(4) 树结点中任何记录的属性只能是不可再分的简单数据类型。

以上就是关于数据库和逻辑模型有哪四种全部的内容,包括:数据库和逻辑模型有哪四种、大型数据库的设计原则与开发技巧、谈谈与数据库设计步骤相关的话题( 1 ) 同学们已学习完“项目一-需求分析”模等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存