数据库基础知识_第1页
数据库基础知识_第2页
数据库基础知识_第3页
数据库基础知识_第4页
数据库基础知识_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库及其应用第一章数据库基础知识1.1数据库的基本概念1.2数据描述1.3数据模型

1.4数据库系统1.5关系模型的基本概念1.6E-R模型的设计1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.1数据库的基本概念数据库的基本概念数据库管理技术的发展数据库的基本术语数据库管理技术的发展数据管理是指如何对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的核心问题。数据管理技术的发展经历了人工管理、文件系统和数据库系统阶段。数据库管理技术的发展1.人工管理时间:20世纪50年代中期以前背景:应用需求 计算机主要用于科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理特点:数据不保存;数据需要由应用程序自己进行管理没有文件概念数据面向程序应用程序1数据组1应用程序2数据组2应用程序n数据组n……2.文件系统时间20世纪50年代后期至60年代中后期背景应用需求 计算机已大量用于管理(数据处理) 硬件水平 磁盘、磁鼓 软件水平 有文件系统(专门管理外存的数据管理软件) 处理方式 联机实时处理、批处理 特点:数据可以长期保存文件系统管理数据,数据可重复使用文件组织多样化:索引文件、链接文件数据的存取基本上以记录为单位。缺点数据共享性差数据冗余度大文件之间缺乏联系3.数据库系统阶段时间20世纪60年代后期背景计算机应用于社会各个领域特点1、数据结构化2、数据共享3、数据冗余小3、数据独立性4、数据的统一控制1.1数据库的基本概念数据库的基本概念√数据库管理技术的发展数据库的基本术语数据库的基本术语数据库(DB):长期存储在计算机内的、有组织的、统一管理的相关数据的集合。数据库管理系统(DBMS):是数据库系统中专门用来管理数据的软件,位于用户和操作系统之间。数据库系统(DBS):数据库系统是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机硬件、软件和数据资源组成的系统。DBMS用户OSDB数据库的基本术语数据库系统(DatabaseSystem,DBS)数据库系统即数据库应用环境。数据库+操作系统+数据库管理系统+数据库应用系统+数据库管理员+数据库用户构成数据库、数据库管理系统和数据库系统是三个不同的概念。数据库强调的是数据;数据库管理系统强调的是系统软件;数据库系统强调的是数据库的整个运行系统。DBMS用户OSDB例题1.1节1.数据库系统与文件系统的主要区别是:A.数据库系统比较复杂,而文件系统比较简单B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决庞大的数据量。C.文件系统管理的数据量少,而数据库系统可以管理庞大的数据量D.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件。B例题1.1节2.数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是:A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBMS和DBSD.DBS就是DB,也就是DBMSA例题1.1节3.数据库管理员的英文缩写是:DBA第一章数据库基础知识√1.1数据库的基本概念1.2数据描述1.3数据模型

1.4数据库系统1.5关系模型的基本概念1.6E-R模型的设计1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.2数据描述数据描述概念设计中的数据描述逻辑设计中的数据描述数据联系的描述概念设计中的数据描述概念设计是指根据用户的需求设计数据库所表达的概念。实体:是事物的抽象。客观存在并可相互区别的任何事物通称为试题。实体集:性质相同的同类实体的集合称为实体集。属性:通常实体具有很多特性,每一特性成为属性,实体标识符:能唯一标识实体的属性(或几个属性的组合)称为实体标识符1.2数据描述数据描述√概念设计中的数据描述逻辑设计中的数据描述数据联系的描述逻辑设计中的数据描述逻辑设计是指从概念设计得到的数据库概念出发来设计数据库的逻辑结构,即实现数据存取的表达方式和方法。字段:标记实体属性的命名单位称为字段,或数据项。它是可以命名的最小信息单位。记录:字段的有序集合称为记录。一般,用一个记录描述一个实体。文件:同类记录的集合称为文件,关键码:能唯一标识文件中每个记录的字段,简称键逻辑数据元素之间的关系

(字母J的ASCII码)数据的层次举例文件字节字段记录01001010900811刘汉云2000-9-4位0,1数据库刘汉云项目数据库包含:职员编号、姓名、聘用日期职员文件(名字字段)职员文件部门文件财务文件900811刘汉云2000-9-4900206李卓宇2002-7-2910810张昕阳2001-8-21.2数据描述数据描述√概念设计中的数据描述√逻辑设计中的数据描述数据联系的描述数据联系的描述什么是联系:是指实体之间的关系。与一个联系有关的实体集的个数,称为联系的元数。例:一元联系、二元联系、三元联系。二元联系的三种类型:一对一一对多多对多数据联系的描述实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系两个实体型间的联系:数据联系的描述一对一:若实体集A中的每个实体至多和实体集B中的一个实体有联系,则称A与B具有一对一的联系,反过来亦此。一对一的联系记作1:1。班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职班级班级-班长班长111:1联系数据联系的描述一对多联系(1:n):如果实体集A中的每一个实体和实体集B中的多个实体有联系,反之,实体集B中的每个实体至多只和实体集A中一个实体有联系,则称A与B是一对多的联系。记作1:n。班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习班级组成学生1n1:n联系数据联系的描述多对多联系(m:n):若实体集A中的每一个实体和实体集B中的多个实体有联系,反过来,实体集B中的每个实体也可以与实体集A中的多个实体有联系,则称实体集A与实体集B有多对多的联系,记作m:n。课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程课程选修学生mnm:n联系数据联系的描述三元联系

课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的课程讲授教师1m多个实体型间的1:n联系参考书n数据联系的描述一元联系零件与零件的关系一个零件可以由若干个子零件组成,同时又可以是其他零件的子零件零件例题1.2节1.下面关于实体描述的叙述中,错误的是:A.客观存在并相互区别的事物B.描述实体的特性称为属性C.属性的集合标识一种实体的类型,称为实体型D.实体的集合称为实体集D例题1.2节2.在数据库系统中,数据的最小访问单位是:A.字节B.字段C.记录D.表B例题1.2节3.在数据库系统中,数据的最小访问单位是:A.字节B.字段C.记录D.表B例题1.2节4.在同一学校里,系和教师的关系是:A.一对一B.一对多C.多对一D.多对多B例题1.2节4.下列实体类型的联系中,属于多对多联系的是:A.学生与课程之间的联系B.飞机的座位和乘客之间的联系C.商品条形码和商品之间的联系D.车间与工人之间的联系A例题1.2节5.实体之间的对应关系称为

,它反映显示世界事物之间的相互关联联系第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述1.3数据模型

1.4数据库系统1.5关系模型的基本概念1.6E-R模型的设计1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.3数据模型数据模型数据库的三级组织结构数据抽象的过程概念模型的特点及其设计逻辑模型的特点及其设计外部模型内部模型数据库的三级组织结构从现实世界的信息到数据库存储的数据以及用户使用的数据是一个逐步抽象的过程。20世纪70年代,美国国家标准化协会根据数据抽象的级别定义了四种模型:概念模型、逻辑模型、外部模型和内部模型。数据库的三级组织结构概念模型:用来表达用户需求观点的数据库全局逻辑结构的模型。逻辑模型:用来表达计算机实现观点的数据库全局逻辑结构的模型。外部模型:用来表达用户使用观点的数据库局部逻辑结构的模型。内部模型:用来表达数据库物理结构的模型。关系如下图:

应用A应用B应用C应用D应用E

外部模型1外部模型2外部模型3

外模式∕模式映象

数据库系统的三级模式结构

逻辑模型

内部模型

数据库抽象的过程:概念模型->逻辑模型->外部模型->内部模型数据库的三级组织结构在用户到数据库之间,数据库的数据结构分成了三个层次:外部模型、逻辑模型、内部模型。这三个层次都要用数据库定义语言来定义,一旦定义之后,就有了专门的术语,称为“模式”:外模式、逻辑模式、内模式。数据库的三级组织结构1.内模式数据最终是要存储在硬盘介质上的。数据库中的数据,最终表示为一个或多个文件。这些文件有它特定的物理结构和存储方式,例如:◆是顺序文件还是随机文件?◆索引按照什么方式组织?◆数据是否经过加密?是否经过压缩?上述数据物理结构和存储方式的描述,被称为内模式,也叫物理模式或存储模式。一个数据库只有一个内模式,它是数据库内部的表示方法。数据库的三级组织结构2.模式(逻辑模式)如果让用户去记住内模式中的问题并按照相应的方式来访问,显然是不可想象的——那样,数据库管理系统也就失去了它的价值了。模式描述了数据库中全体数据的逻辑结构和特征。例如,SQLServer中,用户能看到的是一张张的数据表、数据视图、数据快照等,而不必去直接访问存储在硬盘上的数据文件。一个数据库只有一个模式,它以某一种数据模型为基础。逻辑模式的基础是数据模型。数据库的三级组织结构3.外模式有了“模式”,用户可以排除数据存储细节的干扰,而以一种逻辑的方式访问数据。但是,还有一些问题要解决:◆如何给数据库多个用户划分权限?◆不同的用户看到的数据有何不同?◆不同的用户,结构、类型、长度、保密级别等的要求如何实现?外模式是模式的子集,也称子模式或用户模式,它是数据库用户能够看见的和使用的、局部的、逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式,不同用户的外模式的描述是不同的。1.3数据模型数据模型√数据库的三级组织结构数据抽象的过程(置后)概念模型的特点及其设计逻辑模型的特点及其设计外部模型内部模型数据抽象的过程第一步:根据用户需求,设计数据库的概念模型;第二步:根据转换原则,把概念模型转换为数据库的逻辑模型;第三步:根据用户的业务特点,设计不同的外部模型给程序员使用;第四步:根据逻辑模型设计其内部模型。数据模型数据模型√数据库的三级组织结构√数据抽象的过程概念模型的特点及其设计逻辑模型的特点及其设计外部模型内部模型概念模型的特点及其设计概念模型的设计普遍采用实体-联系模型,也称为E-R模型来表示概念模型。E-R模型用E-R图表示实体及其联系。实体类型:用矩形表示,矩形框内写明实体集名。属性:用椭圆形表示,并用无向边将其与相应的实体或联系连接起来。联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)例:学生管理系统E-R模型

实体属性图:联系图:例:球队比赛管理系统ER模型家电商场建立商品销售管理和顾客资料管理信息系统。该管理信息系统中有商品、员工和顾客等实体。每个实体的属性见图。某个员工在某一时刻将某种商品卖给某个顾客,因此这三个实体是通过一个联系连在一起。一个员工可以将多种商品卖给多名顾客,一种商品可以由多名员工卖给多名顾客,一名顾客可以通过多名员工购买多种商品,日期(时间)、数量和金额是发生联系的属性,因此这三个实体之间的联系是多对多联系(m:n:k)(三元联系)。其他例:家电商场销售ER模型概念模型的特点及其设计概念模型的特点:

1)概念模型表达的是数据库的整体逻辑结构。

2)概念模型是从用户需求的观点出发对数据建模的。

3)概念模型与硬件和软件无关。

4)概念模型是数据库设计人员与用户之间进行交流的工具。数据模型数据模型√数据库的三级组织结构√数据抽象的过程√概念模型的特点及其设计逻辑模型的特点及其设计外部模型内部模型逻辑模型的特点及其设计逻辑模型的设计:目前成功实现概念模型的逻辑模型主要有四种:层次模型网状模型关系模型(目前的主流)面向对象模型逻辑模型的特点及其设计例:将下图所示的E-R概念模型转换成关系模型学生(学号,姓名,性别,出生日期)课程(课程号,课程名,学时数)选修(学号,课程号,成绩)学号姓名性别出生日期S1张英女1980.5.5S2李伟男1980.1.9S3王风男1981.9.2课程号课程名学时数C1数学120C2英语100C3C语言60课程选修学生mn学号性别姓名出生日期成绩学时数课程名课程号学号课程号成绩S1C185S1C279S1C391S2C177“学生”关系“选修”关系“课程”关系逻辑模型的特点及其设计逻辑模型的特点

1)逻辑模型表达的是数据库的整体逻辑结构。

2)逻辑模型是从数据库实现的观点出发建模的。

3)逻辑模型独立于硬件,依赖于软件,特别是DBMS。

4)逻辑模型是数据库设计人员与应用程序员之间进行交流的工具。数据模型数据模型√数据库的三级组织结构√数据抽象的过程√概念模型的特点及其设计√逻辑模型的特点及其设计外部模型内部模型外部模型外部模型是一种用户观点下的DB局部逻辑结构模型,用于满足特定的用户数据要求。例:在刚才的关系模型基础上,设计出一个能满足查询学生课程成绩需要的外部模型,假定将其命名为“学生成绩”,该视图模式如下:学生成绩(学号,姓名,课程名,成绩)外部模型外部模型的特点外部模型反映了用户使用数据库的观点,是针对用户需要的数据而设计的。外部模型通常是逻辑模型的一个子集。硬件独立,软件依赖。数据模型数据模型√数据库的三级组织结构√数据抽象的过程√概念模型的特点及其设计√逻辑模型的特点及其设计√外部模型内部模型内部模型内部模型又称为物理模型,是数据库最低层的抽象,描述数据在磁盘上的存储方式、存取设备和存取方法。内部模型是与硬件紧密相连的。例题1.3节1.下图所示的数据模型属于:A.关系B.层次C.网状D.以上皆非BACBEFD例题1.3节2.层次模型能够直接表示出的联系是:A.一对多联系B.多对多联系C.既能直接表示一对多联系,又能直接表示多对多联系D.既不能直接表示一对多联系,又不能直接表示多对多联系A例题1.3节3.数据库系统中,最早出现的数据库模型是:A.语义网络B.层次模型C.网状模型D.关系模型B例题1.3节4.在层次模型中,有几个节点无双亲:A.1B.2C.3D.多A例题1.3节5.在网状模型中,可以有几个节点无双亲:A.1B.2C.3D.多D第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述√1.3数据模型

1.4数据库系统1.5关系模型的基本概念1.6E-R模型的设计1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.4数据库系统数据库系统数据库系统的组成DBMS的工作模式DBMS的主要功能数据库系统的组成数据库系统是一个可运行的,按照数据库方法存储、维护和向应用系统提供数据支持的系统,是数据库、硬件、软件和数据库系统管理员的集合体。数据库系统管理员(DatabaseAdministrator,简称DBA):负责数据库系统的正常运行,承担创建、监控和维护数据库结构的责任。硬件软件1.4数据库系统数据库系统√数据库系统的组成DBMS的工作模式DBMS的主要功能DBMS的工作模式1)接受应用程序的数据请求。

2)将用户的数据请求(高级指令)转换为其代码(低层指令)。

3)实现要求的数据操作。

4)从对数据库的操作中接受查询结果。

5)对查询结果进行处理(格式转换)。

6)将处理结果返回给应用程序。应用程序DBMSDB数据请求数据(处理结果)低层指令数据(查询结果)1.4数据库系统数据库管理系统√数据库系统的组成√DBMS的工作模式DBMS的主要功能DBMS的主要功能1)数据定义功能。2)数据库操纵功能。3)数据库管理功能。4)数据库控制功能。并发控制、数据库的恢复控制、完整性控制、安全性控制5)数据库的维护功能。例题1.4节1.DBMS对数据库数据的检索。插入、修改和删除操作的功能称为:A.数据操纵B.数据控制C.数据管理D.数据定义

A第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述√1.3数据模型

√1.4数据库系统1.5关系模型的基本概念1.6E-R模型的设计1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.5关系模型的基本概念关系模型的基本概念关系模型及其术语理解关系模型关系的性质关系模型的三类完整性规则关系模型的形式定义和优点关系模型及其术语关系模型:用二维表格(关系)表示实体集,用外键表示实体之间联系的模型就称为关系模型。关系中的行称为元组;元组的个数称为“基数”。关系中的列称为属性;关系中属性的个数称为“元数”。属性的取值范围称为域。关系的描述称为关系模式。学生(学号,姓名,性别,出生日期)课程(课程号,课程名,学时数)选修(学号,课程号,成绩)学号姓名性别出生日期S1张英女1980.5.5S2李伟男1980.1.9S3王风男1981.9.2关系模型及其术语候选键(也称候选码):在关系中凡能唯一标识元组的属性(或属性集)。主键(也称主码):用户从候选码中选做标识元组的属性(或属性集)。一般称主键为键。外键(也称外码):如果关系模式R中的属性K不是R的候选键但是其它关系模式的主键,那么K在R中称为外键。 学生(学号,姓名,性别,出生日期)课程(课程号,课程名,学时数)选修(学号,课程号,成绩)1.5关系模型的基本概念关系模型的基本概念√关系模型及其术语√理解关系模型关系的性质关系模型的三类完整性规则关系模型的形式定义和优点关系的性质关系中的每一个属性值都是不可分解的数据项,即不允许表中有表。均满足1NF。同一关系中不同的属性要给予不同的属性名。关系中没有重复的元组,即表中没有重复的记录。行的次序可以任意交换。列的次序可以任意交换。1.5关系模型的基本概念关系模型的基本概念√关系模型及其术语√理解关系模型√关系的性质关系模型的三类完整性规则关系模型的形式定义和优点关系模型的三类完整性规则完整性是指数据的正确性和一致性。实体完整性规则参照完整性规则用户定义的完整性实体完整性规则:要求关系中的元组在组成主键的属性上不能是空值。空值是指“不知道”或“无意义”的值。如果出现空值,主键失去了唯一标识记录的作用。参照完整性规则:

参照完整性规则与关系之间的联系有关,是指“不允许参照引用与当前关系相联系的另一个关系中不存在的元组”例:教师(教师编号,姓名,职称,课程号)课程(课程号,课程名,学时数)

关系模型的三类完整性规则关系模型的三类完整性规则用户定义的完整性:允许用户定义属性的数据类型、大小和取值范围,系统采用统一的方法进行检验实施。例:公司雇佣员工的年龄定义为两位整数,如果认为这个范围太大,还可以进一步限制,例如限制数值为19—55之间。一旦定义之后,DBMS将始终检验这个规则是否满足。1.5关系模型的基本概念关系模型的基本概念√关系模型及其术语√理解关系模型√关系的性质√关系模型的三类完整性规则关系模型的形式定义和优点关系模型的形式定义和优点关系模型有三个重要的组成部分:1)关系数据结构关系模型基本的数据结构是关系。2)关系数据操作关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。关系运算分为关系代数、关系演算和关系逻辑三类。3)关系数据完整性规则关系数据库中的数据必须满足实体完整性、参照完整性和用户定义完整性。关系模型的优点

1)关系模型采用单一的关系形式表示实体和联系,具有高度的简明性和精确性。

2)关系模型的逻辑结构和相应的操作完全独立于数据存储方式,具有高度的数据独立性。

3)关系模型建立在比较坚实的数学基础上。关系模型的形式定义和优点例题1.5节1.下列关系模型中术语解析不正确的是:A.记录:满足一定规范化要求的二维表,也称关系B.字段:二维表中的一列C.数据项:也称分量,是每个记录中的一个字段的值D.字段的值域:字段的取值范围,也成为属性域

A例题1.5节2.关系型数据库管理系统中的“关系”是指:A.每条记录中的数据之间具有一定的关系B.数据模型符合满足一定条件的二维表格式C.同一个数据库中的记录和记录之间满足一定的关系D.记录和字段之间通过二维表的形式进行联接

B例题1.5节3.关系数据库中的表不必具有的性质是A.数据项不可再分B.记录的顺序可以任意排列C.同一列数据项要具有相同的数据类型D.字段的顺序不能任意排列D例题1.5节4.下列关于关系的描述中,不正确的是A.在同一个关系中不能出现相同的属性名B.在一个关系中元组的次序无关紧要C.在一个关系中列的次序无关紧要D.在关系中每个元组都是不可分割的数据单元D第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述√1.3数据模型

√1.4数据库系统√1.5关系模型的基本概念1.6E-R模型的设计(置后)1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.6E-R模型的设计E-R模型的设计设计局部E-R模型设计全局E-R模型全局E-R模型的优化设计局部E-R模型根据需求分析的结果,设计局部E-R模型确定局部结构范围:一般可按照当前用户进行自然划分,例如按企业的组织结构划分为销售部门、生产部门等。实体定义:确定每个实体的属性和标识符,并为实体命名联系定义属性分配确定属性的原则是:属性应该是不可分解的语义单位;不同实体类型的属性之间应无直接关联关系。1.6E-R模型的设计E-R模型的设计√设计局部E-R模型设计全局E-R模型全局E-R模型的优化设计全局E-R模型局部E-R模型确定公共实体类型合并两个局部E-R模型检查并消除冲突还有冲突吗?还有未合并的吗?无无进入全局E-R模型优化阶段有有确定公共实体类型局部E-R模型的合并消除冲突属性冲突:如属性值的类型、取值范围或取值集合不同。结构冲突,同一对象在不同应用中的不同抽象,例如职工,在某个应用中实体,在另外一个应用中为属性命名冲突:包括属性名、实体名及联系名之间的冲突,往往出现同名异义或异名同义现象1.6E-R模型的设计E-R模型的设计√设计局部E-R模型√设计全局E-R模型全局E-R模型的优化全局E-R模型的优化优化的原则:合并相关实体类型减少实体个数:例如把1:1联系的两个相关实体类型合二为一,可减少实体类型的个数。消除冗余的属性,消除可以从其它属性值推导出的属性。例如,实发工资可以从基本工资,奖金和房租水电扣款中计算出来。消除冗余联系:全局E-R模型中可能存在冗余的联系,通常利用规范化理论中函数依赖的概念予以消除。全局E-R模型的优化例:下图1所示是某大学学籍管理子系统的局部E-R图,图2所示是课程管理子系统的局部E-R图,现将两个局部E-R图合并成全局E-R图。系班主任1指导管理班级组成有111nnn教师学生系学生p选修课程担任开设1nmnmn教材教师全局E-R模型的优化注意一个实体类型在全局E-R图中只能出现一次由于班主任实际上也是教师,应将其与教师合并图中“教师”与“学生”之间通过“指导”实现的一对多联系是冗余的,因为该联系可以通过“学生”与“课程”和“教师”与“课程”两个联系中推到出来,因此可以在全局E-R图中删除管理班级组成有11nn系学生p选修课程担任开设1nmnmn教材教师11第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述√1.3数据模型

√1.4数据库系统√1.5关系模型的基本概念√1.6E-R模型的设计1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.7从E-R模型到关系模型的转换实体类型转换的原则

E-R图中的每个实体类型都应该转换为一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。联系转换的原则

两个实体之间的一对一联系将两个实体类型分别转换为两个关系模式,可以在其中任意一个关系模式的属性中加入另一个关系模式的键及联系类型的属性。转换后得到以下两个关系模式:厂长(身份证号,姓名,性别,年龄,厂号,任期)工厂(厂号,厂名,地址)

厂长选修工厂11年龄厂名厂号地址任期性别姓名身份证号

两个实体之间的一对多联系将两个实体类型分别转换为两个关系模式,并在n端实体性转换成的关系模式中加入1端关系模式的键及联系类型的属性。转换后得到以下两个关系模式:仓库(仓库号,地点,面积)商品(商品号,商品名,价格,仓库号,数量)仓库存放商品1n商品名商品号价格数量面积地点仓库号

两个实体之间的多对多联系将两个实体类型分别转换为两个关系模式,联系也必须转换为一个关系模式,其属性为两端实体类型的键加上联系类型的属性,该关系模式的键为两端实体键的组合。银行(银行名,地址)储户(帐号,姓名,余额)存取款(银行名,帐号,日期,金额,经办人)银行存取款储户mn姓名帐号余额金额日期地址银行名经办人

两个以上实体之间的多对多联系两个以上实体之间的多对多联系也必须转换为一个关系模式,其属性为相联系实体类型的键加上联系类型的属性,该关系模式的键为相联系实体键的组合。学分第一步:系(系编号,系名,电话)教师(教工号,姓名,性别,职称)课程(课程号,课程名,学分)第二步:系(系编号,系名,电话,主管人教工号)教师(教工号,姓名,性别,职称,系编号,聘期)课程(课程号,课程名,学分,系编号)第三步:任教(教工号,课程号,教材)系主管教师1m姓名教工号性别职称电话系名系编号聘期任教课程聘用开设课程号课程名教材1111nnn例题选讲:请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有读者号、借出日期和应还日期。要求:

1)画出E-R图;

2)将E-R模型转换成关系模型将以上E-R图转换为关系模型:读者(读者号,姓名,年龄,性别,地址,单位)图书(书号,书名,作者,出版社,读者号,借出日期,应还日期)

(读者号为外码)年龄借出日期读者号作者应还日期姓名性别地址出版社图书读者借阅n1书号书名单位例题1.7节1.如果两个表中有不同的实体和不同的主关键字,则要在这两个表之间建立一对一联系的方法是:A.增加公共字段,作为两个表的主关键字B.选择其中一个表,将它的主关键字字段放到另一个表中作为外部关键字字段C.选择其中一个表,将它的主关键字字段放到另一个表中与该表的主关键字字段联合起来做该表的组合关键字。D.无法建立一对一联系B例题1.7节2.在数据库设计过程中,为了避免数据的重复存储,又要保持两个表之间的多对多联系,则需要:A.创建第三个表,该表应包含两个表的主关键字。B.把两个表通过关系运算合并为一个表,并将两个表的主关键字作为组合关键字C.把多对多的联系分解成一定数量的一对一的联系。D.以上说法都不对。A第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述√1.3数据模型

√1.4数据库系统√1.5关系模型的基本概念√1.6E-R模型的设计√1.7从E-R模型到关系模型的转换1.8关系代数1.9关系规范化1.8关系代数关系数据操纵语言建立在关系代数基础上,关系代数是以关系为运算对象的一组运算的集合。由于关系定义为属性个数相同的元组的集合,因此集合代数可以引入到关系代数中。关系代数中的运算可分为:传统的集合运算包括并、交、差、笛卡尔积和除专门的关系运算投影、选择和连接(及自然连接)1.8关系代数投影:选择指定的属性,形成一个可能含有重复行的表格;删除重复行,形成新的关系。投影运算表示为其中R是关系名,π是投影运算符,A是被投影的属性或属性集。订购单关系

选取职工号和供应商号两列构成新的关系π职工号,供应商号(订购单)1.8关系代数选择运算:是从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定的。选择运算表示为:其中R是关系名,σ是选择运算符,F是逻辑表达式。σ职工号="E3"(订购单)订购单关系

从订购单关系中选择职工号为“E3”的元组构成新的关系选择和投影运算举例:

从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号。订购单关系π供应商号,订购单号(σ职工号="E3"(订购单))1.8关系代数笛卡尔积:设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积R×S是一个m+n元关系、有k×l个元组。广义笛卡儿积可以记作:RS

ABCDEFa1b1c1a1b2c2a1b1c1a1b3c2a1b2c2a1b2c2a1b2c2a1b3c2a2b2c1a1b2c2a2b2c1a1b3c2

ABCa1b1c1a1b2c2a2b2c1RD

E

Fa1b2c2a1b3c2S1.8关系代数θ连接:是从关系R和S的笛卡尔积中选取属性值满足某一θ操作的元组,记为R∣×∣SF连接:是从关系R和S的笛卡尔积中选取属性间满足某一公式F的元组RS

ABCAB123244565672924ABC123456729RD

E

2456SRS

ABCAB4565672924iθj2=12=1∧3≥11.8关系代数自然连接:在连接运算中最常用的连接是自然连接。它要求被连接的两个关系有若干相同的属性名。计算R×S

;设R和S的公共属性是A1,…AK,挑选R×S中满足R.A1=S.A1,R.AK=S.AK的所有元组;去掉重复的属性。RS

ABCD2462357335797462B

C

D57362579SABC246357746R例题1.8节1.连接运算是将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足连接条件的:A.关系B.二维表C.元组D.字段C例题1.8节2.从关系模式中指定若干属性组成新的关系称为:A.选择B.投影C.连接D.自然连接B例题1.8节3.从关系中找出满足给定条件的元组的操作称为:A.选择B.投影C.连接D.自然连接A例题1.8节4.要从教师表中找出职称为教授的教师,需要进行的关系运算是:A.选择B.投影C.连接D.求交A例题1.8节5.设有选修计算机基础的学生关系R,选修数据库Access的学生关系S,求选修了计算机基础又选修了数据库Access的学生,则需要进行的运算是:A.并B.差C.交D.或c例题1.8节5.3.有关系R和S如下图所示,关系代数运算的结果是()A.(2465) B.(2467)C.(3575) D.(3577)B第一章数据库基础知识√1.1数据库的基本概念√

1.2数据描述√1.3数据模型

√1.4数据库系统√1.5关系模型的基本概念√1.6E-R模型的设计√1.7从E-R模型到关系模型的转换√1.8关系代数1.9关系规范化1.9关系规范化关系数据库的基本结构是关系模式,设计关系模式应遵循一定的准则,否则今后使用数据库时会出现各种各样的麻烦。关系规范化就是解决数据库设计理论问题。1.9.1关系模式的冗余和异常问题在数据管理中,数据冗余是指同一个数据在系统中多次重复出现。例:设有一个关系模式

R(学号,课程号,课程名,教师名)问题:数据冗余、操作异常(修改异常、插入异常、删除异常)学号课程号课程名教师名S2C4高等数学吴因S4C4高等数学吴因S6C4高等数学吴因S6C2英语徐清S4C4英语徐清S8C6VB张军1.9.1关系模式的冗余和异常问题例:关系模式R(学号,课程号,课程名,教师名)R1(学号,课程号)R2(课程号,课程名,教师名)“分解”是解决冗余的主要方法,也是规范化的一条原则,关系模式有冗余问题,就分解它。将R分解成R1和R2两个模式是否最佳分解,也不是绝对的。课程号课程名教师名C4高等数学吴因C2英语徐清C6VB张军学号课程号S2C4S4C4S6C4S6C2S4C4S8C61.9.2函数依赖概念什么是函数依赖:是指关系中属性之间取值的依赖情况。假设关系R(A,B,C)中,当A有一取值时,便唯一对应一个B值和C值,则称B和C依赖于A,或称A决定了B或C,记为A->B,A->C这里的属性A实际上就是关系R的主键,主键取值不允许为空,也不允许重复。1.9.2函数依赖概念关系中可能存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论