摘要: 概括:只要保证你的表在存储数据的时候不要存在重复数据(这些重复的数据是相对某一字段是固定不变的-其实通常就是把这些重复数据的字段加上其相对的字段,另外作为一张表,来解决不符合三大范式的),就可以实现三大范式的所有要求了。引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多.. 阅读全文
posted @ 2013-03-10 23:44 jack_ou 阅读(380) 评论(0) 推荐(0)
摘要: 背景:最近在做一个Java Web项目,SSH框架,MySQL数据库。项目的数据库没有设备用字段。在开发过程中,因数据库设计者未考虑周到,业务实体有一个属性没有对应的字段,因此需要在数据库表加一个字段。又由于此字段要求不可为空,并且在开发阶段,测试数据不多。于是我在drop掉了原来的表,增加了一个字段再重新建了一张表。 按照通常的做法,设计数据库都会在后面加几个类型为varchar的预留字段,也没有具体思考过为什么要这么做,这么做的好处是什么。在遇到这个问题之后引起我思考:预留字段这个通用的做法是否能减少开发阶段由于考虑不周到,或后续维护阶段因为需求变更或者扩展改造而需要增加字段而造成的麻烦。 阅读全文
posted @ 2013-03-10 22:52 jack_ou 阅读(3999) 评论(0) 推荐(0)
摘要: Conceptual data typeDBMS-specific physical data typeContentLengthIntegerint / INTEGER32-bit integerShort Integersmallint / SMALLINT16-bit integerLong Integerint / INTEGER32-bit integerBytetinyint / SMALLINT256 valuesNumbernumeric / NUMBERNumbers with a fixed decimal pointFixedDecimaldecimal / NUMBER 阅读全文
posted @ 2013-03-10 10:43 jack_ou 阅读(2477) 评论(0) 推荐(0)