数据与设计
⑴ 什么是数据库的概念设计,逻辑设计,物理设计,以及三者的关系
1.概念设计;对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
2.逻辑设计;主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
3.物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。
4.三者关系:由上到下,先要概念设计,接着逻辑设计,再是物理设计,一级一级设计。
⑵ 毕业设计是要把项目所有的数据都算出来吗
毕业设计要把项目中重点的数据都要算出来,因为毕竟是有毕业设计要有自己的创新和实践。
⑶ 概要设计与详细设计的区别
概要设计与详细设计的区别如下:
1、概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型.
2、详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。在详细设计阶段,主要是通过需求分析的结果,设计出满足用户需求的嵌入式系统产品。
3、概要设计阶段通常得到软件结构图 ,详细设计阶段常用的描述方式有:流程图、N-S图、PAD图、伪代码等 。
4、详细设计阶段就是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
(3)数据与设计扩展阅读
设计是把一种设想通过合理的规划、周密的计划、通过各种感觉形式传达出来的过程。人类通过劳动改造世界,创造文明,创造物质财富和精神财富,而最基础、最主要的创造活动是造物。设计便是造物活动进行预先的计划,可以把任何造物活动的计划技术和计划过程理解为设计。
设计(Design)是为构建有意义的秩序而付出的有意识的直觉上的努力。更详细的定义如下:
第一步:理解用户的期望、需要、动机,并理解业务、技术和行业上的需求和限制。
第二步:将这些所知道的东西转化为对产品的规划(或者产品本身),使得产品的形式、内容和行为变得有用、能用,令人向往,并且在经济和技术上可行。(这是设计的意义和基本要求所在)
⑷ 有关数据库和程序设计
C,来C++,Java 等各种编程语言,就源像是斧子、凿子、锯子等,他们都是工具;而 MFC 是出自微软的辅助他自己的工具的工具。
数据库就好比一段木头,是工具雕琢的对象。
没有数据库,就如没有作用对象,工具的功能无处发挥;没有工具,数据库是一个死库。两者缺一不可。
楼主现在修炼的方向是怎样更好的使用工具,是朝程序员、编码、软件工程师方向去了,忽视了另一根支柱的重要性,数据库本身是一门大学问,有一套规范的理论指导的,数据库设计这个环节是先于后面应用开发的,即通常说的结构设计与行为设计。
C、C++、Java 等与 SQL 是怎么配合的,可以概括的理解为:高级语言指挥SQL命令去操纵数据库。
⑸ 如何合理和有效的进行数据库设计
通常情况下,可以从两个方面来判断数据库设计的是否规范:
1)一是看看是否拥有大量的窄表
窄表往往对于OLTP比较合适,符合范式设计原则
2)宽表的数量是否足够的少。
所谓的宽表就是字段比较多的表,包含的维度层次比较多,造成冗余也比较多,毁范式设计,但是利于取数统计
若符合这两个条件,我们可以说数据库设计的比较好.
当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。
要求一:表中应该避免可为空的列。
虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。数据库在处理的时候,需要进行特殊的处理。如此的话,就会增加数据库处理记录的复杂性。当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。
所以,虽然在数据库表设计的时候,允许表中具有空字段,但是,我们应该尽量避免。若确实需要的话,我们可以通过一些折中的方式,来处理这些空字段,让其对数据库性能的影响降低到最少。
要求二:表不应该有重复的值或者列。
如现在有一个进销存管理系统,这个系统中有一张产品基本信息表中。这个产品开发有时候可以是一个人完成,而有时候又需要多个人合作才能够完成。所以,在产品基本信息表产品开发者这个字段中,有时候可能需要填入多个开发者的名字。
如进销存管理中,还需要对客户的联系人进行管理。有时候,企业可能只知道客户一个采购员的姓名。但是在必要的情况下,企业需要对客户的采购代表、仓库人员、财务人员共同进行管理。因为在订单上,可能需要填入采购代表的名字;可是在出货单上,则需要填入仓库管理人员的名字等等。
为了解决这个问题,有多种实现方式。但是,若设计不合理的话在,则会导致重复的值或者列。如我们也可以这么设计,把客户信息、联系人都放入同一张表中。为了解决多个联系人的问题,可以设置第一联系人、第一联系人电话、第二联系人、第二联系人电话等等。若还有第三联系人、第四联系人等等,则往往还需要加入更多的字段。
所以,我们在数据库设计的时候要尽量避免这种重复的值或者列的产生。笔者建议,若数据库管理员遇到这种情况,可以改变一下策略。如把客户联系人另外设置一张表。然后通过客户ID把供应商信息表跟客户联系人信息表连接起来。也就是说,尽量将重复的值放置到一张独立的表中进行管理。然后通过视图或者其他手段把这些独立的表联系起来。
要求三:表中记录应该有一个唯一的标识符。
在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值。另外,这个ID值最好有数据库来进行自动管理,而不要把这个任务给前台应用程序。否则的话,很容易产生ID值不统一的情况。
另外,在数据库设计的时候,最好还能够加入行号。如在销售订单管理中,ID号是用户不能够维护的。但是,行号用户就可以维护。如在销售订单的行中,用户可以通过调整行号的大小来对订单行进行排序。通常情况下,ID列是以1为单位递进的。但是,行号就要以10为单位累进。如此,正常情况下,行号就以10、20、30依次扩展下去。若此时用户需要把行号为30的纪录调到第一行显示。此时,用户在不能够更改ID列的情况下,可以更改行号来实现。如可以把行号改为1,在排序时就可以按行号来进行排序。如此的话,原来行号为30的纪录现在行号变为了1,就可以在第一行中显示。这是在实际应用程序设计中对ID列的一个有效补充。这个内容在教科书上是没有的。需要在实际应用程序设计中,才会掌握到这个技巧。
要求四:数据库对象要有统一的前缀名。
一个比较复杂的应用系统,其对应的数据库表往往以千计。若让数据库管理员看到对象名就了解这个数据库对象所起的作用,恐怕会比较困难。而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到所需要的数据库对象而头疼。
其次,表、视图、函数等最好也有统一的前缀。如视图可以用V为前缀,而函数则可以利用F为前缀。如此数据库管理员无论是在日常管理还是对象引用的时候,都能够在最短的时间内找到自己所需要的对象。
要求五:尽量只存储单一实体类型的数据。
这里将的实体类型跟数据类型不是一回事,要注意区分。这里讲的实体类型是指所需要描述对象的本身。笔者举一个例子,估计大家就可以明白其中的内容了。如现在有一个图书馆里系统,有图书基本信息、作者信息两个实体对象。若用户要把这两个实体对象信息放在同一张表中也是可以的。如可以把表设计成图书名字、图书作者等等。可是如此设计的话,会给后续的维护带来不少的麻烦。
如当后续有图书出版时,则需要为每次出版的图书增加作者信息,这无疑会增加额外的存储空间,也会增加记录的长度。而且若作者的情况有所改变,如住址改变了以后,则还需要去更改每本书的记录。同时,若这个作者的图书从数据库中全部删除之后,这个作者的信息也就荡然无存了。很明显,这不符合数据库设计规范化的需求。
遇到这种情况时,笔者建议可以把上面这张表分解成三种独立的表,分别为图书基本信息表、作者基本信息表、图书与作者对应表等等。如此设计以后,以上遇到的所有问题就都引刃而解了。
⑹ 数据库分析与设计阶段的顺序是什么
1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;回
2、概念设计答:通过数据抽象,设计系统概念模型,一般为E-R模型;
3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;
4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;
5、系统实施:组织数据入库、编制应用程序、试运行;
6、运行维护:系统投入运行,长期的维护工作。
⑺ 软件数据获取与数据库设计
已知和预测矿化体分割的立方体中心点坐标、边长与矿化值在前面章节中已经确 定,地面点位数据则通过数字化梅仙矿区1:1万地形地质图获取。数字化工作在GIS软件 ArcGIS中完成,地图配准后均匀提取地面点位数据,保存其x,y,z坐标。
将软件所需数据保存在Access数据库中,建立总磁场异常成果数据库,其数据表结 构设计如表8.1~表8.3所示。
其中地面DEM数据表保存地面点位数据;三维体元数据表保存已知和预测矿化体分 割的立方体中心点坐标、边长与矿化值;总磁场异常成果数据表保存正演计算的地面点总 磁场异常值。
表8.1 数字高程数据表结构
表8.2 三维体元数据表结构
表8.3 总磁场异常成果数据表结构
⑻ 数据流程设计
1.系统与外部的数据交流
遥感图像处理系统与外部的数据交流主要是直接同数据管理与数据库子内系容统的交流,本系统所需要的数据如空间地质数据、遥感图像数据、地质矿产专题数据从数据管理与数据库子系统的基础数据库调入,产生的成果地质矢量专题图件存入数据管理与数据库子系统的成果数据库。图7-1为系统系统数据流程图。
图7-1 系统数据流程图
遥感图像处理系统选用ESRI公司的ArcSDE for Oracle作为空间数据库引擎,实现空间数据、属性数据、遥感图像数据的无缝连接。图7-2为本子系统与数据库系统关系结构图。
2.系统内部的数据流动
系统从综合数据库中将图像数据、地质矿产数据、空间地质数据读入后,经过图像处理模块、信息提取模块获得专题信息,再将这些数据输出到数据库。详细流程见图7-2。
⑼ 什么是数据库的概念设计、逻辑设计、物理设计,以及三者的关系
1、概念设计:
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。
所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
2、逻辑设计:
主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
3、物理设计:
根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。
4、三者关系:
由上到下,先要概念设计,接着逻辑设计,再是物理设计,一级一级设计。三者一环扣住一环,缺一不可,概念设计是前提,逻辑设计是纽扣,将概念设计和物理设计紧密联系起来,物理设计的结果就是传说中的“物理数据库”也就是最后的结果。三者密不可分,缺一不可。
(9)数据与设计扩展阅读
数据库设计的基本步骤:
1、需求分析阶段:准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步。
2、概念结构设计阶段:是整个数据库设计的关键,通过对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。从实际到理论。
3、逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型,对其进行优化。优化理论。
4、数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。选择理论落脚点。
5、数据库实施阶段:运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果,建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。理论应用于实践。
6、数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。理论指导实践,反过来实践修正理论。
主要特点:
1、 实现数据共享:数据库服务器数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
2、 减少数据的冗余度:同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
3、数据的独立性:数据的独立性包括逻辑独立性(数据库中数据库的 逻辑结构和 应用程序相互独立)和物理独立性(数据物理结构的变化不影响数据的逻辑结构)。
4、数据实现集中控制:文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过 数据模型表示各种数据的组织以及数据间的联系。
5、数据一致性和可维护性,以确保数据的安全性和可靠性主要包括:安全性控制:以防止数据丢失、错误更新和越权使用;完整性控制:保证数据的正确性、有效性和相容性;并发控制:使在同一时间 周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用。
6、故障恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。