`
LucasLee
  • 浏览: 206001 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何删除字典数据?

阅读更多
所谓字典就是数据库应用中被其他表(通常加以外键约束)引用的表,如客户表引用客户类型,那么客户类型即为字典表。删除字典数据要考虑是否已被其他数据引用,一般不允许做级联删除。

这个问题想必大家都碰到过,但各有各的 做法。本人与若干同事讨论过,将各种做法总结一下。

物理删除,即用delete SQL删除。如果字典数据被引用,则会抛出违反外键约束的异常,将其封装为可读的信息提示给用户。JDBC中的异常类为SQLException,如何判断是违反外键约束的异常呢?有方法如下:
利用SQLException中的errorCode,这是数据库特有的错误编码。
利用SQLException中的SQLState,在JAVA API DOC中说明这个是SQL99或XOPEN 标准的编码,而且可以用connection的meta data来判断符合哪个标准。经过的试验,说明这个meta data不太好用,但是SQLState还是较为统一的。   mysql5.0.21 sqlserver2000 oracle10 postgresql8 的试验报告见
http://blog.csdn.net/superbible_cs/archive/2006/09/01/1154315.aspx (是一个表格,这里贴不上。)
逻辑删除。即置表中的一个标记字段为已删除。查询时不可见,但实际还保留在表中。 好处是不用处理数据被引用的情况。它的缺点是,如果数据没有被引用,那么它其实可以被物理删除,但确留在系统中成为垃圾数据;其次在数据有唯一编码的情况下,被逻辑删除的数据实际上还占用着一个编码,有时用户会疑惑,明明表中查不到这个编码,我在新增的数据中使用这个编码却总提示编码已存在。
    各位又是用的什么方法来处理的呢?你的方法有何优缺点,不妨一同讨论一下。
分享到:
评论
1 楼 hasi 2006-09-01  
物理删除是不大可能了,
只能假删除
唯一编码 可以在 编码+删除标记组合完成
比如 删除标记为非0的表示已删除
那么 编码为 01的数据可以有很多分,但是没有被删除的只有1个,数据如下
01    0
01    1
01    2

相关推荐

    数据字典 T+16.0数据字典数据字典数据字典数据字典

    数据字典 T+16.0数据字典数据字典数据字典数据字典

    U8数据字典,U8数据字典,U8数据字典U8数据字典

    U8数据字典

    金蝶K3 CLOUD数据字典

    金蝶K3 CLOUD数据字典是针对金蝶K3Cloud系统的一款重要参考资料,它为从事金蝶开发的技术人员提供了全面而详细的数据结构和业务逻辑信息。数据字典是理解数据库设计、优化查询效率和进行系统维护的关键工具,对于...

    U8 V12.0数据字典_u813chm字典_U8数据字典_U8字典_用友_用友U8V12.0数据字典_

    《用友U8V12.0数据字典详解及应用》 用友U8V12.0数据字典是一份详尽的数据库参考文档,专为开发和管理用友U8系统的数据库程序设计。这份资料以CHM(Compiled HTML Help)格式提供,包含了系统中的所有关键组件,如...

    数据字典查看工具

    数据字典查看工具是数据库管理和维护中的重要辅助软件,它为用户提供了一个直观、便捷的方式来查看和理解数据库的结构和内容。在IT行业中,数据字典是数据库设计和管理中的核心部分,它包含了数据库中所有对象的详细...

    金蝶云星空数据字典数据结构(K3Cloud数据字典)

    金蝶云星数据字典数据结构,Html格式。包括基础资料,生产制造,财务等。

    U812.5 数据字典_U8数据库字典_用友数据字典12.5版本_

    《用友U8-12.5版本数据字典》是针对企业信息化管理软件用友U8系统的一个重要参考资料,它详细记录了该系统数据库中的各个数据表结构、字段信息及其实用功能,旨在为用户提供数据库查询、系统维护以及二次开发的有力...

    金蝶K3数据字典

    数据字典是系统设计阶段的产物,它记录了系统中的所有数据元素,包括数据项、数据结构、数据流、数据存储以及处理过程等。在金蝶K3中,数据字典用于规范和管理系统的数据,确保数据的一致性和准确性。开发人员通过...

    U9 6.0 离线数据字典

    《U9 6.0 离线数据字典详解》 在信息技术领域,数据字典是系统设计中不可或缺的一部分,它提供了关于数据库结构、字段、数据类型等关键信息的详细描述。对于企业级ERP(Enterprise Resource Planning)系统,如U9 ...

    NCC1909数据字典

    数据字典是数据库管理系统中的一个重要组成部分,它详细记录了数据库中所有对象的详细信息,包括数据表、字段、索引、视图等。在“NCC1909数据字典”中,我们可以预见到这将是一个关于NCC组织在1909年使用的特定数据...

    数据流图和数据字典的使用法则

    "数据流图和数据字典的使用法则" 数据流图(Data Flow Diagram,DFD)是一种用来描述系统逻辑模型的图形工具。它从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流图主要用于描述...

    ecology数据字典.zip

    1. **数据字典的定义**:数据字典是系统设计中的一个重要组成部分,它提供了关于数据的信息,包括数据项、数据结构、数据流、数据存储和处理过程的详细定义。它是系统分析员和程序员用于理解和管理数据的工具。 2. ...

    用友PLM Professional 数据字典

    《用友PLM Professional 数据字典》是针对企业产品生命周期管理(Product Lifecycle Management,简称PLM)中的数据管理和治理提供的一项重要工具。数据字典在信息化系统中扮演着至关重要的角色,它详细记录了系统中...

    NC6.X数据字典_633数据字典_nc数据字典_

    《NC6.X数据字典详解》 在信息技术领域,数据字典是系统设计中的关键组成部分,它详尽地记录了系统中所有数据元素的定义、属性以及它们之间的关系。NC6.X数据字典,作为针对NC6版本的专用工具,为理解和管理企业...

    金蝶KIS云旗舰数据字典.zip

    7. **数据安全**:数据字典还涉及到数据的安全性和保密性,定义了不同用户或角色对数据的访问权限,如读取、写入、删除等操作,确保了数据的安全。 8. **性能优化**:通过优化数据字典,企业可以提升系统性能,例如...

    致远 A6 数据字典

    【致远A6数据字典】是针对致远软件A6协同管理系统的专业术语,它是一种规范化的系统数据结构文档,用于详细记录和描述系统中各个数据表、字段及其关系,便于用户理解、管理和维护系统数据。在A6协同管理系统中,数据...

    NC6.3.zip_NC 数据字典_NC6.5数据字典_nc.6.3数据字典_nc6.32数据字典_nc6.3数据字典

    NC6.3数据字典(全),用友NC企业管理软件

    泛微ecology9数据字典明细

    泛微ECOLOGY9是一款企业级协同办公系统,它的数据字典是系统中非常关键的部分,用于定义和管理系统的各种数据结构和业务规则。数据字典通常包含了一系列的数据项、数据类型、数据来源、数据权限以及相关的业务逻辑,...

    OA系统数据字典

    数据字典在软件工程中扮演着记录和解释系统数据的角色,它详细列出了系统中所有数据实体、数据项、数据流以及它们之间的关系,帮助开发人员和维护人员理解系统的数据结构和处理流程。 首先,我们来详细解释一下数据...

Global site tag (gtag.js) - Google Analytics