三十五数据字典物理视图跟我学编程

Posted 网络矿工IT训练营

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三十五数据字典物理视图跟我学编程相关的知识,希望对你有一定的参考价值。

前面讲的内容说实话不少了,虽然都是入门,甚至连入门都不算,但需要进行巩固练习了,不真正做一些东西出来,是无法从根本上掌握并理解哪些技术点的。但真正开始去做项目的时候,还是会发现有很多的内容都是新知识新内容。


所以,我们现在开始调整一下讲解的进程,开始以示例项目的开发为主线,通过开发主线来串接知识点。这样做的目的可以在巩固原有知识的基础上,通过练习来继续掌握新的内容。


实际从现在的开发角度来讲,前面所讲的开发方式已经很少在用了,jsp+servlet+JDBC(Hibernate)+mysql,当前Java的开发基本都会采用一些框架,譬如:Spring,但无论如何,这样的最基本的方式要掌握,并且是要熟练。


而且经过你切切实实的写代码,你也会发现为什么会有那么多的框架出来,而这些框架又在解决了什么问题。


软件的研发,是从业务中提取用户所需,即业务需求,系统分析人员对需求进行分析整理,形成系统需求,设计人员将系统需求进行转化,完成系统的设计工作,交由程序员进行开发,最终测试人员完成测试,交工。


这个过程就是软件研发的过程,在软件领域,也称之为:过程管理。上述的过程也有一个名词:瀑布模式。过程管理中,较为有名的是:RUP。在RUP中迭代模型是其核心优势之一。现在的开发中,迭代+XP是主流。此XP非彼XP,XP是极限编程,核心为:交流、简化、反馈、勇气。


以上内容也是我们讲解的内容,只是并不是现在。但大家开始要了解了,在设计过程中,有几个内容比较重要:系统框架图、逻辑视图、物理视图。在一些软件的技术方案中,这些都是常见的内容,大家需要看懂这些内容。


为了巩固练习,我们需要推进示例项目,此次巩固完成两个内容:

1、增加人员档案管理,实现基本人员数据的增删改;

2、实现权限、菜单的关联;


第一步,建立数据库,从此次代码更新,会同步更新数据库的SQL文件,大家可以下载进行建立。


为了说明各个数据表之间的关系,我们采用了物理视图来进行描述。


在此我们选择了一个数据库设计工具,也是系统设计工具,powerdesigner。


PowerDesigner是一个数据建模工具。数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。将经过系统分析后抽象出来的概念模型转化为物理模型后,在visio或erwin等工具建立数据库实体以及各实体之间关系的过程(实体一般是表)。—— 摘自百度百科。


数据建模是DBA的主要工作内容,通过对现实世界中的人、物极其关系的分析,形成了数据关系及存储关系。最终形成数据库表。这个过程中常用的是物理模型,




以上为整个的数据表关系,PK代表的是主键,主键是在这个表中唯一可以识别一行数据的标记,可以有意义,也可以无意义,大部分情况下是无意义的,可以用一个递增的序号来标记,也可以用一个uuid来标记,递增的序号在表示主键时,相对简单,但会在操作时有些问题,譬如:在进行多人操作时会有冲突;uuid可以避免这样的问题。


FK代表的是外键。外键是表示这个外键一定在另外一张表中是主键内容,是一个关系。


稍后,也会将PD文件放到git,大家可以下载。


通过上图,可以清晰的看出来各个数据表之间的关系。这个关系也是我们在做sql时需要建立的关系,方可把我们需要的数据内容取出来。


完成相应数据表的建设,然后,再建一个表:s_dict,字典表。


数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。—— 摘自百度百科。


再数据库设计中,最为常用的就是建立一个数据字典表,用于对数据内容进行描述。譬如:人员档案中,人员的性别:男、女、未知,三种情况,用相应的数字来描述,譬如:1001,1002,1003。


这样做的目的好处有:

第一:可以提高数据库访问性能,这一点极为重要;

第二:易于扩展,再改动代码的情况下,可以扩展用户的字典数据,从而直接反馈到用户的界面中;


好了完成以上内容的讲解,开始把相关的数据表建立好。





以上是关于三十五数据字典物理视图跟我学编程的主要内容,如果未能解决你的问题,请参考以下文章

Oracle—静态数据字典和动态性能视图

电力项目十五--数据字典

Oracle实验三—数据字典和性能视图的使用

oracleDBA-D4

数据流图DFD(真题讲解)-软件设计(三十六)

三十五thinkphp之视图