笛卡尔积运算_第1页
笛卡尔积运算_第2页
笛卡尔积运算_第3页
笛卡尔积运算_第4页
笛卡尔积运算_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

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

文档简介

知识类型:理论二级所占分值:约8分课时:4学时参考书目:《数据库系统及应用》

梁树军张建伟

中国电力出版社在人们的周围有各种各样的数据库系统在运行。当人们买飞机票、领发工资、查资料、买卖股票时都需要与数据库打交道。数据库系统已成为人们提高工作效率和管理水平的重要手段,已成为企业提高竞争力有力武器。那么,什么是数据库系统?它是如何构成如何工作的呢?我们怎样才能成功开发出一个高性能的数据库系统呢?走进信息时代--信息大爆炸20世纪科技迅速发展。1946年第一台电子计算机诞生,之后,工作、生活、学习各方面发生了巨大的变化。社会信息量急剧膨胀(企业信息,政府信息,科研信息),信息大爆炸已成为众所皆知的事实。信息已成为与材料、能源同等重要甚至更加重要的战略性资源。离开了信息人们将无所适从。人们迫切需要提高效率和管理水平,加强信息处理的效率。数据(Data)与数据处理(DataProcessing):

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据:数据的内涵相当广泛。它是指一切用于描述事物的符号记录,包括:数字、文字、图形、图像、声音、动画、视频、表格记录等。为简便起见,本课程将数据于信息不作区分。数据库中的数据具有以下特征:(1)数据受数据类型和取值范围的约束。(2)数据有“型”和“值”之分。(3)数据有定性表示和定量表示之分。(4)数据具有载体和多种表现形式。数据(Data)与数据处理(DataProcessing):

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据处理:

是指对数据的收集、组织、整理、加工、存储和传播等工作。电子数据处理:用电子计算机进行的数据处理称为电子数据处理(ElectronicDataProcessing),简称为EDP(1)数据管理:(2)数据加工:(3)数据传播:

是数据处理的核心和基础.数据库(Database,DB)

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据库是长期存储在计算机内、有组织的和可共享的数据集合。数据库中数据的特点:

数据库中数据的特点是“集成”和“共享”,即数据库中集中了各种应用的数据,进行统一的构造和存储,而使它们可被不同应用程序所使用。

数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。数据库管理系统(DBMS)

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据库管理系统(DatabaseManagementSystem,DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。它位于应用程序和操作系统中间,是整个数据库系统的核心。常用的DBMS:小型的数据库管理软件:

只具备数据库管理系统的一些简单功能,如

Foxpro和

Access等。

严格意义上的DBMS系统:

具备其全部功能,包括数据组织、数据操纵、数据维护、控制及保护和数据服务等。如ORACLE、PowerBuilder、SQLServer等可以把数据库看成是一个仓库,在仓库里存放着数据。把数据库管理系统看成仓库的保管员,负责数据的搬进、整理和搬出。

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统仓库保管员数据库管理系统具体地说,这个保管员要:检查仓库的数据是否被允许(数据的定义问题),如何摆放最好(数据的结构问题),如何更快找到用户需要的数据并提取出来(数据的操纵问题)数据如何不被坏人提走(数据的安全性问题)如何处理多个人同时来提货(并发控制问题)

当多个人同时来提货时,为了提高效率那么就可以一次拿几张单子,顺路把需要的数据都取出来.

保管员所做的事情正是数据库管理系统需要做的事情。为完成数据库管理系统的功能,数据库管理系统提供了相应的数据语言(DataLanguage)

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据定义语言(DDL):

DataDefinitionLanguage_DDL,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言(DML):DataManipulationLangugge_DML),该语言负责数据的操纵,包括查询及增加、删除及增加、删除、修改等操作;数据控制语言(DCL)

DataControlLanguage_DCL),该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据库管理系统DBMS数据库DB数据记录若干数据的集合记录的集合为用户提供一个建立、维护和使用数据库的环境能被计算机存储和处理的反映客观实体信息的物理符号数据库系统(DBS)

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统数据库系统(DatabaseSystem,DBS)是以数据库为核心的完整的运行实体。它由以下五部分组成:数据库(DB)数据库管理系统(DBMS)数据库管理员(DatabaseAdministrator,DBA):对数据库进行规划、设计、维护和监视等工作的人员。

系统硬件平台:

计算机、网络等硬件配置。系统软件平台:

操作系统、DBS开发工具(程序设计语言)及接口软件。硬件数据库系统的要素组成DatabaseOSDBMS应用开发工具应用程序DBA用户用户用户应用程序员数据库系统层次结构图应用系统应用开发工具软件数据库管理系统操作系统硬件/数据库数据库用户数据库系统的构成结构相互有关联关系的数据的集合DBDBMS管理数据库的系统软件DBA完成某一功能的应用程序1应用程序2应用程序nDBAP1DBAP2DBAPnComputerSystem数据库应用系统(DBAS,DatabaseApplicationSystem)

5.1数据库系统的基本概念5.1.1数据库、数据库管理系统、数据库系统由数据库系统、应用软件、应用界面组成。应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工具所书写而成,而应用界面大多由相关的可视化工具开发而成。数据库数据库管理系统应用程序1应用程序2应用程序3应用程序n用户1用户2用户m数据库系统数据记录••••••数据管理的三个阶段

5.1数据库系统的基本概念5.1.2数据库系统的特点人工管理、文件系统和数据库技术等3个阶段(考点)1)人工管理阶段:50年代中期(1)数据不保存:没有磁盘,无法保存数据(2)由应用程序管理数据:没有操作系统(3)数据不共享:即使两个不同应用涉及到相同的数据,也必须各自定义,无法互相利用、互相参照。

(4)数据不具有独立性:数据无法独立于程序,它是程序的组成部分数据管理的三个阶段

5.1数据库系统的基本概念5.1.2数据库系统的特点人工管理、文件系统和数据库技术等3个阶段(考点)2)文件系统阶段(50年代后期~60年代中期)数据实现共享数据仍存在相当程度的冗余数据管理的三个阶段

5.1数据库系统的基本概念5.1.2数据库系统的特点人工管理、文件系统和数据库技术等3个阶段(考点)3)数据库系统阶段(60年代后):数据共享度高、冗余度小人工管理阶段文件系统阶段应用程序1应用程序2应用程序n数据库系统阶段数据1数据2数据n文件系统物理文件1物理文件2物理文件n数据库管理系统数据库2.数据库系统的特点(考点)

(1)数据的集成性5.1数据库系统的基本概念5.1.2数据库系统的特点在DBS中按照多个应用的需要,采用统一的数据结构方式,建立数据间的语义联系,组织全局的统一的数据结构(即数据模式),从而构成一个内在紧密联系的数据整体。而每个应用的数据则是全局结构的一部分,称为局部结构(即视图).(2)数据的高共享性与低冗余性数据的集成性使数据可为多个应用程序共享,数据的共享又极大地减少数据冗余(数据冗余度小是指重复的数据少),减少不必要的存储空间,避免数据的不一致性。所谓数据的不一致性指的是同一数据出现在不同的数据文件中,被系统的不同应用程序使用而造成不同的值。2.数据库系统的特点(考点)

(1)数据的集成性5.1数据库系统的基本概念5.1.2数据库系统的特点(2)数据的高共享性与低冗余性(3)数据独立性:指程序与数据互不依赖。物理独立性:逻辑独立性:数据的物理存储结构总体逻辑结构与程序相互独立,其改变不需修改应用程。2.数据库系统的特点(考点)

(1)数据的集成性5.1数据库系统的基本概念5.1.2数据库系统的特点(2)数据的高共享性与低冗余性(3)数据独立性(4)数据统一管理与控制:数据完整性检查:数据的安全性保护:并发控制:数据恢复:(5)为用户提供了友好的接口1.数据库系统的三级模式

5.1数据库系统的基本概念5.1.3数据库系统的三级模式结构和两级映射概念模式:

是数据库中全体数据的逻辑结构和特征的描述。一个数据库只有一个概念模式,它与具体硬件、软件环境无关。外模式(用户模式):

用户所见到的数据模式,即用户数据视图。是数据库局部数据的逻辑结构和特征的描述。一个概念模式可以有若干个外模式。内模式(物理模式):

给出了数据库的物理存储结构与物理存取方法,即数据在数据库内部的表示方式。一个数据库只有一个内模式。三级模式图内模式(物理数据库)数据库概念模式(概念数据库)应用应用应用外模式(用户数据库)外模式(用户数据库)外模式(用户数据库)数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。1.数据库系统的三级模式

5.1数据库系统的基本概念5.1.3数据库系统的三级模式结构和两级映射三级模式总结外模式:最外层,反映用户对数据的要求。概念模式:中层,反映设计者的全局数据逻辑要求。内模式:最低层,反映了数据在计算机物理结构中的实际存储形式。三级模式划分意义:有利于保持数据库的数据独立性2.数据库系统的两级映射

5.1数据库系统的基本概念5.1.3数据库系统的三级模式结构和两级映射(1)概念模式到内模式:定义了数据的全局逻辑结构与数据的物理存储结构间的对应关系.(2)外模式到概念模式:定义了外模式与概念模式的对应关系。每个外模式是概念模式的一个基本视图。DBS三级模式两层映射结构图应用A应用B应用C应用D外模式1外模式2外模式3概念模式内模式数据库外模式/概念模式映射概念模式/内模式映射2.数据库系统的两级映射

5.1数据库系统的基本概念5.1.3数据库系统的三级模式结构和两级映射

两级映射一般由DBMS实现保证了数据库系统中数据的逻辑独立性和物理独立性,使用户能以逻辑方式方便地访问数据库中的数据,而不必关心数据在计算机中的具体表示方式与存储方式。5.1数据库系统的基本概念补充习题

(1)数据库系统的核心是______。A.数据模型B.数据库管理系统

C.软件工具D.数据库(2)下列叙述中正确的是______。A.数据库是一个独立的系统,不需要操作系统的支持

B.数据库设计是指设计数据库管理系统

C.数据库技术的根本目标是要解决数据共享的问题

D.数据库系统中,数据的物理结构必须与逻辑结构一致(3)下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。A.内模式B.外模式C.概念模式D.逻辑模式(4)下述关于数据库系统的叙述中正确的是______。A.数据库系统减少了数据冗余

B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型的一致

D.数据库系统比文件系统能管理更多的数据5.1数据库系统的基本概念补充习题

(5)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。A.数据库系统B.文件系统

C.人工管理D.数据项管理(6)下列有关数据库的描述,正确的是______。

A.数据库是一个DBF文件

B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件(7)单个用户使用的数据视图的描述称为______。

A.外模式B.概念模C.内模式D.存储模式

5.1数据库系统的基本概念补充习题

(8)数据独立性是数据库技术的重要特点之一,所谓数据独立性是指___。(05.4)

A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使D.以上三种说法都不对(9)下述说法中没有体现数据库系统特点是_____。

A.数据面向应用程序B.数据结构化

C.数据冗余小D.数据共享性高(10)数据库系统的三级模式分别为______模式、内部级模式与外部级模式。(11)数据的物理结构(包括存储结构、存取方式等)的改变都不影响数据库的逻辑结构,从而不致于引起应用程序的变化,这是指数据的————。

5.2概念模型与数据模型利用模型对事物进行描述是人们在认识改造世界过程中广泛采用的一种方法,如汽车、飞机模型等。模型:

是对客观世界中复杂对象的描述。

例如,在军事上使用沙盘描述战场实况;在建筑上用外貌图、平面图和侧面图描述一个建筑物的外部特征和内部结构。5.2.1模型

5.2概念模型与数据模型模型可更形象直观揭示事物的本质特征,使人们对事物有一个更全面深入的认识,从而帮助人们更好地解决问题。是否在进行数据库系统设计时也可以利用模型来帮助我们完成工作呢?如果可以,我们利用何种模型呢?5.2.1模型如同在建筑设计和施工的不同阶段需要不同的图纸一样,在实施数据库应用中也需要使用不同的数据模型。

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型模型的分类:概念模型(信息模型)逻辑模型(数据模型)物理模型物理模型是对数据最低层的抽象,它描述数据在磁盘或磁带上的存储方式和存取方法。从概念模型到逻辑模型的转换是由数据库设计人员完成的,从逻辑模型到物理模型的转换是由DBMS完成的,一般人员只需要了解逻辑模型就行了。

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型为了能把现实世界的具体事物抽象组织为某一个DBMS支持的数据模型,首先需要对这一管理活动所涉及到的各种资料数据及其关系有一个全面的清晰的认识,并通过采用概念模型来描述。概念模型是现实世界到机器世界的中间层次。客观世界的抽象过程

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型模型分两个不同的层次。第一种是概念模型,也称信息模型,是按用户的观点对数据和信息建模。另一种是数据模型。数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。

数据模型是数据库系统的核心和基础。各种DBMS软件都是基于某种数据模型。

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型任何一种数据模型一般都是严格定义的概念的集合。这些概念必须能准确是描述系统的静态特征、动态特征和完整性约束条件。数据模型由数据结构、数据操作和完整性约束三个要素组成。数据模型三要素:

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型数据结构数据结构用于描述数据的静态特征。数据结构是所研究的对象类型的集合,是刻画一个数据模型最重要的方面。通常可以按数据结构的类型来命名数据模型,可分为:网状模型、层次模型、关系模型、面向对象模型。数据模型三要素:

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型数据操作数据操作用于描述数据的动态特征。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须准确地定义这些操作的确切含义、操作符号、操作规则(优先级)以及实现操作的语言。数据模型三要素:

5.2.1模型5.2概念模型与数据模型5.2概念模型与数据模型数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。如:年龄小于38,学生不及格课程少于3门。数据(逻辑)模型的分类

1)层次模型:层次模型的结构是树型结构。树中的每个结点代表一种记录类型,这些结点满足如下规律:有且仅有一个结点无双亲(根结点),其它结点有且仅有一个双亲结点。2)网状模型:以记录型为结点的网络,反映现实世界事物间复杂的联系。一个结点可以有多个双亲结点;多个结点可以无双亲结点。

有层次模型、网状模型、关系模型、面向对象模型等。5.2.1模型5.2概念模型与数据模型层次模型网状模型关系模型的结构学号姓名性别年龄籍贯9801张明男20江苏9802刘红女19山东9803王明女20北京9839张立男18陕西学生人事记录表关系名关系元组(行)属性(列)主码男女域分量关系模式:学生(学号、姓名、性别、年龄、籍贯)属性名数据模型比较(1)层次模型网状模型关系模型面向对象模型定义满足:(1)只有一个结点没有双亲结点,称为根结点;(2)根以外的其它结点有且只有一个双亲结点允许有一个以上的结点没有双亲结点;允许结点有多个双亲结点,此外,还允许两个结点之间有多种联系。一个列不可再分的二维表。支持类、对象、继承等概念的数据模型。实例行政机构、家族关系广泛存在学生、课程学生类数据模型比较(2)层次模型网状模型关系模型面向对象优点1.简单,命令少,易操纵。2.实体间联系固定的应用系统,层次模型性能优于关系模型,不次于网状模型。3.良好完整性支持1.能更直接地描述现实世界。2.具有良好性能,存取效率高。1.建立在严格数学概念基础上。2.概念单一数据结构简单清晰。3.存取路径透明,数据独立性更高。存储数据和操作。能定义嵌套结构。很强的模型扩展能力。节省开销。缺点表示非层次性不利。插入删除限制较多。查询子女结点须通过双亲结点。命令趋于程序化。其DDL语言极其复杂。数据独立性差。查询效率不如非关系型,需要对查询优化。技术尚不成熟,无完全支持的DBMS产品。

5.2.2E-R模型与E-R图

E-R模型是一种广泛使用的概念数据模型,该模型将现实世界的要求转化成实体、联系、属性等几个基本概念,并可用E-R图直观地表示出来。5.2概念模型与数据模型

客观存在并可相互区别的事物。一个学生、一个部门、学生的一次选课。(1)实体(Entity)

实体所具有的某一特性,一个实体可以由若干个属性值来描述。如学生实体可以由“学号、姓名、性别、出生日期”等属性的属性值(20061001,张三,男,1988-5-6)来描述。(2)属性(Attribute)5.2概念模型与数据模型1.E–R模型中的有关概念

5.2.2E-R模型与E-R图

5.2.2E-R模型与E-R图

1.E–R模型中的有关概念

(3)实体型(EntityType):用实体名及属性名集合来抽象和描述同类实体。例如,学生(学号、姓名、性别、出生年月、系、入学时间)(4)实体集(EntitySet):

同种实体的集合。全体学生就是一个实体集。

5.2概念模型与数据模型

5.2.2E-R模型与E-R图

1.E–R模型中的有关概念

(5)码(key)

码是能唯一标识实体的属性。任意两个同类的实体不可能有相同的码.如学生学号可作为学生实体的码,人的身份证号可作为人实体的码.(6)域(domain)

属性的合理取值范围。性别属性的域为(男、女),成绩属性域为0到1505.2概念模型与数据模型

5.2.2E-R模型与E-R图

1.E–R模型中的有关概念

(7)联系(ralation):

联系是现实世界中普遍存在的。在信息世界中,它反映为实体内部和实体之间的联系。实体内部联系通常是指组成实体的各属性之间的联系,如出生年份和年龄,总成绩和各科成绩。两实体型之间的联系可分为三类:一对一,一对多,多对多5.2概念模型与数据模型

5.2.2E-R模型与E-R图

1.E–R模型中的有关概念

(7)联系:现实世界中事物间的联系。

一对一:简记1:1A中一个实体至多同B中的一实体相联系B中的一个实体也至多同A中的一个实体相联系

一对多:

简记1:mA中一个实体同B中多个实体相联系B中的一个实体只可同A中一个实体相联系

多对多:

简记m:nA中一个实体同B中多个实体相联系B中的一个实体可同A中多个实体相联系

学校↓↑校长班级↓↑学生老师↓↑学生5.2概念模型与数据模型

5.2.2E-R模型与E-R图

1.E–R模型中的有关概念

5.2概念模型与数据模型(7)联系:现实世界中事物间的联系。

三种联系的关系一对一联系是一对多联系的特例,一对多联系是多对多联系的特例。两个以上的实体型之间同样存在一对一、一对多和多对多联系。如教师、课程、参考书。同一实体集内各实体之间也存在一对一、一对多和多对多联系。如职工实体集中存在领导与被领导关系1:n。

5.2数据模型5.2.2E-R模型与E-R图

2.E–R模型的图示法在E–R图中,用不同的几何图形表示E–R模型中的三个概念与两个联接关系。三个概念:实体、属性和联系。

5.2数据模型5.2.2E-R模型与E-R图

2.E–R模型的图示法(1)实体集:用矩形表示,矩形内写上实体集的名字。(2)属性:用椭圆形表示属性,其内写上属性名称。(3)联系:用菱形表示联系,其内写上联系名。(4)实体集(联系)与属性间的联接关系:用无向线段表示.(5)实体集与联系间的联接关系:用无向线段表示,在线上标注联系类型(1:1、1:n、n:m)。

实体名联系名属性名1:1模型E-R模型

学生学号姓名年龄校园卡拥有11性别卡号学号部门1:n模型E-R模型

学生学号姓名年龄班级班号班主任属于n1性别班长m:n模型E-R模型

学生学号姓名年龄课程课号课名选修nm性别学分学时两个不同型实体间的联系两个以上实体间的多元联系施行社和景点及游客三个实体间存在三元联系两个不同型实体间的多种联系

职工与工程间,一个职工可以参加多个工程,一个工程可以有多个职工参加,同时一个工程由一个职工负责,一个职工可以负责多个工程。同一实体内部个体间的二元联系ER图的设计方法

大体应遵两条原则:①针对每一用户作出该用户信息的局部ER图,确定该用户的实体、属性、联系。注意,能作为属性的就不作为实体,利于简化ER图。②综合局部ER图,生成总体ER图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以消除冗余。一个系统的ER图不是惟一的,强调不同的侧面作出的E-R图可能有很大不同。ER图综合实例1.在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,画出该系统的E-R(概念)模型。课程管理ER图(1)实体属性图(画二个,其余略)

班级学生出生日期性别姓名学号所属系班级号课程管理ER图(2)实体及联系图如下组成选修课程班级学生mn11nmn讲授参考书教师成绩ER图综合实例2.在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理.画出该物资管理系统的E-R图。物资管理ER图(1)实体及属性图略(2)实体及联系图如下仓库职工工作1nn个工人工作在一个仓库仓库零件存放mn1个仓库可以存放n种零件1种零件可以存放于m个仓库分步解析:物资管理ER图仓库员工工作1n保管零件mn供应商供应mn项目p领导n11个供应商可以提供n种零件1种零件可由n个供应商提供1个供应商可以供应n个项目1个项目可由p个供应商提供1种项目需要n种零件1种零件被用于p个项目1个工人只能从属1个领导1个领导可以领导n个工人ER图综合实例3.学校有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授各带若干研究生。每个班级有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。用E-R图画出该校的概念模型。作业学校ER图系部学生教研室教员班级课程选修组成组成组成组成讲授1m1111mmmmmmn指导mn成绩学生管理系统的E-R模型5.3关系数据库5.3.1关系数据模型定义:用关系(表格数据)表示实体和实体之间联系的模型称为关系模型。关系就是二维表格。

关系数据库是基于关系数据模型的数据库。特点之一是很多数学理论可以表示关系模型的数据操作。学号姓名选修课程任课教师060123101张一软件工程冯平060123102王二计算机原理王松060123103李三软件工程冯平060123104陈四C语言张文学生选课登记表5.3关系数据库5.3.1关系数据模型相关术语:元组(记录):表格中每一行称作一个元组,也称为记录。关系是元组的集合(一个表由若干个记录组成)。分量:

元组中每一个属性值称为元组的一个分量,一个元组是由n个元组分量组成。(表中的列而言)n元关系:每一列是一个属性,列名为属性名。如果表格有n列(n个属性),该关系是n元关系。候选键(码):在众多的属性中,可唯一标识元组的属性或属性集合叫候选键或码.域:属性的取值范围5.3关系数据库5.3.1关系数据模型关系的直观概念概括表(Table),也称关系

列(Field),也称字段、分量或者属性

行(Row),也称元组、记录

码(Key),也称主键关系模式:对关系的描述关系模式表示:关系名(属性1,属性2,属性3……)5.3关系数据库5.3.1关系数据模型关系应满足性质:(l)表格中的每一列都是不可再分的,每行和每列的相交点仅包含单个值;(2)任何列中的值必须是同一类型的,各列被指定一个相异的名字;(3)各行相异,不允许重复;(4)行、列次序均无关。关系性质1——同质的列学号姓名性别年龄曾用名9901张三男20张狗子9902李四女18李朋王五9903119王麻子9904赵六21981/2/28赵薇关系性质2—不同的属性名学号姓名性别年龄姓名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵薇姓名2曾用名关系性质3—属性无序学号姓名性别年龄曾用名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵薇学号姓名曾用名性别年龄9901张三张狗子男209902李四李朋女189903王五王麻子男199904赵六赵薇女20关系性质4—元组不重复学号姓名性别年龄姓名9901张三男20张狗子9902李四女18李朋9903王五男19王麻子9904赵六女20赵薇9901张三男20张狗子重复的元组重复的元组!关系性质5—元组无序学号姓名性别年龄9901张三男209902李四女189903王五男199904赵六女20学号姓名性别年龄9904赵六女209901张三男209903王五男199902李四女18关系性质6—分量是原子父母孩子李男王男丁女肖女李一李二王一父母孩子大小李男王男丁女肖女李一王一李二父母孩子李男李男王男丁女丁女肖女李一李二王一父母大孩小孩李男王男丁女肖女李一王一李二非规范化关系规范化关系关系数据库模式例整个数据库某关系的结构某关系的实例5.3关系数据库5.3.2关系代数1.关系模型基本操作(四种):插入:在关系中增添一些元组(记录)删除:在关系中删除一些元组(记录)修改:对关系中的某些元组(记录),修改其属性值。查询:在一个关系或多个关系间做查询,查询的结果也为关系2.关系运算定义:

以集合代数运算方法对关系进行数据操作。5.3关系数据库5.3.2关系代数2.关系运算定义:

以集合代数运算方法对关系进行数据操作。三要素:运算对象、运算符和运算结果分类:传统的集合运算:完全把关系看作元组集合。有并运算、交运算和差运算。专门的关系运算:选择、投影、连接和除运算。5.3关系数据库5.3.2关系代数2.关系运算(1)并运算U:

R∪S,

R和S是同类型关系,结果也是关系,其元组由R元组、S元组组成(去除重复元组)。学号姓名成绩张云80

李风70学号姓名成绩张云803王民90学号姓名成绩张云80

李风703王民90RST=RUSSR∪5.3关系数据库5.3.2关系代数2.关系运算(2)差运算-:

R-S,R和S的差是由属于R但不属于S的元组构成的集合。

学号姓名成绩张云80

李风70学号姓名成绩张云803王民90学号姓名成绩2李风70RST=R-SR-S5.3关系数据库5.3.2关系代数2.关系运算(3)交运算∩:

R∩S,所得是由那些既在R内又在S内的有序元组所组成。

学号姓名成绩张云80

李风70学号姓名成绩张云803王民90学号姓名成绩张云80RST=R∩

SR∩S5.3关系数据库5.3.2关系代数2.关系运算(4)笛卡尔积运算(×)对于两个关系的合并操作可以用笛卡尔积表示。设有n元关系R及m元关系S,分别有p、q个元组,关系R与S经笛卡尔积记为R×S:这是一个n+m元关系,元组个数是p×q,由R与S的有序组组合而成。

即在新关系中:列数:两个源关系中列之和行数:两个源关系中行数的乘积

R×S笛卡尔积运算举例关系R、SRSR1R2R3S1S2adgbehCfi135246T=R

SR1R2R3S1S2aaadddgggbbbeeehhhcccfffiii135135135246246246传统集合运算例题ABCa1b2c2a2b2c1R×SR—SR∩SR∪SABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSABCABCa1b1c1a1b2c2a1b1c1a1b3C2a1b1c1a2b2C1a1b2c2a1b2c2a1b2c2a1b3C2a1b2c2a2b2C1a2b2c1a1b2c2a2b2c1a1b3C2a2b2c1a2b2C1ABCa1b1c1ABCa1b1c1a1b2c2a1b3c2a2b2c15.3关系数据库5.3.2关系代数2.关系运算(5)投影运算(π)就是从关系中取出若干属性,组成一个新关系。记作:πx

(R)={t[X]|t∈R}X为R中的属性

例如:对学生选课登记表进行查询,查询出学生姓名与选修课程的对应关系,就可利用投影操作,得到满足要求的结果关系。姓名选修课程张一软件工程王二计算机原理李三软件工程陈四C语言学号姓名选修课程任课教师060123101张一软件工程冯平060123102王二计算机原理王松060123103李三软件工程冯平060123104陈四C语言…张文举例:对学生选课登记表查询,查询学生和选修课程对应关系投影运算Π姓名,选修课程(学生选课登记表)5.3关系数据库5.3.2关系代数2.关系运算(6)选择运算(σ)在关系中选取满足给定条件的所有元组:

σF(R)={t|t∈R∧F(t)=‘真’}

,F为条件表达式

举例:对学生选课登记表查询,查询所有选修”软件工程”的学生。举例:对学生选课登记表查询,查询所有选修”软件工程”的学生。学号姓名选修课程任课教师060123101张一软件工程冯平060123103李三软件工程冯平学号姓名选修课程任课教师060123101张一软件工程冯平060123102王二计算机原理王松060123103李三软件工程冯平060123104陈四C语言…张文选择运算σ选修课程=“软件工程”(学生选课登记表)

学号姓名性别年龄所在系070211201张一男18信息对抗070211202王二男19信息对抗070211203李三女17信息对抗070211204陈四女18信息对抗070211301王二男19探测制导070211302李三女17探测制导070211303陈四女18探测制导举例:对学生表查询,查询年龄等于18岁的女生δ年龄=18∧性别=“女”(学生表)学号姓名性别年龄所在系070211204陈四女18信息对抗070211303陈四女18探测制导学号姓名性别年龄所在系070211201张一男18信息对抗070211202王二男19信息对抗070211203李三女17信息对抗070211204陈四女18信息对抗070211301王二男19探测制导070211302李三女17探测制导070211303陈四女18探测制导举例:查询学生表中年龄小于19岁的学生的姓名及所在系:П

姓名,所在系(δ年龄<19(学生表))姓名所在系张一信息对抗李三信息对抗陈四信息对抗李三探测制导陈四探测制导5.3关系数据库5.3.2关系代数2.关系运算(7)自然连接:

将两个具有公共属性的关系,按公共属性值相等的条件连接成一新的关系,并在结果中将重复的值去掉。R∞S={tr

ts|tr∈R∧ts∈S∧tr[A]=ts[B]}学号姓名选修课程任课教师060123101张一软件工程冯平060123102王二计算机原理王松060123103李三软件工程冯平060123104陈四C语言张文学号成绩06012310190060123102950601231038606012310488学号姓名选修课程任课教师成绩060123101张一软件工程冯平90060123102王二计算机原理王松95060123103李三软件工程冯平86060123104陈四C语言张文88上面两个关系都具有公共属性”学号”,则连接结果如下:ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RSABCEa1b153a1b267a2b3810a2b382R∞S练习:用关系代数完成操作对三个关系模式:

学生(学号,姓名,性别,年龄,所在系),

课程(课程号,课程名,先导课程,学分),

选修(学号,课程号,成绩),1.查询张红的年龄。2.查询李明同学不及格的课程名称。3.查询选修了“计算机网络”的学生姓名。4.查询“计算机网络”成绩在90分以上的学生姓名。5.查询至少选修了2号课程和8号课程的学生姓名。略5.Π姓名(δ课程号=2∧课程号=8(选修))∞学生)1.Π年龄(δ姓名=“张红”(学生))成绩管理数据库例:在一个学生课程关系数据库中,包括学生关系表,课程关系表,选修关系表,数据结构如下:1.学生(学号,姓名,性别,年龄,所在系)2.课程(课程号,课程名,先导课程,学分)3.选修(学号,课程号,成绩)略5.3关系数据库5.3.3由E-R图导出关系模型定义:根据实体及其联系模型生成数据库中的表,并确定表的列。

规则:每个独立实体转换为一个关系,即二维表,然后根据E-R图中各实体联系方式的不同,用不同的方法实现关系之间的联系。举例:一个实体E-R模型转换为关系表学生实体E-R图

学生关系表出生日期性别姓名学号表中的列就是E-R图中实体所具有的属性转换5.3关系数据库5.3.3由E-R图导出关系模型两个实体的E-R图,三种不同联系方式的E-R图转换

(1)一对一联系:两个实体集转换为关系,在两实体对应的任一关系中多设一个属性作为外键(此外键是与之关联的实体的主键)。

5.3关系数据库5.3.3由E-R图导出关系模型两个实体的E-R图,三种不同联系方式的E-R图转换

举例:两个实体:一对一联系

实体:系属性:系编号、系名字、系性质

E-R图系系编号系名字系性质系主任年龄姓名

实体:系主任属性:年龄、姓名5.3关系数据库5.3.3由E-R图导出关系模型两个实体的E-R图,三种不同联系方式的E-R图转换

举例:两个实体:一对一联系

实体:系属性:系编号、系名字、系性质

E-R图系系编号系名字系性质系主任年龄姓名

实体:系主任属性:年龄、姓名拥有11导出系(系编号,系名字,系性质)系主任(系编号,年龄,姓名)关系5.3关系数据库5.3.3由E-R图导出关系模型两个实体的E-R图,三种不同联系方式的E-R图转换

举例:两个实体:一对一联系系系编号系名字系性质系主任年龄姓名拥有11系(系编号,系名字,系性质)系主任(系编号,年龄,姓名)即(1)一对一联系:两个实体集转换为关系,在两实体对应的任一关系中多设一个属性作为外键(此外键是与之关联的实体的主键)。

5.3关系数据库5.3.3由E-R图导出关系模型两个实体的E-R图,三种不同联系方式的E-R图转换

(2)一对多联系:两个实体集转换为关系,把“一”方实体的主键纳入“多”方实体对应的关系中作为外键,若联系包含属性,则将属性也纳入“多”方实体对应的关系中。系系编号系名字系性质教师年龄性别姓名拥有1n系(系编号,系名字,系性质)教师(系编号,年龄,性别,姓名)导出5.3关系数据库5.3.3由E-R图导出关系模型两个实体的E-R图,三种不同联系方式的E-R图转换

(3)多对多联系:两个实体集转换为关系,再为联系单独建立一个关系。该关系中包含联系双方实体的主键。

学生学号姓名班级课程编号名称学分选修mn学生(学号,姓名,班级)课程(编号,名称,学分)选修(学号,编号,成绩)导出成绩新关系包含了两个多对多实体的主键及其联系属性

5.3关系数据库5.3.4关系数据库规范化理论一个数据库应用系统往往涉及到多方面的复杂的数据信息。例如,在学生管理信息系统中,要涉及到学生、院系、宿舍、课程、成绩等数据。再例如,在产品销售数据库中设计到产品、类别、仓库、销售单、销售明细单等数据。如何将所涉及到的数据组织存入到数据库中?是放在一个表中存放还是分放在几个表中存放?每个表应由哪些属性组成?怎样设计才是科学合理的呢?解决之法是用RDB设计理论:规范化理论例如:产品报价数据库5.3关系数据库5.3.4关系数据库规范化理论

建立一个关系数据库系统,首先要考虑怎样建立数据模式,即应该构造几个关系模式,每个关系模式中需要包含哪些属性等,这是数据库设计的问题。关系规范化主要讨论的就是建立关系模式的指导原则,所以有人把关系数据库规范化理论称为设计关系数据库的规范化理论。5.3关系数据库5.3.4关系数据库规范化理论1.关系模型的完整性规则定义:是对关系的某种约束条件,通过三类完整性约束条件描述。

(1)实体完整性:关系中的主关键字不能为空。如学生关系中的“学号”属性值不能为空。(一个关系对应现实世界的一个实体集,关系中每个元组对应一个实体。实体都具有唯一性标识。)实体完整性示例学号课程号成绩9901990199029903C1C2C2C390807080学号姓名年龄性别所在系9901990299039904张三李四王五赵六20181920男女女男计算机计算机计算机计算机主关键字不能为空5.3关系数据库5.3.4关系数据库规范化理论1.关系模型的完整性规则(2)参照完整性:关系中外关键字的取值,只能是空值或外键对应关系的主键值。外键:A是关系R中一属性,同时又是关系S主键,A为R外键例:学生(学号,姓名,年龄,性别,专业号)专业(专业号,专业名称)“学号”是关系“学生”中的主关键字,输入时值不能为空。

“专业号”是关系“专业”的主键,是关系“学生”种的外键:空值:表示尚未给该学生分配专业非空值:必须是目标关系-“专业”关系中某个元组的“专业号”值(1)实体完整性:参照完整性例学号姓名所在系9901990299039904张三李四王五赵六计算机计算机计算机计算机课程号课程名学时数C01C02C03C04高等数学数据结构操作系统数据库100708060学号课程号成绩99019901990299049904C01C02C04C04C039080908570学生关系课程关系学习成绩关系外键外键主键主键职工号部门编号姓名…9801980298039804980501010203张三李四王五赵六钱七部门编号部门名称…01020304经理办公室人事部公关部技术部职工表(R2)部门表(R1)主键外键参照完整性例外键的取值,只能是空值或外键对应关系的主键值。5.3关系数据库5.3.4关系数据库规范化理论1.关系模型的完整性规则(2)参照完整性:(1)实体完整性:(3)用户定义完整性:

通常定义除主关键字与外关键字之外的其他属性取值的约束。前两种是任何关系数据库系统应满足的数据约束条件。用户定义完整性是用户定义具体数据库时,由具体应用环境来决定应满足的约束条件。

例:性别(男,女)成绩(0~100)或(0-150)课程学分(1~3)用户定义的完整性5.3关系数据库5.3.4关系数据库规范化理论2.函数依赖

数据依赖在关系模式中广泛存在,影响巨大。恰当的数据依赖是必要的。但不必要的数据依赖会对关系模式产生不好的影响。进行数据库设计时要深入分析数据间的依赖。数据依赖:限定组成关系的各元组必须满足的完整性约束条件。如属性的取值范围;或者属性值间的相互关联(即数据依赖)。5.3关系数据库5.3.4关系数据库规范化理论2.函数依赖

关系模式中的数据依赖有多种,比较重要的是函数依赖、多值依赖、连接依赖。函数依赖:关系模式中属性间的普遍存在函数依赖。例:学生(学号,姓名,性别,年龄,所在系)

该关系模式中存在以下函数依赖:

学号—>姓名,学号—>性别,学号—>所在系。多值依赖:一门课由多个老师上,使用同一套参考书。连接依赖:关系与关系间往往存在联系。学校关系模式的函数依赖学号系主任名成绩所在系系主任名如学校数据库模式:一个系有若干学生,一个学生只属于一个系;一个系只有一个系主任;一个学生可以选修多门课程,每门课程有若干同学选修;每个学生所学的每门课程都有成绩。假设学校数据库模式仅由一个表构成。

学生(学号,所在系,系主任名,课程名,成绩)关系中存在的数据依赖为:函数依赖对关系模式的影响关系模式:学生(学号,所在系,系主任名,课程名,成绩)存在一些问题:(1).数据冗余太大:所在系,系主任名,课程名重复保存。(2).更新异常。(3).插入异常。(4).删除异常。为什么会出现这些问题呢?因为存在不合适的数据依赖!5.3关系数据库5.3.4关系数据库规范化理论2.函数依赖函数依赖:

一个关系模式中,如果某个属性组X的值确定,则其他属性的值唯一确定,称此属性组函数决定其他的属性。或称其他属性函数依赖于此属性组。记为X->Y5.3关系数据库5.3.4关系数据库规范化理论函数依赖的分类:(1)平凡的函数依赖:若X->Y,并且Y是X的子集。非平凡的函数依赖:若X->Y,并且Y不是X的子集。例如:成绩表(学号,课号,成绩)(学号,课号)→学号;平凡的函数依赖(学号,课号)→成绩;非平凡的函数依赖说明:(1)对任一关系模式,平凡函数依赖必然成立。(2)这里只讨论非平凡函数依赖。(3)非平凡函数依赖易产生问题。说明:(1)部分函数依赖易产生问题(2)完全函数依赖中,X为决定属性,Y为非决定属性5.3关系数据库5.3.4关系数据库规范化理论函数依赖的分类:(2)完全函数依赖:若X->Y,X的任意子集X’,都没有X’->Y部分函数依赖:若X->Y,并且存在X的子集X',有X'->Y

例如:完全函数依赖:课程号→教师部分函数依赖:(学号,课程号)→教师(3)若有X->Y,但没有Y->X,且有Y->Z,则X->Z成立,则称为Z传递函数依赖于X。例如:(学号,课号)→课号→成绩

5.3关系数据库5.3.4关系数据库规范化理论3.关系模型的范式:目的是构造好的数据库关系数据库中的关系要满足一定的要求,满足不同程度的要求为不同的范式。

规范化的理论是E.F.Codd首先提出的。他认为,一个关系数据库中的关系,都应满足一定的规范,才能构造出好的数据模式,Codd把应满足的规范分成几级,每一级称为一个范式(NormalForm)。例如满足最低要求,叫第一范式(1NF);在1NF基础上又满足一些要求的叫第二范式(2NF);第二范式中,有些关系能满足更多的要求,就属于第三范式(3NF)。后来Codd和Boyce又共同提出了一个新范式:BC范式(BCNF)。以后又有人提出第四范式(4NF)和第五范式(5NF)。范式的等级越高,应满足的条件也越严。

5.3关系数据库5.3.4关系数据库规范化理论3.关系模型的范式:各种范式之间的关系范式的等级越高,应满足的条件也越严5.3关系数据库5.3.4关系数据库规范化理论3.关系模型的范式:(1)第一范式:关系R中的每个属性(列)都是不可再分的,或每个属性的域都只包含单纯值,而不是一些值的集合,则称关系R满足第一范式。记为R∈1NF。

学号课程

1011{C++程序设计,软件工程}

1012{Access数据库,专业英语}例:下面的关系不符合第一范式:因为属性的域值可以拆分5.3关系数据库5.3.4关系数据库规范化理论3.关系模型的范式:(1)第一范式:学号课程

1011{C++程序设计,软件工程}

1012{Access数据库,专业英语}1.更新困难:如果1011同学想把选修课程改为{Access数据库,专业英语},则系统在处理上面临二义性:(1)修改1011记录的课程属性值(2)把学号属性值扩充为{1011,1012}2.插入困难:无法在此关系中加入“成绩”属性5.3关系数据库5.3.4关系数据库规范化理论3.关系模型的范式:(1)第一范式:第一范式的判断方法:

检查关系表中每个属性值是否都是不可再分解的最小数据单位。将非第一范式规范为第一范式的方法:依次检查每个属性的取值,如果是组合情况,即不是最小单位,就进行属性值的最小化拆分。学号课程

1011{C++程序设计,软件工程}

1012{Access数据库,专业英语}学号课程1011C++程序设计1011软件工程1012Access数据库1012专业英语转换为符合第一范式5.3关系数据库5.3.4关系数据库规范化理论3.关系模型的范式:(2)第二范式:若R∈1NF,并且每个非主属性都完全函数依赖于关键字,则称为是第二范式的模式,记为R∈2NF。例:R1(姓名,学号,年龄,课程编号,课程名),学号是候选关键字。请分析该关系数据库是否满足第二范式。姓名学号年龄课程编号课程名陈军00115C101数据管理技术陈军00115C102多媒体技术应用陈军00115C105人工智能初步……………分析:上表每个属性都是单纯值,满足第一范式非主属性“姓名”、“年龄”函数依赖于“学号”。(学号确定,则姓名、年龄唯一确定)非主属性“课程编号”、“课程名”函数不依赖于“学号”(一个学号多门课程编号、课程名)因为存在非关键字属性不依赖于候选关键字的情况,所以R1不满足第二范式。姓名学号年龄课程编号课程名陈军00115C101数据管理技术陈军00115C102多媒体技术应用陈军00115C105人工智能初步……………第二范式的判断方法(了解)找出一个关系(表)中的主键单个属性作为主键的情况比较简单,因为主键的作用就是能唯一标识表中的每一行,关系中的非主属性都能完全函数依赖于主键,这样的关系是第二范式。对组合属性作为主键的那些关系,通常要判断每一个非主键属性是否能完全函数依赖于主键,即完全由主键所决定。若每一个非关键字属性能被主键所决定,则是第二范式,否则,就不是。不符合第二范式的实例及缺点学生选课关系表:主键为:(学号,课号)学号姓名系系负责人课号成绩1011张红计算机刘超2013871011张红计算机刘超2011901012李丽电子王干201280插入异常:无法插入还未选课的,由于该学生无课号属性,其相应的码值一部分为空,故该学生的固有信息无法插入;删除异常:某学生只选了一门课,若现在要放弃这门课,由于课号是主键的一部分,整个记录必须删除,该学生的其他信息也删除了;修改复杂:若张红从计算机系转入动画系,必须修改系负责人,该生选修了多门课,要修改多条记录将不符合第二范式的变为符合第二范式实例学号课号成绩101120138710112011901012201280学号姓名系系负责人1011张红计算机刘超1012李丽电子王干学号姓名系系负责人课号成绩1011张茗计算机刘超2013871011张茗计算机刘超2011901012李丽电子王干201280将非第二范式规范为第二范式的方法1)将能完全依赖主键的属性从关系中提取出来,同主键一起组成一个关系如:SC(学号,课号,成绩)2)将剩余的属性同能完全依赖的主键的一部分组成一个关系

SD(学号,姓名,系,系负责人)补充习题讲解1.用树形结构来表示实体之间联系的模型称为______。

A.关系模型B.层次模型

C.网状模型D.数据模型2.下列说法中,不属于数据模型所描述的内容的是_____.A.数据结构B.数据操作

C.数据查询D.数据约束3.下面列出的数据模型中_____是概念数据模型.A.关系模型B.网状模型

C.层次模型D.实体-联系模型4.关系表中的每一横行称为一个______。

A.元组B.字段C.属性D.码5.关系数据库管理系统能实现的专门关系运算包括______。

A.排序、索引、统计B.选择、投影、连接

C.关联、更新、排序D.显示、打印、制表6.索引属于______。

A.模式B.内模式C.外模式D.概念模式

BCDABB在关

温馨提示

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

评论

0/150

提交评论