流程数据库设计
① 如何实现OA系统的自定议审批流程的数据库设计
请问定制开发一套OA系统需要多少钱呢?应满足哪几个功能才算得上是好的OA系统?
随着信息技术的发展,为了提高办公效率,企业都将办公自动化办公管理系统用于办公工作。然而,办公自动化系统办公管理软件收费的结构并不十分清楚。一般来说,办公自动化办公管理系统供应商的费用包括软件使用费、服务费和开发费。由于oA系统软件能伴着公司发展的手机软件,因而在长期性的应用之中是不可或缺生产商服务项目和开发设计,那_人们主要来剖析oA系统软竖枣件是如何收费标准的呢?oA系统软件办公管理软件的收费标准是分为订制顾客和标准版顾含握客来扣除。
一、通用版OA系统收费
一般来说使用通用版OA办公管理系统的收费都是按照板块来收,因为通用版的OA办公管理系统有很多功能板块,不是每一个板块客户都能够使用的,因此使用什么板块就开通什么板块这样的收费方式性价比很高。并且通用版的OA办公管理系统比较成熟稳定,在使用当中的维护费也很低,如果在后期有新的需求,那就是需要开发费了。因此通用版OA系统收费是使用费和维护费组成的。
二、定制版OA系统收费
有些企业有个性化管理制度或者个性需求,通用版的OA办公管理系统不能满足的,那么就需要定制版OA办公管理系统。定制的OA办公管理系统很多功能都要根据企业的需求来做的,因此需要在通用版OA办公管理软件上进行二次开发。OA系统厂商投入的时间和开发成本就很多了,在加上后续的功能完善和多次测试的bug修复,定制OA系统的维护费用比较高,由使用费、服务费、开发费组成的。
三、怎么减少OA系统费用呢
我们在选择OA办公管理系统的时候,要选择系统架构和功能都是比较成熟和稳定的,这样可以减少了对OA办公管理系统的工作量,同时减少了因为系统不成熟带来的维护费。若是想要在后续使用中进行二次开发,那么前期的的选型上需要OA办公管理软件具有易扩展性,那么进行二次开发的难度和维护都会降低,那么收费也会减少。很多软件在实施和服务的时候不需要到现场,远程都可以解决的问题,如果还要到现场处理服务费也相应的高,因此选择能支持远程实施或者的OA系统厂商,也会减少软件的服务费。
办公自动化(OFA)是一种面向***日常运营和管理的应用系统,最常被员工和经理使用。随着科学技术和互联网的进一步发展,办公自动化在应用内容的深度和广度以及信息技术的应用方面都发生了新的变化和发展,已经成为一个***不可或缺的核心。
OA系统开发以及维护过程
系统开发
软件开发厂商根据系统的需求和设计,开发人员进行系统的代码编写,最终用户一般很难将需求一次性完成的提出,开发过程中涉及到需求的问题需要对设计进行细节的调整。开发人员对需求的理解、编码的规范和质量等,对软件系统的质量和稳定性、安全性等方面影响非常大。
oa开发系统测试
依据阶段的需求对系统进行功能测试、性能测试(对使用用户数非常多可能需要进行性能测试)、安全性检测,功能测试一般由软件开发厂商和用户同时进行。
系统测试根据项目周期和功能的多少,可以迭代的进行,如果开发的内容多可以分步提交开发成果进行测试,实现开发和测试迭代进行。
对于测试中发现的问题,一般提交开发人员进行修改,再进行回归测试(针对修改过的问题进行测试和验证)。 系统的测试是软件定制开发的一个重要环节,需要软件开发厂商和最终用户的紧密配合和合理的规划时间(特别是工期非常紧的情况下),测试是高质量的软件系统的根本保障。
oa开发系统部署和交付
系统开发完成后部署在最终用户的正式运行环境,交付给最终用户使用,同时需要对相关的人员进行培训。这这个环节中软件的推广和使用是,直接关系到软件的应用效果。
oa开发系统的维护和服务
软件在正式运行过程中会遇到BUG(系统错误)、使用问题、功能的完善和修改等,软件厂商需提供相应的服务确保最终用户系统正常稳定的运行。
从以上过程中可以看出,需求阶段、测试阶段是最终用户和软件厂商配合程度的阶段。软件定制开发的周期和复杂程度是由用户业务需求来决定的,对于业务需求比较简单的某些环节可以省略、合并。一般情况下,软件定制开发和软件产品之间联系是非常紧密余老拆的,当软件产品不能够满足客户要求时一般只能通过定制开发进行完善,而软件产品也是在众多的应用中通过定制开发积累和完善的。
软件定制开发相对于单纯的软件产品实施,选择软件供应商更加重要,供应商的软件定制开发经验、技术水平、提供的服务等直接决定软件开发的成败。
② 数据库设计的步骤有哪些
数据库设计过程分为以下六个阶段:
1、需求分析阶段
准确理解和分析用户需求(包括数据和处理),它是整个设计过程的基础,也是最困难、最耗时的一步。
2、概念结构设计阶段
是整个数据库设计的关键,通过对用户需求的集成、归纳和抽象,形成了一个独立于特定数据库管理系统的概念模型。
3、逻辑结构设计阶段
将概念结构转换为DBMS支持的数据模型,对其进行优化。
4、数据库物理设计阶段
为逻辑数据模型选择最适合应用程序环境的物理结构(包括存储结构和存取方法)。
5、数据库实现阶段
根据逻辑设计和物理设计的结果,使用数据库管理系统提供的数据语言、工具和主机语言,建立数据库,编写调试应用程序,组织数据仓库,并进行试运行。
6、数据库运行维护阶段
数据库应用系统经试运行后可投入正式运行,在数据库系统运行过程中,需要不断地对其进行评估、调整和修改。
注:在设计过程中,将数据库的设计与数据库中数据处理的设计紧密结合起来,在每个阶段同时对这两个方面的要求进行分析、抽象、设计和实现,相互借鉴和补充,从而完善这两个方面的设计。
(2)流程数据库设计扩展阅读:
数据库设计技术
1、清晰的用户需求:作为计算机软件开发的重要基础,数据库设计直接反映了用户的需求。数据库必须与用户紧密沟通,紧密结合用户需求。在定义了用户开发需求之后,设计人员还需要反映具体的业务关系和流程。
2、注意数据维护:设计面积过大、数绝迟御据过于复杂是数据库设计中常见的问题,设计人员应注意数据维护。旦碰
3、增加命名规范化:命名数据库程序和文件非常重要,不仅要避免重复的名称,还要确保数据处于平衡状态。为了降低检索信息和资源的复杂度和难度,设计人员应了解数据库程序与文件之并岩间的关系,并灵活使用大小写字母命名。
4、充分考虑数据库的优化和效率:考虑到数据库的优化和效率,设计人员需要对不同表的存储数据采用不同的设计方法。在设计中,还应该使用最少的表和最弱的关系来实现海量数据的存储。
5、不断调整数据之间的关系:不断调整和简化数据之间的关系,可以有效减少设计与数据之间的联系,进而为维护数据之间的平衡和提高数据读取效率提供保障。
6、合理使用索引:数据库索引通常分为聚集索引和非聚集索引,这样可以提高数据搜索的效率。
参考资料来源:网络-数据库设计
③ 数据库设计技巧
就我个人的经验来说,数据库虽然在设计上确实需要有一定的经验,但是它并不是最难的。
对于数据的设计其实是对于现实中业务的一种抽象。
就我的习惯的话,我会先对于现实中的业务场景、业务的角色进行分析。
就拿一般的进销存系统来举例吧。
我有一个对于物料管理的仓库,我需要对我的物料的进销存进行管理。
那么我们就需要分析,没有系统的时候,人与人之间的业务是怎么流转的,他们都是通过哪些表单来进行流转的,上下级之间的消息传递和反馈都是怎么进行的。
当知道了业务以后,我们的数据库无非就是对于现实中的业务的一种具现。
对于业务的设计完成以后,就是针对角色的了。
例如:业务的传递都是在业务人员之间的,我们已经整理表单的传递,那角色其实就已经在这些传递中存在了。
但是,业务的角色是业务的角色,我们还要包括财务的角色,那对于财务来说,他需要在哪些环节看到这些业务的单据?并且需要怎么处理?财务的处理结果又包括哪些?不同的处理结果对于下一步的操作又有什么影响。
当我们把这一切的逻辑整理完成后,我们对于数据库的功能上就已经满足了。
接下来的就是抽象数据的分类了。
例如:我们需要对不同的表进行一个分类,我个人喜欢把表分成三种,一种是基础数据表,一种是过程表,一种是结果表。
怎么解释呢?
基础数据表:顾名思义,就是对于基础数据的维护,哪些可以成为基础数据呢?就是我们的业务发生的各个过程中,这些数据都是可以参与其中的,这就是基础数据。
例如:货物的信息,客户的信息。
过程表:就是仅仅在一个过程中使用的表,当这个过程结束了,这个表就没用了。
例如:订单表,付款单表。他们表示的仅仅是订单从下单到最后关闭的这个过程,关闭以后,这个订单表其实我们就不会再去使用它了。
结果表:这个表的数据有一个特点,只允许添加,不允许删除和修改,这个表的数据本身就是对于老敏一种最终结果的表现。
例如:日志表、账单表。
那我们在进行数据库设计的时候蚂宽,就需要将这些使用情况考虑进去,将不同功能的表进行分离,尽量降低耦合,让相互表的修改不会影响使用。
例如:收款单,我们需要收一笔款的时候,就会生成这个收款单,当款收到后,这个收款单的功能就结束了。
但现实的情况中,可能财务收到了这笔钱,结束了收款单流程后,他发现填错了,本来应该收100,结果收款单写的110。
但是,收款单表示的是过程,当这个过程结束了,我们就不会再需要上一个收款单了,所以,按照我们业务的处理流程,我们应该先生成一笔冲抵的收款单,例如收到-110,然后再生成新的100的收款单。
我们每个月还会有财务统计报表,财务报表因为和现实中的财务账有关,是绝对不允许变动的,因此,这个财务报表就是一个结果表,我们会按月通过批处理程序,将收款单的明细和统计数据放到另一张表中,感觉好像比较冗余,但是这个确实非常必要的。
因为我曾经就遇到过一个情况,我们直接用过程表来进行数据的统计,然后11月30日有一笔收款已经完成了,结果发现收错了,就重新做了个收款单,结果本来已经出了11月结果的账单发生了变化,导致财务实际的处理出现了问题。
因此,数据的冗余有时候是有必要的,我们需要根据不同表的类型进行一些冗余的设计。
对于数据库设计的考虑点还有很多,可能一时半会儿也说不完,大家如果有什么好的思路,也可以在下方闷含亮评论或关注我给我留言。
④ 具体的数据库设计与实现过程
大致的讲主要是根据用户的需求,然后设计数据库的E-R模型,然后将E-R模型图转换为各种表,并对其进行数据库设计范式(范式因不同书籍有不同)的审核,然后进行数据库的实施,然后运行维护。
一句话来讲就是将用户的需求变成带有各种关系的表,以及其它的数据库结构,然后供编程使用
具体如下:
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段
(1)需求分析。
(2)概念设计。
(3)逻辑设计。
(4)物理设计。
(5)数据库实施。
(6)数据库运行和维护。
5.1.1需求分析阶段
进行数据库设计首先必须准确了解与分析用户需求,包括数据与处理需求。需求分析是整个设计过程的基础,是最困难、最耗时的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建“数据库大厦”的速度与质量。需求分析做得不好,可能会导致整个数据库重新设计,因此,务必引起高度重视。
5.1.2概念模型设计阶段
在概念设计阶段,设计人员仅从用户角度看待数据及其处理要求和约束,产生一个反映用户观点的概念模式,也称为“组织模式”。概念模式能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,易于向关系模型转换。这样做有以下好处:
(1)数据库设计各阶段的任务相对单一化,设计复杂程度得到降低,便于组织管理。
(2)概念模式不受特定DBMS的限制,也独立于存储安排,因而比逻辑设计得到的模式更为稳定。
(3)概念模式不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而能准确地反映用户的信息需求蠢兆信。
概念模型设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。如采用基于E-R模型的数据库设计方法,该阶段即将所设计的对象抽象出E-R模型;如采用用户视图法,则应设计出不同的用户视图。
5.1.3逻辑模型设计阶段
逻辑模型设计阶段的任务是将概念模型设计阶段得到的基本E-R图,转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。如采用基于E-R模型的数据库设计方法,该阶段就是将所设计的E-R模型转换为某个DBMS所支持的数据模型;如采用用户视图法,则应进行表的规范化,列出所有的关键字以及用数据结构图描述表集合中的约束与联系,汇总各用户视图的设计结果,将所有的用户视图合成一个复杂的数据库系统。
5.1.4数据库物理设计阶段
数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。显然,数据库的物理设计完全依赖于给定的硬件环境和数据库产品。在关系模型系统中,物理设计比较简单一些,因为文件形式是单记录类型文件,仅包含索引机制、空间大小、块的大小等内容。
物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到约束和具体的程序设计:
(1)存储记录结构设计:包括记录的猜型组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。
(2)确定数据存放位置:可以把经常同时被访问的数据组合在一起,“记录聚簇(cluster)”技带轮术能满足这个要求。
(3)存取方法的设计:存取路径分为主存取路径及辅存取路径,前者用于主键检索,后者用于辅助键检索。
(4)完整性和安全性考虑:设计者应在完整性、安全性、有效性和效率方面进行分析,作出权衡。
(5)程序设计:在逻辑数据库结构确定后,应用程序设计就应当随之开始。物理数据独立性的目的是消除由于物理结构的改变而引起对应用程序的修改。当物理独立性未得到保证时,可能会引发对程序的修改。
数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
5.1.5数据库实施阶段
根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施阶段。实施阶段主要有三项工作。
(1)建立实际数据库结构。对描述逻辑设计和物理设计结果的程序即“源模式”,经DBMS编译成目标模式并执行后,便建立了实际的数据库结构。
(2)装入试验数据对应用程序进行调试。试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情况。
(3)装入实际数据,进入试运行状态。测量系统的性能指标,是否符合设计目标。如果不符,则返回到前面,修改数据库的物理模型设计甚至逻辑模型设计。
5.1.6数据库运行和维护阶段
数据库系统正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。运行维护阶段的主要任务有四项:
(1)维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与备份,发生故障后及时恢复。
(2)监测并改善数据库运行性能:对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施。
(3)根据用户要求对数据库现有功能进行扩充。
(4)及时改正运行中发现的系统错误。
⑤ 数据库设计的基本步骤
需求分析
调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。圆滑
需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。在需求分析中,通过自顶向下,逐步分解的方法分析系统,分析的结果采用数据流程图(DFD)进行图形化的描述。
概念设计
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
逻辑设计
主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同行腔粗时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
物理设计
根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。
验证设计
在上述设计的基础上,收集数据并具体建立一个档镇数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。
⑥ 数据库的开发流程是什么(开发数据库系统的工作步骤)
这是一个非常复杂的问题。建议这位网友去看看有关软件工程的书籍。当然,看书是一件非常烦闷的事情,在这,尽管试试将我的经验写一点吧。
首先,要明确你要做一个什么系统。想达到什么目的。想怎样去使用。有了明确的目标后,便要开始计划整个数据库系统该怎样去做。
第二,是选择数据库后台。数据库是保存数据的工具,可以理解为保存数据的一个大仓库,它把你所需要的数据全部保存起来。但要怎样使用这些数据,使之可以根据你的需要显示出来,那就不是数据库的责任了,这就需要程序来实现了。不同的数据库后台各有优点缺点,不可一概而论哪个好哪个差,要看系统实际来斟酌。即是说,确定目标后就需要选择数据库。
第三,确定后台数据库的内容,即确定数据结构。既然整个数据库等于一个大仓库,此时就要把仓库划分成一个个区域,用于保存不同类别的东西。这就是确定数据表及每个表的字段及各字段的数据类型。这是非常巨大的工作,你需要把有可能使用到的内容都设计到你的数据表中,以便以后可以保存及调用数据。还要想到表与表的关系,字段与字段的关系。好的数据结构会使到整个程序设计方便、科学、全面。这些内容,必须去查看相关书籍,同时不断积累经验,并非三言两语可以说得清楚了。
第四,选择合适的前台开发工具。对于后台数据脊猛库的操作,目前常用的前台毕野此开发工具基本都可以与之相连并对之操作,但是不同的开发语言有各自的长处。选择哪一种语言并不太重要,最重要是看你是否愿意一心一意钻研下去。对于初学者,什么语言都是手迅一样的,就如小孩子学语言,学中英意日其实都一样容易,也一样难。
第五,当清楚数据库后台和开发前台的特性与功能后,就可以开始规划系统的流程了。一般可以根据系统功能先将其划分为几大功能模块,然后再细分为各个细功能模块,然后对于各个功能模块进行设计。一般流程可以是这样的:
1、设计流程图。把整个功能用流程的方式显示出来,让自己的思路清楚地记录在流程图上,这样可以轻易地模拟模块的运算过程,查找出不合理的地方进行修改。
2、编写程序。确定流程合理无误后,便可以开发进行程序的编写。由于现时硬件的强大,对语句的要求已经不再强调。只要可以达到目的,就可以了。
第六,试运行程序。完成一个功能后,可以试运行,输入数据进行测试,不断修改,最后达到完全无误。
第七,测试。完成程序后,就要进行全面的测试。一般来说,自己是找不到自己的错误的。明知是错就不会写进去,所以我喜欢找别人来为我测试。让别人去用,而且是让别人随便地用,不一定按自己所说的操作方法去用。这样最容易找到程序中的错误。
第八,不断地修改。不断修改程序,使其所有的漏洞都改正过来。
第九,编译。程序确认无误后,就可以进行编译。
第十,投入使用。
其实我所写的并不能回答这个问题,完全解答这个问题,最后还是去学习一下软件工程。不看书总是不行的。希望可以为你带来一点点帮助吧。
⑦ 数据流程设计
1.系统与外部的数据交流
遥感图像处理系统与外部的数据交流主要是直接同数据管理与数据库子系统的交流,本系统所孙孝需要的数据如空间地质数据、遥感图像数据、地质矿产专题数据从数据管理与数据库子系统的基础数据库调入,产生的成果地质矢量专题图件存入数据管理与数据库子系统的成果数没凯侍据库。图7-1为系统系统数据流程图。
图7-1 系统数据流程图
遥感图像处理系统选用ESRI公司的ArcSDE for Oracle作为空间数据库引擎,实现空间数据、属性数据、遥感图像数据的无缝连接。图7-2为本子系统与数据库系统关系结构图。
2.系统内部的数据流动
系统从综合数据库中将图像数据、地质矿产数据、空间地质数据读入后,经过图像处理模块、信息提取模块获得专题信息,再将这些数据输枯吵出到数据库。详细流程见图7-2。
⑧ 简述数据库应用系统的设计步骤(简述数据库系统构成及数据设计的原则)
数据库设计的基本步骤:
1、系统需求分析与设计。
2、概念结构分析与设计。
3、逻辑结构分析与设计。
4、物理结构分析与设计。
5、系统实施。
6、系统维护。
(8)流程数据库设计扩展阅读:
数据库设计技巧:
1、原始文件与实体的关系
它可以是一对一,一对多,多对多的关系。一般来说,它们是一对一的关系:一个原始文档只对应于一个实体。在特殊情况下,它们可以是一对多或多对一关系,即一个原始文档对应于多个实体,或者多个原始文档对应于一个实体。
这里的实体可以姿歼理解为基本表。在对应关系明确后,对输入接口的设计非常有利。
2、主键和外键
一般来说,实体不能既没有主键也没有外键。在E-R图中,叶中的实体可以定义主键或不定义主键(因为它没有子代),但它必须有外键(因为它有父项)。
主键和外键的设计在全局数据库的设计中起着重要的作用。当全球数据库的设计完成后,一位美国数据库设计专家说:“钥匙无处不在,只有钥匙。”。这是他数据库设计的经验,也体现了他对信息系统核心(数据模型)高度抽象的理念。
因为:主键是一个高度抽象的实体。主键和外键的配对表示实体之间的连接。
3、基本表的属性
基本表不同于中间表和临时表,因为它具有以下四个特点:
原子性。基本表迹握冲中的字段不可分解。
原始主义。基本表中的记录是原始数据(基本数据)的记录。
演绎的。所有输出数据都可以从基本表和代码表中的数据导出。
稳定。基本表的结构比较稳定,表中的记录要长期保存。
在了解基本表的性质之后,在设计数据库时,可以将基本表与中间表和临时表区分皮升开来。
来源:网络-数据库设计
⑨ 数据库设计过程包括几个主要阶段哪些阶段独立于数据库管理系统哪些阶段依赖于数据库管理系统
数据库设计阶段包括五个阶段,分别是:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理设计阶段、数据库实施阶段、数据库运行和维护阶段。
独立于数据库管理系统的是:需求分析阶段,概念设计阶段,逻辑设计阶段,物理设计阶段。
依赖于数据库管理系统的是:实施阶段,运行和维护阶段。
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据库设计就变得异常复杂。
因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。
(9)流程数据库设计扩展阅读:
形成过程
1、需求分析阶段:综合各个用户的应用需求(数据流程图(DFD)。
2、概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)。
3、逻辑设计阶段:首先将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式。
4、物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。
⑩ 如何实现OA系统的自定议审批流程的数据库设计
我举一个例子:有的OA系统是要公司客户自己有服务器,然后装到客户的服务器上。可是客户嫌麻烦,所以我想将OA系统(PHP+Mysql)放在自己的服务器上,让公司客户及其员工来注册使用。那么问题来了,原来在客户自己的服务器上数据库也就十几张表,但都放到我的服务器上,每注册一个公司就得增加十几张表,那如果有一万家公司注册数据库不得有几十万张表?跟楼主一样的问题,有一些老牌厂商早就给出来完美答案了,比如华为、天翎都有过类似的问题,这些企业提出的解决方案就很不错,就针对上面的问题,最简单的办法是给每张表加个实例ID,一个公司对应一个实例ID,然后在你的MVC架构中跟DB最近的这一层加个拦截器,每个SQL查询都自动带上实例ID,这样不用对代码做很大改动。后期再根据需要优化,哪些公司合用一张表,哪些单独占用一张表甚至一个数据库,总之具体问题具体对待,需要在运营的过程中根据用户量和业务情况来分析采取对策。