`
TideLeeLiveCom
  • 浏览: 1561 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

数据库处键的必要性

 
阅读更多

以下是个人和一些网友的看法,希望能起个抛砖引玉的作用

1.
规范化的数据库当然需要 FK, 没有 FK 何谈规范化? NF 是已经被被证明的理论

2.
但是,理论终归是理论,NF 一个重要目标就是避免数据冗余,
当冗余不存在的时候,查询就需要更多的操作,比如需要表链接,

3.
所以了,实际应用,一般只 3NF,并且有了 非规范化 或者 逆规范化 的设计

4.
设计 规范化 的数据库很容易,但是 逆规范化 的数据不是每个人都可以设计的,
一般,跟你的 实际需求目标 紧密关联的,至少冗余问题来了,你得考虑更新策略

5.
一般 3NF 就够了,
一般小型应用,还是严格到 3NF
只有大型应用,牛人们才考虑非规范化设计
如果,你连 规范化设计 都不理解,就不要奢望 非规范化设计了,前者是后者的基础

 

6 数据库"设计"需要外键,数据库"实现"不需要外键,只在程序里实现约束,

 

这个第6点的程序实现约束,大家都有哪些作法呢,我是每次手动写代码去判断的

 

分享到:
评论
3 楼 xerobuffer 2009-09-10  
经过几个项目,我更倾向于不建立外键约束,希望在业务层保证完整性。还有一种设想的方式,项目初期建立上外键约束,可以快速发现部分bug,项目后期取消这些约束定义。
2 楼 Magicloud 2009-09-10  
virgin key?
1 楼 weiqingfei 2009-09-10  
只是数据整合性的check放在哪里的问题。

相关推荐

    数据库参考开发手册,各种数据库,数据库大全

    定期对数据库进行性能监控、日志分析和维护是保证数据库健康运行的必要步骤。监控工具如MySQL的Performance Schema或监控平台如Prometheus可以帮助我们发现和解决问题。 九、数据库发展趋势 随着云计算和物联网的...

    自动安装Oracle数据库

    Oracle数据库是企业级广泛使用的数据库管理系统,其稳定性和性能被众多公司所信赖。在IT行业中,自动安装Oracle数据库可以显著提高工作效率,减少手动配置带来的错误。本教程将深入讲解如何利用提供的自动安装脚本来...

    C#一键还原mssql数据库的源码

    本文将深入探讨如何利用C#编程语言开发一个一键还原MSSQL数据库的工具,以及该工具在实际操作中的便利性。 标题"\"C#一键还原mssql数据库的源码\"\"表明我们要讨论的是一个基于C#的程序,这个程序的主要功能是简化...

    广东工业大学《数据库》2011-2015年历年期末考试试卷.pdf

    比如“包含在任何一个候选关键字中的属性称为”可能要求填写的是“主属性”,因为候选键的属性必须能唯一标识关系中的每个元组,因此它们在逻辑上与主键有相似之处。 数据库三级模式结构是数据库设计中的一个重要...

    数据库原理教案.doc

    这门课程的目的是让学生理解和掌握数据库的基础理论,能够设计合理的数据库结构,使用数据库语言进行查询、修改以及进行必要的维护工作,为未来深入的数据库应用打下坚实基础。 课程内容主要包括数据库系统的体系...

    数据库实验二截图

    9. **备份与恢复**:数据库的安全性很重要,实验可能包括了如何备份数据库,以防数据丢失,并学习如何在必要时恢复数据。 10. **权限与安全**:数据库管理还包括用户账户的创建和权限设置,确保只有授权用户能访问...

    郝宾数据库学习笔记

    在数据库设计中,表由字段(列)、记录(行)组成,每个字段有特定的约束,如主键、外键、唯一键和非空约束等,这些约束保证了数据的完整性和一致性。关系则定义了不同表之间的联系。主键是唯一标识记录的字段,而...

    sql 数据库 应该大于;了

    - **满足用户需求**:设计时需充分考虑用户的应用需求,确保数据库能够支持所有必要的业务流程。 - **高性能**:数据库的设计应当确保高效的数据存储和查询能力,减少延迟并提高响应速度。 - **精确模拟现实世界**:...

    SQL数据库管理毕业论文

    4. **关系数据库模型**:这是最常见的数据库模型,基于关系理论,由若干个表组成,每个表由行和列构成,通过键连接各个表。 5. **数据库完整性**:确保数据的准确性和一致性,包括实体完整性(主键约束)、参照完整...

    数据库开发实例 数据库应用开发教程

    合理使用主键、唯一键、全文索引、空间索引等不同类型的索引,可以显著提升数据库性能。 4. **事务处理**:事务是数据库操作的基本单元,保证了数据的一致性。ACID(原子性、一致性、隔离性、持久性)是事务处理的...

    OFFICE2003数据库项目

    8. **数据库性能优化**:随着数据量的增长,优化查询性能、合理设计索引以及定期维护数据库(如运行数据库检查和修复)是必要的。 9. **数据库的备份与恢复**:定期备份数据库以防数据丢失,了解如何备份、恢复和...

    高级数据库

    同时,数据库的基本特性,如表、键、完整性约束、锁、视图,以及SQL语法(DDL、DML)、触发器、存储过程和事务等也是必须掌握的基本用法。 课程中提到数据库设计的基本原则,包括为性能而设计的重要性。强调了...

    access数据库原理与应用

    定期备份数据库以防止数据丢失也是必要的。 ### 8. 高级主题 随着对Access的深入学习,还可以探索更多高级特性,如:多用户协作、数据验证规则、存储过程、触发器、数据库优化等。 通过学习和实践《Access数据库...

    Thinkphp数据库备份和还原

    此外,验证备份的完整性和可恢复性也是必要的,可以定期尝试还原一小部分数据进行测试。 5. **性能优化**:在处理大量数据时,可以考虑分片备份,即将大表分成小块进行备份,以降低单次操作的负载。另外,使用压缩...

    数据库课件

    数据库是信息技术领域中不可或缺的一部分,尤其在存储、管理和分析大量结构化数据时,它的作用尤...此外,了解这些内容对于后续学习数据库查询语言(如SQL)、数据库性能调优和数据库安全等方面的知识也是十分必要的。

    零售集团商品采购-数据库课程设计

    1. **数据库概念**:首先,我们需要理解数据库的基本概念,如关系型数据库、实体、属性、键、索引等。在零售集团商品采购中,数据库将存储供应商信息、商品信息、采购订单、库存状态等关键数据。 2. **需求分析**:...

    U870 数据库字典

    《U870数据库字典》是针对用友...总之,《U870数据库字典》是用友U870系统使用者和开发者的宝贵工具,它不仅揭示了系统的数据结构,还为各种业务操作和开发任务提供了必要的指导,是确保企业信息化顺利进行的关键资源。

    一个数据库管理系统 一个数据库管理系统

    在关系型数据库中,数据以表格的形式存在,表格之间通过键关联,形成了复杂的数据结构。 DBMS提供了数据定义语言(DDL)和数据操作语言(DML),使得用户可以创建数据库结构、插入、更新、删除数据,以及查询和分析...

    数据库设计pdf

    6. **安全性与权限管理**:数据库设计中,安全性和权限控制是不可或缺的部分,包括用户账号管理、角色权限分配、访问控制列表(ACL)等,确保数据的安全性和隐私。 7. **备份与恢复**:数据库设计需包含备份策略,...

    解决Solidworks数据库丢失无法使用完整功能

    在Solidworks的运行过程中,数据库(如swbrowser.mdb)起着至关重要的作用,它存储了用户界面配置、模型数据、设计历史等关键信息,确保软件的正常运行和设计工作的连贯性。 ### 数据库丢失的影响 当Solidworks的...

Global site tag (gtag.js) - Google Analytics