数据库设计规范:主键、外键与字段命名原则

版权申诉
0 下载量 193 浏览量 更新于2024-08-05 收藏 85KB DOC 举报
这篇文档详细阐述了数据库设计的一系列规范,旨在确保数据库结构的一致性和可维护性。以下是这些规范的主要内容: 1. **主键及主键约束**:主键的命名遵循"pk_表名"的规则,不包含"系统规则名"。例如,部门表org_dept的主键是"pk_dept",对应的主键约束也是"pk_dept"。这样的命名方式有助于快速识别表的核心标识。 2. **外键及外键约束**:子表中的外键名应与父表的主键名相同,外键约束名则以"fk_"开头加上父表的表名。例如,主表tm_in_h的主键是"pk_in_h",子表tm_in_b的外键是"pk_in_h",外键约束名为"fk_in_h"。这种做法保持了关联关系的清晰性。 3. **表字段引用**:当一个表的字段引用另一表的主键时,该字段的命名与被引用的主键名一致。如果多字段引用同一主键,可以例外。例如,如果表A有一个引用部门的字段,那么这个字段直接命名为"pk_dept"。 4. **属性命名开始字符规范**:字段名的起始字符通常由数据库字段类型和Java类型决定。例如,使用"c"表示char类型,"v"表示varchar类型,"t"表示时间类型,"d"表示日期类型,"i"表示整数,"f"表示整数枚举,"b"表示布尔型,"n"表示浮点数。这有助于开发人员快速理解字段的用途和类型。 5. **单据状态**:字段名"fstatusflag"用于表示单据的状态,类型为int,通常对应Java的Integer类型,用于存储单据的各种状态值。 6. **审计信息**:包括"creator"(创建人)、"creationtime"(创建时间)、"modifier"(修改人)和"modifiedtime"(修改时间),以及"pk_corp"(公司/单位)等字段,用于记录数据的审计历史。 7. **审批流信息**:涉及"operator"(制单人)和"approver"(审核人)字段,用于追踪审批流程。 8. **系统信息**:包括"dr"(删除标志)和"ts"(时间戳)字段,"dr"通常为SMALLINT类型,表示记录是否被删除;"ts"为时间戳,记录数据变动的时间。 9. **树型业务对象的内部编码**:"innercode"字段,用于树形结构的业务对象,类型为varchar,长度为60,用于唯一标识树节点。 10. **打印次数**:"iprintcount"字段,记录单据的打印次数,类型为int,对应Java的Integer类型。 11. **单据日期时间**:"dbilldate"(单据日期)和"taudittime"(审核时间)字段,用于存储单据和审核的时间,类型为UFDate或UFDateTime。 12. **单据属性名**:未提供具体字段说明,但通常会包含与单据相关的各种属性,如单据类型、金额等。 这些规范不仅适用于数据库设计,也对后端开发和数据维护有重要指导作用,确保了数据库结构的标准化和高效管理。