




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称:数据库原理及应用2010-2011年度第1学期课程导论一、数据库原理教程最终讲授的内容和目的?1.内容1)数据库系统概述2)关系数据库的各种运算3)sql语言(重点中的重点)熟悉掌握select语句的使用。Java程序设计、donet程序设计都必须使用的。学生,选课查询没有选课的学生的学,课程号,姓名和性别。Select学号,姓名,性别from学生where学号notin(select学号from选课)嵌套子查询Select学号,姓名,性别from学生,选课where学生.学号=选课.学号熟练掌握三种操作语句,insert,update和delete熟练掌握数据的定义语句:create、drop和alter控制语句:grant,revoke,授权和收回授权4)掌握sqlserver2005系统管理掌握数据Sqlserver2005的安装,启动,安全体系的管理,服务的管理等。2005已经将各种服务放在后台服务管理中。5)掌握sqlserver2005数据库的管理创建数据库,修改数据库,删除数据库。-1课程名称:数据库原理及应用2010-2011年度第1学期6)掌握sqlserver2005的数据表和视图的管理使用sqlserver2005的管理工具来创建数据表,修改数据表,数据表的记录的管理,删除数据表以及视图的操作。7)掌握T-sql语言的使用各种常量,变量,控制语句,游标的操作。8)掌握sqlserver2005的存储过程和触发器9)掌握sqlserver2005的数据库的10)根据2.目的1)掌握各种sql语言的使用,应用在java,donet等各种程序设计语言备份和恢复一个应用程序来开发数据库应用软件中,以实现对数据库的操作。关键2)学会维护sqlserver2005服务器3)综合运用所学知识开发一个完整的应用程序。-2课程名称:数据库原理及应用2010-2011年度第1学期第1章数据库系统概述本章重点:1.掌握数据管理技术的发展阶段2.掌握数据库系统的组成3.数据库系统的相关概念4.掌握数据库系统的内部体系结构,三级模式和二级映象5.掌握数据库系统的外部体系结构6.掌握三种数据模型7.掌握现实世界、信息世界和计算机世界三个世界的相关术语1.1数据、信息一、数据数据是用来记录信息的可识别的符号,数据是信息的载体,但数据不等同于信息。数据不仅是指数值数据,而且还包括字符、图形、图片、音频和视频是有型和值之分。描述一个学生的年龄,23岁,数值型,值是23。二、信息等各种数据。数据信息就是是指有用的数据,信息是从数据中提取出来。信息的表现形式是数据。信息源比较多,电视、报纸、互联网。信息是可存储的、可加工的、可传递的和可再生的。三、数据处理与数据管理-3课程名称:数据库原理及应用2010-2011年度第1学期1.数据处理数据处理是将数据转换为信息的过程,包括对数据进行收集、管理、加工利用以及信息输出等一系列活动。信息=数据+数据处理2.数据管理是指数据的收集手工记账,用友,金蝶等软件来管理。、整理、组织、编码、存储、检索以及传输等操作。财务管理,学生的成绩管理:1.2数据管理技术的发展阶段数据管理技术的发展阶段分为三个阶段,人工管理阶段,文件系统阶段和数据库系统阶段一、人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算,当时没有存储没有软件来管理,数据的管理都是使用人工来处理,数据和程序是存放在一起的,设备,存储设备卡片。即一个程序对应一个数据特点:1.数据不能长期保存2.数据和程序不具有独立性3.没有专门的软件对数据进行管理4.数据不能共享,冗余度高(重复数据量大)应用程序1数据1应用程序2数据2-4课程名称:数据库原理及应用2010-2011年度第1学期二、文件系统阶段20世纪50年代后期至60年代的中期出现了磁性存储设置,软件出现了操作系统,有了专门的文件系统,此时数据保存在文件中,通过文件系统来调用。特点:以前,计算机得到了飞速的发展,1.数据和程序有了一定的独立性,没有真正独立,但仍是一个应用对应一个数据。2.数据的访问通过文件系统来实现3.数据不能共享,冗余度高应用程序1应用程序1数据库管理系统数据库应用程序1数据没有结构化。三、数据库系统阶段20世纪60年代后期至今。1.发展史20世纪60年代后期出现的对数据库管理技术有着奠基作用的三件大事,标志着以数据库系统为基本和段的数据管理新阶段的开始。1)1968年IBM推出商品化的基于层次模型的信息管理系统IMS。-5课程名称:数据库原理及应用2010-2011年度第1学期2)1969年,美国数据系统语言协会,发布了研究数据库方法的DBTG报告,提出了网状数据模型。3)1970年,美国IBM公司,提出了关系模型,奠定了关系数据库管理系统的理论基础,一直沿用至今。2.数据库系统阶段的特点1)数据结构化数据以一定的组织结构来存储,数据模型,层次模型,网状模型和关系模型。一行一记录。2)数据共享性高,冗余度低数据可共享,多个应用程序可以同时使用一个数据。共享性高,减少了数据冗余度。但没有消除数据冗余。3)数据的独立性高数据的独立性是指数据库中的数据与应用程序间相互独立,即数据的逻辑结构,存储结构以及存取方式的改变不影响应用程序。数据库的结构分为局部逻辑结构、整体逻辑结构和物理结构。分别对应的数据库系统的内部体系结构中的外模式、模式和内模式。数据的独立性分为两级:物理独立性和逻辑独立性数据的物理独立性:是指当数据物理结构发生改变,通过修改模内式/模式的映象,使数据库的整体逻辑结构不变,从而用户的逻辑结构以及应用程序不用改变。数据的逻辑独立性:是指当数据的整体逻辑结构发生改变,通过修改模式/外模式的映象,使数据库的局部逻辑结构不变,从而应用程序不用改-6课程名称:数据库原理及应用2010-2011年度第1学期变。4)有统一的数据控制功能在数据库系统阶段,有专门的软件来管理数据,它是一个系统软件,是数据库管理系统(DBMS)。数据库管理系统提供了四方面的控制功能:。数据的安全性控制防止不合法使用数据库造成数据的破坏,泄露。通过口令和存取权限来限制,grant和revoke授权和收回授权。。数据的完整性控制是指通过一些完整性规则,确保数据的正确性、有效性和相容性。三方面:实体完整性、域完整性和参照完整性。并发控制一个数据库系统当多个用户同时访问,不能出现数据不一致的现象。。数据恢复1.3数据库系统的组成一、数据库的相关概念1.数据库简称为DB,是指存储在计算机外存储器上,有组织的相关信息的集合,在数据库,中各种数据按照一定的结构(数据模型)来组织、描述和存储。具有冗余度小、较高的独立性,共享的特点。数据库不仅存放数据,而且存放数据之间的联系。2.数据库管理系统简称为DBMS,是专门用来管理、维护数据库的系统软件,数据库管理系统必须在操作系统的支持下工作。目前数据库管理系统都是关系模型-7课程名称:数据库原理及应用2010-2011年度第1学期的。比较常用的数据库管理系统有:VisualFoxpro8.0,access数据库、sqlserer2000/2005/2008、oracle10G、Sybase、msql。3.数据库系统简称为DBS,是指应用了数据库的计算机系统。4.数据库应用系统简称为DBAS,比如财务管理系统,教务管理系统。综上所述:DBS包括DB和DBMS,DBMS管理DB。二、数据库系统的组成由五个部分构成1.数据库2.数据库管理系统3.硬件系统4.软件系统操作系统等支撑软件5.用户是指使用数据库的人员,包括维护数据库,存储数据库和种人员,主要分为终端用户、应用程序员、系统分析员、数据库管理员。1)终端用户终端用户利用应用软件使用数据库的人员。比如QQ软件,财务软件,会计记账人员。2)应用程序员应用程序员在系统分析员和数据库管理员建立数据库基础上,进行应-8课程名称:数据库原理及应用2010-2011年度第1学期用软件开发的人员。软件公司中的程序员。3)系统分析员系统分析员就是对应用软件进行需求分析,详细设计、功能设计和参与数据库设计的人员。通常是指软件公司中的项目经理4)数据库管理员简称为DBA,负责应用软件中数据库的设计、建立、管理和维护的人员。对应用系统的数据库定义安全性、完整性、控制数据库的使用和运行,改进和重组数据库工作。总结:1.了解数据、信息、数据处理和数据管理的含义2.数据管理技术的3.数据库系统的相关概念4.数据库系统的组成复习:三个发展阶段1.数据管理技术的发展阶段2.数据库系统的概念3.数据库系统的组成1.4数据库系统的模式结构可以从多种角度考查数据库系统的结构:从数据库管理系统的角度看,数据库系统通常分为三级模式结构,这是数据库管理系统的内部体系结构。从数据库最终的用户的角度看,数据库系统的结构分为单用户结构、-9课程名称:数据库原理及应用2010-2011年度第1学期主从式结构和分布式结构,C/S结构,B/S结构。这是数据库系统外部体系结构。一、数据库系统的三级模式结构1.数据库系统模式的概念模式:是数据库中全体数据的逻辑结构和特征的描述,它仅涉及到型的描述,而不涉及到值的描述。学生基本情况的数据库模式中,包含了学生基本情况记录。数据库的实例是变化的,而模式是不变的。学生(学号,姓名,性别,出生日期)2.数据库系统的三级模式美国国家标准学会所属怕标准计划委员会在1975公布的研究报告中,把数据库系统内部的体系结构从别是外模式、模式、、概念级模式和物理级模式。逻辑上分为三级,分内模式,对用户而言,对应的就是用户级模式1)模式也称为逻辑模式、概念模式,是数据库中全体数据的逻辑结构和特征的描述。处于三级模式的中间层,注意不涉及到数据的物理存储。模式就是数据的全局逻辑结构的表示。如学生(学号,姓名,性别,出生日期)就是一个模式。对应的sqlserver2005中的数据表。一个数据库在此模式下建立的数据库称为概念级数据只有一个模式,库。2)外模式又称为子模式,或者用户模式,它是数据库用户能看到并允许使用的-10课程名称:数据库原理及应用2010-2011年度第1学期那部分局部数据的逻辑结构的描述,是数据库的局部逻辑结构,也就是模式的一部分。它相应于sqlserver2005中视图。外模式是可变的,外模式在一个数据库中有多个。在此级上建立的数据库叫用户级数据库。View1(学号,姓名,性别)View2(学号,姓名)View3(学号,姓名,出生日期)外模式得到的就是对模式的一个投影操作。3)内模式存储模式,物理模式,是对数据库存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。它相当于sqlserver2005中的数据库文件。综上所述,数据库系统内部体系结构分为三级模式,分别是外模式,模式,内模式,外模式是局部逻辑结构,模式是全局逻辑结构,内模式是存储结构,外模式有多个,模式只有一个,内模式只有一个,在外模式上建立的数据库叫用户级数据库,在模式上建立的数据库叫概念级数据库,在内模式上建立的数据库叫物理级数据库。二、数据库系统的二级映象和数据独立性在数据库系统阶段,数据之所以具有较高的独立性就是由于数据库系统三级模式中的二级映象。二级映象保证了数据的物理独立性和逻辑独立性。-11课程名称:数据库原理及应用2010-2011年度第1学期1.外模式/模式的映象外模式/模式的映象将模式的改变,通过映象,使之外模式不发生改变,从而应用程序不改变,这就保证了数据库系统的逻辑独立性。2.模式/内模式映象模式/内模式的映象将内模式的改变,通过映象,使之模式不生改变,从而外模式不发生改变,应用程序也就不用改变,保证了数据库系统的物理独立性。三、数据库系统的三级模式和二级映象的优点1.保证了数据的独立性2.简化了用户接口3.有利于数据共享4.有利于数据的安全保密1.5数据库系统的外从最终的用来看,数据库系统分为单用户结构、主从结构、分布式结构、C/S结构和B/S结构。部体系结构户角度其实这种分法就是应用程序的类型。1.单用户结构的数据库系统又称为桌面型数据库系统,就是把应用程序,DBMS,数据库都安装在一台计算机上,由一个用户独使用,计算机之间不允许共享数据。Foxpro,visualfoxpro,access数据库2.主从式的数据库系统文件/服务器结构的数据库系统,简称为F/S结构,它是由一台服务器-12课程名称:数据库原理及应用2010-2011年度第1学期带多台终端构成,服务器一台性能较高的计算机,终端是指不具有处理的计算机,只有显示器和键盘。工作原理:当终端向服务器请求数据时,服务器接收请求,并在服务上处理后,再传送给终端。服务器的负荷比较重。3.分布式结构的数据库系统Oracle数据库、sqlserver2005/2008等数据库管理系统都支持分布式结构。特点:1)数据在物理上分布数据不集中存放在一台服务器上,而是分布在不同的地域上。每台服务器称为结点。2)数据在逻辑上是整体的物理上分布,逻辑上关联。3)结点上分布存储的数据相对独立分布式结构是分布式网络与数据库技术相结合的产物。4.客户/服务器结构的数据库系统客户服务器结构的数据库系统是由多台数据库服务器和多个具有处理能力的计算机所构成的。其中分为客户端和服务器端,客户端就是安装了客户端应用程序的计算机,而服务器端就是安装了数据库管理系统的服务器。数据库服务器。工作原理:在服务器上存放数据库管理系统和数据库,而应用程序和客户端负责用户界面,接收数据,生成数据服务请求,并将服务请求发送给服务器,服务器接收请求,并处理,处理开发工具都存放在客户端上,-13课程名称:数据库原理及应用2010-2011年度第1学期后发送给客户机。简称为C/S,client/server的简写。此种结构只适合于在局域网或者是专用网络中以及虚拟网络中实现。不能在互联网上实现。此结构维护升级较麻烦,因为在每台客户端都得安装应用程序。5.浏览器/服务器结构的数据库系统这种结构简称为B/S结构,是针对C/S结构的不足而提出。B/S结构客户端仅安装通用的浏览器软件即可,实现用户的输入和输出,而应用程序不安装在客户机端,而是安装在WEB服务器端。所以在B/S结构中,通过有三种机器,一种客户端,一种是WEB服务器,一种是数据库服务器。绝大多数的软件都属于B/S结构的,该结构在internet中得到了广泛的应用。网易、新浪等网站就是B/S结构的应用程序。流行的开发B/S结构的应用程序的开发工具有java和.NET。1.6数据库管理系统简称为DBMS,是对数据行进管理的大型系统软件,目前比较管理系统数据库它是数据库系统的核心。用户操作数据库都是通过数据库管理系统实现的。一、DBMS的主要功能1.数据定义功能数据库的模式定义,DBMS提供了数据定义语言,简称为DDL,用于定义模式,外模式和内模式三级模式结构和二级映象,定久各种约束条件。主键约束、惟一约束、空值约束、检查约束、外键约束保证数据库的完整性。-14课程名称:数据库原理及应用2010-2011年度第1学期相当于sqlserver2005的建立数据库图等。命令有三个:create,alter,drop2.数据操作功能、建立数据库、建立索引、建立视DBMS提供了数据操作语言,简称为DML,实现对数据库的基本操作,包括检索、更新操作。针对于sql语言,分别是select、insert、update和delete对于sql语言,DML分类两类,一类是自主型或自含型的。比如visualfoxpro。另一类是宿主型的3.数据库,表示嵌入到其他的高级语言中。运行管理功能它是数据库管理系统运行的据正确有效和正常运行。四大控制功能4.数据库的建立核心部分。通过对数据库的控制以确保数和维护功能包括初始数据的装入与转换。5.数据通信接口Sqlserver2005与visualstudio2008连接,sqlserver2005与java如何接口。数据访问接口:ODBC(万能),JDBC(JAVA),ADO.NET(.NET接口)Sqlconnectionconn=newsqlconnection(“server=dbserver;database=stu;uid=sa;pwd=sa”;Conn.open();Sqldataadapteradp=newsqldataadapter(“select*fromusername1”,conn);Datasetds=newdataset();Adp.fill(ds);-15课程名称:数据库原理及应用2010-2011年度第1学期Datagridview1.datasource=ds.tables[0].defaultview;Datagridview1.databind();6.数据组织、存储和管理包括对数据字典、用户数据、存取路径等的组织、存储和管理工作。二、DBMS的组成1.语言编译处理程序提供数据定义语言和数据操作语言。2.系统运行控制程序包括总控程序、安全性控制程序、完整性控制程序、并发性控制程序、通信程序等。3.系统建立、维护程序4.数据字典1.7数据模型一、数据模型的概念数据库用来描述模拟现实世界中的某种应用环境所涉及到的全部数据集合,而且反映数据之间的联系。数据模型就是用来描述数据的结构、操作和约束的。二、三个世界的划分1.三个世界的划分把现实世界中的具体事物抽象为某一个DBMS支持的数据模型。将现实世界中的事物进行认识抽象,转换为信息世界中的数据模型,再对信息世界中的概念模型进行转换使之转换为计算机世界DBMS能支持的数据模型。-16课程名称:数据库原理及应用2010-2011年度第1学期现实世界,信息世界和计算机世界2.现实世界客观存在的世界,在其中存在着各种事物以及它们之间的联系,现实世界中的事物有的是具体的,有的是抽象的。学生,一台电脑,一辆汽车,是具体的事物。而一次考试、一次比赛是抽象的事物。3.信息世界及其有关概念信息世界就是现实世界在人们头脑中的反映。是经过分析,整理得到的有用的信息世界。1)实体客观存在的并且可以相互区别的“事物”称为实体,实体可以是具体的,也可以是抽象的。2)属性用来描述实体的特性叫实体的属性。总结:1.数据库系统的内部体系结构,三级模式和二级映象2.数据库系统的外部体系3.数据库管理系统的组成和功能4.数据模型中的2)属性结构,5种。三个世界。实体的特征,一个学生,属性有学号、姓名、任何一个实体的属性都有型和值之分。号,姓名等。属性的值就是属性的具体内容,99001,张一,男性别、出生日期等。属性的型就是属性名称,如学-17课程名称:数据库原理及应用2010-2011年度第1学期3)实体集同型实体的集合称为实体集。所有的学生称为学生实体集,每一个学生称为实体,所有的课程称为课程的实体集,每门课程称为实体。4)实体型同类实体的属性的集合。学生实体的实体型(学号,姓名)。二维表的表头。5)键,性别,出生日期也称为关系键,主键,主码,主关键字。能在一个实体集中,惟一确定一个实体属性或属性组叫键。可以是单一属性,也可以是多个属性组合。学生实体(学号,姓名,性别,出生日期)学号就是学选课实体(学号,课程号。属性的组合。号,课程名,学分)键就是课程号。生实体的键。单一属性。号,成绩)选课实体的键是学号和课程课程(课程课程实体的6)域实体属性的取值范围,叫域。属性值是有一定的范围的。有可能规定具体的值,有可能规定具体的类型。如性别,只能是男或女,月份,只能是1-12,7)实体间的联系对于任何一个实体,实体内部各属性之间有一定的联系。多个实体之间也存在着一定的联系。事物之间不是独立存在的,事物之间都存在着一定的联系。-18课程名称:数据库原理及应用2010-2011年度第1学期在此讨论的是实体间的联系,而在关系的规范化中讨论是实体内部的联系。班级实体(班号,班名,班导师)学生实体(学号,姓名,出生日期)号,课程名,学分)一个班级有多名学生,一个学程,一门课程有多个学生选修。实体与实体。一对一联系(1:1)即实体集A中的一个实体性别,课程实体(课程生属于一个班级,一个学生选修多门课之间的联系分为三种:至多与实体集B中的一个实体对应,反之亦然。学校实体和校长实体之间就是一对一的联系。班级实体和班长实体之间就是一对一的联系。省和省会就是一对一的联系。。一对多的联系(1:N)即实体集A中的一个实体与实体集B中的多个对应,而实体集B中的一个至多与实体集A中的一个对应。如班级和学生,班级是一方,学生是多方,是一对多的联系。部门和职工也是一对多的联系。一方和多方,班级和学生实验室和电脑就是一对多的联系。。多对多联系即实体集A中的一个实体与实体庥B中的多个对应,反之亦然。-19课程名称:数据库原理及应用2010-2011年度第1学期学生和课程就是多对多的联系。在此位置,注意给定两个实体和语义约定,必须知道实体与实体之间的联系类型。4.计算机世界及其有关基本概念信息世界经过数字化转换为计算机世界进行存储。1)字段就是实体的属性,也称为数据项,字段名就是属性名。如学生学号,姓名,性别,出生日期2)记录记录就是实体,通常在数据表中用一行的记录表示一个实体。一个记录由多个字段构成。3)文件文件就是同一类记录的集合,也就是用来描述实体集的。在sqlserver中用数据表来描述实体集。4)关键字能惟一标识一个记录的属性或属性组合。三、数据模型的分类将数据模型分为两类。模型,以用户的观点对数据和信息根据模型的应用不同,第一类模型是概念模型,也是信息建模。概念模型是信息世界中的模型,与任何DBMS无关。数据库设计时用户和数据库管理员之间交流的工具。如E-R图就是一个概念模型。第二类模型是逻辑模型和物理模型。是属于计算机世界中的模型,是按照计算机的观点来对数据建模的。与具体的数据库管理系统有关。-20课程名称:数据库原理及应用2010-2011年度第1学期数据库系统的逻辑模型主要包括:层次模型、网状模型和关系模型、面向对象模型。四、实体联系模型及E-R图实体联系模型,称为E-R模型,是数据库设计工作中的一种概念模型。用E-R图来描述实体以及实体之间的联系。E-R的基本要素:实体、联系和属性三要素。在E-R图中分别用以下三种符号表示:实体:用矩形来表示。标注实体名属性:用椭圆来表示。标注属性名联系:用菱形来表示。标注联系名而实体、属性和联系三者之间用线段联接。无向的。省1属于省会1五、数据模型的组成要素是逻辑模型的层次模型、网状模型和关系模型的。-21课程名称:数据库原理及应用2010-2011年度第1学期数据模型的三要素分别是数据结构、数据操作和完整性约束1.数据结构描述数据库的组成对象以及对象间的联系,通常指的是数据库的结构。它是静态的。2.数据操作是指对数据库中的各种数据允许执行的操作的集合,包括操作及相应的操作规则,它是描述数据库的动态特性。包括数据查询和数据操作(添加、修改和删除)。3.数据的是一组完整性规则的相容的。完整性约束集合。保证数据库的数据必须是正确的、有效的和六、三种数据模型目前,在数据库领域中常用的数据模型有层次模型、网状模型和关系模型。其中层次模型和网状模型是早期的数据模型。统称为非关系模型。1.层次模型典型代码是IBM公司的IMS数据库管理系统。层次模型用结构(有向树)描述实体以及实体之间的联系。树形数据层次模型的特点:1)有且只有一个结点没有双亲,称为根结点2)除根结点之外,其他结点有且仅有一个双亲结点层次模型只能描述一对一和一对多的联系。不能描述多对多的联系。多对多联系必须转换为一对多的联系。-22课程名称:数据库原理及应用2010-2011年度第1学期层次模型的缺点:1)不能直接表示两个以上的实体型间的复杂联系。2)对数据插入和删除的操作限制太多。3)查询下级结点2.网状模型典型代表是DBTG系统。必须通过双亲结点网状模型是指采用有向图结构表示实体与实体之间的联系的数据模型。特点:1)至少有一个结点没有双亲。2)其他结点可以有多于一个结点的双亲。3)允许结点之间有多种联系。网状模型可以描述一对一,一对多和多对多的联系。缺点:1)数据结构过于复杂,随着应用环境的扩大,数据结构变复杂。2)数据定义语言,操作语言极其复杂。3)记录间的联系3.关系模型本质上是通过存取路径实现的。必须指定存取路径。目前比较流行的关系型的数据库,如foxpro,access,oracle,sqlserver,informix,sybase等。关系模型是采用二维表描来述实体与实体之间的联系。学生关系学号姓名性别出生日期班号-23课程名称:数据库原理及应用2010-2011年度第1学期9900199002张一男李四女01021)关系模型的数据结构一张二维表,由表名,表头和表体三部分构成。其中表名就是二维表的名称,也就是关系名,表头就是实体型,二维表的结构。表体是用来描述实体的,所有的集合称为实体集。2)二维表的基本概念。关系:一个关系对应一张二维表。关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,……),其实关系模型就是用来描述关系的结构,型。学生(学号,姓名,性别,出生日期)。元组:二维表格中的行,也就是记录,也就是一个实体。。属性:二维表格的列,也就是。域:属性的。属性值:每一行对应的列的值叫属性。关键字,关系键,主键,字段,数据项。取值范围。值,也叫分量。主码。关系模型的优点比较多,它是建立在严格的数学理论的基础上的,数据结构简单,清晰,用户易懂易用。但缺点是查询效率没有非关系型高。面向对象的数据模型OO,面向对象,OOP:面向对象的程序设计。涉及到一些专用的术语:-24课程名称:数据库原理及应用2010-2011年度第1学期1)对象客观世界具体存在的任何“事物”。对象是类的实例。2)类同类对象的特性抽象。人类。学生类。3)继承父类,子类。子类不仅继承了父类的属性、方法和事件,同时还可以自定义自己的属性和方法等。4)重载代码重用。1.8数据库系统的发展如果按照数据模型发展的阶段划分,数据库技术的发展也经历了三个发展阶段一、第一代数据库系统层次模型和网状模型。二、第二代数据库系统关系模型的数据库系统三、第三代数据库系统面向对象的数据模型。1.9数据库新技术数据库技术是计算机软件领域的一个重要分支,同时数据库技术与其他技术相结合是当前数据库技术发展的重要特征。1.数据库技术与分布处理技术相结合,出现了分布式数据库。-25课程名称:数据库原理及应用2010-2011年度第1学期2.数据库技术与人工智能技术相结合,出现演绎数据库和知识库。3.数据库技术与、主动数据库多媒体技术相结合,出现多媒体数据库研究领域主要有三个领域:1.数据库管理系统软件的研制研究的目标就是提高系统的性能和提高用户的生产率。2.数据库设计设计方法、设计工具、设计理论的研究。6个阶段。需求分析、概念设计、逻辑设计、物理设计、运行和测试、系统维护。3.数据库理论关系的规范化理论,关系数据理论等。总结:1.信息世界中的基本概念2.实体与实体之间的联系类型3.数据模型的三要素4.三种数据模型5.简单了解数据库技术本章复习的重点:1.名词解释的发展和新技术。数据库、数据库管理系统、数据库系统、实体、属性、实体集、实体型、键、数据模型。-26课程名称:数据库原理及应用2010-2011年度第1学期2.简单题1)数据管理技术发展的三个阶段以及各个阶段的特点有哪些?2)数据库管理系统的四方面的控制功能是什么?3)数据库,数据库系统,数据库管理系统之间的关系。4)数据库系统阶段的特点有哪些?5)数据库系统包括哪个五个部分。6)数据库管理系统的组成和功能。7)数据库系统的内部体系结构,即三级模式和二级映象8)数据的独立性是什么,包括哪两种,用什么映象来实现。9)数据模型分哪三种,数据模型的三要素是什么。10)逻辑模型分哪三种数据模型,特点是什么。第2章关系数据库本章重点:1.了解关系的形式化定义2.掌握广义的笛卡尔积3.掌握关系的性质4.掌握各种键5.掌握传统的集合运算和专门的关系运算,重点是专门的关系运算并给定一个查询会写关系代数表达式。2.1关系模型的数据结构及其形式化定义关系模型是采用二维表的结构描述实体与实体之间的联系,关系模型中,任何实体和实体之间的联系都表示为关系。一、关系的形式化定义及其有关概念-27课程名称:数据库原理及应用2010-2011年度第1学期1.域是一组具有相同数据类型的值的集合,称为值域。每一个域所包含的值的个数称为域的基数,在关系中域是指一个属性的取值范围。姓名={张一,李四,王强性别={男,女2.广义笛卡尔积}基数为3。}给定一组域,D1,D1,……,d1,d2的笛卡尔积为:D1×D2×……Dn相当一张二维表。所说的乘号,表示任何一个域的一个值与另一个域的每一个值进行组合。开始一个新的集合,就是笛卡尔积。姓名性别张一男张一女李四男李四女王强男王强女真正得到的笛卡尔积没有实际意义,因为不符合关系的定义。3.关系笛卡尔积的任一个子集称为定义在域d1,d2上的n元关系。表示为:R(D1,D2,……)姓名性别-28课程名称:数据库原理及应用2010-2011年度第1学期张一男李四女王强男4.关系的构成任何一个关系由关系头和关系体所构成。关系头是由属性名所构成的一个集合,是对关系的数据结构的描述,是固定不变的。它是静态的。关系体是指关系结构中的内容或者数据,它随着记录的建立和修改而变化,关系体是动态的。数据模型三要素,数据结构是静态的,而数据操作是动态的。二、关系的性质二维表与传统的数据表相似,但不一定所有表格都是二维表。关系必须具有以下几个性质:1.关系中每一个属性(数据项)都是不可分割的数据单元。2.关系中的每个属性都具有相同的数据类型,即同质的。年龄,数值型,只能是1-150,能否写成“一”-“一百五十”。3.关系中的元组和属性的顺序无关紧要。4.关系中没有出现完全相同的元组。5.关系中不能出现相同的属性名三、关系模式和关系数据库模式1.关系模式是对一个关系结构的描述,知道关系模式,就能生成一个关系。表示的方式是:-29课程名称:数据库原理及应用2010-2011年度第1学期关系名(属性名1,属性名2,属性名3,……)关系模式就是一个关系的关系头,而关系是它的值即关系体。关系模式是静态的。学生(学号,姓名,性别,出生日期,班号)班名,班导师)2.关系数据库模式班级(班号,在关系模型中,任何一个实体或实体之间的联系都用关系来表示。关系数据库模式就是关系模式的集合。教学管理系系(系号,系名,系主任)班导师,系号)学生(学号,姓名,性别,出生日期,班号),学分)选课(学号,课号,成绩)统数据库模式班级(班号,班名,课程(课号,课程名2.2关系的键与关系一、候选键与主关系键1.候选键的完整性约束是在一个关系中,能唯一标识一个元组的属性或属性组合叫候选键。候选键在一个关系中可以有多个。学生(学号,姓名,性别,出生日期,身份证号,班号)学生关系的候选键有:身份证号,学号。候选键的属性值不允许出现空值和重复值。-30课程名称:数据库原理及应用2010-2011年度第1学期选课(学号,课号,成绩)候选键:学号+课号。学生关系中的候选键号+性别,+出生日期,可以是学号,身份证号,也可以是学号+姓名,学身份证号这句话是错误的。候选键必须满足两个条件:1)惟一性:2)最小性:在候选键中,去掉一个属性就不能保证惟一了。2.主关系键不允许出现重复值。也叫主键,主码,关系键,一个关系只有一个,也就是从一个关系的候选键中,选择一个作为操作关系的依据。则称为主键。3.主属性和非主属性主属性:是指包含在主关系键中的属性叫主属性。非主属性:不包含在候选键中的属性叫非主属性。空区:即不在主属性中也不在非主属性中的,4.全码对于一个关系,在最极端的情况下,所有属性的组合是关系的候选键,称为全码。授课关系(教师号,课程号,学号)教师号课程号学号901101101102A1A1A2A2902901101902-31课程名称:数据库原理及应用2010-2011年度第1学期该关系的候选键是:教师号+课程号+学号,称为全码。二、外部关系键涉及到两个关系,即如果关系S中的一个属性不是主关键字。而在另一个关系R中是主关键字,则该属性在关系S中称为外部关系键。外部关系键是用来参照关系的。即S中的外部关系键的取值必须参照R中的主关键字的值,或者取为空值。班级(班号,班名,班导师)学生(学号,姓名,性别,出生日期,班号)主键,在学生中不是对于班级和学生关系,其中班号在班级中是主键,所以在学生中称为外部关系键。例:假如关系职工表中,职工号为c1-c10。在订单表中订单号为D1-d10。则下列元组哪一个能正确到订单表中。订单表中职工号为外部关系键。D5c6456D5c11456D11c11456D11c6456Nullc6456第一考虑主键三、关系的完整性管理系统具有4大控制功能,数据安全性控制,数据完整性控不能重复,第二考虑外键具有参照关系。数据库-32课程名称:数据库原理及应用2010-2011年度第1学期件,并发控制和数据恢复。其中数据完整性控制。数据完整性控制是指添加数据库中的数据必须是正确的、有效的和相容的。关系的完整性有三类完整性约束:分别是实体完整性、参照完整性和域完整性(用户自定义完整性)。1.实体完整性是指关系中主关键字不能为空或部分为空或者出现重复值。这也说明一个关系中不能出现完全相同的元组。实体完整性是通过主关键键或候选关键字来实现的。学生关系中学号是主关键字,就保存了实体完整性。在sql的定义语言中的createtable中,使用primarykey建立。2.参照完整性是指两个关系,外键所处的关系中的外键值必须取值(参照)另一个关系的主键值。学生中的班号必须取自班级表中的班号。订单表中的职工号必须取自职工表中的职工号。/同理,选课表中的学号和课号都是外键,学号要参照学生表中的学号,课号要参照课程表中的课号。在sql的定义语言中的createtable中使用foreignkey来实现3.域完整性(参照完整性)是针对某一个具体的关系数据库的约束条件,反映卫个应用所涉及的数据必须满足的语义要求。如性别只能是男或女,月份只能是1-12。-33课程名称:数据库原理及应用2010-2011年度第1学期域完整性通过约束规则来实现。在sql定义语言中的createtable中,使check检查约束来实现。完整性的约束都是通过对数据结构进行的。2.3关系代数一个数据模型由关系数据结构、数据操作和关系完整性约束三要素构成。本节重点介绍数据操作。关系操作采用集合操作方式,即操作的对象和结果都是集合。即为关系。这种方式称为一次一集合的方式,非关系型的数据模型的数据操作方式为一次一记录的方式。一、关系代数的分类及其运算符关系代数是一种抽象的查询语言,称为ISBL语言。数据运算的三要素是运算对象,运算符和运算结果。12+45=57关系代数的运算对象是关系,运算结果也是关系。关系代数的运算符主要包括以下四类:1)集合运算符:∪并∩交-差×笛卡尔积2)专门的关系运算:σ选择Π投影∞连接*自然连接,÷除3)算术比较运算:>,<,=,≥≤≠4)逻辑运算符:∧与∨或┐非关系代数的分类分为两类:1)传统的集合运算,分为并集、交集、差集和广义的笛卡尔积2)专门的关系运算,分为选择,投影,连接,自然连接和除。关系代数中有五种基本操作运算:并,差,积,选取和投影。其他运-34课程名称:数据库原理及应用2010-2011年度第1学期算都可以通过烃上五种基本操作运算得到。R交S=R-(R-S)总结:1.关系的形式化定义,包括域,笛卡尔积,关系,关系组成(关系头和关系体)2.关系的五个性质3.关系的候选键和主键,主属性,非主属性,全码。4.关系的外部关键字5.数据的完整性6.关系的运算,关系代数的分类,关系代数的运算符。7.五种基本运算复习:1.关系的形式化定义,包括域,笛卡尔积,关系,关系的组成2.关系的性质3.关系的候选键,主键,主属性,非主属性和全码4.外键主表和从表(子表)。主表中属性是主键,子表中不是主键,称为外键。外键的值要不取空值,要不取主表中主键的值。5.数据的完整性实体、域、参照完整性主键和候选键,检查约束,外键。在定义关系时指定的。Createtablestudent(-35课程名称:数据库原理及应用2010-2011年度第1学期学号char(8)primarykey,性别char(2)check性别=’男’or性别=’女’,班号char(4)foreignkeyreferences班级(班号))6.关系的运算1)关系运算的对象和结果都是关系。2)运算符,传统运算运算符,专门运算符3)关系运算的分类4)关系的五种基本运算二、传统的集合运算传统的集合运算都是双目运算,即要求参与运算的是2个关系,且要求两个关系的结构必须是相容的,即结果是相同。但广义笛卡尔积不需要是相容的。RA1B123C12323SA1B1C1444-36课程名称:数据库原理及应用2010-2011年度第1学期5551.并运算关系R和关系S的并是由属于R或属于S的元组的合并组成,并去掉重复元组。记住:RUSRUSAB12345C12345123452.交运算关系R与关系R和关系S的公共元组。R∩SS的交运算是由既属于R又属于S的元组组成,即关系记作:R∩SA1B1C13.差运算关系R与关系S的差得到的只属于R而不属于S的元组构成。且R与关系S的差,和关系S与R的差是不是。-37课程名称:数据库原理及应用2010-2011年度第1学期记住:R-S或S-RR-SA2B2C2333S-RA4B4C4555R∩S=R-(R-S)R∩S=R-(S-R)错误的。R∩S=S-(S-R)4.广义笛卡尔积两个分别为n目和m目的关系R和关系S的广义笛卡尔积是一个(n+m)列的元组的集合。而元组是前n列的关系R的一个元组,后M列的是关系S的一个元组。N目和m目表示关系的属性个数。记作:R×S得到的笛卡尔积的属性个数为n+m。即使是同名属性也不去掉,含重名属性。得到的关系的元组数是n1×m1,其中n1是R的元组数,m1是S的元组数。R×SR.AR.BR.CS.AS.BS.C-38课程名称:数据库原理及应用2010-2011年度第1学期111222333111222333111222333145145145145145145145145145横向的组合。得到的广义笛卡尔积是无意义的。查询计算机科学与技术10班女同学的学号,姓名和班名。应用时,需先将班级关系和学生关系进行广义的笛卡尔积,对笛卡尔积进行选择和投影,得到的就是连接操作。对传统的集合运算总结:1)传统的集合运算要求两个关系必须是相容的2)如果是并运算,则得到的关系属性不变,元组增加。3)如果是交运算,则得到的关系属性不变,元组减少。4)如果是差运算,则得到的减少。但不含有S关系的元组。5)如果是广义笛卡尔积,则得到关系属性是两个关系的合掉重复属性。元组的个数是两个关系元组个数之积。,它们是双目运算。关系属性不变,元组并,且不去此部分要求必须在给定两个关系的基础上,能写出两个关系进行传统-39课程名称:数据库原理及应用2010-2011年度第1学期集合运算的之后得到的关系。三、专门的关系运算专门的关系运算分为选择、投影和连接,以及自然连接,其中选择和投影是单目运算,连接是双目运算,且自然连接是连接的特例。专门的关系运算不要求两个关系是相容的。选择:筛选,选取,对元组的操作。投影:是对列的操作。1.选择选择也称为选取,是单目运算,是根据一定的条件在给定的关系R中选择若干元组所组成的一个新的关系。选择操作是对行的角度进行的操作,得到的关系属性不变,元组减少。记住:σ(R)F其中F是选择的条件,R是关系名。例1:假设有学生关系(学号,姓名,性别,出生日期,班号),查询写出关系代数表达式。(学生)性别为男的学生信息。σ性别=’男’列名可以使用顺序号表示。其中学号为1,姓名为2,性别为3,依此类推。所以上述关系代数表达式还可以写成:σ(学生)3=’’男2.投影投影也是单目运算,关系R上的投影是从R中选择若干个属性组成的-40课程名称:数据库原理及应用2010-2011年度第1学期一个新的关系。如果是单纯的投影,则属性减少,元组个数不变。投影操作是从列的角度操作的。记作:(关系名)Π投影属性名例2:从以上学生关系中查询学生的学号,姓名和性别。写出关系代数表达式Π(学生),,学号姓名性别其中学号等字段名,也可以使用属性的序号表示。Π(学生)1,2,3选择和投影一般情况下都不是独立使用的,经常是二者组合运算。那么运算时,必须是先选择后投影。对选择后的数据再进行投影操作。例3:从以上学生关系中查询性别为男的,且出生日期在1980年以后的学生的学号和姓名。Π(σ学号姓名性别男≥’1980-01-01’(学生))∧出生日期,=’’3.连接(join)连接是又目运算,关系R和关系S的连接,是从关系R和关系S中的广义笛卡尔积中,选择满足连接条件的元组,所组成一个新的关系。关系R和关系S的连接操作,必须先求关系R和关系S的广义的笛卡尔积。连接按连接条件分为:等值连接,大于连接和小于连接。等值连接:就是指连接条件为等号。大于连接就是指连接条件为>号小于连接就是指连接条件为<号。-41课程名称:数据库原理及应用2010-2011年度第1学期上述三种不同连接都称为连接,并不去掉重复属性和重复元组。记作:R∞SF其中F表示连接的条件,一般格式为:属性名运算符属性名。前提两个属性原则上必须具有可比性。而且原则上是同名属性。R.A=S.A班级(班号,班名,班导师)学生(学号,姓名,性别,班号)R和S关系的连接,连接条件是R.A=S.A。运算结果是:R.A1R.B1R.CS.AS.BS.C11114.自然连接自然连接是连接中等值连接的特例,是一种去掉重复属性的等值连接。连接的条件是两个关系的同名属性。记作:R*S班级(班号,班名,班导师)学生(学号,姓名,性别,班号)班级*学生在写关系代数表达式时,经常会用到自然连接,选择和投影,三者运算必须是先连接,后选择,再投影。5.除运算除运算是双目运算符,设有关系R(X,Y),S(Y,Z),其中x,y,z为属性集。R中的Y与S中的Y可以有不同属性名,但必须出自同一个域。-42课程名称:数据库原理及应用2010-2011年度第1学期关系R除以关系S所得的商是一个新的关系P(X),P是R满足下列条件的元组在X上的投影,即元组在X上的分量值X的像集Yx包含S在Y上的投影的集合。R÷S记作:RABCDA1A1A2A3B2b2b4b5c3c4c1c2d5d6d3d8SCDEC3C4d5d6f3f4R÷SABA1b2查询选修了全部课程的学生的学号和姓名用选课除以课程和学生的自然连接。SC学号,课程号100101-43课程名称:数据库原理及应用2010-2011年度第1学期100102100103100201100202课程课程号课程名010203ABC学生学号姓名1001张三1002李四课程和学生的笛卡尔积的结果学号1001课程名01020301020310011001100210021002SC除以笛卡尔积-44课程名称:数据库原理及应用2010-2011年度第1学期1001专门的关系运算要求必须在给定关系能写出某种查询的关系代数表达式,并能将其转换为SQL语句,给定SQL语句要能写出关系代数表达式。总结:1.四种传统的集合运算,并运算2.五种专门的关系运算,第3章关系数据库规范化理论、交运算、差运算和广义笛卡尔积选择、投影、连接、自然连接和除在给定的一个应用系统环境下,设计数据库关系模式如何是合理,要考虑关系数据库规范化。数据库规范化:在给定的应用系统环境下,如何设计数据库关系模式,关系模式达3.1关系规范化问题的提出学生(学号,姓名,性别,系到什么标准和规则。号,系名,系主任,课程号,课程名,成绩)对于以上学生关系存在着如下总是:1.数据冗余度大一个系有多个学生,一个学生属于一个系,则有一个学生,就有对应系号,系名和系主任,当一个系有1000名学生时,则系号,系名和系主任,出现1000次。2.存在插入异常当一个系成立时,尚没有学生,则系的相关信息无法插入。因为以上关系的主键是:学号和课程号的组合。学号不允许为空。3.删除异常当一个系的所有学生都毕业离校,则学生信息将从该关系中删除,而-45课程名称:数据库原理及应用2010-2011年度第1学期该系并没有取消,此时删除学生的同时,将系的信息也一并删除了。4.更新异常当更新该关系的系主任时,则必须将全部该系的学生信息都得修改,有时会出现一些问题。将关系模式学生进行分解,分别为四个关系:学生(学号,姓名,性别,系号)系(系号,系名,系主任)课程(课程号,课程名)选课(学号,课程号,成绩)-46课程名称:数据库原理及应用2010-2011年度第1学期分解后的关系不再存在数据冗余,各种异常的现象了。所以以上四个关系就是一个合理的关系模式。一个合理的关系模式必须具有以下4个条件:1)数据冗余度小2)没有插入异常3)没有删除异常4)没有更新异常3.2函数依赖一、数据依赖1.数据依赖是现实世界事物之间的相互关联性的一种表达,是属性间的固有语义的体现,也就是关系模式中属性之间的联系。2.数据依赖的分类最常用的、最重要的是函数依赖,还有多值依赖以及连接依赖。4NF和5NF是才讨论多值依赖和连接依赖。二、函数依赖的定义1.什么是函数依赖设R(U)是属性集U上的关系模式,U是属性集合。X,Y是U的子集,如果给定一个X的值就有一个Y值与之对应,我们称为X->Y。X决定Y,或称为Y函数依赖于X。学生(学号,姓名,性别,系号,系名,系主任,课程号,课程名,成绩)主键:学号+课程号则关系学生存在着如下函数依赖:-47课程名称:数据库原理及应用2010-2011年度第1学期学号->姓名,学号->性别,学号->系号,系号->系名,系号->系主任,课程号->课程名,(学号,课程号)->成绩一个关系的所有函数依赖的集合,称为函数依赖集,用F表示。格式为:F={函数依赖集合}F={学号->姓名,学号->性别,学号->系号,系号->系名,系号->系主任,课程号->课程名,(学号,课程号)->成绩}2.平凡函数依赖和非平凡的函数依赖1)平凡函数依赖给定关系R(U),X,Y是U的子集,存在X->Y,且Y属于X的子集,则称X->Y为平凡的函数依赖。这不是我们讨论的范畴。(学号,课程号)->学号2)非平凡的函数依赖给定关系R(U),X,Y是U的子集,存在X->Y,且Y不属于X,则称X->Y为非平凡的函数依赖。(学号,课程号)->成绩学号->姓名3.函数依赖属性之间的关系与实体之间的关系一样,也存在着一多对多的联系。各种联系间的函数依赖关系。1)如果属性集X和Y之间是1:1关系,则一定存在着X->Y,Y->X,记作:X<->Y与属性关系对一,一对多和就决定了属性假如学生中没有重名的。-48课程名称:数据库原理及应用2010-2011年度第1学期学号->姓名,姓名->学号存在着学号<->姓名2)如果属性X和Y之间是1:N的关系,则一定存在着X->Y学号和性别。3)如果属性X和Y之间是M:N的关系,则X与Y之间不存在着函数依赖关系。学号和课程号是m:n的关系,所以不存在函数依赖。4.函数依赖的分类函数依赖分为3类1)完全函数依赖给定关系R(U),X,Y是U的子集,存在X->Y,且Y不依赖于X的任意一个子集X’,不存在X’->Y我们称为Y对X是完全函数依赖。记住:只有决定因素是属性集时,才讨论是否是完全函数依赖,如果决定因素是单个属性一定是完全函数依赖。(学号,课程号)->姓名学号->姓名以上的函数依赖关系学号->系号一定是一个完全函数依赖。2)部分函数依赖给定关系R(U),X,Y是U的子集,存在着X->Y,且Y函数依赖就不是完全函数依赖,部分函数依赖。于X的子集。即X’->Y,此种依赖称为部分函数依赖。(学号,课程号)->姓名,就是部分函数依赖,因为学号->姓名。记住:当决定因素是属性集时,才讨论是否为部分函数依赖,否则一-49课程名称:数据库原理及应用2010-2011年度第1学期定是完全函数依赖。学号->姓名,完全函数依赖。3)传递函数依赖给定关系R(U),X,Y,Z是U的子集,存在,X->Y,Y-Z,从而有X->Z,这种依赖称为传递函数依赖。学号->系号,系号->系名,导出:学号->系名工程(工程号,材料号,数量,开工日期,完工日期,价格)请写函数依赖集:工程号,材料号,数量,开工日期,完工日期,价格101101102A01A02A01102010-03-032012-05-05300202010-03-032012-05-05400302010-09-092012-01-01300主键:工程号+材料号工程号->开工日期,工程号->完工日期号)->数量,材料号->价格,(工程号,材料部分函数依赖,传递函数依赖。复习:1.给定关系,关系是否存在着一些问题?数据冗余、插入异常、删除异常和更新异常学生(学号,姓名,性别,系号,系名,系主任,课程号,课程名,成绩)-50课程名称:数据库原理及应用2010-2011年度第1学期主码:学号+课程号2.数据依赖函数依赖、多值依赖和连接依赖3.函数依赖4.平凡和非平凡的函数依赖学号->姓名(学号,课程号)->成绩完全函数依赖。(学号,课程号)->姓名部分函数依赖学号->系号,系号->系名,推导出:学号->系名传递函数依赖。5.属性间关系决定了函数依赖X<->Y,6.函数依赖的分类完全函数依赖,部分函数依赖,传统函数依赖三、armstrong公理推理规则:1.自反律如果B属于A的子集,必有:A->B平凡的函数依赖。2.增广律如果A->B,Ac->BC3.传递律如果A->B,B-C,得到A->C推论规则:1.自合规则-51课程名称:数据库原理及应用2010-2011年度第1学期A->A2.分解规则A->BC,得到A->B,A-C。3.合并规则A->B,A->C,得到A->BC4.复合规则A->B,C-D,AC->BD假如关系模式R,U的集合为A,B,C,D,E,F,其中Q是R的函数依赖集。Q={A->BC,CD->EF},AD->F成立吗?A->BCA->CAD->CDCD->EFAD->EFAD->F四、闭包及其计算1.逻辑蕴含设F是关系模式R的函数依赖集,推导出存在X->Y,则称为F逻辑蕴含X->Y。也就是F,从F中存在的依赖关系,还能推导出X,Y是R的属性子集,如果从F的函数依赖集中基本的函数依赖集,相应的依赖。学生(学号,姓名,性别,系号,系名,系主任,课程号,课程名,成-52课程名称:数据库原理及应用2010-2011年度第1学期绩)学号->姓名学号->性别学号->系号系号->系名系号->第主任课程号->课程名学号,课程号->成绩一般把上述的函数依赖集合称为函数依赖集F。学号X,系名Y。推导出学号->系名,2.闭包被F逻辑蕴含的函数依赖的学号->系名,学号->系主任3.针对一个属性集合的闭包设有关系模式R(U),U={A,B,C,D,E,I},函数依赖集全体构成的集合,称为F的闭包。F={A->D,AB->E,BI->E,CD->I,E-C}方法:,X=AE,计算X的闭包。第一步:设X(0)=X=AE然后在F中找出AE子集的函数依赖,存在A->D,E->C,则X(1)=X(0)DC=ACDE第二步:在X(1)中的ACDE的子集的函数依赖。存在CD->I,X(2)=x(1)I=ACDEI虽然X(2)<>x(1),-53课程名称:数据库原理及应用2010-2011年度第1学期至此结束,得到X的闭包就是ACDEI。已知关系模式R(U),U={A,B,C,D,E,F},F={A->BC,E->CF,B->E,CD->EF},X=AB,计算X的闭包。X(0)=X=AB,求AB子集在F函数依赖集中的函数依赖。A->BC,B->E,X(1)=x(0)BCE=ABCE再注X(1)的属性子集的函数依赖。A->BC,B-E,E->CF,X(2)=X(1)CF=ABCEFX(3)=X(2)算法结束。X的闭包就是ABCEF。3.3范式和规范化一、什么叫范式范式是指一个关系指一个关系满足的约束条件,范式分为1NF,2NF,3NF,BCNF,4NF和5NF。一个级别比一个级别高,每一个级别都必须满足下一级的级别。要满足的约束条件,它是一个标准或一个规则,是达到的级别。根据关系关系的规范化:一个较低的关系模式,通过关系模式的分解转换为若干个较高级别的范式的集合,这个过程称为关系的规范化。1NF,2NF都是不合理的关系模式,3NF以上的关系才是合理的关系模式。学生(学号,姓名,性别,系号,系号,系主任,课程号,课程名生关系存在着数据冗余和各种异常,所以不是合理的关系模式。根据不同的应用,成绩)以上学来考虑关系模式的范式。二、范式的判定条件与规范化-54课程名称:数据库原理及应用2010-2011年度第1学期1.第一范式(1NF)设R是一个关系模式,如果关系R中的每一个属性都是不可分隔的数1范式。最基本的性质,任何一个关系都数据冗余和各种异常。不是一个合理的关系。据项,该关系就满足了第也就是关系的必须遵守。1NF存在着学生(学号,姓名,性别,系号,系号,系主任,课程号,课程名,成绩)分解:学生(学号,姓名,性别,系号,系名,系主任)主码是学号,该关系满足2NF选课(学号,课程号,课程名,成绩)学号+课程号,第1NF课程(课程号,课程名)2NF选课(学号,课程号,成绩)2NF2.第二范式(2NF)设关系R是一个关系模式,函数依赖于主码。生关系,满足2NF满足第2NF的关系就是分函数依赖。对第二范式分3.第三范式(3NF)设R是一个关系模式,R满足第1范式,且每个非主属性都完全针对学在关系模式中不存在部分函数依赖。即消除部解,原则是一事一地的原则。一个关系描述一个实体。R属于第2NF,且每一个非主属性都不传递依赖于主码。在第2范式的基础上,消除传递函数依赖就满足了第3范式。-55课程名称:数据库原理及应用2010-2011年度第1学期学生(学号,姓名,性别,系号,系名,系主任)主码:学号F={学号->姓名,学号->性别,学号->系号,系号->系名,系号->系主任}F中逻辑蕴含传递函数依赖,学号->系号,系号->系名,导出学号->系名对该关系分解。学生(学号,姓名,性别,系号)系(系号,系名,系主任)课程(课程号,课程名)选课(学号,课程号,成绩)以上4个关系的关系模式。非主属性和主码的关系。4.BC范式(BCNF)对于一个关系模式R,R属于第3范式,于主码。学生(学号,姓名,课程号,成绩)+课程号+课程号,姓名非主属性:成绩都满足了第3范式,不存在数据冗余和各种异常。是一个合理且除主属性之外所有属性都不传递也不部分依赖主码:学号候选键:学号+课程号学生(学号,姓名)选课(学号,课程号,成绩)如果一个关系是BCNF,则一定是3NF,但如果一个关系是3NF,不-56课程名称:数据库原理及应用2010-2011年度第1学期一定是BCNF。4NF涉及到多值依赖,5NF涉及到连接依赖。3.4关系模式的分解一、模式分解中存在的问题1.规范化2.分解后的关系必须是可逆的。二、模式分解的原则一事一地的原则,即一个关系描述一个实体或实体的联系。学生(学号,姓名,性别,系号,系号,系主任,课程号,课程名,成绩)分解后4个关系模式。三、模式分满足的条件1.分解具有无损连接性分解能原样的连接为一个实体。2.分解具有保持函数依赖。学生(学号,姓名,性别,系号)系(系号,系名,系主任)课程(课程号,课程名)选课(学号,课程号,成绩)3.分解不仅具有无损连接性而且要保持函数依赖。总结:1.armstrong公理,自反律、增广律、传递律,4个规则2.闭包及其计算3.什么是范式和关系的规范化-57课程名称:数据库原理及应用2010-2011年度第1学期4.范式的判定条件1NF,2NF,3NF和BCNF5.关系模式的分解原则和分解条件-58课程名称:数据库原理及应用2010-2011年度第1学期课时授课计划第节3,4授课人屈武江室主任签字班周计本10级9.23/2010日期5-2次课题名称4.1数据库设计概述4.2需求分析4.3概念结构设计教学目的了解数据库设计内容,掌握需求分析方法和数据流图、数据字典掌握局部E-R模型的绘制教学重点数据流图的绘制和局部E-R图的绘制教学难点局部E-R图的绘制教学方法讲授与练习课堂环节组织教学导入新课讲授新课巩固新课布置作业时间分配(分)3’2’90’3’2’作业、复习内容、要求:1.数据库设计的内容2.数据流图组成部分有哪些?3.绘制教学系统和图书管理系统的局部E-R图。有哪两个方面?管理课后小结1.数据库设计2.数据库设计的6个阶段3.数据库需求分析方法4.概念结构设计E-R图的三要素和局部E-R图的绘制2方面内容。-59课程名称:数据库原理及应用2010-2011年度第1学期第4章数据库设计4.1数据库设计概述数据库设计就是在给定的应用系统的环境下,设计一个合理的数据库应用系统,使之能满足用户的需求。数据库设计涉及到一个应用系统需要几个关系模式,关系模式之间的联系有哪些?且每一个关系由几个属性构成,每一个关系模式达到第几范式,如果在dbms中进行存储的。数据库设计是一种“反复探索、逐步求精”过程。一、数据库设计的内容方面是结构特性的设计,另一方面是行结构特性的设计是念的设计,它是静态设计。操作的设计,它是动态设计。包括两方面,一为特性的设计。指数据库总体概行为特性设计是二、数据库设计的方法手工设计对数据库方法,结构化的数据库设计方法,E-R图的设计方法,基于第三范式的设计三、数据库设计阶段从总体来看,数据库设计阶段分为6个阶段,概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施方法。分别是需求分析阶段、阶段以及数据库运行和维护阶段。5.2需求分析需求分析的任务是通过详细的调查研究所处理的各种对象了解原系统的工作概况,明确用户的需求,然后在此基础上确定新系统的功能。一、需求分析步骤-60课程名称:数据库原理及应用2010-2011年度第1学期需求分析必须从用户的实际要求出发,且必须与用户达成共识。1.分析用户活动搞清用户的处理流程,如果过于复杂,则分解成若干子处理系统。画出用户活动图。2.确定系统边界不是所有的系统业务都适合计算机处理,有些工作既使用计算机处理,同时还得人工结合。确定系统的处理范围,标明系统边界。3.分析用户活动所涉及的数据数据流图来描述用户活动,所涉及数据的性质、流向和所需求的处理。数据流图就是一种从“数据”和“对数据的加工”两方面表达系统工作过程的图形表示法。数据流图中有4种基本成分:箭头:表示数据流向。圆或椭圆:表示加工单杠:表示数据文件方框:表示数据的源点或终点1)数据流是数据在系统内传播的路径,必须有流向。2)加工处理,指对数据流进行某此操作或变换。每个加工必须有名称。3)数据文件是指系统保存的数据,一般是数据库文件,流向数据文件的数据流可理解为写文件,流出数据文件的数据流可理解为从文件中读数据。-61课程名称:数据库原理及应用2010-2011年度第1学期4)数据源点或终点本系统外部的实体。4.分析系统数据使用数据字典来描述数据流图中的所有数据,DD。二、需求分析方法需求分析方法中结构化分析方法是一种简单实用的方法。它采用自顶向下逐层分解的分析策略。简称为SA。在结构化分析方法中使用数据流图表达数据和处理过程的关系,使用数据字典描述系统中的数据。1.数据流图的画法1)首先画系统的输入和输出,先画顶层数据流图图书借还系统图书管理员图书管理员2)画系统内部,即画下层的数据流图,一般从0开始编号,采用自顶向内的原则。向下、由外读者,借书管理,还书的管理。2.画数据流图应注意以下几点1)命名不论是数据流、数据文件还是加工,必须给它一个易于理解的名字。2)每个加工至少有3)编号,按层次编号,3.1,3.2,4.34)父图与子图的平衡,父图的输入与输出必须与子图的输入与输出一一个输入和一个输出。-62课程名称:数据库原理及应用2010-2011年度第1学期致。3.数据字典描述数据流图中的数据数据字典就是用来定义数据流图中的各个成分的具体含义和组成。数据字典有以下4个条目,数据流,数据文件,数据项和基本加工。源点和终点不在数据字典中说明。1)数据流条目=:定义+:组成|表示或……:表示重复..连接符借书记录=读者编号+图书编号+借书日期2)数据文件条目对数据文件的定义,包括的文件名,数据组成和数据组织等。文件名:读者文件数据组成:读者编号+姓名+性别+班号数据组织:按读者编号递增排列3)数据项条目是不可再分解的数据单位,包括数据项的名称,数据类型和长度等。读者编号=C(15)4)加工条目主要说明加工的功能及处理要求,三、需求分析的最终成果-63课程名称:数据库原理及应用2010-2011年度第1学期需求分析在调查研究的基础上,绘制数据流图,并写出数据字典,最后撰写需求分析规格说明书,作为下一阶段的依据。4.3概念结构设计概念结构设计阶段的最终目标是产生整体数据库概念结构,也就是概念模式,它与任何一个具体的数据库管理系统(DBMS)无关。采用4种策略:1.自顶向下先定义全局概念结构,然后逐步细化2.自底向上先定义局部,再集成为全局概念结构3.自里向外先定义核心的概念E-R模型,然后集成扩充。4.混合策略一、局部应用E-R模型设计最大的困难就是实体和属性的正确划分,设计局部E-R图时必须要分清实体和属性。1.E-R模型的组成元素矩形:表示实体菱形:表示联系椭圆:表示属性线段:连接实体与属性2.绘制E-R图的过程1)先描述实体,并将实体的属性绘制出来-64课程名称:数据库原理及应用2010-2011年度第1学期2)确定实体与实体之间的联系类型,标出联系和联系名称。3)联系是否还有属性,则标在菱形框上4)两个实体的外键不要出现在实体上。复习:1.什么是数据库设计?2.数据库设计的内容?3.数据库设计的阶段?4.需求分析阶段分析方法?数据流图和数据字典(DFD,DD)结构化分析方法SA,需求分析阶段的最终成果是需求分析规格说明书。5.概念结构设计,策略有四种,会绘制局部E-R图。E-R图的三要素,分别是实体,属性和联系,分别用矩形、椭圆,菱形。练习题:1.已知教学管理系统,有如下实体:号,系名,系主任班名,班导师系实体包括系班级实体包括班号,教师实体包括教师号,姓名,性别,出生日期,工作日期。学生实体包括学号,姓名,性别,出生日期。课程实体包括课程号,课程名和学分有如下语义规则:一个系有多个班级,一个班级属于一个系,一个系有多名教师,一个名教师属于一个系,一个班级有多个学生,一个学生只-65课程名称:数据库原理及应用2010-2011年度第1学期属于一个班级,一个学生选多门课程,一门课程由多个学生选修,一名教师讲授多门课程,一门课程由多个教师讲授。学生选课时要记录成绩,教师授课要记录学期。先画局部E-R图,三个局部E-R图,1)组织结构的局部E-R图,涉及到实体有:2)学生选课的局部E-R图,涉及到学生和课程实体。3)教师授课的局部E-R图,涉及到教师和课程。系,班级,教师和学生。教师号系号系名系主任姓名性别1m系别属于教师工资1职称属于姓名学号性别m1m班级所属学生出生日期电话班号班名邮箱邮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省楚雄州2022-2023学年高二下学期语文期末试卷(含答案)
- 2025农田地承包合同样本
- 2025各类加工合同范本
- 2025标准汽车买卖合同范本
- 2025如何认定农村土地承包合同的效力
- 2025建筑施工设备租赁合同范本
- 2025广州房屋租赁合同范本2
- 2025简约农业合作合同范本
- 《慢性便秘解析与自我管理》课件
- 《探索人生意义》课件
- 辛弃疾词《青玉案·元夕》
- 公路桥梁塔柱施工平台及通道安全技术要求
- 糖尿病临床诊疗指南:基层实践
- 抖音房产直播敏感词汇表
- (高清版)JTGT 3383-01-2020 公路通信及电力管道设计规范
- 国际公法学马工程全套教学课件
- 微专题地质地貌的形成过程(解析)
- YY/T 0655-2024干式化学分析仪
- 中华民族共同体概论课件专家版2第二讲 树立正确的中华民族历史观
- 四年级四年级下册阅读理解100篇及答案经典
- 中职对口升学复习资料:《汽车机械基础》试题库+答案
评论
0/150
提交评论