第8章 数据库逻辑设计及物理设计.ppt

  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
触发器类型 After触发器:记录更变完之后才被激活执行 INSTEAD OF触发器:在 INSERT、UPDATE和DELETE操作之前激活,有取代原SQL语句的功能 触发器创建 CREATE TRIGGER 触发器名 ON 表|视图 AFTER | INSTEAD OF [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] AS SQL命令 CREATE TRIGGER update_cj ON SC AFTER UPDATE AS DECLARE @cj decimal(5,1) SELECT @cj=grade FROM inserted IF @cj(SELECT grade FROM deleted ) ROLLBACK TRANSACTION 8.6 数据库的物理设计 数据库物理设计的概念:为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程。 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。 对物理结构进行评价,评价的重点是时间和空间效率。 数据库物理设计的内容和方法 准备工作 充分了解应用环境,详细分析要运行的事务,以获得选择数据库物理设计所需的参数。 充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构。 选择数据库物理设计所需的参数 数据查询事务:查询的关系、查询条件所涉及的属性、连接条件所涉及的属性、查询的投影属性等。 数据更新事务:被更新的关系、每个关系上的更新操作条件所涉及的属性、修改操作要改变的属性值、每个事务在各关系上运行的频率和性能要求。 关系数据库物理设计的内容:为关系模式选择存取方法(建立存取路径);设计关系、索引等数据库文件的物理存储结构。 二、关系模式存取方法选择 1、索引存取:是使用最普遍的存取方法,选择索引存取方法的一般规则是: 如果一个(或一组)属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。 如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。 如果一个(或一组)属性经常在连接操作的连接条件中出现,则考虑在这个(或这组)属性上建立索引。 索引数过多会增加维护索引和查找索引的开销 2、聚簇存取:为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块称为聚簇。 Create cluster index Stusname on Student(Sname); 在Student表的Sname列上建立一个聚簇索引,表中的记录将按Sname值的升序存放。 一个数据库可以建立多个聚簇,但一个基本表上最多只能建立一个聚簇索引。 聚簇的特点: 大大提高按聚簇属性进行查询的效率。 节省了存储空间 聚簇只能提高某些特定应用的性能,而且建立与维护聚簇的开销是相当大的。 聚簇的适用范围 单个关系独立聚簇, 多个关系组合聚簇。 当通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或是次要时,可以使用聚簇。 3、HASH存取:如果一个关系的属性主要出现在等值连接条件中或主要出现在相等比较选择条件中,而且满足下列两个条件之一时,可以选择HASH存取方法。 关系的大小可预知,而且不变。 关系的大小动态改变,但所选用的DBMS提供了动态HASH存取方法。 三、确定数据库的存储结构 数据的存放位置 存储结构,包括关系、索引、聚簇、日志、备份等的存储安排和存储结构;确定系统配置等。 综合考虑存取时间、存储空间利用率、维护代价三方面的代价,这三个方面常常是相互矛盾的,如消除一切冗余数据虽能够节约存储空间和减少维护代价,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案。 确定数据的存放位置: 分开存放:易变部分与稳定部分、经常存取部分与存取频率较低部分 数据与索引分开存放 数据与日志分开存放 海量数据的分区存放 表分区功能 水平分区 垂直分区 水平分区的操作 1、创建文件组。文件组数与分区数相同,而且应位于不同的磁盘 2、创建分区函数 CREATE PARTITION FUNCTION customer_partfunc(int) AS RANGE RIGHT FOR VALUES(250000,500000,750000) 3、创建分区方案。分区函数必须与分区方案相关联,以便将分区指向不同的文件组 CREATE PARTITION SCHEME customer_partscheme   AS PARTITION customer_partfunc   TO(fg1,fg

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档