中央电大数据库基础与应用教学.ppt
数据库基础与应用教案,课程性质、学习目标,本课程是中央电大计算机应用、电子商务、软件开发与应用等专科专业有关数据库的一门统设必修课。主要任务是介绍数据库组织、管理和使用的一般知识,包括数据模型、数据库结构、数据库系统、数据库设计、关系运算、关系规范化、关系查询(SQL语言)等方面的知识;介绍至少一种实际的数据库管理系统的构成与使用。目的使学生通过学习和上机操作实践掌握数据库系统的基本知识,ACCESS和SQL Server数据库管理系统的使用,数据库应用系统的设计和实现的方法与能力,以及具有进行简单数据库应用系统设计与开发的能力。,课程概述,数据库基础与应用课程是中央电大计算机应用专业信息管理方向一门专业基础与技术课,是其他每个方向的选修课,本课程由数据库基础知识、ACCESS数据库管理系统和SQL Server数据库管理系统这三个部分组成。数据库基础知识主要包括数据库系统的基本概念,概念和逻辑数据模型,ER图的应用,关系模式的定义和关系运算,关系的规范化和应用,SQL语言的定义和应用,数据库应用系统设计等内容。ACCESS数据库管理系统主要包括系统的基本构成和操作,数据表、查询、窗体、报表、宏、模块等数据库对象的定义与使用等内容。SQL Server数据库管理系统主要包括系统的基本构成,企业管理系和查询分析器的使用,数据表、视图、存储过程、索引等数据库对象的定义与使用,Transact SQL语言的使用等内容。,课程特点,该课程理论性、实践性和应用性都很强。在理论方面涉及到集合理论、关系理论、数据库设计理论等。实践性强体现为:数据库设计理论是随着计算机技术和人们的设计实践不断地丰富和发展的,将不断地产生出新的设计技术和理论。应用性强是指:现在每一个实用的计算机信息管理系统几乎都涉及到数据库应用,通常为后台应用。学习该课程既要注意学习好理论,又要注意运用理论知识进行数据库设计实践的锻炼,进行实际上机操作的锻炼,做到理论与实践相结合。数据库知识很丰富,实际数据库管理系统和应用系统都比较复杂,因此,要学会利用数据库开发系统,仅靠掌握该课程的一点书本知识是远远不够的,它只能给出进行数据库应用所必须的入门知识或基础知识,真正掌握它需要不断地学习和实际锻炼的积累。,课程体系结构,本课程首先介绍数据库的一般理论知识,包括数据模型、数据库系统结构、关系运算、函数依赖、关系规范化、关系查询语言、数据库应用系统设计等内容。第二部分介绍Microsoft Access2000微机关系数据库管理系统的使用,包括建立和使用表、查询、窗体、报表、网页、宏、模块等内容;介绍主要安装在服务器上的Microsoft SQL Server2000关系数据库管理系统,包括表、视图、索引、存储过程、触发器、规则、约束、默认值等对象的建立与使用,以及数据库恢复、安全性、事务处理等内容;最后,简要介绍VFP、DB2、Oracle、面向对象等数据库系统的特点和VB、PB、Delphi等数据库开发与终端软件的特点。,教学资源介绍,1、教材情况文字教材采用分立型,包括一本主教材、两本实验教材和一本学习指导教材。主教材:包含所有教学知识点,对教学起主导作用,要求科学严谨、条理清楚、层次分明、文字流畅、便于阅读。,教材特点:教材中的每一章均提出了学习目标、小结和习题三个部分。在学习每章之前,通过阅读学习目标能够了解本章的主要内容和所要达到的目标,从而增强学习的主动性和积极性;在正文的学习中,每章正文中都有助学内容,如提示、说明、思考等,可帮助大家理解正文知识;每章小结总结、归纳和提炼了本章的内容,使所学知识更加条理化和系统化,从而帮助同学们进一步加深对内容的理解和认识;每章最后给出了丰富的练习题,同学们学习每章内容后可通过认真做好全部习题,以达到加深对所学知识的理解和掌握,并提高灵活运用知识的能力。,教材结构:第一章 数据库系统概述数据库系统的一些基本概念和ER图的概念与应用。第二章 关系运算关系数据结构、关系完整性规则和关系运算等三个方面的内容第三章 关系规范化基础数据依赖和关系规范化方面的数据库设计的基础知识。第四章 结构化查询语言-SQL关系数据库系统通用的数据查询语言,即SQL,它提供了进行一切关系数据库操作的基础。,第五章 数据库应用系统设计通过两个实例简要介绍数据库应用系统开发的大致过程。第六章 ACCESS数据库管理系统的简单应用Access数据库管理系统的一些概况,以及Access数据库系统中的四个对象:表、查询、窗体和报表的基本概念、创建方法和有关的操作。第七章 ACCESS数据库管理系统的高级应用Access数据库系统中的三个操作对象:宏、模块和数据访问页的基本概念、创建方法和有关的操作,以及数据库的安全措施、数据的导入和导出、简单的Access数据库管理系统开发过程。,第八章 SQL Server数据库管理系统概述主要以SQL Server 2000为例介绍SQL Server的特点、安装与启动、数据类型和Transact SQL语言,以及常用工具的使用等问题。第九章 SQL Server数据库管理的应用主要介绍 SQL Server数据库以及表、视图、存储过程、索引等数据库对象的创建和管理方法。第十章 其他数据库系统与相关技术简介技术简介 介绍一些优秀的通用数据库管理系统,包括IBM DB2、Oracle以及Visual FoxPro。为反映数据库技术的发展,还介绍面向对象的数据库系统,介绍开发数据库应用中人们常用的几个应用开发工具。,实验教材:一本为ACCESS上机操作实验,另一本为SQL Server上机操作实验,学生按专业需要选择。即电子商务专业选用ACCESS实验教材,软件开发与应用专业选用SQL Server实验教材,计算机应用专业选用全部两本实验教材。每本实验教材包含若干个实验,每个实验由实验目的、实验背景知识、实验内容、实验要求等组成。通过实验巩固所学的书本知识,增强分析问题和解决问题的能力。,实验内容,(1)ACCESS实验内容建表操作查询操作窗体和宏操作其他自选操作,(2)SQL Server实验内容SQL Server运行环境与建库表的连接与简单查询表的高级查询表记录的插入、删除和修改索引的使用在库中使用规则和约束存储过程的使用触发器的使用,2、音像教材:数据库基础与应用24讲,刘世峰主讲,中央电大音像出版社出版。按主教材章节次序系统讲授并突出重点,一是充分发挥录象教材形象化的优势,二是充分发挥优秀主讲教师的讲课艺术优势。讲清概念,讲清解题思路和方法,讲清知识点之间的相互关系,指导学生课后自学的方法和布置课后练习题。,3、网络资源中央电大在线 浙江电大:台州电大:注意:需通过实名或学号注册方可登陆相应网站,进行学习、查询资料、在线考试、在线讨论等操作。,学习方法指导,1.学习数据库基础知识时要做到理论联系实际。2.学习关系数据库知识时,要注重理解和掌握集合的概念和运算,它同数学和一般程序设计中单值运算的区别。3.学习ACCESS管理系统时,要主动结合学习内容进行上机操作练习,要做到课堂学习与上机时间同步。4.学习SQL Server管理系统时,要注重系统性,要注重同数据库理论知识联系起来,当然还要同上机操作结合,同程序设计结合,最终能够在该管理系统的支持下开发出一个简单应用系统。,课程考核说明,命题依据:本考核说明严格按照中央电大计算机应用专业数据库基础与应用课程教学大纲编写。考核要求:考核学生掌握和运用数据库基本概念和知识建立和使用数据库的能力。具体考核要求分为以下3个层次:了解:理解数据库系统中的一些基本概念。掌握:掌握数据库系统中的一些基本知识、ACCESS以及SQL Server数据库管理系统的常用操作、SQL Server系统中使用的常用数据类型的含义和语句的格式与作用等。熟练掌握:能够根据所给定的知识点分析问题和解决问题。,命题原则:1.严格按照该课程教学大纲和考核说明的要求命题。2.试题的覆盖面较广,并适当突出重点。主教材第四和第九章为课程重点内容。3数据库基本知识(一至五章)、ACCESS使用与操作(六、七章)、SQL Server操作与应用(八、九章)、其他数据库系统及相关知识(第十章)等四个方面内容大约占试题量的45%、15%、35%和5%。4试题的难易程度和题量适当,按难易程度分为三个层次:容易占40%,一般占40%,较难占20%。5.题型大致为:选择、填空、按照数据库查询或处理的语句序列写出相应功能、按照数据库操作功能写出相应语句序列等。,采用期末卷面考核与形成性考核相结合的方式。形成性考核占20分,视平时上机和作业完成情况而定,由所在班级的任课教师给定,由省(市、自治区)级电大认定;期末卷面考核占80分,由中央电大统一命题并采用闭卷方式,答题时限为90分钟。两方面成绩累计达到60分者为及格。,课程重点、难点,重点:数据库基础知识:数据库组织、管理和使用的一般知识,包括数据模型、数据库结构、数据库系统、数据库设计、关系运算、关系规范化、关系查询(SQL语言)等内容;ACCESS微机数据库管理系统:表、窗体、查询、报表、宏、模块等内容;SQL Server数据库管理系统:表、视图、索引、存储过程、触发器、程序设计等内容。,难点:关系的规范化;使用结构化查询语言SQL查询;Access数据库管理系统的高级应用;SQL Server数据库管理系统 及应用,解决问题途径,通过面授方式,对同学们自学过程中遇到的问题进行讨论与交流;通过三大资源网站中的“交流互动”栏目区,在线进行相应方面问题的讨论与交流;通过E-mail进行信息交流,E-mail地址:,课程分段辅导,上次重点知识回顾(5m)本次知识导入(5m)对本次课程内容的系统讲解(90m)自学资源介绍(5m)实验教学环节(10m)师生互动(20m)作业讲评(10m)下次课程学习提示(5m),第1讲课程导入,第一章 数据库系统概论主要教学内容:1.数据管理技术的发展经历2.数据库系统的特点3.数据模型4.数据库体系结构5.数据库管理系统的功能6.数据库系统的组成,学习目标,了解:数据库管理技术发展的四个阶段,数据库体系结构的三级模式和两级映象,数据库管理系统的功能,数据库系统的组成等。掌握:数据库系统和文件系统的各自特点,特别是关系数据库系统的优点,ER图的概念和使用,数据的三种联系类型,数据中的属性、码、域的含义。,第一章 数据库系统概论,数据库中最常用术语和基本概念,数据的概念:描述事物的符号记录称为数据。它是数据库中存储的基本对象。数据有数字、文字、图形、图像、动画、影像、声音等多种表现形式,它们都可以经过数字化后存入计算机。信息的概念信息是人们消化理解了的数据,是对客观世界的认识,即知识。数据与信息既有联系又有区别,数据是载荷信息的物理符号或称载体,用于描述事物,传递或表示信息。信息是抽象的,不随数据形式而改变。信息是反映客观现实世界的知识,用不同的数据形式可以表示同样的信息。,第一章 数据库系统概论,数据处理:数据处理是指将数据转换成信息的过程。广义地讲,处理包括对数据的收集、存储、加工、分类、检索、传播等一系列活动。狭义地讲,处理是指对所输入的数据进行加工整理。数据处理的基本目的是从大量的、已知的数据出发,根据事物之间的固有联系和运动规律,通过分析归纳、演绎推导等手段,粹取出对人们有价值、人意义的信息,作为决策的依据。从数据处理的角度而言,信息是一种被加工成特定形式的数据,这种数据形式对于数据接收者来说是有意义的。,第一章 数据库系统概论,信息与数据之间的关系:信息=数据处理,第一章 数据库系统概论,数据库所谓数据库是指长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件,其功能包括:数据定义功能数据操纵功能数据库的运行管理数据库的建立和维护功能数据库管理系统是数据库系统的一个重要组成部分。,第一章 数据库系统概论,一、数据处理技术发展经历,1、人工管理阶段特点:数据不保存应用程序管理数据数据不共享数据不具有独立性,第一章 数据库系统概论,2、文件管理阶段特点:数据可以长期保存由文件系统管理数据数据共享性差,冗余度大数据独立性差,第一章 数据库系统概论,3、数据库管理阶段优点:数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据粒度小独立的数据操作界面,第一章 数据库系统概论,数据由DBMS统一管理和控制DBMS的数据控制功能数据的安全性保护数据的完整性检查并发控制数据库恢复,第一章 数据库系统概论,因此,数据库是长期存储在计算机内有组织的大量的共享的数据集合.它可以供各种用户共享,具有最小冗余度和较高的数据独立性.DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户使用数据库时进行并发控制,在发生故障后对系统进行恢复.,第一章 数据库系统概论,4、分布式数据库管理阶段 分布式数据库系统通过计算机网络和通信线路可以把分布在不同地域的局部数据库系统连接和统一起来.分布式数据库系统既支持客户的局部应用,又支持客户的全局应用.分布式数据库除了具有一般数据库的优点之外,还具有系统的可靠性高、地域范围广、数据量大、客户数多等优点,缺点是由提高可靠性而带来的数据冗余,由不同局部数据库使用平台连接和统一管理所带来的系统复杂性.,第一章 数据库系统概论,数据管理三个阶段的比较,第一章 数据库系统概论,二、概念数据模型,模型是现实世界特征的模拟和抽象。数据模型是现实世界数据特征的抽象。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。,第一章 数据库系统概论,根据模型应用的不同目的,可以将模型划分为两类。第一类:概念模型(信息模型),它是按用户的观点来对数据和信息建模,主要用于数据库设计。第二类:数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。表示概念数据模型的最常用的一种工具叫实体联系(Entity Relationship)模型,简称ER模型。又称为实体联系图,简称ER图。,第一章 数据库系统概论,1、ER模型的有关概念(1)实体实体:是现实世界中存在的可以相互区别的事物或活动的抽象(数据描述)。如:一个人、一本书、一次会议、一个文件等实体集:是指同一类实体集合。如:一个班级的全体同学、一个图书馆的全部藏书、一年中的所有会议、一段时间签发的所有文件等都是相应的实体集。实体型:是对同类实体的共有特征的抽象定义。如人的共有特征为姓名、年龄、籍贯、职业、学历等,这五个特征就定义了人这个实体型。实体值:就是符合实体型定义的每个具体实体。如假定人的实体型用姓名、年龄、籍贯、职业、学历等特征定义,则“张三,35,江苏,教师,研究生”就是该实体型的一个实体值,它描述的是一个具体的人。,第一章 数据库系统概论,(2)联系联系是指实体之间的相互关系,它通常表示一种活动。联系集是同一类联系的集合。联系型是对同类联系的共有特征的抽象定义。注意:实体和联系实际上没有什么本质区别,它们都是由相应的特征标识的,都具有型和值的概念,只不过在联系中含有较多的联系特征。,第一章 数据库系统概论,(3)属性属性:是描述实体或联系中的一种特征,一个实体或联系通常具有多个特征,需要多个相应属性来描述。码(键):是实体间相互区别的一种惟一标识。实体中的每个码可能是实体中的一个属性,也可能是一组属性,特别是在联系实体中往往是一组属性。在实体中能作为码的属性称为主属性,否则称为非主属性。域:实体中相应属性的取值范围。,第一章 数据库系统概论,(4)联系分类联系分类是讨论两实体型(含联系型)之间的联系情况。一对一联系(1:1)如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。例如:学校里面,一个班级只有一个正班长,而一个正班长只在一个班中任职,则班级与班长之间具有一对一联系。,第一章 数据库系统概论,一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n例如:一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系,第一章 数据库系统概论,多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。例如:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。一般地,两个以上的实体型之间也存在着一对一、一对多、多对多联系。同一个实体集内的各实体之间也可以存在一对一、一对多、多对多联系。,第一章 数据库系统概论,2、ER模型ER模型(实体联系模型)简称ER图,它是描述概念世界,建立概念模型的实用工具。ER图包括三个要素:1)ER模型是的基本构件实体用矩形表示,矩形框内写上实体名联系用菱形表示,菱形框内写上联系名属性且椭圆表示,椭圆形框内写上属性名。用连线将矩形、菱形、椭圆连接起来,表示实体、联系与属性之间的所属关系或实体与联系之间的相连关系。,第一章 数据库系统概论,2)各种联系的ER图表示两个实体型之间的三类联系,第一章 数据库系统概论,一个实体内部的三类联系,第一章 数据库系统概论,三个或更多实体相互联系的情况(P15页)如对于学生、课程和教师这三个实体,若规定每个学生可以选择多门课程,每门课程可以被多个学生选修,每门课程惟一对应一个任课教师,一个教师可以讲授多门课程。则学生、课程和教师这三个实体之间的ER图可表示为:,第一章 数据库系统概论,3)使用ER模型举例例如用ER图来表示某个工厂物资管理的概念模型。物资管理涉及的实体有:仓库属性有仓库号、面积、电话号码。零件属性有零件号、名称、规格、单价、描述。供应商属性有供应商号、姓名、地址、电话号码、账号。项目属性有项目号、预算、开工日期。职工属性有职工号、姓名、年龄、职称。,第一章 数据库系统概论,这些实体之间的联系为:一个仓库可以存放多种零件,一种零件可以存放在多个仓库中,因此仓库和零件具有多对多的联系。一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,因此仓库和职工之间是一对多的联系。职工之间具有领导-被领导关系。即仓库主任领导若干保管员,因此职工实体集中具有一对多的联系。供应商、项目和零件三者之间具有多对多联系。即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。,第一章 数据库系统概论,实体及其属性图,第一章 数据库系统概论,实体及其联系图,第一章 数据库系统概论,供应商,零件,仓库,供应,工作,供应量,库存量,职工,项目,库存,领导,m,m,n,n,n,1,n,1,p,完整的实体联系图,第一章 数据库系统概论,三、逻辑数据模型,数据库的逻辑数据模型又称数据库的结构模型,或直接简称为数据模型。1、层次数据模型层次模型用树形结构来表示各类实体以及实体及实体间的联系。在数据库中定义层次数据模型应满足以下两条件:有且只有一个结点没有双亲结点,这个结点称为根结点;根以处的其他结点有且只有一个双亲结点。在层次模型中,每个结点表示一个记录类型,记录之间的联系用结点之间的连线表示,这种联系是父子之间的一对多的联系。,第一章 数据库系统概论,如一个教员学生层次数据库.,第一章 数据库系统概论,该层次数据库有四个记录型.记录型系是根结点,由系编号、系名、办公地点三个字段组成。它有两个子女结点教研室和学生。记录型教研室是系的子女结点,同时又是教员的双亲结点,它由教研室编号、教研室名两个字段组成。记录型学生由学号、姓名、成绩三个字段组成。记录型教员由职工号、姓名研究方向三个字段组成。学生与教员是叶结点,它们没有子女结点。由系到教研室、同教研室到教员、由系到学生均是一对多联系。,第一章 数据库系统概论,教员学生数据库的一个值.,第一章 数据库系统概论,层次模型的一个基本特点:任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。层次模型优点:层次数据模型本身比较简单。对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。层次数据模型提供了良好的完整性支持。层次模型缺点:现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。对插入和删除操作的限制比较多。查询子女结点必须通过双亲结点。由于结构严密,层次命令趋于程序化。,第一章 数据库系统概论,2、网状数据模型网状模型是一个图结构模型,它是对层次模型的扩展,它应满足以下两个条件:允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。,第一章 数据库系统概论,在网状模型中,父子结点联系同样隐含为一对多的联系,每个结点代表一种记录型,对应概念模型中的一种实体型。网状数据模型的优点:能够更为直接地描述现实世界,如一个结点可以有多个双亲。具有良好的性能,存取效率较高。网状模型的缺点:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。其DDL,DML语言复杂,用户不容易使用。网状数据模型和层次数据模型统称为非关系模型。这两种模型对数据(记录)的操作方式都是过程式的,即按照所给路径访问一个记录,若要同时访问多条记录则必须通过用户程序中的循环过程来实现,第一章 数据库系统概论,3、关系数据模型关系模型是一种简单的二维表格结构,概念模型中的每个实本和实体之间的联系都可以直接转换为对应的二维表形式。每个二维表称做一个关系,一个二维表的表头,即所有列的标题称为关系的型(结构),其表体(内容)称做关系的值。关系中的每一行数据(记录)称做一个元组,每一列数据称做一个属性,列标题称做属性名。同一个关系中不允许出现重复元组(即两个完全 相同的元组)和相同属性名的属性(列)。,第一章 数据库系统概论,例如一个学生关系和一个课程关系,第一章 数据库系统概论,在一个关系中,每个元组的各属性值的含义必须按该属性的定义(或称语义,即人为赋予的含义)来解释才是有效的,否则将是模糊的,无法利用的。,实体间的联系也可用关系模型来表示,如学生选课关系,既是学生关系与课程关系间的联系。,第一章 数据库系统概论,在以关系模型为数据库逻辑结构建立的数据库系统中,所有数据都是以关系(表)的形式定义和保存的,特别是所有关系的定义(即结构关系的型)也是以关系的形式定义和保存的。用来保存关系定义的关系称为该数据库的元关系,或元数据,或系统数据,或数据字典等,它提供了数据库中所有关系的模式(即关系的型),第一章 数据库系统概论,例如:学生关系的元关系。,关系数据模型特点:数据结构单一:用二维表表示;采用集合运算:每个关系就是元组(记录)的集合,所有对关系得运算就是集合运算,运算结果仍为集合;数据完全独立:用户不需要知道数据的具体存储方式和存取方法,只需知道数据的型和值以及数据之间的连接关系就能够直接操作数据库中的任何数据;数学理论支持:每个关系都是集合,对关系的运算有集合论、数理逻辑做基础,关系结构可以用关系规范化理论进行优化。总之,关系模型具有严格的数学定义,具有成熟的数学理论为依据。,第一章 数据库系统概论,4、对象数据模型是继层次、网状、关系等传统数据模型之后得到不断发展的一种新型的逻辑数据模型;适用于处理数值和字符文本数据以及图形、图像、声音等多媒体数据信息;表达信息的基本单位为对象,包含所描述对象的状态特征和行为特征;对象有型和值的区别,型(类)是对具有共同特征的事物的抽象定义,值(类对象)是对象型中的一个具体事物。,第一章 数据库系统概论,对象具有封装性、继承性和多态性,对象也可以嵌套现在已经出现了一些面向对象模型的数据库系统,但由于技术方面还不够成熟和完善,仍需不断发展,构成数据库系统的结构较复杂,所以应用面不广,目前仍以关系模型为主流。例如,第一章 数据库系统概论,四、数据库系统简介,1、数据库系统构成数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。,第一章 数据库系统概论,2、数据库系统组成硬件平台及数据库要有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序有足够大的磁盘等直接存取设备存放数据库,有足够的磁带(或微机软盘)作数据备份。要求系统有较高的通道能力,以提高数据传送率。软件DBMS。DBMS是为数据库的建立、使用和维护配置的软件。支持DBMS运行的操作系统。具有与数据接口的高级语言及其编译系统,便于开发应用程序。以DBMS为核心的应用开发工具。为特定应用环境开发的数据库应用系统。,第一章 数据库系统概论,人员数据库管理员(DBA),负责整个数据库系统的建立、管理、运行、维护、监控等系统性工作,以及用户登记、存取数据权限分配等服务工作。数据库设计员,他根据数据库在某一方面的应用,通过同相关业务人员一起进行需求分析,建立概念数据模型和逻辑数据模型,搜集和整理数据,利用计算机中的数据库管理系统和数据库定义语言或操作界面建立相应的数据库。应用程序员,他根据已有的数据库系统,作用Visual Basic、PowerBuilder、Delphi等数据库应用系统开发工具编制程序开发出功能丰富、操作简便、满足用户需求的应用系统,供终端用户使用。终端用户,他是使用数据库的最广泛群体,是建立数据库为之服务的对象。,第一章 数据库系统概论,第一章 数据库系统概论,3、数据库体系结构,从数据库管理系统角度看,数据库系统通常采用三级模式结构和二级存储映象;这是数据库管理系统内部的系统结构。从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可有单用户结构、主从式结构)、分布式结构、客户/服务器结构和并行结构。这是数据库系统外部的体系结构。,数据库系统模式的概念模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。国为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。,第一章 数据库系统概论,数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。,第一章 数据库系统概论,模式(Schema)也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据库的物理存储细节和硬件环境,也与具体的应用程序,与所使用的应用开发式具及高级程序设计语言(如C,Cobol,Fortran)无关。一个数据库只有一个模式。DBMS提供模式描述语言(模式DDL)来严格地定义模式外模式(External Schema),也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式。DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。,第一章 数据库系统概论,内模式(Internal Schema),也称存储模式(Storage Schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式。数据库的二级映象功能与数据库独立性外模式/模式映象模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性,第一章 数据库系统概论,模式/内模式映象数据库中只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。4、DBMS的主要功能数据定义和操纵数据库管理控制数据库辅助服务提供使用数据库工具建立和维护数据字典,第一章 数据库系统概论,第一章 数据库系统概论,5、使用数据库系统存取数据过程,用户向DBMS发出读取数据(或写入数据)的请求;DBMS检查用户的存取权限,确定是否接受请求;如果是合法用户进行合法访问,则DBMS查看外模式到模式的映象,确定在模式中对应的数据定义;DBMS查看模式到内模式的映象,确定在内模式中对应的数据定义;DBMS按照内模式数据定义向操作系统发送读取数据的命令;操作系统执行此命令从外存数据库中读出指定的数据并送入在内存的系统缓冲区中;DBMS取出系统缓冲区的数据并相继进行内模式到模式、模式到外模式的数据转换后,把它写入到用户缓冲区;DBMS把数据从用户缓冲区取出给用户使用,至此结束一次访问数据库的读数过程。,第二章 关系运算,主要教学内容关系和关系模式域、笛卡儿积、关系、键(主键、候选键、外键)、关系模式关系完整性实体完整性、参照完整性、用户定义的完整性(规则)关系代数传统的集合运算(并、交、差、广义笛卡儿积)专门的关系运算(选择、投影、连接、等值连接、自然连接),第二章 关系运算,学习目标,了解本章所有概念的含义;熟练掌握关系代数的各种运算。对于一个具体关系,能够写出选择或投影运算后的结果。对于两个关系,能够写出按某一种公共属性进行自然联接后的结果。,第二章 关系运算,一、关系数据结构,相关概念的形式化定义1、域(Domain):具有相同特性的数据集合。如:1,3,5,99是一个域,是由100以内的所有奇数组成的集合。SUN,MON,TUE,WED,THU,FRI,SAT是一个域,是由一个星期内的每天英文名称标记组成的集合。2、笛卡儿积(Cartesian product):定义在一组域上的集合。假定一组域用D1,D2,Dn表示,则它们的笛卡儿积表示为:D1D2 Dn=(d1,d2,dn)|diDi,1in,n1,第二章 关系运算,每个元素又称为元组,元组的一个分量,域的个数,也是每个元组中分量的个数,具有n个分量的元组被称为n元组,在D1,D2,Dn域中,若任一个域di的基数(即所含元素的个数)用mi表示,则它们的笛卡儿积中元组的个数为m=m1m2mn。例2-2,设D1=学生=王力,赵火,孙平,D2=导师=刘华,张明,D3=专业=计算机,电子,则它们的笛卡儿积D1D2 D3(王力,刘华,计算机),(王力,刘华,电子),(王力,张明,计算机),(王力,张明,电子),(赵火,刘华,计算机),(赵火,刘华,电子),(赵火,张明,计算机),(赵火,张明,电子),(孙平,刘华,计算机),(孙平,刘华,电子),(孙平,张明,计算机),(孙平,张明,电子)D1D2 D3的基数为322=12,每个元素都是一个三元组.,第二章 关系运算,n个域的笛卡儿积对应一张二维表,该表中的每一行为一个元组,每一列为一个域,每个元组中的n个分量分别来自n个域,每个分量是对应域中的一个值(元素),二维表的行数(即元组数)等于从每个域中各取一个元素的所有可能的组合数。如:,第二章 关系运算,3、关系:是笛卡儿积的一个子集,若笛卡儿积具有n个域,则该笛卡儿积上的关系被称为n元关系。设D1,D2,Dn为n个域,则该域上的关系用R(D1,D2,Dn)表示,R称为关系名,R关系所包含的全部元组是D1D2 Dn的一个子集。,第二章 关系运算,一个n元关系具有六个性质:列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。列的顺序无所谓,即列的次序可以任意交换。任意两个元组不能完全相同。行的顺序无所谓,即行的次序可以任意交换。分量必须取原子值,即每一个分量都必须是不可分的数据项。,第二章 关系运算,第二章 关系运算,学生关系,成绩关系,例如:,4、关系模式(Relation Schema)关系数据库中,关系模式是型,关系是值。关系模式是对关系的描述。定义:关系的描述称为关系模式,它可以形式化地表示为:R(U,D,dom,F)关系模式通常可以简记为:R(U)或 R(A1,A2,An),第二章 关系运算,关系名,组成该关系的属性名集合,属性组U中属性所来自的域,属性向域的映象集合,属性间数据的依赖关系集合,属性名,5、码(键、关键字)超码:能唯一标识每个元组的属性或属性组;可以有多个。候选码:能唯一标识每个元组的最少属性或属性组;可以有多个。主码:从候选码中选择一个作为该关系的主码,数据库系统将按主码标识和排序每个元组。任一时刻至多只能有一个主码,不同时刻可选择不同的候选码作为主码。备用码:除主码之外的所有候选码;一个关系可能没有备用码,也可能具有一个或多个备用码。外码:在关系R1中的属性或属性组若在另一个关系R2中作为主码使用,则称该属性或属性组为R1的外码。允许使用不同的属性名。主属性和非主属性包含在任何候选码中的属性都称为该关系的主属性,除主属性外都是非主属性,或称为非码属性。,第二章 关系运算,二、关系完整性,实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。规则规定基本关系的所有主属性都有不能取空值,而不仅是主码整体不能取空值。参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。用户定义的完整性:就是针对某一具体系统数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的主义要求。,第二章 关系运算,三、关系运算,1、传统的集合运算包括并、差、交和笛卡儿积等四种运算。设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则:并:RS=t|tRtS结果仍为n目关系,由属于R或属于S的元组组成。差:R-S=t|tRtS结果仍为n目关系,由属于R而不属于S的所有元组组成。,第二章 关系运算,交:RS=t|tRtS结果仍为n目关系,由既属于R又属于S的元组组成。笛卡儿积:两个分别n目和m的关系R和S的笛卡儿积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的笛卡儿积有k1k2个元组。记作:RS=tRtS|tRtRtSS,第二章 关系运算,2、专门的关系运算选择运算():从一个关系R中选择出满足条件的所有元组构成新关系,且新关系同R具有相同的结构。提供了横向划分关系的手段。表示方法:对关系R按F(t)条件做选择运算,用集合公式表示:F(t)(R)=t|tRF(t)=TRUE 投影运算():含义:从一个关系R中按所需顺序选取若干个属性构成新关系,提供了