数据库设计技巧
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 1 Excel 模板格式
图 2 需要的字段和类型
1 问题的提出
2 解决方案
例如我们当前面临的问题: 某港资漂染企业的香港总部要求内地各
如何实现这类数据转换, 我们提出以下 3 种解决方案:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
产生的数据, 这样有利于提供数据的管理备份和对当前数据的操作性能。
( 2) 编码和参数最好通过表维护, 字段命名应制定统一命名规范, 中 文描述应尽量清晰。
( 3) 考虑各种变化。在设计数据库表某些字段时, 要充分考虑到哪些 字段将来可能会发生变更, 例如编码、数据二维性。
( 4) 使用自定义域定义出现频率高的字段, 这样有利于调整和修改。 例 如 备 注 、日 期 、时 间 、金 额 等 字 段 。
分厂按照 规 定 Excel 模 板( 见 图 1) , 将 原 生 产 管 理 信 息 系 统 中 SQL 数 据 库中数据上报总部。其中数据分别来源于不同的表 dd, dd1, sh, pg 等, 需 要将多个表中的数据根据不同日期的要求查询出对应数据, 并按照规定 格式显示在多个 Sheet 中。所需要字段和类型见图 2。
1 数据库选择பைடு நூலகம்
应根据应用需要选择数据库。一般市场主要流行三大类数据库: 大 型数据库( Oracle) , 中小型数据库( SQL Server, DB, Informix) , 小型数据库 ( MySQL Server, Acess) 。选用原则有以下几点:
( 1) 系统数据量大, 性能要求高, 数据安全级别高, 需考虑优化、数据 仓库挖掘等, 建议采用大型数据库。
237
科技情报开发与经济
SCI- TECH INFORMATION DEVELOPMENT & ECONOMY
2006 年 第 16 卷 第 19 期
文章编号: 1005- 6033( 2006) 19- 0238- 03
收稿日期: 2006- 04- 03
数据转换技术探讨
—— —一种实现 SQL 数据导入到 Excel 模板的方法
( 5) 设 置 一 些 常 用 的 隐 藏 字 段 来 满 足 特 殊 的 需 要 , 例 如 增 加 删 除 标 记 字 段 、数 据 创 建 时 间 、数 据 修 改 时 间 、记 录 标 志 等 。 3.2 主键与外键及索引的设计
( 1) 创建主键。主键唯一, 尽量避免使用联合主键, 尽量避免使用业 务唯一主键, 避免使用系统自动生成的主键。
比较和测试各功能函数和设计方法的差异。
社, 2000: 39- 50.
( 责任编辑: 刘翠玲)
6 结语
─────────────── 第一作者简介: 李博湘, 男, 1977 年 9 月生, 2000 年毕业于国防科学
数 据 库 设 计 的 重 要 性 需 要 读 者 在 数 据 库 设 计 中 不 断 体 会 、 比 较 、分 析、总结。一个好的系统是离不开好的数据库设计的, 希望数据库人员引 起高度重视。同时, 也希望本文能给读者一些提示和帮助, 为设计出优良
然而在实践中我们发现, 仅仅简单地采用 DTS 工具将数据从 SQL 数 据库导出到 Excel 中, 并不能很好地满足用户的要求。企业中有很多用户 都习惯于用 Excel 处理一些日常事务数据或上报业务数据, 需要将企业管 理信息系统中 SQL Server 等数据库中存储的数据转换成上级规定的格式。 因此, 实现把 SQL 数据库中的数据按客户需要的格式导出到 Excel 中就成 了一个迫切需要解决的问题。实现实时更新, 同时满足符合 Excel 模板的 格式要求, 只依靠 DTS 来操作是不行的, 还需要一定的技术处理。
摘 要: 数据库设计的优劣直接影响到系统的运行性能。根据多年数据库设计经验, 对
数据库设计的一些技巧做了总结, 以期为初级数据库设计人员提供参考。
关键词: 数据库设计; 设计范式; 数据库模型
中图分类号: TP311.13
文献标识码: A
数据库的设计关系到系统运行性能, 必须充分考虑数据的一致性、 完 整 性 、安 全 性 、可 伸 缩 性 。数 据 库 的 设 计 范 式 是 数 据 库 设 计 所 需 要 满 足 的 规 范 , 满 足 这 些 规 范 的 数 据 库 是 简 洁 的 、结 构 明 晰 的 , 同 时 , 不 会 发 生 插入( insert) 、删除( delete) 和更新( update) 操作异常。反之, 不仅给数据库 的编程人员制造麻烦, 而且很难维护, 极大地浪费数据库资源和性能。下 面将就数据库设计经验和技巧进行探讨。
4 数据库文件配置管理
数 据 库 配 置 文 件 建 议 将 数 据 文 件 和 日 志 文 件 放 在 系 统 安 全 、空 间 大 的位置; 数据文件建议设置为增量扩展方式, 并可根据数据量大小进行 设置; 建议对数据库设置为差异备份, 定期做完整备份。
5 其他设计技巧
5.1 数据完整性设计 ( 1) 实体完整性。通过主键、外键、联合主键控制, 建议最好使用系统
入到 Excel 的模板的。
关键词: Delphi; SQL Sever 2000; Excel; 数据转换
中图分类号: TP274
文献标识码: A
随着数据库技术的发展, 不同类型数据库之间的数据复用问题越来 越突出。而针对不同数据转换, 就 SQL Server 2000 的 DTS 来 说 , 已 提 供 了 功 能 很 强 大 的 技 术 支 撑 , 它 允 许 用 户 从 不 同 的 数 据 源 中 导 入 、导 出 和 转 换 数 据 , 这 些 数 据 源 可 以 是 SQL Server, Oracle, dBase, Access, Excel 等 等, 或者是任何一种 ODBC 兼容的数据源、OLDB 兼容的数据源以及文本 文件。所以很多掌握了这个工具的人都认为从 SQL 数据库中导出数据到 Excel 工作簿中是易如反掌的事。
许 菱, 陈立新, 孔令新
( 江西理工大学, 江西赣州, 341000)
摘 要: 介绍了一种把 SQL 数据库中的数据按客户需要的格式 导 入 到 Excel 模 板 的 方
法 , 介 绍 了 在 Delphi 开 发 环 境 中 操 作 Excel 的 方 法 , 并 举 例 说 明 了 SQL 数 据 是 如 何 导
技术大学, 现为华南理工大学软件学院 MSE2004 级在职硕士研 究 生 , 广 州新软计算机技术有限公司, 广 东 省 广 州 市 海 珠 区 信 步 东 街 30 号 202 房, 510300.
The Skills for Database Design
LI Bo-xiang
ABSTRACT: The database design has direct influence on the operating performance of system. According to many years’ experiences of database design, this paper sums up some techniques of database design for providing some references for the beginners of database design. KEY WORDS: database design; design paradigm; database model
科技情报开发与经济
SCI- TECH INFORMATION DEVELOPMENT & ECONOMY
文章编号: 1005- 6033( 2006) 19- 0237- 02
数据库设计技巧
2006 年 第 16 卷 第 19 期 收稿日期: 2006- 04- 06
李博湘
( 华南理工大学, 广东广州, 510320)
机械工业出版社, 2000: 72- 96.
据库表的设计, 还可以生成 SQL 脚本。
[ 2] 顾 诚.Oracle 数 据 库 系 统 应 用 开 发 [ M] . 北 京 : 电 子 工 业 出 版 社 ,
5.4 查阅数据库帮助文档
1998: 110- 150.
数据库设计人员应培养一种经常查阅数据库帮助文档的习惯, 仔细 [ 3] 郑 沫.SQL Server 7.0 开 发 实 例 精 解[ M] .北 京 : 北 京 希 望 电 子 出 版
( 2) 按 IPO 设计思想展开工作, 整理功能模块的输入、处理、输出, 并 详细到每一属性。
( 3) 积极了解与本系统相关的外部接口和数据。 ( 4) 用较好的建模工具创建对象模型和 ER 图表, 并在每一字段中详 细进行标注和描述。 ( 5) 定义标准的对象命名规范, 这样容易维护和扩展。
3 数据库物理模型设计
编码而非业务编号去控制。 ( 2) 父表中删除、插入、更新数据。删除操作应采用级联删除, 受限删
除, 或置空值等方法; 插入操作采用受限插入, 递归插入技巧; 更新数据 采用级联更新, 受限更新, 置空值等方法。
( 3) 用户定义完整性, NOT NULL, CHECK, 触发器。 ( 4) 对 于 松 散 耦 合 数 据 , 不 一 定 需 要 通 过 数 据 库 设 计 保 证 数 据 完 整 性, 特别是业务数据完整性约束, 可通过应用程序实现, 这样不至于因系 统受局限太多, 容易出现数据库异常。 5.2 表设计其他技巧 ( 1) 有时候对应一些编码字段, 如果应用比较频繁, 数据量大, 可以考 虑在表增加冗余字段, 比如设备编号, 适当增加设备名称字段, 这样就可以 避免多次操作其他表的次数, 有利于程序编写和提高系统运行性能。 ( 2) 增加一些记录日志、数据版本的字段, 方便系统进行跟踪、管理, 这点可根据具体实际应用设计。 ( 3) 对于数据量大, 需要保留的数据库表, 可以考虑使用历史表, 保留
( 2) 系统数据量相对比较少, 便于操作, 容易管理, 数据库相对稳定, 建议采用中小型数据库。
( 3) 小型应用, 系统数据量小, 系统投资小, 可考虑小型数据库, 如采 用 MySql Server, 还是免费使用, 不会涉及版权问题, 投资成本最低。
2 数据库对象模型设计
( 1) 主动和客户沟通, 详细了解客户需求, 并充分考虑客户的需求扩 展。
的数据库出一份力。
5.3 检查数据库设计
参考文献
数 据 库 设 计 中 , 一 般 都 会 采 用 一 些 数 据 库 设 计 工 具 , 例 如 [ 1] Michael Abbey, 乐嘉锦, 王 兰 成 , 等.Oracle8i 初 学 者 指 南[ M] .北 京 :
PowerDesiger, 数 据 库 表 设 计 完 后 , 应 该 有 一 个 很 好 的 习 惯 , 就 是 检 查 数
( 2) 创建外键。慎用外键, 一个表尽量避免使用多张表的外键。 ( 3) 索引键。索引建议常用主键, 如需查询使用外键, 索引键尽量避 免使用字符字段、文本字段, 数据量小的表尽量避免使用索引。 3.3 视图设计 视图是为了满足应用程序对数据抽象而产生的, 充分利用视图可以 增强数据库设计灵活性。视图设计应避免非关联查询操作, 避免无关联 数据库表数据设计到一个视频中, 这样效率会非常低。视图设计应利用 一些数据库性能分析器工具, 分析视图性能, 不断进行改进。 3.4 存储过程设计 大 量 数 据 运 算 、业 务 逻 辑 处 理 建 议 常 采 用 存 储 过 程 实 现 , 这 样 性 能 高 、处 理 速 度 快 、调 试 方 便 。存 储 过 程 编 写 应 采 用 性 能 分 析 器 进 行 测 试 和 分析, 不断优化存储过程语句。对于重要的存储过程代码, 可适当运用加 密功能。 3.5 触发器设计 应尽量避免使用触发器, 因为在调试过程中会给你带来不少麻烦。 触发器设计应弄清楚触发前提, 看是用哪一种触发模式, 另外需关注该 表的操作是否会影响到其他表的约束。
3.1 表设计 ( 1) 标准化和规范化。数据的标准是以范式来进行定义的, 一般的数
据 库 设 计 遵 循 到 第 三 范 式 , 因 为 第 三 范 式 通 常 被 认 为 在 性 能 、扩 展 性 和 数据完整性方面达到了最好平衡。但有时候, 为了效率和特殊应用的需 要, 对表可采用一些不遵循范式标准的设计。