使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上。 3)不要索引memo/note字段,不要索引大型字段(有很多字符),这样作会让索引 占用太多的存储空间。 4)不要索引常用的小型表 不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。对这 些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间。 4.数据完整性设计(数据库逻辑设计) 1)完整性实现机制: 实体完整性:主键 参照完整性: 父表中删除数据:级联删除:受限删除:置空值 父表中插入数据:受限插入:递归插入 父表中更新数据:级联更新:受限更新:置空值 DBMS对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机 制 用户定义完整性: NOT NULL:CHECK:触发器 2)用约束而非商务规则强制数据完整性 采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数 据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保 证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。 3)强制指示完整性 在有害数据进入数据库之前将其别除。激活数据库系统的指示完整性特性。这样可以保 持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。 4)使用查找控制数据完整性 控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清 晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公 共数据特别适合查找:国家代码、状态代码等。 5)采用视图 为了在数据库和应用程序代码之间提供另一层抽象,可以为应用程序建立专门的视图而 不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自 由。 5.其他设计技巧使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上。 3) 不要索引 memo/note 字段,不要索引大型字段(有很多字符),这样作会让索引 占用太多的存储空间。 4) 不要索引常用的小型表 不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。对这 些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间。 4. 数据完整性设计(数据库逻辑设计) 1) 完整性实现机制: 实体完整性:主键 参照完整性: 父表中删除数据:级联删除;受限删除;置空值 父表中插入数据:受限插入;递归插入 父表中更新数据:级联更新;受限更新;置空值 DBMS对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机 制 用户定义完整性: NOT NULL;CHECK;触发器 2) 用约束而非商务规则强制数据完整性 采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数 据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保 证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。 3) 强制指示完整性 在有害数据进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保 持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。 4) 使用查找控制数据完整性 控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清 晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公 共数据特别适合查找:国家代码、状态代码等。 5) 采用视图 为了在数据库和应用程序代码之间提供另一层抽象,可以为应用程序建立专门的视图而 不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自 由。 5. 其他设计技巧