数据库设计规范:主键、外键与字段命名原则
版权申诉
70 浏览量
更新于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. **单据属性名**:未提供具体字段说明,但通常会包含与单据相关的各种属性,如单据类型、金额等。
这些规范不仅适用于数据库设计,也对后端开发和数据维护有重要指导作用,确保了数据库结构的标准化和高效管理。
2023-01-08 上传
2022-12-19 上传
2024-01-04 上传
2023-08-05 上传
2023-11-11 上传
2024-10-30 上传
2024-10-30 上传
2024-10-30 上传
小虾仁芜湖
- 粉丝: 104
- 资源: 9352
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍