课程简介课程名称数据库原理与应用——SQLServer2005课程类型必修课授课专业计算机科学与技术授课班级授课方式课堂讲授+上机练习考核方式考试总学时数72学分数4学时分配课堂讲授48学时;实践课24学时先修课程高级语言程序设计、数据结构教学目的和任务《数据库原理与应用》是计算机科学与技术专业的专业必修课,是一门基础性、实践性较强的课程,本课程以SQLServer2005为环境,讲述基本的数据库原理,以及相关的数据库开发技术,要求学生初步掌握数据库的基本概念,掌握基本的SQL语言,培养学生以SQLServer2005为环境进行数据库及其相关对象的创建和使用,并学会编写存储过程、函数和触发器。课程基本要求课程基本内容、难点和重点主要参考教材[1]陆惠民《数据库原理与应用》[2]黄开枝、康会光、于勇军《SQLServer2005中文版基础教程》清华大学出版社[3]《数据库工程师教程》,清华大学出版社数据库原理与应用——SQLServer2005教案邹竞授课日期年月日第1周授课形式讲课课时安排4章节名称第01章数据库概论教学目的与要求①理解数据、数据库、数据库系统、数据库管理系统的基本概念②理解数据库系统的组成和优点③理解数据描述的3个领域,理解联系的分类(一对一、一对多、多对多)④掌握简单的E-R图的绘制,并将E-R图转换为关系模型⑤理解数据库的3级模式和2级映像,以及两级数据独立性⑥理解数据字典的概念教学重点E-R图与关系模型的转换教学难点E-R图与关系模型的转换教学方法和手段讲授法结合课堂实例分析讨论教学过程与组织导入新课1.信息爆炸时代,计算机需要处理的数据越来越多,数据和数据间的关系越来越复杂。如何对构成信息的海量数据进行合理的组织存储、处理、管理、读取、写入?2.调查:同学们有没有听说过Oracle、SQLServer、DB2、Access等工具,这些工具是作什么用的?3.从20世纪50年代中期开始,计算机应用由科学研究领域逐步扩展到政府部门,企事业单位。至60年代,数据处理成为计算机的主要应用,计算机数据管理技术成为当时的主要的研究课题之一。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于20世纪60年代末,现已形成成熟理论体系和实用技术,广泛应用于各行各业。4.信息系统的开发已经成为软件开发的一个重要组成部分,而信息系统开发必然需要使用数据库。讲授新课第一章数据库技术的发展第01节数据库概论1.1.1数据管理的相关概念数据管理(datamanagement)是指数据的收集、整理、组织、存储、维护、检索、传送等操作。这部分操作是数据处理业务的基本环节。数据管理技术的优劣,将直接影响数据处理的效率。用计算机进行数据管理是将大量的数据有组织地存储在计算机的存储介质中,便于维护、检索、重组和处理。1.1.2一些重要的相关术语数据(data):是描述事物的符号记录。记录形式可以是文字、图形、图象、声音等。数据库(database,DB):是长期存储在计算机内、有组织、可共享的数据集合。具有较小的数据冗余,较高的数据独立性和易扩展性。数据库管理系统(databasemanagementsystem,DBMS):是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制,能够确保数据的完整性和安全性。数据库系统(databasesystem,DBS):是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。一般由数据库、数据库管理系统、应用系统、数据库管理员(databaseadministrator,DBA)和用户(user)构成。数据库原理与应用——SQLServer2005教案邹竞第02节数据描述1.2.1数据描述的3个领域从事物的特征到计算机中数据的表示,数据描述要经历3个不同的领域:现实世界、信息世界和机器世界。①现实世界(realworld)指存在于人们头脑之外的客观世界。它是原始数据(记录)的来源。②信息世界(informationworld)指现实世界在人们头脑中的反映。人们用文字、符号、图形、图象、声音等方式记载下来现实世界的信息,称为信息世界。在信息世界中,常用的术语有以下4个:实体(entity):客观存在可以相互区别的事物称为实体。实体可以是具体的对象,例如:一个员工、一本教材等。也可以是抽象的事件,例如:一次旅游、一场球赛等。实体集(entityset):性质相同的同类实体的集合称为实体集。例如,学生、某公司员工等。属性(attribute):实体有很多特性,每一个特性称为一个属性。每个属性有一个数据类型和值域。例如:大学生有学号、姓名、出生日期、性别等属性。实体标识符(identifier):能惟一标识每个实体的属性或属性集称为实体标识符,或简称键。例如,学生的学号可以作为学生实体标识符。③机器世界(machineworld):信息世界的信息在机器中以数据形式存储,成为机器世界。在机器世界中,常用的术语有以下四个:字段(field):标记实体属性的命名单位称为字段或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。字段的命名往往与属性名相同。例如:一个学生记录中有学号、姓名、年龄、性别等字段。记录(record):字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。例如:一个学生记录(学生表中的某一行)由有序的字段集组成:(学号,姓名,出生日期,性别)。基本表(basictable):描述一个实体集的所有记录的集合。有的数据库管理系统,一个基本表就对应一个数据文件(file)。关键码(key):能惟一标识基本表中每个记录的字段或字段集。机器世界与信息世界术语的对应关系如表1.1所示表1.1机器世界与信息世界术语对应关系信息世界机器世界实体记录属性字段实体集基本表(文件)实体标识符关键码1.2.2数据联系的描述现实世界中,事物是相互联系的。实体内部和实体之间都是有联系的,实体内部的联系体现在同一记录各字段之间的联系,实体间的联系体现在各记录之间的联系。实体间的联系分为2种:一种是同一实体集中,各实体间的联系;另一种是不同实体集的各个实体之间的联系。数据库中一般研究后一种。不同实体的实体间的联系有以下3种情况。①一对一联系:如果实体集E1中每个实体至多和实体集E2中1个实体有联系,反之亦然,那么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。例如:国家和国家元首。数据库原理与应用——SQLServer2005教案邹竞②一对多联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。例如:班级与学生之间的关系。③多对多联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。例如:学生与课程之间的关系。以上3种联系是实体之间最基本的联系。多个实体之间的联系可以转化为两两之间的联系。第03节数据模型1.3.1数据模型的概念模型是对现实世界的抽象。在数据库中,用模型的概念描述数据库的结构与语义,对现实世界进行抽象。表示实体类型及实体间联系的模型称为“数据模型”(datamodel)。1.3.2实体联系模型实体联系模型(entityrelationshipmodel,简称E-R模型)是直接从现实世界中抽象出实体类型及实体间联系,然后用E-R图表示的数据模型。设计E-R图的方法称为E-R方法。E-R图中有4个基本成分:①矩形框,表示实体类型(问题的对象)。②菱形框,表示联系类型(实体间的联系)。③椭圆形框,表示实体类型和联系类型的属性。关键码的属性,在属性名下划一横线。相应的命名均记入各种框中。④直线,联系类型与其涉及的实体类型之间用直线连接,并在直线端部标上联系的种类(1:1,1:N,M:N)。例如:学生与课程的关系实体有学生和课程。学生与课程的联系是选修。学生的属性有学号、姓名、性别、年龄,课程的属性有课程编号、课程名称,选修的属性有成绩。学生与课程的联系类型是多对多的联系(M:N)。学生的键是学号,课程的键是课程编号。E-R图见1.4。图1.4E-R图的实例1.3.3结构数据模型结构数据模型由数据结构、数据操作和数据完整性约束3个部分组成。①数据结构:是指对实体类型和实体间联系的表达和实现;②数据操作:是指对数据库的检索和更新(插入、删除、修改)2类操作的实现;③数据完整性约束:是给出数据及其联系应具有的制约和依赖规则。常用的结构数据模型有层次、网状、关系模型3种。(1)层次模型用树型结构表示实体类型及实体间联系的数据模型称为层次模型。树的结点是记录类型,只有1个根结点,每个非根结点有且只有1个父结点。上一层记录类型和下一层记录类型门联系是1:N联系。特点:记录之间的联系通过指针实现,查询效率较高。数据库原理与应用——SQLServer2005教案邹竞缺点:只能表示1:N的联系;查询、更新、编程复杂。例如:一个学院下设多个系,每个系下有多个专业,每个专业下有多个班级,每个班级有多个学生,共有5个层次。学院是根结点,是各系的父结点;专业的父结点是他所属的系;班级的父结点是他所属的专业;学生是叶结点,其父结点是他所属的班级。见图1.5层次模型实例图。图1.5层次模型实例图1.5层次模型实例图1968年,IBM公司推出的IMS(InformationManagementSystem)是典型的层次模型系统。(2)网状模型用有向图结构表示实体类型及实体间联系的数据模型称为网状模型。有向图中的结点是记录类型,有向边表示从箭尾一端的记录类型到箭头一端的记录类型间联系是1:N。网状模型允许有多个根结点,每个结点也允许有多个父结点。特点:记录之间的联系通过指针实现,M:N联系也容易实现(每个M:N联系可拆成两个1:N联系),查询效率较高。缺点:结构复杂,编程难度大,用户不易掌握和使用。例如:学生与课程关系,有三个结点,即学生、课程和选修,有学生到选修和课程到选修的两条有向边。网状数据模型的典型代表是DBTG系统,也称CODASYL系统。图1.6网状模型实例图(3)关系模型关系模型的主要特征是用二维表格结构表达实体集,用外键表示实体间联系。一个关系模型是由若干个关系模式组成的集合。一个关系模式就是一个二维表结构,它的实例称为关系,每个关系实际上是一张二维表。优点:有严格的数学理论基础,概念简单,容易理解。缺点:查询效率低。例如:学生、课程和成绩的关系模型。学生模式Student(学号,姓名,性别,出生日期)课程模式Course(课程编号,课程名称)选修模式Grade(学号,课程编号,成绩)XXX学院管理系计算机系计算机软件计算机网络工商管理旅游管理计网1班计软2班计软1班工商1班工商2班旅游1班学生学生学生学生学生学生学生课程选修数据库原理与应用——SQLServer2005教案邹竞表1.2学生关系表表1.3课程关系表表1.4选修关系表学号课程编号成绩000101800001027500010386000201900002029200020388000301810003027700030396第04节数据库体系结构1.4.1数据库的三级模式和两极映象数据库的体系结构分成3级:内部级(internal),概念级(conceptual)和外部级(external)(见图1.7)。这3级结构也称为“三级模式结构”。从某个角度看到的数据特征称为“数据视图”(dataview)。概念级涉及到所有用户的数据定义,是全局的数据视图。全局数据视图的描述称为“概念模式”。概念模式不仅要描述概念记录类型,还要描述记录间的联系、操作、数据的完整性、安全性等要求。概念模式不涉及到存储结构、访问技术等细节。图1.7数据