《数据库原理与应用电子教案.doc》由会员分享,可在线阅读,更多相关《数据库原理与应用电子教案.doc(246页珍藏版)》请在三一办公上搜索。
1、电 子 教 案课程名称: 数据库原理及应用 授课学期: 2010-2011年度第1学期 学 时: 64 授课教师: 屈武江 上课地点: 实验楼1号机房 大连海洋大学职业技术学院2010年8月课程导论一、数据库原理教程最终讲授的内容和目的?1.内容1)数据库系统概述2)关系数据库的各种运算3)sql语言(重点中的重点)熟悉掌握select语句的使用。Java程序设计、donet程序设计都必须使用的。学生,选课,课程查询没有选课的学生的学号,姓名和性别。Select 学号,姓名,性别 from 学生 where 学号 not in(select 学号 from 选课)嵌套子查询 Select 学号
2、,姓名,性别 from 学生,选课 where 学生.学号=选课.学号熟练掌握三种操作语句,insert,update和delete熟练掌握数据的定义语句:create、drop和alter掌握数据控制语句:grant,revoke,授权和收回授权4)掌握sql server 2005系统管理Sql server 2005的安装,启动,安全体系的管理,服务的管理等。2005已经将各种服务放在后台服务管理中。5)掌握sql server 2005数据库的管理创建数据库,修改数据库,删除数据库。6)掌握sql server 2005的数据表和视图的管理使用sql server 2005的管理工具来
3、创建数据表,修改数据表,数据表的记录的管理,删除数据表以及视图的操作。7)掌握T-sql语言的使用各种常量,变量,控制语句,游标的操作。8)掌握sql server 2005的存储过程和触发器9)掌握sql server 2005的数据库的备份和恢复10)根据一个应用程序来开发数据库应用软件2.目的1)掌握各种sql语言的使用,应用在java,donet等各种程序设计语言中,以实现对数据库的操作。关键2)学会维护sql server 2005服务器3)综合运用所学知识开发一个完整的应用程序。第1章 数据库系统概述本章重点:1.掌握数据管理技术的发展阶段2.掌握数据库系统的组成3.数据库系统的相
4、关概念4.掌握数据库系统的内部体系结构,三级模式和二级映象5.掌握数据库系统的外部体系结构6.掌握三种数据模型7.掌握现实世界、信息世界和计算机世界三个世界的相关术语1.1 数据、信息一、数据 数据是用来记录信息的可识别的符号,数据是信息的载体,但数据不等同于信息。数据不仅是指数值数据,而且还包括字符、图形、图片、音频和视频等各种数据。数据是有型和值之分。描述一个学生的年龄,23岁,数值型,值是23。二、信息 信息就是是指有用的数据,信息是从数据中提取出来。信息的表现形式是数据。信息源比较多,电视、报纸、互联网。信息是可存储的、可加工的、可传递的和可再生的。三、数据处理与数据管理1.数据处理
5、数据处理是将数据转换为信息的过程,包括对数据进行收集、管理、加工利用以及信息输出等一系列活动。 信息=数据+数据处理2.数据管理 是指数据的收集、整理、组织、编码、存储、检索以及传输等操作。财务管理,手工记账,用友,金蝶等软件来管理。学生的成绩管理:1.2 数据管理技术的发展阶段数据管理技术的发展阶段分为三个阶段,人工管理阶段,文件系统阶段和数据库系统阶段一、人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算,当时没有存储设备,没有软件来管理,数据的管理都是使用人工来处理,存储设备卡片。数据和程序是存放在一起的,即一个程序对应一个数据特点:1.数据不能长期保存2.数据和程序不具有独
6、立性3.没有专门的软件对数据进行管理4.数据不能共享,冗余度高(重复数据量大)应用程序1数据1应用程序2数据2二、文件系统阶段20世纪50年代后期至60年代的中期以前,计算机得到了飞速的发展,出现了磁性存储设置,软件出现了操作系统,有了专门的文件系统,此时数据保存在文件中,通过文件系统来调用。特点:1.数据和程序有了一定的独立性,没有真正独立,但仍是一个应用对应一个数据。2.数据的访问通过文件系统来实现3.数据不能共享,冗余度高应用程序1应用程序1数据库应用程序1数据库管理系统数据没有结构化。三、数据库系统阶段 20世纪60年代后期至今。1.发展史 20世纪60年代后期出现的对数据库管理技术有
7、着奠基作用的三件大事,标志着以数据库系统为基本和段的数据管理新阶段的开始。1)1968年 IBM推出商品化的基于层次模型的信息管理系统IMS。2)1969年,美国数据系统语言协会,发布了研究数据库方法的DBTG报告,提出了网状数据模型。3)1970年,美国IBM公司,提出了关系模型,奠定了关系数据库管理系统的理论基础,一直沿用至今。2.数据库系统阶段的特点 1)数据结构化数据以一定的组织结构来存储,数据模型,层次模型,网状模型和关系模型。一行一记录。2)数据共享性高,冗余度低数据可共享,多个应用程序可以同时使用一个数据。共享性高,减少了数据冗余度。但没有消除数据冗余。3)数据的独立性高数据的独
8、立性是指数据库中的数据与应用程序间相互独立,即数据的逻辑结构,存储结构以及存取方式的改变不影响应用程序。数据库的结构分为局部逻辑结构、整体逻辑结构和物理结构。分别对应的数据库系统的内部体系结构中的外模式、模式和内模式。数据的独立性分为两级:物理独立性和逻辑独立性数据的物理独立性:是指当数据物理结构发生改变,通过修改内模式/模式的映象,使数据库的整体逻辑结构不变,从而用户的逻辑结构以及应用程序不用改变。数据的逻辑独立性:是指当数据的整体逻辑结构发生改变,通过修改模式/外模式的映象,使数据库的局部逻辑结构不变,从而应用程序不用改变。4)有统一的数据控制功能在数据库系统阶段,有专门的软件来管理数据,
9、它是一个系统软件,是数据库管理系统(DBMS)。数据库管理系统提供了四方面的控制功能:。数据的安全性控制防止不合法使用数据库造成数据的破坏,泄露。通过口令和存取权限来限制,grant和revoke授权和收回授权。数据的完整性控制是指通过一些完整性规则,确保数据的正确性、有效性和相容性。三方面:实体完整性、域完整性和参照完整性。并发控制一个数据库系统当多个用户同时访问,不能出现数据不一致的现象。数据恢复1.3 数据库系统的组成一、数据库的相关概念1.数据库 简称为DB,是指存储在计算机外存储器上,有组织的相关信息的集合,在数据库中,各种数据按照一定的结构(数据模型)来组织、描述和存储。具有冗余度
10、小、较高的独立性,共享的特点。 数据库不仅存放数据,而且存放数据之间的联系。2.数据库管理系统 简称为DBMS,是专门用来管理、维护数据库的系统软件,数据库管理系统必须在操作系统的支持下工作。目前数据库管理系统都是关系模型的。比较常用的数据库管理系统有:Visual Foxpro8.0,access数据库、sql serer 2000/2005/2008、oracle10G、Sybase、msql。3.数据库系统 简称为DBS,是指应用了数据库的计算机系统。4.数据库应用系统 简称为DBAS,比如财务管理系统,教务管理系统。综上所述:DBS包括DB和DBMS,DBMS管理DB。二、数据库系统的
11、组成 由五个部分构成 1.数据库 2.数据库管理系统 3.硬件系统 4.软件系统 操作系统等支撑软件 5.用户 是指使用数据库的人员,包括维护数据库,存储数据库和种人员,主要分为终端用户、应用程序员、系统分析员、数据库管理员。 1)终端用户 终端用户利用应用软件使用数据库的人员。比如QQ软件,财务软件,会计记账人员。 2)应用程序员 应用程序员在系统分析员和数据库管理员建立数据库基础上,进行应用软件开发的人员。软件公司中的程序员。 3)系统分析员 系统分析员就是对应用软件进行需求分析,详细设计、功能设计和参与数据库设计的人员。通常是指软件公司中的项目经理 4)数据库管理员 简称为DBA,负责应
12、用软件中数据库的设计、建立、管理和维护的人员。 对应用系统的数据库定义安全性、完整性、控制数据库的使用和运行,改进和重组数据库工作。总结:1.了解数据、信息、数据处理和数据管理的含义2.数据管理技术的三个发展阶段3.数据库系统的相关概念4.数据库系统的组成复习:1.数据管理技术的发展阶段2.数据库系统的概念3.数据库系统的组成1.4 数据库系统的模式结构 可以从多种角度考查数据库系统的结构:从数据库管理系统的角度看,数据库系统通常分为三级模式结构,这是数据库管理系统的内部体系结构。 从数据库最终的用户的角度看,数据库系统的结构分为单用户结构、主从式结构和分布式结构,C/S结构,B/S结构。这是
13、数据库系统 外部体系结构。一、数据库系统的三级模式结构1.数据库系统模式的概念模式:是数据库中全体数据的逻辑结构和特征的描述,它仅涉及到型的描述,而不涉及到值的描述。学生基本情况的数据库模式中,包含了学生基本情况记录。数据库的实例是变化的,而模式是不变的。学生(学号,姓名,性别,出生日期)2.数据库系统的三级模式美国国家标准学会所属怕标准计划委员会在1975公布的研究报告中,把数据库系统内部的体系结构从逻辑上分为三级,分别是外模式、模式、内模式,对用户而言,对应的就是用户级模式、概念级模式和物理级模式。1)模式也称为逻辑模式、概念模式,是数据库中全体数据的逻辑结构和特征的描述。处于三级模式的中
14、间层,注意不涉及到数据的物理存储。模式就是数据的全局逻辑结构的表示。如学生(学号,姓名,性别,出生日期)就是一个模式。对应的sql server2005中的数据表。一个数据库只有一个模式,在此模式下建立的数据库称为概念级数据库。2)外模式又称为子模式,或者用户模式,它是数据库用户能看到并允许使用的那部分局部数据的逻辑结构的描述,是数据库的局部逻辑结构,也就是模式的一部分。它相应于sql server 2005中视图。外模式是可变的,外模式在一个数据库中有多个。在此级上建立的数据库叫用户级数据库。View1(学号,姓名,性别)View2(学号,姓名)View3(学号,姓名,出生日期)外模式得到的
15、就是对模式的一个投影操作。3)内模式存储模式,物理模式,是对数据库存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。它相当于sql server 2005中的数据库文件。综上所述,数据库系统内部体系结构分为三级模式,分别是外模式,模式,内模式,外模式是局部逻辑结构,模式是全局逻辑结构,内模式是存储结构,外模式有多个,模式只有一个,内模式只有一个,在外模式上建立的数据库叫用户级数据库,在模式上建立的数据库叫概念级数据库,在内模式上建立的数据库叫物理级数据库。二、数据库系统的二级映象和数据独立性在数据库系统阶段,数据之所以具有较高的独立性就是由于数据库系统三级模式中的二级映象
16、。二级映象保证了数据的物理独立性和逻辑独立性。1.外模式/模式的映象外模式/模式的映象将模式的改变,通过映象,使之外模式不发生改变,从而应用程序不改变,这就保证了数据库系统的逻辑独立性。2.模式/内模式映象模式/内模式的映象将内模式的改变,通过映象,使之模式不生改变,从而外模式不发生改变,应用程序也就不用改变,保证了数据库系统的物理独立性。三、数据库系统的三级模式和二级映象的优点1.保证了数据的独立性2.简化了用户接口3.有利于数据共享4.有利于数据的安全保密1.5数据库系统的外部体系结构 从最终的用户角度来看,数据库系统分为单用户结构、主从结构、分布式结构、C/S结构和B/S结构。其实这种分
17、法就是应用程序的类型。1.单用户结构的数据库系统又称为桌面型数据库系统,就是把应用程序,DBMS,数据库都安装在一台计算机上,由一个用户独使用,计算机之间不允许共享数据。Foxpro,visual foxpro,access数据库2.主从式的数据库系统文件/服务器结构的数据库系统,简称为F/S结构,它是由一台服务器带多台终端构成,服务器一台性能较高的计算机,终端是指不具有处理的计算机,只有显示器和键盘。工作原理:当终端向服务器请求数据时,服务器接收请求,并在服务上处理后,再传送给终端。服务器的负荷比较重。3.分布式结构的数据库系统Oracle数据库、sql server 2005/2008等数
18、据库管理系统都支持分布式结构。特点:1)数据在物理上分布数据不集中存放在一台服务器上,而是分布在不同的地域上。每台服务器称为结点。2)数据在逻辑上是整体的物理上分布,逻辑上关联。3)结点上分布存储的数据相对独立分布式结构是分布式网络与数据库技术相结合的产物。4.客户/服务器结构的数据库系统客户服务器结构的数据库系统是由多台数据库服务器和多个具有处理能力的计算机所构成的。其中分为客户端和服务器端,客户端就是安装了客户端应用程序的计算机,而服务器端就是安装了数据库管理系统的服务器。数据库服务器。工作原理:在服务器上存放数据库管理系统和数据库,而应用程序和开发工具都存放在客户端上,客户端负责用户界面
19、,接收数据,生成数据服务请求,并将服务请求发送给服务器,服务器接收请求,并处理,处理后发送给客户机。简称为C/S,client/server的简写。此种结构只适合于在局域网或者是专用网络中以及虚拟网络中实现。不能在互联网上实现。此结构维护升级较麻烦,因为在每台客户端都得安装应用程序。5.浏览器/服务器结构的数据库系统这种结构简称为B/S结构,是针对C/S结构的不足而提出。B/S结构客户端 仅安装通用的浏览器软件即可,实现用户的输入和输出,而应用程序不安装在客户机端,而是安装在WEB服务器端。所以在B/S结构中,通过有三种机器,一种客户端,一种是WEB服务器,一种是数据库服务器。绝大多数的软件都
20、属于B/S结构的,该结构在internet中得到了广泛的应用。网易、新浪等网站就是B/S结构的应用程序。目前比较流行的开发B/S结构的应用程序的开发工具有java和.NET。1.6数据库管理系统数据库管理系统简称为DBMS,是对数据进行管理的大型系统软件,它是数据库系统的核心。用户操作数据库都是通过数据库管理系统实现的。一、DBMS的主要功能1.数据定义功能数据库的模式定义,DBMS提供了数据定义语言,简称为DDL,用于定义模式,外模式和内模式三级模式结构和二级映象,定久各种约束条件。主键约束、惟一约束、空值约束、检查约束、外键约束保证数据库的完整性。相当于sql server 2005的建立
21、数据库、建立数据库、建立索引、建立视图等。命令有三个:create,alter,drop2.数据操作功能DBMS提供了数据操作语言,简称为DML,实现对数据库的基本操作,包括检索、更新操作。针对于sql语言, 分别是select、insert、update和delete对于sql语言,DML分类两类,一类是自主型或自含型的。比如visual foxpro。另一类是宿主型的,表示嵌入到其他的高级语言中。3.数据库运行管理功能 它是数据库管理系统运行的核心部分。通过对数据库的控制以确保数据正确有效和正常运行。四大控制功能4.数据库的建立和维护功能包括初始数据的装入与转换。5.数据通信接口Sql s
22、erver 2005与visual studio 2008连接,sql server 2005与java如何接口。数据访问接口:ODBC(万能),JDBC(JAVA),ADO.NET(.NET接口)Sqlconnection conn=new sqlconnection(“server=dbserver;database=stu;uid=sa;pwd=sa”;Conn.open();Sqldataadapter adp=new sqldataadapter(“select * from username1”,conn);Dataset ds=new dataset();Adp.fill(ds)
23、;Datagridview1.datasource=ds.tables0.defaultview;Datagridview1.databind();6.数据组织、存储和管理包括对数据字典、用户数据、存取路径等的组织、存储和管理工作。二、DBMS的组成 1.语言编译处理程序 提供数据定义语言和数据操作语言。 2.系统运行控制程序 包括总控程序、安全性控制程序、完整性控制程序、并发性控制程序、通信程序等。3.系统建立、维护程序4.数据字典1.7 数据模型一、数据模型的概念数据库用来描述模拟现实世界中的某种应用环境所涉及到的全部数据集合,而且反映数据之间的联系。数据模型就是用来描述数据的结构、操作和
24、约束的。二、三个世界的划分1.三个世界的划分把现实世界中的具体事物抽象为某一个DBMS支持的数据模型。将现实世界中的事物进行认识抽象,转换为信息世界中的数据模型,再对信息世界中的概念模型进行转换使之转换为计算机世界DBMS能支持的数据模型。现实世界,信息世界和计算机世界2.现实世界客观存在的世界,在其中存在着各种事物以及它们之间的联系,现实世界中的事物有的是具体的,有的是抽象的。学生,一台电脑,一辆汽车,是具体的事物。而一次考试、一次比赛是抽象的事物。3.信息世界及其有关概念信息世界就是现实世界在人们头脑中的反映。是经过分析,整理得到的有用的信息世界。 1)实体客观存在的并且可以相互区别的“事
25、物”称为实体,实体可以是具体的,也可以是抽象的。2)属性用来描述实体的特性叫实体的属性。总结:1.数据库系统的内部体系结构,三级模式和二级映象2.数据库系统的外部体系结构,5种。3.数据库管理系统的组成和功能4.数据模型中的三个世界。2)属性实体的特征,一个学生,属性有学号、姓名、性别、出生日期等。任何一个实体的属性都有型和值之分。属性的型就是属性名称,如学号,姓名等。属性的值就是属性的具体内容,99001,张一,男3)实体集同型实体的集合称为实体集。所有的学生称为学生实体集,每一个学生称为实体,所有的课程称为课程的实体集,每门课程称为实体。4)实体型同类实体的属性的集合。学生实体的实体型(学
26、号,姓名,性别,出生日期)。二维表的表头。5)键也称为关系键,主键,主码,主关键字。能在一个实体集中,惟一确定一个实体属性或属性组叫键。 可以是单一属性,也可以是多个属性组合。学生实体(学号,姓名,性别,出生日期)学号就是学生实体的键。单一属性。选课实体(学号,课程号,成绩)选课实体的键是学号和课程号。属性的组合。课程(课程号,课程名,学分)课程实体的键就是课程号。6)域实体属性的取值范围,叫域。属性值是有一定的范围的。有可能规定具体的值,有可能规定具体的类型。如性别,只能是男或女,月份,只能是1-12,7)实体间的联系对于任何一个实体,实体内部各属性之间有一定的联系。多个实体之间也存在着一定
27、的联系。事物之间不是独立存在的,事物之间都存在着一定的联系。在此讨论的是实体间的联系,而在关系的规范化中讨论是实体内部的联系。班级实体(班号,班名,班导师)学生实体(学号,姓名,性别,出生日期)课程实体(课程号,课程名,学分)一个班级有多名学生,一个学生属于一个班级,一个学生选修多门课程,一门课程有多个学生选修。实体与实体之间的联系分为三种:。一对一联系(1:1)即实体集A中的一个实体至多与实体集B中的一个实体对应,反之亦然。学校实体和校长实体之间就是一对一的联系。班级实体和班长实体之间就是一对一的联系。省和省会就是一对一的联系。一对多的联系(1:N)即实体集A中的一个实体与实体集B中的多个对
28、应,而实体集B中的一个至多与实体集A中的一个对应。一方和多方,如班级和学生,班级是一方,学生是多方,班级和学生是一对多的联系。部门和职工也是一对多的联系。实验室和电脑就是一对多的联系。多对多联系即实体集A中的一个实体与实体庥B中的多个对应,反之亦然。学生和课程就是多对多的联系。在此位置,注意给定两个实体和语义约定,必须知道实体与实体之间的联系类型。4.计算机世界及其有关基本概念信息世界经过数字化转换为计算机世界进行存储。1)字段就是实体的属性,也称为数据项,字段名就是属性名。如学生学号,姓名,性别,出生日期2)记录记录就是实体,通常在数据表中用一行的记录表示一个实体。一个记录由多个字段构成。3
29、)文件文件就是同一类记录的集合,也就是用来描述实体集的。在sql server中用数据表来描述实体集。4)关键字能惟一标识一个记录的属性或属性组合。三、数据模型的分类 根据模型的应用不同,将数据模型分为两类。第一类模型是概念模型,也是信息模型,以用户的观点对数据和信息建模。概念模型是信息世界中的模型,与任何DBMS无关。数据库设计时用户和数据库管理员之间交流的工具。如E-R图就是一个概念模型。第二类模型是逻辑模型和物理模型。是属于计算机世界中的模型,是按照计算机的观点来对数据建模的。与具体的数据库管理系统有关。数据库系统的逻辑模型主要包括:层次模型、网状模型和关系模型、面向对象模型。四、实体联
30、系模型及E-R图实体联系模型,称为E-R模型,是数据库设计工作中的一种概念模型。用E-R图来描述实体以及实体之间的联系。E-R的基本要素:实体、联系和属性三要素。在E-R图中分别用以下三种符号表示:实体:用矩形来表示。标注实体名属性:用椭圆来表示。标注属性名联系:用菱形来表示。标注联系名而实体、属性和联系三者之间用线段联接。无向的。省1属于1省会五、数据模型的组成要素是逻辑模型的层次模型、网状模型和关系模型的。数据模型的三要素分别是数据结构、数据操作和完整性约束1.数据结构描述数据库的组成对象以及对象间的联系,通常指的是数据库的结构。它是静态的。2.数据操作 是指对数据库中的各种数据允许执行的
31、操作的集合,包括操作及相应的操作规则 ,它是描述数据库的动态特性。包括数据查询和数据操作(添加、修改和删除)。3.数据的完整性约束 是一组完整性规则的集合。保证数据库的数据必须是正确的、有效的和相容的。六、三种数据模型 目前,在数据库领域中常用的数据模型有层次模型、网状模型和关系模型。其中层次模型和网状模型是早期的数据模型。统称为非关系模型。1. 层次模型典型代码是IBM公司的IMS数据库管理系统。层次模型用树形数据结构(有向树)描述实体以及实体之间的联系。层次模型的特点:1)有且只有一个结点没有双亲,称为根结点2)除根结点之外,其他结点有且仅有一个双亲结点层次模型只能描述一对一和一对多的联系
32、。不能描述多对多的联系。多对多联系必须转换为一对多的联系。层次模型的缺点:1)不能直接表示两个以上的实体型间的复杂联系。2)对数据插入和删除的操作限制太多。3)查询下级结点必须通过双亲结点2.网状模型典型代表是DBTG系统。网状模型是指采用有向图结构表示实体与实体之间的联系的数据模型。特点:1)至少有一个结点没有双亲。2)其他结点可以有多于一个结点的双亲。3)允许结点之间有多种联系。网状模型可以描述一对一,一对多和多对多的联系。缺点:1)数据结构过于复杂,随着应用环境的扩大,数据结构变复杂。2)数据定义语言,操作语言极其复杂。3)记录间的联系本质上是通过存取路径实现的。必须指定存取路径。3.关
33、系模型目前比较流行的关系型的数据库,如foxpro,access,oracle,sql server,informix,sybase等。关系模型是采用二维表来描述实体与实体之间的联系。学生关系学号姓名性别出生日期班号99001张一男0199002李四女021)关系模型的数据结构一张二维表,由表名,表头和表体三部分构成。其中表名就是二维表的名称,也就是关系名,表头就是实体型,二维表的结构。表体是用来描述实体的,所有的集合称为实体集。2)二维表的基本概念。关系:一个关系对应一张二维表。关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,),其实关系模型就是用来描述关系的结构,型。学生(学号
34、,姓名,性别,出生日期)。元组:二维表格中的行,也就是记录,也就是一个实体。属性:二维表格的列,也就是字段,数据项。域:属性的取值范围。属性值:每一行对应的列的值叫属性值,也叫分量。关键字,关系键,主键,主码。关系模型的优点比较多,它是建立在严格的数学理论的基础上的,数据结构简单,清晰,用户易懂易用。但缺点是查询效率没有非关系型高。面向对象的数据模型OO,面向对象,OOP:面向对象的程序设计。涉及到一些专用的术语:1)对象客观世界具体存在的任何“事物”。对象是类的实例。2)类同类对象的特性抽象。人类。学生类。3)继承父类,子类。子类不仅继承了父类的属性、方法和事件,同时还可以自定义自己的属性和
35、方法等。4)重载代码重用。1.8 数据库系统的发展 如果按照数据模型发展的阶段划分,数据库技术的发展也经历了三个发展阶段一、 第一代数据库系统层次模型和网状模型。二、第二代数据库系统关系模型的数据库系统三、 第三代数据库系统面向对象的数据模型。1.9 数据库新技术数据库技术是计算机软件领域的一个重要分支,同时数据库技术与其他技术相结合是当前数据库技术发展的重要特征。1.数据库技术与分布处理技术相结合,出现了分布式数据库。2.数据库技术与人工智能技术相结合,出现演绎数据库、主动数据库和知识库。3.数据库技术与多媒体技术相结合,出现多媒体数据库研究领域主要有三个领域:1.数据库管理系统软件的研制研
36、究的目标就是提高系统的性能和提高用户的生产率。2.数据库设计设计方法、设计工具、设计理论的研究。6个阶段。需求分析、概念设计、逻辑设计、物理设计、运行和测试、系统维护。3.数据库理论关系的规范化理论,关系数据理论等。总结:1.信息世界中的基本概念2.实体与实体之间的联系类型3.数据模型的三要素4.三种数据模型5.简单了解数据库技术的发展和新技术。本章复习的重点:1.名词解释数据库、数据库管理系统、数据库系统、实体、属性、实体集、实体型、键、数据模型。2.简单题1)数据管理技术发展的三个阶段以及各个阶段的特点有哪些?2)数据库管理系统的四方面的控制功能是什么?3)数据库,数据库系统,数据库管理系
37、统之间的关系。4)数据库系统阶段的特点有哪些?5)数据库系统包括哪个五个部分。6)数据库管理系统的组成和功能。7)数据库系统的内部体系结构,即三级模式和二级映象8)数据的独立性是什么,包括哪两种,用什么映象来实现。9)数据模型分哪三种,数据模型的三要素是什么。10)逻辑模型分哪三种数据模型,特点是什么。第2章 关系数据库本章重点:1.了解关系的形式化定义2.掌握广义的笛卡尔积3.掌握关系的性质4.掌握各种键5.掌握传统的集合运算和专门的关系运算 ,重点是专门的关系运算并给定一个查询会写关系代数表达式。2.1 关系模型的数据结构及其形式化定义 关系模型是采用二维表的结构描述实体与实体之间的联系,
38、关系模型中,任何实体和实体之间的联系都表示为关系。一、关系的形式化定义及其有关概念1.域是一组具有相同数据类型的值的集合,称为值域。每一个域所包含的值的个数称为域的基数,在关系中域是指一个属性的取值范围。姓名=张一,李四,王强 基数为3。性别=男,女2.广义笛卡尔积给定一组域,D1,D1,,d1,d2的笛卡尔积为:D1D2Dn 相当一张二维表。所说的乘号,表示任何一个域的一个值与另一个域的每一个值进行组合。开始一个新的集合,就是笛卡尔积。 姓名 性别张一 男张一 女李四 男李四 女王强 男王强 女真正得到的笛卡尔积没有实际意义,因为不符合关系的定义。3.关系笛卡尔积的任一个子集称为定义在域d1
39、,d2上的n元关系。表示为:R(D1,D2,) 姓名 性别张一 男李四 女王强 男4.关系的构成任何一个关系由关系头和关系体所构成。关系头是由属性名所构成的一个集合,是对关系的数据结构的描述,是固定不变的。它是静态的。关系体是指关系结构中的内容或者数据,它随着记录的建立和修改而变化,关系体是动态的。数据模型三要素,数据结构是静态的,而数据操作是动态的。二、关系的性质二维表与传统的数据表相似,但不一定所有表格都是二维表。关系必须具有以下几个性质:1.关系中每一个属性(数据项)都是不可分割的数据单元。2.关系中的每个属性都具有相同的数据类型,即同质的。年龄,数值型,只能是1-150,能否写成“一”
40、-“一百五十”。3.关系中的元组和属性的顺序无关紧要。4.关系中没有出现完全相同的元组。5.关系中不能出现相同的属性名三、关系模式和关系数据库模式1.关系模式是对一个关系结构的描述,知道关系模式,就能生成一个关系。表示的方式是:关系名(属性名1,属性名2,属性名3,)关系模式就是一个关系的关系头,而关系是它的值即关系体。关系模式是静态的。学生(学号,姓名,性别,出生日期,班号)班级(班号,班名,班导师)2.关系数据库模式在关系模型中,任何一个实体或实体之间的联系都用关系来表示。关系数据库模式就是关系模式的集合。教学管理系统数据库模式系(系号,系名,系主任)班级(班号,班名,班导师,系号)学生(
41、学号,姓名,性别,出生日期,班号)课程(课号,课程名,学分)选课(学号,课号,成绩)2.2 关系的键与关系的完整性约束一、候选键与主关系键1.候选键 是在一个关系中,能唯一标识一个元组的属性或属性组合叫候选键。候选键在一个关系中可以有多个。学生(学号,姓名,性别,出生日期,身份证号,班号)学生关系的候选键有:身份证号,学号。候选键的属性值不允许出现空值和重复值。选课(学号,课号,成绩)候选键:学号+课号。学生关系中的候选键可以是学号,身份证号,也可以是学号+姓名,学号+性别,身份证号+出生日期,这句话是错误的。候选键必须满足两个条件:1)惟一性:不允许出现重复值。2)最小性:在候选键中,去掉一
42、个属性就不能保证惟一了。2.主关系键也叫主键,主码,关系键,一个关系只有一个,也就是从一个关系的候选键中,选择一个作为操作关系的依据。则称为主键。3.主属性和非主属性主属性:是指包含在主关系键中的属性叫主属性。非主属性:不包含在候选键中的属性叫非主属性。空区:即不在主属性中也不在非主属性中的,4.全码对于一个关系,在最极端的情况下,所有属性的组合是关系的候选键,称为全码。授课关系(教师号,课程号,学号)教师号课程号学号101A1901101A1902102A2901101A2902该关系的候选键是:教师号+课程号+学号,称为全码。二、外部关系键涉及到两个关系,即如果关系S中的一个属性不是主关键
43、字。而在另一个关系R中是主关键字,则该属性在关系S中称为外部关系键。外部关系键是用来参照关系的。即S中的外部关系键的取值必须参照R中的主关键字的值,或者取为空值。班级(班号,班名,班导师)学生(学号,姓名,性别,出生日期,班号)对于班级和学生关系,其中班号在班级中是主键,在学生中不是主键,所以在学生中称为外部关系键。例:假如关系职工表中,职工号为c1-c10。在订单表中订单号为D1-d10。则下列元组哪一个能正确到订单表中。订单表中职工号为外部关系键。D5 c6 456D5 c11 456D11 c11 456D11 c6 456Null c6 456第一考虑主键不能重复,第二考虑外键具有参照
44、关系。三、关系的完整性数据库管理系统具有4大控制功能,数据安全性控制,数据完整性控件,并发控制和数据恢复。其中数据完整性控制。数据完整性控制是指添加数据库中的数据必须是正确的、有效的和相容的。关系的完整性有三类完整性约束:分别是实体完整性、参照完整性和域完整性(用户自定义完整性)。1.实体完整性是指关系中主关键字不能为空或部分为空或者出现重复值。这也说明一个关系中不能出现完全相同的元组。实体完整性是通过主关键键或候选关键字来实现的。学生关系中学号是主关键字,就保存了实体完整性。在sql的定义语言中的create table中,使用primary key建立。 2.参照完整性是指两个关系,外键所处的关系中的外键值必须取值(参照)另一个关系的主键值。学生中的班号必须取自班级表中的班号。订单表中的职工号必须取自职工表中的职工号。/同理,选课表中的学号和课号都是外键,学号要参照学生表中的学号,课号要参照课程表中的课号。在sql的定义语言中的create table中使用foreign key 来实现3.域完整性(参照完整性)是针对某一个具体的关系数据库的约束条件,反映卫个应用所涉及的数据必须满足的语义要求。如性别只能是男或女,月份只