




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库设计和物理存储结构 Southwest Forestry College 数据库设计考虑事项 n数据库的用途及该用途将如何影响设计 。应创建符合用途的数据库计划。 n数据库规范化规则,防止数据库设计中 出现错误。 n对数据完整性的保护。 数据库设计考虑事项 n数据库和用户权限的安全要求。 n应用程序的性能需求。 n维护。 n估计数据库大小。 创建数据库计划 n创建数据库的第一步是制订计划,该计 划可在实现数据库时用作指南;也可以 在数据库实现完成后,用作数据库的功 能说明。数据库设计的复杂性和细节由 数据库应用程序的复杂性和大小及用户 数确定。 创建数据库计划 n数据库应用程序的性质和复杂性以及对 其进行计划的过程可以变化很大。数据 库可以相对简单,如为单人使用设计的 数据库;它也可以很大、很复杂,如为 处理数百万顾客的所有银行事务而设计 的数据库。 创建数据库计划 n对于前一种情况,数据库设计可能只需 要在一些草稿纸上写几个备注即可。对 于后一种情况,设计可能是数百页的正 式文档,其中包含有关数据库的各种可 能细节。 创建数据库计划 n在计划数据库时,不管其大小和复杂性 如何,都要经过下列基本步骤: 收集信息 标识对象 建立对象模型 标识每个对象的信息类型 标识对象之间的关系 收集信息 n在创建数据库之前,必须对期望数据库执行的工作有 一个透彻的理解。如果数据库用于替换基于纸张或手 工执行的信息系统,则现有的系统能为您提供所需的 大多数信息。 n与系统中所涉及的每个人进行交流,以找出他们所做 的工作以及他们需要从数据库中获得的内容是很重要 的。了解他们希望新系统完成的工作,以及找出现有 系统的问题、限制和瓶颈也很重要。 n收集客户结算、库存列表、管理报表以及属于现有系 统的任何其它文档的复本,因为这些对于设计数据库 和界面非常有用。 标识对象 n在收集信息的过程中,必须标识将由数据库 管理的主要对象或实体。对象可以是一个有 形的实体(如一个人或一个产品),也可以 是一个无形的项目(如某项业务事务、公司 中的某个部门或某个付薪周期)。 n通常会有几个主要对象,标识了这些对象之 后,相关的项目就会变得清晰。数据库中每 个不同的项目都应有一个对应的表。 建立对象模型 n标识了系统中的对象后,使用该系统的 一种直观表示方式对这些对象进行记录 是很重要的。在数据库实现期间,可以 使用数据库模型作为参考。 建立对象模型 n数据库开发人员使用各种工具进行数据 库设计,在技术复杂性方面,这些工具 可以是简单的铅笔和草稿纸,也可以是 字处理或电子表格程序,甚至可以是专 门为数据库建模工作设计的软件程序。 n不管决定要使用哪一种工具,总保持使 用最新的工具是很重要的。 CASE Tools nVisio nRose 标识每个对象的信息类型 n将数据库中的主要对象标识为候选表后 ,下一步是标识必须为各对象存储的信 息类型。这些信息是对象的表中的列。 数据库表中的列包含几个常见的信息类 型: 标识每个对象的信息类型 n原始数据列 这些列存储有形信息(如名称),由数 据库外部的源确定。 n分类列 这些列对数据进行分类或分组,并存储 有限选择范围的数据 标识每个对象的信息类型 n标识符列 这些列提供对存储在表中的每个项目进行标 识的机制。这些列的名称中有一个 id 或 number。 标识符列是用户和内部数据库处理访问表中 的一行数据时所用的主要组件。有时,可以 在表中使用对象的有形 ID(如社会保险号) ,但在大多数情况下,定义表时可以为行创 建可靠的人工 ID。 标识每个对象的信息类型 n关系或引用列 这些列建立一个表中的信息和另一个表 中相关信息的链接。例如,跟踪销售事 务的表通常与 customers 表有链接, 以便可以将完整的客户信息与销售事务 关联。 标识对象间的关系 n关系数据库的一种优势是联系或关联数 据库中各种项目的有关信息的能力。可 以单独地存储独立的信息类型,但数据 库引擎可以在必要时组合数据。 n在设计过程中,标识对象间的关系需要 查看各种表,确定它们逻辑相关的方式 ,以及添加关系列以建立一个表与另一 个表间的链接。 联机事务处理与决策支持 n许多应用程序属于数据库应用程序的两 种主要类型: 联机事务处理 (OLTP) 决策支持 n这两种应用程序类型的特征对数据库的 设计考虑事项有很大的影响。 联机事务处理 n联机事务处理数据库应用程序最适合于管理 变化的数据,通常,这种应用程序有大量的 用户同时执行更改实时数据的事务。尽管用 户对数据的单个请求一般只引用少量记录, 但是,这些请求有许多是同时发生的。 n这些类型的数据库的常见例子是航空订票系 统和银行事务系统。在这种类型的应用程序 中,主要关心的是并发性和原子性。 联机事务处理 n数据库系统中的并发性控制确保两个用 户不能更改同一数据,或者一个用户不 能在另一个用户对数据操作完成之前对 其进行更改。 n原子性确保事务中包括的所有步骤都作 为一个组成功地完成。如果一个步骤失 败,则不应完成其它步骤。 联机事务处理设计注意事项 n很好的数据放置 对于 OLTP 系统,输入/输出瓶颈是一 个尤为关心的问题,原因在于修改整个 数据库中数据的用户很多。确定数据的 可能访问模式,并将经常访问的数据放 在一起。在此过程中,可辅以文件组和 RAID(独立磁盘冗余阵列)系统。 联机事务处理设计注意事项 n缩短事务以将长期锁减至最少,提高并 发性 在事务期间,避免用户交互。无论何时 ,只要有可能,就通过执行单个存储过 程来处理整个事务。在事务内对表的引 用顺序可能会影响并发性。将对经常访 问的表的引用置于事务的末尾,以便将 控制锁的持续时间减至最短。 联机事务处理设计注意事项 n联机备份 OLTP 系统通常的特征是连续操作(一 天 24 小时,一周 7 天),为达到此目 的,停工时间要保持绝对最短。 联机事务处理设计注意事项 n数据库的高度规范化 尽可能减少冗余信息以提高更新的速度 ,从而提高并发性。 联机事务处理设计注意事项 n很少或没有历史或聚合数据 可以将很少引用的数据归档到单独的数 据库中,或者从经常更新的表中移出, 并置于仅含历史数据的表中。这将保持 表尽可能地小,从而缩短备份时间,改 善查询性能。 联机事务处理设计注意事项 n小心使用索引 每次添加或修改行时,必须更新索引。 若要避免对经常更新的表进行过多的索 引,索引范围应保持较窄。 联机事务处理设计注意事项 nOLTP 系统需要最佳的硬件配置以处理 较大并发用户数目和快速响应时间 决策支持 n决策支持数据库应用程序最适合于不更改数 据的数据查询。例如,公司可以定期地按日 期、销售地区或产品汇总其销售数据,并将 该信息存储在单独的数据库中以供高级管理 人员进行分析。 n若要作出业务决策,用户必须能够根据各种 准则,通过查询数据快速地确定销售趋势。 然而,他们不必更改这些数据。 决策支持 n决策支持数据库中的表建立了大量索引 ,原始数据通常要进行预处理,并对其 进行组织以支持将要使用的各种类型的 查询。因为用户并不更改数据,并发性 和原子性问题不必考虑;数据仅定期更 改,在非工作时间和低流量时间对数据 库进行大容量更新。 决策支持设计注意事项 n大量索引 决策支持系统只需要很少的更新,但数据量 很大。可使用大量索引提高查询性能。 n数据库的非规范化 引入预聚合或汇总数据以满足常见的查询要 求,缩短查询响应时间。 n使用星型架构或雪花架构来组织数据库内的 数据。 规范化 n数据库的逻辑设计(包括各种表和表间 关系)是优化关系数据库的核心。设计 好逻辑数据库,可以为优化数据库和应 用程序性能打下基础。逻辑数据库设计 不好,会损害整个系统的性能。 规范化 n规范化逻辑数据库设计包括使用正规的 方法来将数据分为多个相关的表。拥有 大量窄表(列较少的表)是规范化数据 库的特征。而拥有少量宽表(列较多的 表)是非规范化数据库的特征。 规范化 n规范化的一些益处包括: 排序和索引创建更快。 聚集索引的数目更大。 索引更窄、更精简。 每个表的索引更少,这样将提高 INSERT 、UPDATE 和 DELETE 语句的性能。 空值更少,出现不一致性的机会更少,从 而提高数据库紧凑性。 获得设计良好的数据库 n在关系数据库设计理论中,规范化规则 指出了在设计良好的数据库中必须出现 或不出现的某些特性。 n有几个可帮助获得合理的数据库设计的 规则: 获得设计良好的数据库 n表应该有一个标识符 数据库设计理论的基本原理是:每个表 都应有一个唯一的行标识符,可以使用 列或列集将任何单个记录同表中的所有 其它记录区别开来。每个表都应有一个 ID 列,任何两个记录都不可以共享同 一 ID 值。作为表的唯一行标识符的一 列或多列是表的主键。 获得设计良好的数据库 n表应只能存储单一类型实体的数据 试图在表中存储过多的信息会妨碍对表 的数据进行有效、可靠的管理。 获得设计良好的数据库 n表应避免可为空的列 表中的列可定义为允许空值。空值表示没有 值。尽管在个别情况下,允许空值有用,但 是最好少用空值,因为空值需要进行特殊的 处理,这样会增加数据操作的复杂性。如果 某一表中有几个可为空的列,并且列中的几 行有空值,则应考虑将这些列置于链接到主 表的其它表中。将数据存储在两个独立的表 中使主表的设计更为简单,但能够满足存储 空值信息的偶尔需要。 获得设计良好的数据库 n表不应有重复的值或列 数据完整性 n实体完整性 n域完整性 n引用完整性 n用户定义完整性 数据安全性 n数据库有一种功能是保护数据,防止某 些用户查看或更改高度敏感的数据,以 及防止所有用户产生代价高昂的错误。 数据库性能 n在设计数据库时,必须确保数据库正确 地、快速地执行所有重要的功能。有些 性能问题可以在数据库进入生成过程后 解决,但另外一些性能问题则可能是数 据库设计不良造成的,而且只有通过更 改数据库的结构和设计才能加以解决。 数据库性能 n在设计和实现数据库时,应找出数据库 中的大表和数据库要执行的较复杂处理 ,在设计这些表时,对性能应特别注意 。还要考虑访问数据库的用户数增加对 性能的影响。 数据库性能 n提高性能的设计更改实例包括: 如果必须对包含成千上万行的表进行汇 总以供每日报表使用,可以向该表添加 包含预聚合数据的一列或多列,以仅供 报表使用。 数据库性能 n提高性能的设计更改实例包括: 数据库可能过度规范化,即使用了大量 的、小的、相互关联的表来定义数据库 。在数据库对这些表中的数据进行处理 时,必须执行大量的额外工作以组合相 关的数据。这种额外处理可能降低数据 库的性能。 在这种情况下,适当降低数据库规范化 程度以简化复杂处理可以提高性能。 数据库逻辑组件 n约束 n表 n默认值 n触发器 n索引 数据库逻辑组件 n用户定义的数据类型 n 键 n用户定义函数 n存储过程 n视图 数据库各组成部分 n数据库由存储特定结构化数据集的表集 合组成。表中包含行(有时称作记录或 元组)和列(有时称作特性)的集合。 表中的每一列都设计为存储某种类型的 信息(例如,日期、名称、美元金额或 数字)。 数据库各组成部分 n表上有几种控制(约束、规则、触发器 、默认值和自定义用户数据类型)用于 确保数据的有效性。表上可以有索引( 与书中的索引非常相似),利用索引可 以快速地找到行。 数据库各组成部分 n可将声明引用完整性 (DRI) 约束添加到 表上,以确保不同表中相互关联的数据 保持一致。数据库还可以存储过程,这 些过程使用 Transact-SQL 编程代码对 数据库中的数据执行操作,如存储对表 数据提供自定义访问的视图。 文件和文件组 n数据库使用一组操作系统文件映射数据 库。数据库中的所有数据和对象(如表 、存储过程、触发器和视图)都存储在 操作系统文件中 文件和文件组 n主要 该文件包含数据库的启动信息,并用于 存储数据。每个数据库都有一个主要数 据文件。 文件和文件组 n次要 这些文件含有不能置于主要数据文件中 的所有数据。如果主文件可以包含数据 库中的所有数据,那么数据库就不需要 次要数据文件。有些数据库可能足够大 故需要多个次要数据文件,或使用位于 不同磁盘驱动器上的辅助文件将数据扩 展到多个磁盘。 文件和文件组 n事务日志 这些文件包含用于恢复数据库的日志信 息。每个数据库都必须至少有一个日志 文件。 文件和文件组 n例如,创建简单的数据库 sales 时,可以只 使用一个包含所有数据和对象的主文件和一 个包含事务日志信息的日志文件。 n另一种情况是,创建更复杂的数据库 orders 时,可以使用一个主文件和五个辅助文件, 数据库内的数据和对象扩展到所有的六个文 件中,另外有四个日志文件包含事务日志信 息。 文件和文件组的设计规则 n文件或文件组不能由一个以上的数据库 使用。 n文件只能是一个文件组的成员。 n数据和事务日志信息不能属于同一文件 或文件组。 n事务日志文件不能属于任何文件组。 页和扩展盘区 n数据存储的基本单位是页。 在 SQL Server 2000 中,页的大小是 8 KB。这意味着 SQL Server 2000 数据库 每兆字节有 128 页 n每页的开始部分是 96 字节的页首,用 于存储系统信息,如页的类型、页的可 用空间量、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸容器印刷与装饰技术考核试卷
- 贵金属精炼中的贵金属矿床资源可持续发展战略规划考核试卷
- 运动防护用具材料研发进展考核试卷
- 选矿实验方法与技巧考核试卷
- 水电工程信息系统安全与防护措施考核试卷
- 草原生态保护与利用考核试卷
- 小儿饮食护理
- 海外留学申请文书专业撰写与推广服务协议
- 海外复杂地质环境无人机租赁及地质成果解析协议
- 金融存管安全风险评估及应对协议
- YJ-T 27-2024 应急指挥通信保障能力建设规范
- 察右后旗宿泥不浪铁矿2023年度治理计划
- 【部编版】道德与法治六年级下册第9课《日益重要的国际组织》精美课件
- 模具管理系统解决方案课件
- 高考日语-必考11个语法
- 杏芎氯化钠注射液-药品临床应用解读
- PCS7临时授权安装
- (外标两点法对数方程)桔梗含量为例
- 【校本作业】六年级下册语文校本作业与单元练习(附参考答案)
- 员工离职保密协议常用版
- 安全生产与质量管理体系的关系
评论
0/150
提交评论