系统设计中如何区分物理和逻辑结构
逻辑结构:数据元素之间的逻辑关系,即人对数据的理解,而进行抽象的模型。
物理结构:数据元素在计算机中的存储方法,即计算机对数据的理解,逻辑结构在计算机语言中的映射。
那么逻辑结构到底该如何描述呢?例如:一辆汽车由许多个零件构成。汽车这个实体具有型号、单价和牌号等属性,零件这个实体具有名称、单价和厂家等属性。汽车和零件通过关系模型来表示,就是1:N关系,作为逻辑结构,我们只需要描述出某汽车由那些零件组成,这些实体的属性的取值范围、长度和关系即可。而作为物理结构,就需要把这些描述成具体的关系实体,实体关系,实体属性对应的数据库的数据类型、长度、外键关系等。当然E-R关系图也是必不可少的,更重要的是还需要基本遵循数据库设计范式、高可扩展性的基本原则。
当然,他们的区别是非常明显的,逻辑结构,更适合客户、测试、实施人员等非专业技术人员理解、查看,而物理结构,则更适合专业技术人员分析、使用。
两者设计的初衷,当然也有本质的区别。
逻辑结构设计的任务是将基本概念模型图转换为与选用的数据模型相符合的逻辑结构。逻辑结构设计的步骤:概念模型、一般数据模型、特定的数据模型、优化的数据模型。
物理设计的任务是根据具体计算机系统的特点,为给定的数据模型确定合理的存储结构和存取方法。所谓的合理主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
复制的有意思伐。。。解释你自己看上面那个复制的,不多说了。
数据的逻辑结构也称为数据结构,分两大类:线性结构和非线性结构。
存储结构分四类:顺序存储、链接存储、索引存储和散列存储。
线性结构中,包括了顺序算法,和链表。也就是说,存储结构的前两种用的是线性结构的算法,非线性结构至少存在一个数据元素,它具有两个或者两个以上的前驱或后继.典型的就是树和二叉树。而索引算法用的就是树的结构,也即是说他属于非线性结构算法。最好是散列存储,典型例子就是hash(哈希)用的是随即散列函数,当然是非线性结构算法。
由此可见,存储结构用的是不同的逻辑结构,也就是用了两种不同的算法。这个就是他们两者的关系。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!