- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六课 数据库设计和应用精要
第六课 数据库设计和应用课程结构? 数据库设计实际上是将数据模型转换为数据库的过程。如果说数据模型是将业务中必要的信息和规则形象化展示的话,数据库设计则将数据模型所具有的结构和规则适用于数据库的过程。为了保障数据的一致性,完整性,持久性,可用性以及性能,这一过程无疑是必须的。想要有效地对数据库加以应用,就必须具备数据库管理系统(DBMS,Database Management System)相关的知识。在理解DBMS基本原理的基础上,最大限度应用数据库系统提供的各种资源,才能向外提供各种类型的服务。这里将介绍对性能产生影响的要素以及改善性能的方法。在性能上发生问题的情况下,这里也会提供着手解决问题的正确思路以及解决问题的方法。第一章 数据库设计第一节: 存储空间设计第二节: 完整性设计第三节: 索引设计第四节: 分布式设计第五节: 安全性设计第二章 数据库应用第一节: 数据库管理系统(DBMS)第二节: 数据索引第三节: 事务第四节: 备份和恢复第三章 数据库性能调优第一节: 性能调优概论第二节: 连接(Join)第三节: 应用程序性能调优第四节: 服务器性能调优page467学习目标在第一章将学习一下内容。了解在数据库设计阶段需考虑的问题理解将数据模型中定义的内容正确地转换为物理数据库的处理过程为了提高数据库运行性能,培养正确构建索引的能力培养设计能力、提升数据完整性以及可用性Page468第一章数据库设计本章简介从业务观点归纳整理的数据模型中的核心构成要素:包括实体,属性以及关系等将被转换为计算机系统领域中数据库相关的表,列以及参照键等。我们称这些对象为数据库模式(Schema)。组成Schema的对象在设计的时候还有另外一些设计要素需要充分考虑,包括从数据库的技术要素,运营环境,业务逻辑需求角度出发对其提出的对性能,完整性以及可用性的要求。这些技术要求并不是会适用于所有对象,而是需要综合分析技术要求之后对其中一个或者部分对象以及约束条件加以设计。本章构成存储空间设计是指对表,列,数据类型,表空间,数据文件以及存储介质的设计。这里将介绍表的类型和不同类型的特性,以及容量的测算,以及根据数据特性进行表空间设计的时候需要考虑到的因素。完整性设计部分将对数据完整性加以说明,并介绍强化数据完整性应采用的一些设计要素。 索引设计部分将对索引设计的步骤,索引的原理以及索引的类型等加以说明。分布式设计将对构建多个数据库的设计思路以及相关的考虑事项加以说明。可用性设计则将对如何确保服务的持续可用进行探讨,为了在包括日常运营在内的整个运营时间跨度(包括异常状况下)内持续确保服务的可用性,有一些必要的设计要素需要我们充分考虑。本章将对数据库安全,数据库备份以及恢复,数据库关系系统(RDBMS)中提供的提升可用性的方案加以说明。第一节: 存储空间设计第二节: 完整性设计第三节: 索引设计第四节: 分布式设计第五节: 安全设计page469第一节: 存储空间设计1.表表由行(Row)和列(Column)构成,是最基本的数据库对象,数据库中的所有数据都是通过表进行存储。商用DBMS会提供存储方式各异的多种类型的表,所以我们在设计表时,需要充分考虑性能,可扩展性,可用性等因素,选择理想的表类型。?表以及列等数据库中使用到的对象的命名规则应遵循标准化规范。A. 表(Table)?商用DBMS中提供的表根据不同产品其名称和功能都有些许差异。表可以根据数据的存储方式,分区与否,数据维护周期等进行各种类型的分类。Heap-Organized Table大部分商用DBMS中都采用此类型作为标准表,表中的行的存储位置不依赖于特定属性的取值,仅在行插入的时候决定其存储位置。Clustered Index Table按照Primary Key值或索引键的取值顺序将数据顺序存储的表被称为聚簇索引。聚簇索引实际上是在B树的叶子节点处以实际的数据页替代RID的结构。由于数据页根据查询中使用到的键值顺序排列起来,所以能够实现预取(Prefetch),节省了从索引指向表的数据查找动作,所以相比于一般索引,数据的读取效率会更高。但是由于在插入数据的时候,需要按照键值存储到指定位置,所以数据页的维护成本较高。另外将使用中的堆组织表(Heap)转换为聚簇索引的时候,需要对数据页进行重编,相关的所有索引的RID将变更为聚簇索引的PK,这会带来相当大的运营负载。Partitioned Table分区是将大容量表逻辑上划分为更小的单位- 分区,以此防止当容量数据处理导致的性能影响,并使数据管理更加容易的技术概念,根据分区的方式不同又可分为范围分区(Range Partitioning),哈希分区(Hash Partitioning),组合分区(Composite Partitioning
文档评论(0)