您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 数据库原理与应用_教案
广东外语艺术职业学院2008—2009学年第1学期填写课程名称授课教案第1本本课程共有教案1本课程类型理论课授课对象信息技术系计算机应用技术专业授课教师杨铭开课单位信息技术系编写日期2008-9-1教材处理情况一、总体说明二、删减的内容三、补充更新的内容四、备注具体教案一、章节1二、课时安排4三、教学目的要求使学生掌握数据库基础知识四、教学重点1、数据库的概念2、数据库的体系3、数据库系统结构4、数据模型5、E---R图五、教学难点1、数据库的概念2、数据库的体系3、数据库系统结构4、数据模型5、E---R图六、教学内容1、数据库的概念正确理解数据、数据库、数据库管理系统、数据库系统的概念,尤其是后三者的联系和区别。2、数据库技术的产生与发展简单讲述3、数据库系统的体系结构重点讲解C/S结构与B/S结构的联系与区别,优点缺点4、数据库系统三级模式结构理解,形成概念即可5、数据模型的要素重点讲述为什么数据模型需要这些要素?6、数据模型的种类了解7、数据库设计了解8、概念模型了解基本概念,掌握E---R图画法七、作业1、简述数据、数据库、数据库管理系统、数据库系统4者的联系。2、简述C/S架构与B/S架构,各有什么优缺点(用比较的形式)。3、一个项目,在什么情况下你会采用C/S架构,什么情况下你会采用B/S架构。4、什么情况下数据库只需要一个外模式,什么情况下数据库需要多个外模式。5、简述数据模型组成要素间的关系。6、假定有一个等级考试系统,实体分别是科目与学生,联系是考试,请分析并画出E—R图。八、课后反思由于缺乏系统开发经验,虽然采用了实例教学的方式,学生亦很感兴趣,但在缺乏实践机会的情况下,学生得到的不会太多,应该在后继课程中继续加强相关知识。出于同样原因,学生在画出E—R图时,实体的属性基本能够给出,但是联系的属性就不能很好很完整地概括。具体教案一、章节4二、课时安排4三、教学目的要求使学生掌握数据库关系代数基础知识四、教学重点1、各种关系代数2、关系代数运算3、E—R图的转换4、完整性约束5、索引五、教学难点1、关系代数的连接、除法2、E—R图的转换教学内容1、什么是关系简单讲述2、关系代数并差交乘投影重点讲述选择重点讲述连接重点讲述除重点讲述3、关系代数运算重点讲述4、E—R图的转换重点讲述1:1转换1:n转换n:m转换5、完整性约束实体完整性参照完整性用户定义的完整性完整性规则检查6、索引一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。当索引值唯一时,使用聚集索引查找特定的行也很有效率。例如,使用唯一雇员ID列emp_id查找特定雇员的最快速的方法,是在emp_id列上创建聚集索引或PRIMARYKEY约束。非聚集索引与课本中的索引类似。数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。索引中的项目按索引键值的顺序存储,而表中的信息按另一种顺序存储(这可以由聚集索引规定)。如果在表中未创建聚集索引,则无法保证这些行具有任何特定的顺序。与使用书中索引的方式相似,Microsoft®SQLServer™2000在搜索数据值时,先对非聚集索引进行搜索,找到数据值在表中的位置,然后从该位置直接检索数据。这使非聚集索引成为精确匹配查询的最佳方法,因为索引包含描述查询所搜索的数据值在表中的精确位置的条目。如果基础表使用聚集索引排序,则该位置为聚集键值;否则,该位置为包含行的文件号、页号和槽号的行ID(RID)。例如,对于在emp_id列上有非聚集索引的表,如要搜索其雇员ID(emp_id),SQLServer会在索引中查找这样一个条目,该条目精确列出匹配的emp_id列在表中的页和行,然后直接转到该页该行。多个非聚集索引有些书籍包含多个索引。例如,一本介绍园艺的书可能会包含一个植物通俗名称索引,和一个植物学名索引,因为这是读者查找信息的两种最常用的方法。对于非聚集索引也是如此。可以为在表中查找数据时常用的每个列创建一个非聚集索引。注意事项在创建非聚集索引之前,应先了解您的数据是如何被访问的。可考虑将非聚集索引用于:包含大量非重复值的列,如姓氏和名字的组合(如果聚集索引用于其它列)。如果只有很少的非重复值,如只有1和0,则大多数查询将不使用索引,因为此时表扫描通常更有效。不返回大型结果集的查询。返回精确匹配的查询的搜索条件(WHERE子句)中经常使用的列。经常需要联接和分组的决策支持系统应用程序。应在联接和分组操作中使用的列上创建多个非聚集索引,在任何外键列上创建一个聚集索引。在特定的查询中覆盖一个表中的所有列。这将完全消除对表或聚集索引的访问。使用聚集索引聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。当索引值唯一时,使用聚集索引查找特定的行也很有效率。例如,使用唯一雇员ID列emp_id查找特定雇员的最快速的方法,是在emp_id列上创建聚集索引或PRIMARYKEY约束。说明如果该表上尚未创建聚集索引,且在创建PRIMARYKEY约束时未指定非聚集索引,PRIMARYKEY约束会自动创建聚集索引。也可以在lname(姓氏)列和fname(名字)列上创建聚集索引,因为雇员记录常常是按姓名而不是按雇员ID分组和查询的。注意事项定义聚集索引键时使用的列越少越好,这一点很重要。如果定义了一个大型的聚集索引键,则同一个表上定义的任何非聚集索引都将增大许多,因为非聚集索引条目包含聚集键。当把SQL脚本保存到可用空间不足的磁盘上时,索引优化向导不返回错误。有关Microsoft®SQLServer™2000中如何实现非聚集索引的更多信息,请参见非聚集索引。在分析过程中,索引优化向导会消耗相当多的CPU及内存资源。最好在生产服务器的测试版上执行优化,而不要在生产服务器上执行。此外,最好在另一台计算机上而非运行SQLServer的计算机上运行该向导。该向导不能用于在SQLServer6.5版或更早版本的数据库中选择或创建索引及统计信息。在创建聚集索引之前,应先了解您的数据是如何被访问的。可考虑将聚集索引用于:包含大量非重复值的列。使用下列运算符返回一个范围值的查询:BETWEEN、、=、和=。被连续访问的列。返回大型结果集的查询。经常被使用联接或GROUPBY子句的查询访问的列;一般来说,这些是外键列。对ORDERBY或GROUPBY子句中指定的列进行索引,可以使SQLServer不必对数据进行排序,因为这些行已经排序。这样可以提高查询性能。OLTP类型的应用程序,这些程序要求进行非常快速的单行查找(一般通过主键)。应在主键上创建聚集索引。聚集索引不适用于:频繁更改的列这将导致整行移动(因为SQLServer必须按物理顺序保留行中的数据值)。这一点要特别注意,因为在大数据量事务处理系统中数据是易失的。宽键来自聚集索引的键值由所有非聚集索引作为查找键使用,因此存储在每个非聚集索引的叶条目内组合索引使用表中的不止一个列对数据进行索引的索引。覆盖的查询可以提高性能。覆盖的查询是指查询中所有指定的列都包含在同一个索引中。例如,如果在一个表的a、b和c列上创建了组合索引,则从该表中检索a和b列的查询被视为覆盖的查询。创建覆盖一个查询的索引可以提高性能,因为该查询的所有数据都包含在索引自身当中;检索数据时只需引用表的索引页,不必引用数据页,因而减少了I/O总量。尽管给索引添加列以覆盖查询可以提高性能,但在索引中额外维护更多的列会产生更新和存储成本。簇集索引=聚集索引:聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。非簇集索引:非聚集索引与聚集索引一样有B树结构,但是有两个重大差别:数据行不按非聚集索引键的顺序排序和存储。非聚集索引的叶层不包含数据页。相反,叶节点包含索引行。每个索引行包含非聚集键值以及一个或多个行定位器,这些行定位器指向有该键值的数据行(如果索引不唯一,则可能是多行)。非聚集索引可以在有聚集索引的表、堆集或索引视图上定义。在Microsoft®SQLServer™2000中,非聚集索引中的行定位器有两种形式:如果表是堆集(没有聚集索引),行定位器就是指向行的指针。该指针用文件标识符(ID)、页码和页上的行数生成。整个指针称为行ID。如果表没有聚集索引,或者索引在索引视图上,则行定位器就是行的聚集索引键。如果聚集索引不是唯一的索引,SQLServer2000将添加在内部生成的值以使重复的键唯一。用户看不到这个值,它用于使非聚集索引内的键唯一。SQLServer通过使用聚集索引键搜索聚集索引来检索数据行,而聚集索引键存储在非聚集索引的叶行内。由于非聚集索引将聚集索引键作为其行指针存储,因此使聚集索引键尽可能小很重要。如果表还有非聚集索引,请不要选择大的列作为聚集索引的键。唯一索引:唯一索引可以确保索引列不包含重复的值。在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的。唯一索引既是索引也是约束。复合索引:索引项是多个的就叫组合索引,也叫复合索引。复合索引使用时需要注意索引项的次序。创建简单索引CREATEINDEXau_id_indONauthors(au_id)创建唯一聚集索引CREATEUNIQUECLUSTEREDINDEXemployeeID_indONemp_pay(employeeID创建组合索引CREATEINDEXemp_order_indONorder_emp(orderID,employeeID)六、作业第一章课后习题四第二章课后习题二、三七、课后反思学生可以接受集合运算的思想,但关系代数掌握较差,一方面是由于学生数学知识有所欠缺,另一方面亦可能是举的实例较少。所以,可以在教授sql语句的时候再结合关系代数知识。具体教案一、章节2、3二、课
本文标题:数据库原理与应用_教案
链接地址:https://www.777doc.com/doc-2428119 .html