C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年5月28日

摘要: 有一些开发人员不推荐使用完整性约束,你可能听过以下这么几点不使用外键的原因。 1、数据更新有可能和约束冲突。 2、当前的数据库设计如此灵活,以致于不支持引用完整性约束。 3、数据库为外键建立的索引会影响性能。 4、当前使用的数据库不支持外键。 5、定义外键的语法并不简单,还需要查阅。一、反模式:无视约束 即使第一感觉告诉你,省略外键约束能使得数据库设计更加简单、灵活,或者执行更加高效,你还是不得不在其他方面付出相应的代价 -- 必须增加额外的代码来手动维护引用完整性。 1、完整性问题 很多人对引用完整性的解决方案是通过编写特定的程序代码来确保数据间的关系的。每次插入新记录时... 阅读全文
posted @ 2013-05-28 22:56 逆心 阅读(2089) 评论(1) 推荐(0) 编辑

摘要: 本文的目标就是要确认那些使用了主键,却混淆了主键的本质而造成的一种反模式。一、确立主键规范 每个了解数据库设计的人都知道,主键对于一张表来说是一个很重要,甚至必需的部分。这确实是事实,主键是好的数据库设计的一部分。主键是数据库确保数据行在整张表唯一性的保障。它是定位到一条记录并且确保不会重复存储的逻辑机制。主键也同时可以被外键引用来建立表与表之间的关系。 难点是选择那一列作为主键。大多数表中的每个属性值都有可能被很多行使用。例如姓名,电子邮件地址等等都不能保证不会重复。 在这样的表中,需要引入一个对于表的域模型无意义的新列来存储一个伪值。这一列被用作这张表的主键,从而通过它来确定表中... 阅读全文
posted @ 2013-05-28 00:23 逆心 阅读(7937) 评论(3) 推荐(3) 编辑