数据字典的主要作⽤是什么?
1. 数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进⾏定义和描述,其⽬的是对数据流程图中的
各个元素做出详细的说明。
2. 数据字典(Data dictionary)是⼀种⽤户可以访问的记录数据库和应⽤程序源数据的⽬录。主动数据字典是指在对数据库或应⽤程序
结构进⾏修改时,其内容可以由DBMS⾃动更新的数据字典。
3. 数据字典的主要作⽤:数据字典和数据流图共同构成系统的逻辑模型。没有流图数据字典难以发挥作⽤。没有数据字典,数据流图就
不严格。
下⾯是个⾼⼿写的感觉还不错
以上和我们软件⼯程项⽬开发有什么关系呢?当然有,那就是软件开发也需要有⼀个统⼀的标准,⽤什么来统⼀呢,数据字典。在这⾥,数据字典的含义更宽泛⼀些,⾮只为数据库中的字典。
在我所在的项⽬开发⼩组中,我们⼯作的依据是⼀个设计好的UML图,通过版本控制数据库来共享。它包含了项⽬原型的类图、序列图等。在开发过程中,我发现这⼗分有⽤,但我同时发现我们项⽬中还少了⼀个类似数据字典的东西。
我们⽤到的⼀些数据结构杂乱的位于UML类图中,⼀些事件、命令类型则⽆法放⼊这个中⼼⽂档。在项⽬往前推进的时候,⼀些新的数据结构出现,其中的⼀些⾃定义的类型的设计者对其注释⼜往往过于简单。也就是说,只有设计者知晓意义。这样的话,很显然,其它项⽬成员要⽤到这个数据结构,必须和设计者交流。这时,设计者开会去了,你的代码必须今天完成。那怎么办?
所以,在你所写的程序的开头列出⼀个数据字典⼗分的重要.数据字典列举了你在本程序中⽤到的所有变量的定义,还包括⼀些⾃定义的事件、命令的说明。它的定义应包括本条⽬的所要描述的内容和它在执⾏时所在的单元。当编写程序时,编定数据字典看似没有必要。但是设想⼀下,在过了⼀段时间后,你或其他⼈要对此程序修改,这时数据字典就显得⼗分的有⽤。
数据字典的⼀些定义:
⼀、数据字典的⽤途
  数据字典是各类数据描述的集合
  数据字典是进⾏详细的数据收集和数据分析所获得的主要结果
  数据字典在数据库设计中占有很重要的地位
⼆、数据字典的内容
  数据字典的内容:数据项;数据结构;数据流;数据存储;处理过程。数据项是数据的
  最⼩组成单位,若⼲个数据项可以组成⼀个数据结构。数据字典通过对数据项和数据结
  构的定义来描述数据流、数据存储的逻辑内容。
我的想法是:在项⽬的初期,就开始设计⼀个数据字典,其中包含和项⽬密切相关的各种结构、类型定义。在开发过程中,由项⽬成员共同维护。它像⼀个字典,你可以查询任何在项⽬中你⽆法理解的各种结构、类型定义,从⽽最⼤程度的消除歧义和交流不畅问题。⼀个word ⽂档就好,通过代码版本控制来共享。
我想这个问题在⼤项⽬中执⾏的很好,但⼩项⽬通常被忽略掉了。
为啥这么说呢?
其实也是有原因的,这个发现的问题也是特别多的!⽐如车辆的类型,刚刚开始的时候只⽤两种,之后⼜增加了,写死的东西怎么办,到处都要更改!使⽤字典的话,直接遍历数据库,通过你需要的type直接的,不⽤管你有多少,之后⼜要增加多少,扩展性很强!
这样⾮常的⽅便,我们只需要写个操作的类实现三层结构,直接注⼊依赖就好了!
package ity;
import java.io.Serializable;
import java.util.Date;
public class Dictionary implements Serializable {
private static final long serialVersionUID = 5870500754198757136L;
private Integer id;
private String type;
private String code;
private String name;
private Integer status;
private Integer isDefault;//这⾥是通过这个bool类型进⾏树节点的区分,⾮常的棒!
private Date createTime;
private Date updateTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
update是什么
}
public String getCode() {
return code;
}
public void setCode(String code) {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getIsDefault() {
return isDefault;
}
public void setIsDefault(Integer isDefault) {
this.isDefault = isDefault;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。