一、数据字典的核心作用
定位:
数据字典是数据流图(DFD)的补充说明文档,与DFD共同构成系统的逻辑模型。
核心价值:
- 消除二义性:明确数据流、存储、元素的定义,避免理解偏差。
- 设计依据:为数据库设计、代码开发提供数据规范。
- 团队协作:作为开发团队的共享词汇表,确保术语一致性。
二、数据字典的四大组成要素
1. 数据流(Data Flow)
定义:数据在系统中的流动路径。
描述内容:
- 来源与去向:起点(外部实体/处理)、终点(处理/数据存储/外部实体)。
- 数据结构:组成的数据项(如“发票=学号+姓名+{书号+数量}”)。
- 数据特征:流量(如“1000次/周”)、峰值、格式(文本/二进制)。
案例(库存系统):
数据流名:定货信息
来源:处理“检查库存临界值”
去向:数据存储“定货信息临时文件”
组成:零件编号 + 零件名称 + 定货数量
流量:平均50次/天,峰值200次(月底)
2. 数据元素(Data Element)
定义:系统中不可再分解的最小数据单元。
描述内容:
- 数据类型:整数、字符串、日期等。
- 取值范围:如“性别=[男|女]”。
- 校验规则:长度、格式、默认值。
案例(考务系统):
数据项名:准考证号
别名:ExamID
类型:字符串
长度:10位
组成规则: 第1-2位:省份代码(01-99) 第3-4位:考场号(01-50) 第5-10位:顺序号(000001-999999)
示例:0103000001
3. 数据存储(Data Store)
定义:数据的持久化存储位置(文件/数据库表)。
描述内容:
- 存储结构:记录格式、索引方式(如“主键=零件编号”)。
- 访问频率:读写频率(如“每天更新1000次”)。
- 安全要求:权限控制、加密规则。
案例(库存系统):
数据存储名:库存清单主文件
别名:InventoryMaster
组成:零件编号 + 零件名称 + 库存量 + 临界值
存储方式:索引文件(按零件编号排序)
访问频率:实时更新(事务触发)
容量:约10万条记录
4. 处理逻辑(Processing Logic)
定义:对数据处理的简要说明(详细逻辑需用其他工具描述)。
描述内容:
- 输入/输出:数据流来源与去向。
- 触发条件:如“当库存量<临界值时生成定货信息”。
- 执行频率:如“每日生成一次报告”。
案例(考务系统):
处理名:统计成绩
编号:3.0
输入:成绩单(来自阅卷站)
输出:合格名单、试题难度分析表
逻辑: 1. 验证成绩单有效性 2. 根据合格标准标记考生状态 3. 按地区分类统计成绩 4. 计算试题平均得分
执行频率:每次考试后执行一次
三、数据字典的编写规范
1. 数据定义符号(BNF范式扩展)
符号 | 含义 | 示例 |
---|---|---|
= | 定义为 | 发票 = 学号 + 姓名 + {书号} |
+ | 顺序连接 | 日期 = 年 + 月 + 日 |
[ | ] | 选择其一 | 性别 = [男 | 女] |
{ } | 重复(0-N次) | 订单 = {商品编号 + 数量} |
( ) | 可选(0-1次) | 联系方式 = (手机号) + 邮箱 |
**注释** | 补充说明 | 零件编号第1位为进口/国产标识 |
2. 命名原则
- 数据流/存储:名词性短语(如“库存清单”)。
- 处理逻辑:动词+宾语(如“生成报告”)。
- 避免泛化:禁用“数据”“信息”等模糊词汇。
3. 分层管理
- 顶层定义:描述全局数据流和存储。
- 逐级细化:在子图中展开数据元素细节。
- 引用标记:跨页时使用编号关联(如“D1:库存清单”)。
四、数据字典与数据流图的联动
示例:库存管理系统
- 数据流图(DFD):显示“事务数据从CRT终端流向处理程序”。
- 数据字典:
数据流名:事务数据 组成:事务类型(入库/出库) + 零件编号 + 数量 来源:外部实体“仓库管理员” 去向:处理“更新库存”
五、常见错误与规避方法
-
数据流黑洞
现象:处理无输出数据流。
解决:检查处理逻辑是否遗漏输出(如“更新库存后未生成定货信息”)。 -
数据歧义
现象:同一数据项在不同位置定义冲突。
解决:全局统一定义(如“零件编号长度=10位”)。 -
冗余存储
现象:重复定义相似数据项(如“客户姓名”与“用户姓名”)。
解决:抽象公共数据模型(如统一为“姓名”)。
六、实战案例:考务系统数据字典
数据存储:考生名册
名称:考生名册
组成:准考证号 + 姓名 + 报考科目 + 考场号
存储方式:关系数据库表(主键=准考证号)
访问频率:报名期间每天更新2000次
安全要求:仅考务管理员可修改
处理逻辑:生成准考证
处理名:生成准考证
输入:有效报名单
输出:准考证
逻辑: 1. 分配唯一准考证号(规则见数据元素定义) 2. 生成PDF格式准考证 3. 发送至考生邮箱
触发条件:报名截止后24小时内