`

关于数据库设计中的状态字段

阅读更多
引用

做数据库设计的时候,某些表必须有一个状态字段.比如角色表,它的状态为:已禁用、正常等。那是不是要单独做一张角色状态表呢?
那么其他表的中的状态字段,是不是也要做一张对应的状态表呢?
即使状态只有两个值?

如果这种状态只有两个值可以设置一个字段为bool类型
如果状态包括多个值,但这些值不需要总变化,可以考虑用枚举类型
如果状态包括多个值,且需要经常添加或删除,可考虑创建一个新的表,与主表关联


http://blog.csdn.net/hehuii/archive/2010/07/25/5764683.aspx
引用
例如面向过程的设计中,一张申请表很可能被设计成一张物理表;而面向对象设计中,很可能没有申请表这么一张物理表,而只有“用户资料”、“申请流程”、“申请资质”等对象表,所谓的申请对象,是在运行期由这些对象聚合而成的。


正确认识数据冗余
  主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。
  〖例4〗:商品中的“单价、数量、金额”三个字段,“金额”就是由“单价”乘以“数量”派生出来的,它就是冗余,而且是一种高级冗余。冗余的目的是为了提高处理速度。只有低级冗余才会增加数据的不一致性,因为同一数据,可能从不同时间、地点、角色上多次录入。因此,我们提倡高级冗余(派生性冗余),反对低级冗余(重复性冗余)。
分享到:
评论

相关推荐

    数据库字段命名规范

    数据库字段命名规范是数据库设计的重要环节,良好的命名规范可以提高数据库的可读性、可维护性和可扩展性。以下是数据库字段命名规范的详细介绍: 一、数据库表名命名规范 * 数据库表名在命名时,首字母大写,用...

    数据库设计指南 数据库设计

    Inmon和Kent Graziano等人编写的关于数据库设计的书籍,可以从中学到很多有效的模式和案例。 5. **考虑历史训练数据:** - 在设计数据库时,要考虑如何存储历史数据。历史数据往往包含了大量有价值的信息,可以...

    支付交易平台数据库设计文档

    数据库设计文档中所列出的一些术语和代码片段,如“BatchInfo”、“Channel_Settle_Cmd”、“Channel_Parm”等,可能是与特定业务逻辑相关的字段或代码命名约定。这表明数据库设计需要与业务流程紧密集成,满足各种...

    金蝶 KIS专业版10数据库表和字段详细说明

    金蝶KIS专业版是一款广泛应用于中小型企业财务管理的软件,其数据库设计对于理解和优化系统运行至关重要。本资料主要聚焦于金蝶KIS专业版10的数据库表和字段的详细说明,确保与官方最新版本相匹配,以提供全面、准确...

    数据库设计说明书

    数据库设计说明书是软件开发过程中的重要文档,它详细记录了数据库的设计思路、方法和实现细节,为项目的实施提供了明确的指南。本篇文章将深入探讨数据库设计的各个方面,以帮助理解其核心概念和重要性。 ### 1. ...

    crm数据库设计文档crm数据库设计文档

    在探讨“CRM数据库设计文档”的核心知识点时,我们首先需要理解CRM(Customer Relationship Management,客户关系管理)系统在企业中的重要性以及其背后的数据库设计原理。CRM系统是现代企业管理和维护与客户关系的...

    在线音乐网站数据库设计.docx

    标识符用于唯一识别数据库中的每个实体,如用户ID、歌曲ID等,状态字段记录这些实体的状态,例如歌曲的可用性、用户的活跃状态等。 2.2 使用它的程序 数据库被网站前端和后台服务程序所使用,用于数据的读取、写入...

    uml数据库设计应用

    《UML数据库设计应用》是关于使用统一建模语言(UML)进行数据库设计的一门技术,它在软件工程领域中扮演着至关重要的角色。UML作为一种通用的、可视化建模语言,为软件开发提供了标准化的方法,使得系统设计更加...

    微博数据库设计 设计网站数据库

    E-R图是数据库设计中用于表示实体、属性以及实体间联系的图形表示方法。对于微博系统,主要涉及以下实体及其联系: - **User**:用户实体。 - **Message**:状态实体。 - **PrivateMessage**:私信实体。 - **...

    排课系统设计数据库设计

    在这个系统中,数据库设计扮演着核心角色,因为它确保了数据的有效存储、检索和管理。下面我们将深入探讨排课系统设计中的数据库设计及其相关知识点。 首先,排课系统的核心目标是合理分配教师、教室和课程时间,...

    k3数据库字段说明

    本文将围绕“K3数据库字段”这一主题,深入解析K3 V 11.0版本中的各个模块,以供K3 BOS平台及第三方软件开发者参考。通过对合并报表、采购管理、考勤管理、日成本管理、人力资源考勤信息、零售门店管理、生产设备...

    软件开发中的数据库设计

    在软件开发过程中,数据库设计是至关重要的一个环节,它直接影响到系统的性能、可维护性和扩展性。本篇文章将深入探讨数据库设计的各个方面,包括ER图(实体关系图)、逻辑设计和物理设计。 1. ER图(实体关系图) ...

    oracle数据库设计原则

    7. **删除标记**:设置状态字段如`status`,而非直接删除记录,以维护数据的完整性并简化对相关联记录的影响管理。 8. **无业务含义的主键**:使用无业务含义的数字(如自增ID)作为主键,避免因业务规则变化导致...

    京东数据库设计.docx

    京东数据库设计是一个全面的系统架构,它涉及到多个关键的数据实体,包括账户管理、活动记录、活动结算、第三方支付结算以及咨询信息等。这份文档详细阐述了这些核心表的设计,为理解京东的业务流程和数据存储提供了...

    酒店管理系统_(数据库课程设计

    * 在酒店管理系统数据库设计中,我们首先确定了数据库的逻辑结构,即客房信息表、客户信息表、入住登记表等,然后设计了每个表的物理结构,包括字段名、数据类型和约束条件。 知识点二:数据表设计 * 数据表设计是...

    关于数据库DBA操作

    在数据库设计和管理中,字段信息描述是指对数据库表中每一列的定义,包括其数据类型、长度、是否可为空、默认值等属性。行的描述则涉及到了数据如何在数据库表中存储和检索,包括行的物理布局、索引信息以及行锁等...

    数据库设计60个技巧

    根据给定的文件信息,以下是对“数据库设计60个技巧”的专业知识点的详细解析: ### 数据库设计的重要性 在企业信息化建设中,数据库如同人体的血液,是支撑各项业务运行的关键。良好的数据库设计能够确保数据的...

    数据库设计规范 手册 指导

    数据库设计是构建高效、稳定、可扩展的信息系统的基础,它涉及到多个方面的规范和原则。本手册将深入探讨数据库设计...在实际操作中,应根据项目需求和团队习惯进行适当调整,但始终要确保遵循基本的数据库设计原则。

    管理系统数据库设计

    在IT行业中,数据库设计是构建高效、稳定且可扩展的信息系统的关键步骤。在这个"管理系统数据库设计"的主题中,我们将深入探讨三个具体领域的数据库设计:学生成绩管理、报刊订阅管理和客房管理系统。这些数据库设计...

Global site tag (gtag.js) - Google Analytics