首  页 | 资讯中心 | 网络学院 | 天新汽车 | 天新手机 | 天新游戏 | 软件开发 | 考试认证
品 牌 机 | 笔 记 本 | 服 务 器 | 天新数码 - DC - DV - MP3 - MP4 - GPS - TV | 数字家庭
硬件 DIY - 主板 - CPU - 内 存 - 硬 盘 - 显示器 - 显卡 - 光驱 - 机箱 - 键鼠 - 网络设备
办公设备 | 打 印 机 | 扫 描 仪 | 投 影 仪 | 一 体 机 | 传 真 机 | 路 由 器 | 交 换 机
软件下载 | 驱动下载 | 游戏下载 | 源码下载 | 教程下载 | 站长在线 | 产品中心 | 报价中心
开发首页 | 开发语言 | .Net开发 | Java开发 | Web开发 | 数据库开发 | 移动开发 | 游戏开发 | 企业开发 | 操作系统 | 软件工程
VB VC Delphi PB BCB C++ - ASP.net C# VB.net - J2EE J2SE J2ME EJB - ASP PHP JSP CGI - MSSQL Oracle DB2 MySQL - CodingLife
  数据库开发首页 | 数据库基础 | SQL Server | Oracle | IBM DB2 | Sybase | MySQL/Postgrsql | Access | 数据库问题
  您现在的位置:天新网 > 软件开发 > 数据库开发 > 数据库基础
数据库设计经验谈 (3)
http://dev.21tx.com 2005年07月26日 夜来香

每日文章精萃
.Net:对错误的态度 Java:Java图像处理技巧四则
ASP:排序方式解决“上下主题”问题(二) PHP:PHP4.03在linux下的安装
JSP:JSP文件操作例程-读文件 CGI:CGI教学:CGI安全问题(二)
VB:艺术设计的《电子日记》 VC:基于TCP/IP的局域网多用户通信(3)

1 2 下一页

[前言]:一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分:

  第一部分介绍了设计数据库之前12个基本技巧,包括命名规范和明确业务需求等;第二部分介绍设计数据库表24个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等;本次第三部分主要介绍选择键和索引,包含10个技巧专门涉及系统生成的主键的正确用法,还有何时以及如何索引字段以获得最佳性能等。

第 3 部分 - 选择键和索引

数据采掘要预先计划

  我所在的某一客户部门一度要处理 8 万多份联系方式,同时填写每个客户的必要数据(这绝对不是小活)。我从中还要确定出一组客户作为市场目标。当我从最开始设计表和字段的时候,我试图不在主索引里增加太多的字段以便加快数据库的运行速度。然后我意识到特定的组查询和信息采掘既不准确速度也不快。结果只好在主索引中重建而且合并了数据字段。我发现有一个指示计划相当关键——当我想创建系统类型查找时为什么要采用号码作为主索引字段呢?我可以用传真号码进行检索,但是它几乎就象系统类型一样对我来说并不重要。采用后者作为主字段,数据库更新后重新索引和检索就快多了。

  可操作数据仓库(ODS)和数据仓库(DW)这两种环境下的数据索引是有差别的。在 DW 环境下,你要考虑销售部门是如何组织销售活动的。他们并不是数据库管理员,但是他们确定表内的键信息。这里设计人员或者数据库工作人员应该分析数据库结构从而确定出性能和正确输出之间的最佳条件。

使用系统生成的主键

  这类同技巧 1,但我觉得有必要在这里重复提醒大家。假如你总是在设计数据库的时候采用系统生成的键作为主键,那么你实际控制了数据库的索引完整性。这样,数据库和非人工机制就有效地控制了对存储数据中每一行的访问。

  采用系统生成键作为主键还有一个优点:当你拥有一致的键结构时,找到逻辑缺陷很容易。

分解字段用于索引

  为了分离命名字段和包含字段以支持用户定义的报表,请考虑分解其他字段(甚至主键)为其组成要素以便用户可以对其进行索引。索引将加快 SQL 和报表生成器脚本的执行速度。比方说,我通常在必须使用 SQL LIKE 表达式的情况下创建报表,因为 case number 字段无法分解为 year、serial number、case type 和 defendant code 等要素。性能也会变坏。假如年度和类型字段可以分解为索引字段那么这些报表运行起来就会快多了。

键设计 4 原则

  1.为关联字段创建外键。
  2.所有的键都必须唯一。
  3.避免使用复合键。
  4.外键总是关联唯一的键字段。



上一篇: Oracle收购TimesTen 提高数据库软件性能
下一篇: 解决VFP的表格控件Grid变白等问题

1 2 下一页

编辑推荐
相关内容
·Oracle数据库的ORA-00257故障解决过程
·将Oracle 10g内置的安全特性用于PHP
·SQL Server2005 SQLCLR代码之CLR安全
·MySQL查询优化系列讲座之查询优化器
·SQL Server数据库实用小技巧集合
·SQL语言入门教程:第二课 创建表格
·SQL语言入门教程:第一课 简介
·SQL语言入门教程:第三课 数据查询
·利用ASP存取各种常用类型数据库(4)
·利用ASP存取各种常用类型数据库(3)
·数据库设计经验谈 (2)
·数据库设计及建模工具——ERwin简介
·数据库设计的一点经验
·MySQL数据库中的安全解决方案
·深入浅出SQL教程之SELECT语句中的表连接
·MySQL查询优化系列讲座之调度和锁定
·MySQL查询优化讲座之管理员的优化措施
·SQL Server2000数据库系统表的应用
·MySQL查询优化系列讲座之数据类型与效率
·网络数据库设计入门(七)ODBC与ADO对象
最近更新
人气最热
·数据库设计经验谈 (2)
·优化--让你的SQL运行速度明显提高
·Oracle收购TimesTen 提高数据库软件性能
·解决VFP的表格控件Grid变白等问题
·编程入门:九大数据仓库特点比较
·SQL高手篇:精妙SQL语句介绍
·一道褒贬不一的 SQL 考试题
·网络数据库设计入门(七)ODBC与ADO对象
·网络数据库设计入门(五)Access数据库及其基
·网络数据库设计入门(四)中小型关系型数据库
·数据库设计经验谈 (2)
·优化--让你的SQL运行速度明显提高
·编程入门:九大数据仓库特点比较
·网络数据库设计入门(四)中小型关系型数据库
·SQL语言入门教程:第二课 创建表格
·SQL语言入门教程:第一课 简介
·SQL Server 7.0 入门(八)
·SQL高手篇:精妙SQL语句介绍
·解决VFP的表格控件Grid变白等问题
·SQL Server 7.0 入门(三)

 
·[硬件]“我为多核狂” 航嘉多核DH6电源评测报
·[数码]DV液晶显示屏保护和磁头保养简单技巧
·[汽车]欧雅在广州降1.5万元 最低售价17.6万元
·[开发]創建一個簡單的"專家"
·[资讯]评论:封杀无法阻止网络电话的进军
·[游戏]天堂2:47F银月对弓练级经验之谈
·[本本]笔记本每日一贴——LAN & WAN
·[办公]引领低端商务投影机市场 索尼CS20杀到
·[手机]与行货保持距离 改版诺基亚3220将破千
·[考试]GRE试题(六)
·[学院]WinXP:轻松恢复“显示桌面”按钮
·[娱乐]三宝系列--高招
 

关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
© 晨新科技 版权所有 Created by TXSite.net