《《数据库技术基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库技术基础》PPT课件.ppt(84页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章 数据库技术基础q 数据库系统概述数据库系统概述 q 关系数据库关系数据库q 数据库设计数据库设计q 数据库技术新发展数据库技术新发展本章要点本章要点数据库系统概述数据库系统概述 数据管理技术的发展经历了数据管理技术的发展经历了以下三个阶段:以下三个阶段:人工管理阶段人工管理阶段 文件系统管理阶段文件系统管理阶段 数据库系统管理阶段数据库系统管理阶段 数据管理技术的发展数据管理技术的发展一、人工管理阶段时期时期v 40 40年代中年代中-50-50年代中年代中产生的背景产生的背景v 应用需求应用需求科学计算科学计算v 硬件水平硬件水平无直接存取存储设备无直接存取存储设备v 软件水平软件水
2、平没有操作系统没有操作系统数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展特点:特点:n数据的管理者:应用程序,数据不保存。数据的管理者:应用程序,数据不保存。n数据面向的对象:某一应用程序数据面向的对象:某一应用程序 n数据的共享程度:无共享、冗余度极大数据的共享程度:无共享、冗余度极大n数据的独立性:不独立,完全依赖于程序数据的独立性:不独立,完全依赖于程序n数据的结构化:无结构数据的结构化:无结构n数据控制能力:应用程序自己控制数据控制能力:应用程序自己控制数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展一、人工管理阶段程序1程序2程序n数据1数据2数
3、据n 数据的人工管理示意图数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展一、人工管理阶段二、文件系统管理阶段二、文件系统管理阶段n时期时期n50年代末年代末-60年代中年代中n产生的背景产生的背景n应用需求应用需求科学计算、管理科学计算、管理n硬件水平硬件水平磁盘、磁鼓磁盘、磁鼓n软件水平软件水平有文件系统有文件系统数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展特点:特点:数据的管理者:文件系统,数据可长期保存数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的共享程度:
4、共享性差、冗余度大 数据的结构化:记录内有结构数据的结构化:记录内有结构,整体无结构整体无结构数据的独立性:独立性差,数据的逻辑结数据的独立性:独立性差,数据的逻辑结 构改变必须修改应用程序构改变必须修改应用程序数据控制能力:应用程序自己控制数据控制能力:应用程序自己控制数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展二、文件系统管理阶段二、文件系统管理阶段程序1程序2程序n数据文件1数据的文件管理示意图文件系统数据文件2数据文件n数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展二、文件系统管理阶段二、文件系统管理阶段三、数据库系统三、数据库系统管理阶段管理
5、阶段n时期时期n60年代末以来年代末以来n产生的背景产生的背景n应用背景应用背景大规模管理大规模管理n硬件背景硬件背景大容量磁盘大容量磁盘n软件背景软件背景有数据库管理系统有数据库管理系统数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展n特点特点n数据的管理者:数据的管理者:DBMSDBMSn数据面向的对象:现实世界数据面向的对象:现实世界n数据的共享程度:共享性高数据的共享程度:共享性高n数据的独立性:高度的物理独立性和数据的独立性:高度的物理独立性和 一定的逻辑独立性一定的逻辑独立性n数据的结构化:整体结构化数据的结构化:整体结构化n数据控制能力:由数据控制能力:由DBM
6、SDBMS统一管理和控制统一管理和控制数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展三、数据库系统三、数据库系统管理阶段管理阶段数据库系统概述数据库系统概述 数据管理技术的发展数据管理技术的发展程序程序1 1程序程序2 2程序程序n n数据的数据库系统管理示意图数据的数据库系统管理示意图数据库管理数据库管理系统系统数据库数据库三、数据库系统三、数据库系统管理阶段管理阶段数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库数据库(Database,(Database,简称简称DB)DB)
7、是是长期长期长期长期储存在计算储存在计算机内、有机内、有组织组织组织组织的、可的、可共享共享共享共享的的大量大量大量大量数据集合数据集合。数据库系统概述数据库系统概述 一、数据库数据库二、数据库管理系统数据库管理系统数据库管理系统数据库管理系统(DataBase Management(DataBase Management SystemSystem,DBMS)DBMS)位于应用程序和操作系统之间,位于应用程序和操作系统之间,是为建立、使用和维护数据库而配置的一层是为建立、使用和维护数据库而配置的一层数据管理软件,负责对数据库中的数据进行数据管理软件,负责对数据库中的数据进行统一的管理和控制。统
8、一的管理和控制。数据库系统数据库系统(Data(Data Base SystemBase System,DBS)DBS)是指带有数据库的是指带有数据库的计算机系统。包括计算机系统。包括数据库、数据库管数据库、数据库管理系统、应用程序、理系统、应用程序、数据库管理员以及数据库管理员以及用户等部分用户等部分 数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库系统概述数据库系统概述 三、数据库系统数据库系统用户1用户2用户n 数据库系统示意图数据库管理系统数据库应用程序数据库管理员q 数据的整体结构化。数据的
9、整体结构化。q 数据的共享性高,冗余度低。数据的共享性高,冗余度低。q 数据的独立性高。数据的独立性高。q 数据的统一管理和控制。数据的统一管理和控制。数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库、数据库管理系统和数据库系统数据库系统概述数据库系统概述 四、数据库系统的特点数据库系统的特点从从数数据据库库管管理理系系统统角角度度看看,数数据据库库系系统统通通常常采采用用三三级级模模式式结结构构和和两两级级映映射射。三三级级模模式式结结构构是是由由外外模模式式、模模式式和和内内模式三级组成模式三级组成 数据库系统的体系结构数据库系统
10、的体系结构数据库系统概述数据库系统概述 程序程序1 1程序程序2 2程序程序k k程序程序j j数据库数据库外模式外模式1 1外模式外模式n n模式模式内模式内模式外模式外模式/模式映射模式映射模式模式/内模式映射内模式映射 数据库系统的体系结构图数据库系统的体系结构图模式(也称逻辑模式)模式(也称逻辑模式)n是数据库中全体数据的逻辑结构和特征的描述是数据库中全体数据的逻辑结构和特征的描述n所有用户的公共数据视图,综合了所有用户的需求所有用户的公共数据视图,综合了所有用户的需求n一个数据库只有一个模式一个数据库只有一个模式模式的地位模式的地位n是数据库系统模式结构的中间层是数据库系统模式结构的
11、中间层n与数据的物理存储细节和硬件环境无关与数据的物理存储细节和硬件环境无关n与与具具体体的的应应用用程程序序、开开发发工工具具及及高高级级程程序序设设计计语语言言无关无关数据库系统的体系结构数据库系统的体系结构数据库系统概述数据库系统概述 一、三级模式结构一、三级模式结构外模式(也称子模式或用户模式)外模式(也称子模式或用户模式)是是数数据据库库用用户户(包包括括应应用用程程序序员员和和最最终终用用户户)能能够够看看见见和和使使用用的的局局部部数数据据的的逻逻辑辑结结构构和和特特征的描述征的描述外模式的地位外模式的地位 介于模式与应用之间介于模式与应用之间数据库系统的体系结构数据库系统的体系
12、结构数据库系统概述数据库系统概述 一、三级模式结构一、三级模式结构内模式(也称存储模式)内模式(也称存储模式)n是数据物理结构和存储方式的描述是数据物理结构和存储方式的描述n是数据在数据库内部的表示方式是数据在数据库内部的表示方式n一个数据库只有一个内模式一个数据库只有一个内模式数据库系统的体系结构数据库系统的体系结构数据库系统概述数据库系统概述 一、三级模式结构一、三级模式结构外模式模式映射外模式模式映射n定义外模式与模式之间的对应关系定义外模式与模式之间的对应关系n每一个外模式都对应一个外模式模式映射每一个外模式都对应一个外模式模式映射数据库系统的体系结构数据库系统的体系结构数据库系统概述
13、数据库系统概述 二、两级映射二、两级映射外模式模式映射的用途外模式模式映射的用途保证数据的逻辑独立性保证数据的逻辑独立性n当当模模式式改改变变时时,数数据据库库管管理理员员修修改改有有关关的的外外模模式式模式映射,使外模式保持不变。模式映射,使外模式保持不变。n应应用用程程序序是是依依据据数数据据的的外外模模式式编编写写的的,从从而而应应用用程程序序不不必必修修改改,保保证证了了数数据据与与程程序序的的逻逻辑辑独独立立性性,简称数据的逻辑独立性。简称数据的逻辑独立性。数据库系统的体系结构数据库系统的体系结构数据库系统概述数据库系统概述 二、两级映射二、两级映射模式内模式映射模式内模式映射n模模
14、式式内内模模式式映映射射定定义义了了数数据据全全局局逻逻辑辑结构与存储结构之间的对应关系。结构与存储结构之间的对应关系。n数据库中模式内模式映射是唯一的数据库中模式内模式映射是唯一的。数据库系统的体系结构数据库系统的体系结构数据库系统概述数据库系统概述 二、两级映射二、两级映射模式内模式映象的用途模式内模式映象的用途保证数据的物理独立性保证数据的物理独立性n当当数数据据库库的的存存储储结结构构改改变变了了,数数据据库库管管理理员员修修改改模式内模式映象,使模式保持不变。模式内模式映象,使模式保持不变。n应应用用程程序序不不受受影影响响。保保证证了了数数据据与与程程序序的的物物理理独独立性,简称
15、数据的物理独立性。立性,简称数据的物理独立性。数据库系统的体系结构数据库系统的体系结构数据库系统概述数据库系统概述 二、两级映射二、两级映射模型是现实世界特征的模拟和抽象。模型是现实世界特征的模拟和抽象。数据模型应满足三方面要求:数据模型应满足三方面要求:q能比较真实地模拟现实世界;能比较真实地模拟现实世界;q容易为人所理解;容易为人所理解;q便于在计算机上实现。便于在计算机上实现。根据数据模型的应用目的不同,数据模型分为两类根据数据模型的应用目的不同,数据模型分为两类 q概念模型,也称信息模型,它是按用户的观点来对数概念模型,也称信息模型,它是按用户的观点来对数据进行描述据进行描述 q逻辑数
16、据模型,它是按计算机系统的观点对数据进行逻辑数据模型,它是按计算机系统的观点对数据进行描述描述 数据模型数据模型数据库系统概述数据库系统概述 数据结构:数据结构:数据结构是所研究的对象类型的集合。数据结构是所研究的对象类型的集合。数数据据操操作作:数数据据操操作作是是指指对对相相应应数数据据结结构构允允许许执执行行的的操操作作的的集集合合,包包括括操操作作及及有有关关的的操作规则操作规则 数数据据的的完完整整性性约约束束:数数据据的的完完整整性性约约束束是是一一组组完完整整性性规规则则的的集集合合。完完整整性性规规则则是是给给定定的的数数据据模模型型中中数数据据及及其其联联系系所所具具有有的的
17、制制约约和和依依存存规规则则,以以保保证证数数据据的的正正确确、有效和相容。有效和相容。数据模型数据模型数据库系统概述数据库系统概述 一、数据模型的组成要素一、数据模型的组成要素实实体体:客客观观存存在在并并可可相相互互区区别别的的事事物物称称为为实实体体(Entity)(Entity)。实实体体可可以以是是具具体体的的人人、事事、物物,也也可可以以是是抽抽象象的的概概念念或或联联系系。例例如如,一一个个职职员员、一一名名学学生生、一一个个车车间间、学学生生选课、车间领料等都是实体。选课、车间领料等都是实体。属属性性:实实体体的的特特性性称称为为实实体体的的属属性性(Attribute)(At
18、tribute)。一一个个实实体体可可以以由由若若干干个个属属性性来来刻刻画画。例例如如,学学生生可可以以由由学学号号、姓姓名名、专专业业、班班级等属性刻画。级等属性刻画。数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型码码:能能唯唯一一的的标标识识实实体体的的属属性性集集合合称称为为码码(Key)(Key)。例如,学号是学生实体的码。例如,学号是学生实体的码。域域:属属性性的的取取值值范范围围称称为为该该属属性性的的域域(Domain)(Domain)。例如,性别属性的域为例如,性别属性的域为(男,女男,女)。联联系系:在在现现实实世世界界中中,事事物
19、物内内部部以以及及事事物物之之间间是是有有联联系系的的,这这些些联联系系在在信信息息世世界界中中反反映映为为实体集内部的联系和实体集之间的联系。实体集内部的联系和实体集之间的联系。数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型两个实体集之间的联系分为三类:两个实体集之间的联系分为三类:一对一联系一对一联系(1(1:1)1)n如如果果对对于于实实体体集集A A中中的的每每一一个个实实体体,实实体体集集B B中中至至多多有有一一个个实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集集A A与与B B具有一对一联系,记为具有一对一联系,记为1 1
20、:1 1。n例例如如,一一个个班班级级只只有有一一个个班班长长,而而一一个个班班长长也也只只在在一一个个班班中中任任职职,则则班班级级实实体体和和班班长长实实体体是是一一对对一的联系。一的联系。数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型 一对多联系一对多联系(1(1:n)n)n如如果果对对于于实实体体集集A A中中的的每每一一个个实实体体,实实体体集集B B中中有有n n个个实实体体(n0)(n0)与与之之联联系系,反反之之,对对于于实实体体B B中中的的每每一一个个实实体体,实实体体集集A A中中至至多多只只有有一一个个实实体体与与之之联联系系,
21、则称实体集则称实体集A A与与B B具有一对多联系,记为具有一对多联系,记为1 1:n n。n例例如如,一一个个班班级级中中可可以以有有若若干干名名学学生生,而而每每个个学学生生只只在在一一个个班班级级中中学学习习,则则班班级级实实体体和和学学生生实实体体是是一一对多的联系。对多的联系。数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型两个实体集之间的联系分为三类:两个实体集之间的联系分为三类:多对多联系多对多联系(n(n:n)n)n如如果果对对于于实实体体集集A A中中的的每每一一个个实实体体,实实体体集集B B中中有有n n个个实实体体(n0)(n0)
22、与与之之联联系系,反反之之,对对于于实实体体集集B B中中的的每每一一个个实实体体,实实体体集集A A中中也也有有m m个个实实体体(m0)(m0)与与之之联联系系,则称实体集则称实体集A A与与B B具有多对多联系,记为具有多对多联系,记为m m:n n。n例例如如,一一门门课课程程同同时时有有若若干干个个学学生生选选修修,而而一一个个学学生生可可以以同同时时选选修修多多门门课课程程,则则课课程程实实体体和和学学生生实实体体是多对多的联系是多对多的联系数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型两个实体集之间的联系分为三类:两个实体集之间的联系分为
23、三类:E-RE-R图图E-RE-R图的表示:图的表示:n实体型:实体型:用用矩形矩形表示,矩形框内写明实体名。表示,矩形框内写明实体名。n属属性性:用用椭椭圆圆形形表表示示,椭椭圆圆形形内内写写明明属属性性名名,并并用用无向边将其与相应的实体连接起来。无向边将其与相应的实体连接起来。n联联系系:用用菱菱形形表表示示,菱菱形形框框内内写写明明联联系系名名,并并用用无无向向边边分分别别与与有有关关实实体体或或联联系系连连接接起起来来,同同时时在在无无向向边旁标上联系的类型。边旁标上联系的类型。数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型例例:在在学学生生
24、选选课课子子系系统统中中涉涉及及到到的的实实体体以以及及实体的属性为:实体的属性为:n 学生实体:学号、姓名、班级学生实体:学号、姓名、班级n 课程实体:编号、名称、性质、学分课程实体:编号、名称、性质、学分有关的语义如下:有关的语义如下:n 每个学生可以选修多门课程;每个学生可以选修多门课程;n 每门课程可以被多个学生选修;每门课程可以被多个学生选修;n 每个学生选修的每门课程都有一个成绩。每个学生选修的每门课程都有一个成绩。可可见见学学生生实实体体和和课课程程实实体体之之间间是是多多对对多多的的联联系,而且联系也有属性,其属性为成绩。系,而且联系也有属性,其属性为成绩。数据模型数据模型数据
25、库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型E-RE-R图图nm学生学生学生选课子系统学生选课子系统E-R图图课程课程选修选修学号学号姓名姓名班级班级编号编号名称名称性质性质学分学分成绩成绩数据模型数据模型数据库系统概述数据库系统概述 二、实体二、实体-联系数据模型联系数据模型E-RE-R图图概念模型强调以人为本,注重清晰、简单、易于概念模型强调以人为本,注重清晰、简单、易于理解;逻辑数据模型以计算机为本,站在计算机理解;逻辑数据模型以计算机为本,站在计算机的角度去看待各个数据及数据之间的联系。目前,的角度去看待各个数据及数据之间的联系。目前,数据库领域中最常用的数据模
26、型有四种:数据库领域中最常用的数据模型有四种:层次模层次模型、网状模型、关系模型和面向对象模型。型、网状模型、关系模型和面向对象模型。其中其中层次模型和网状模型统称为非关系模型。层次模型和网状模型统称为非关系模型。数据模型数据模型数据库系统概述数据库系统概述 三、逻辑数据模型三、逻辑数据模型层次模型用树形结构来表示各类实体以及实体间的联系。层次模型用树形结构来表示各类实体以及实体间的联系。n有且只有一个结点没有双亲结点,这个结点称为根结点。有且只有一个结点没有双亲结点,这个结点称为根结点。n根以外的其他结点有且只有一个双亲结点。根以外的其他结点有且只有一个双亲结点。层次模型的特点层次模型的特点
27、 任何一个给定的记录值只有按其路径查看时,才能显任何一个给定的记录值只有按其路径查看时,才能显示出它的全部意义,没有一个子女记录值能够脱离双亲记示出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。录值而独立存在。数据模型数据模型数据库系统概述数据库系统概述 三、逻辑数据模型三、逻辑数据模型层次模型层次模型允许一个以上的结点无双亲;允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。一个结点可以有多于一个的双亲。网状模型有效的克服了层次模型不方便表网状模型有效的克服了层次模型不方便表达多对多的联系的缺点,但由于网状模型达多对多的联系的缺点,但由于网状模型的灵活性,数据库管理系统
28、很难实现的灵活性,数据库管理系统很难实现 数据模型数据模型数据库系统概述数据库系统概述 三、逻辑数据模型三、逻辑数据模型网状模型网状模型关关系系模模型型中中的的数数据据结结构构是是一一张张二二维维表表,它它由由行行和列组成。和列组成。学号学号姓名姓名班级班级20003061002000306100张倩倩张倩倩计算机计算机03103120003051012000305101王祥林王祥林英语英语032032200302111200302111李亚红李亚红对外贸易对外贸易031031数据模型数据模型数据库系统概述数据库系统概述 关系模型关系模型三、逻辑数据模型三、逻辑数据模型基本术语如下:基本术语如
29、下:n关关系系(Relation)(Relation):一一个个关关系系对对应应一一张张二二维维表表。关关系系的的名名称称一一般般取取为为表表格格的的名名称称或或按按表表格格名名称称的的意意思思取取名名,如如表表中对应关系的名称取为学生。中对应关系的名称取为学生。n元组元组(Tuple)(Tuple):表中的一行即为一个元组。表中的一行即为一个元组。n属属性性(Atturibute)(Atturibute):表表中中的的一一列列即即为为一一个个属属性性,每每一一列列的的第第一一行行是是属属性性名名,其其余余行行是是属属性性值值。如如学学生生表表共共有有3 3列,对应列,对应3 3个属性,各属姓
30、名为:学号,姓名,班级。个属性,各属姓名为:学号,姓名,班级。数据模型数据模型数据库系统概述数据库系统概述 关系模型关系模型三、逻辑数据模型三、逻辑数据模型n主主码码(Key)(Key):表表中中的的某某个个属属性性或或属属性性组组合合,它它可可以以唯唯一一标标识识一一个个元元组组。如如学学生生表表中中的的学学号号可可唯唯一一标标识识一一个个学学生,因此生,因此“学号学号”是学生表的主码。是学生表的主码。n域域(Domain)(Domain):属属性性的的取取值值范范围围。如如学学号号的的域域是是9 9位位数数字字字符序列,性别的域是字符序列,性别的域是(男,女男,女)。n关系模式:关系模式:
31、对关系的描述,一般表示为:对关系的描述,一般表示为:关系名关系名(属性名属性名1 1,属性名,属性名2 2,属性名,属性名n)n)数据模型数据模型数据库系统概述数据库系统概述 关系模型关系模型三、逻辑数据模型三、逻辑数据模型关系数据库关系数据库关系应满足如下性质:关系应满足如下性质:关关系系必必须须是是规规范范化化的的,即即要要求求关关系系必必须须满满足足一一定定的的规规范范条条件件,其其中中最最基基本本的的一一条条就就是是,关关系系的的每每一一列列不可再分。不可再分。关关系系中中必必须须有有主主码码,使使得得元元组组唯唯一一。如如学学生生关关系系中中,学学号号属属性性是是主主码码,课课程程关
32、关系系中中,编编号号是是主主码码,选选修修关系中,学号和编号一起是主码。关系中,学号和编号一起是主码。元组的个数是有限的且元组的顺序可以任意交换。元组的个数是有限的且元组的顺序可以任意交换。属性名是唯一的且属性列的顺序可以任意交换。属性名是唯一的且属性列的顺序可以任意交换。关系模型的基本概念关系模型的基本概念一、关系数据结构一、关系数据结构实体完整性规则实体完整性规则v主码的属性值不能为空值。因为如果出现空值,主码的属性值不能为空值。因为如果出现空值,那么主码就无法保证元组的唯一性。那么主码就无法保证元组的唯一性。参照完整性规则参照完整性规则v在关系模式中实体以及实体之间的联系是用关系在关系模
33、式中实体以及实体之间的联系是用关系来描述的,所以自然存在着关系与关系之间的联来描述的,所以自然存在着关系与关系之间的联系,而关系之间的联系是靠公共属性实现的,如系,而关系之间的联系是靠公共属性实现的,如果这个公共属性是一个关系果这个公共属性是一个关系R1R1的主码,那么在另的主码,那么在另一个与它有联系的关系一个与它有联系的关系R2R2中就称为外码。参照完中就称为外码。参照完整性规则告诉我们外码的取值只有两种可能,要整性规则告诉我们外码的取值只有两种可能,要么是空值,要么等于么是空值,要么等于R1R1中某个元组的主码值。中某个元组的主码值。关系数据库关系数据库关系模型的基本概念关系模型的基本概
34、念二、关系完整性规则二、关系完整性规则用户定义完整性用户定义完整性v反映某一具体应用所涉及的数据必须满足的反映某一具体应用所涉及的数据必须满足的语义要求语义要求。关系数据库关系数据库关系模型的基本概念关系模型的基本概念二、关系完整性规则二、关系完整性规则关系操作的对象是关系,结果也是关系。关系操作的对象是关系,结果也是关系。查查询询:就就是是在在一一个个关关系系或或多多个个关关系系中中查查找找满满足足条条件的列或行,得到一个新的关系。件的列或行,得到一个新的关系。插入:插入:在指定的关系中插入一个或多个元组。在指定的关系中插入一个或多个元组。删删除除:将将指指定定关关系系中中的的一一个个或或多
35、多个个满满足足条条件件的的元元组删除。组删除。修修改改:针针对对指指定定关关系系中中满满足足条条件件的的一一个个或或多多个个元元组修改其数据项的值。组修改其数据项的值。关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关系操作投投影影:投投影影(Projection)(Projection)的的功功能能是是选选择择关系中的某些属性,生成一个新的关系。关系中的某些属性,生成一个新的关系。例例如如,在在课课程程关关系系中中查查询询课课程程名名称称和和学学分分,就就可可以以使使用用投投影影操操作作,仅仅选选择择课课程程关关系系中中名名称称和和学学分分属属性性列列,得得到到对对课
36、课程程关系进行投影操作后的结果关系。关系进行投影操作后的结果关系。关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关系操作选选择择:选选择择(Selection)(Selection)是是在在一一个个关关系系中中,选选取取符符合合给给定定条条件件的的所所有有元元组组,生生成成新新的关系。的关系。例例如如,在在学学生生关关系系中中查查询询计计算算机机系系的的学学生生,就就可可对对学学生生关关系系使使用用选选择择操操作作,得得到到对对学学生生关关系系进进行行选选择择操操作作后后的的结结果果关关系。系。关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关
37、系操作自自然然连连接接:自自然然连连接接(Join)(Join)是是将将两两个个具具有有公公共共属属性性的的关关系系,按按照照公公共共属属性性值值相相等等的的条件连接成为一个新的关系。条件连接成为一个新的关系。关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关系操作表表6.2 6.2 课程表课程表编号编号 名称名称 性质性质 学分学分021201 021201 哲学哲学 必修必修 4 4071501 071501 英语英语 必修必修 6 6011201 011201 电子商务电子商务 选修选修 2 2对外贸易对外贸易031李亚红李亚红200302111英语英语032王祥
38、林王祥林2000305101计算机计算机031张倩倩张倩倩2000306100班级班级姓名姓名学号学号表表6.1 学生表学生表关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关系操作表表6.56.5选择操作后的结果关系选择操作后的结果关系学号学号 姓名姓名 班级班级200306100 张倩倩张倩倩 计算机计算机1表表6.4 6.4 投影操作后的结果关系投影操作后的结果关系名称名称 学分学分哲学哲学 4英语英语 6电子商务电子商务 2关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关系操作学号学号 编号编号 成绩成绩 名称名称 性质性质 学分学分2
39、00306100 021201 89 200306100 021201 89 哲学哲学 必修必修 4 4200306100 071501 67 200306100 071501 67 英语英语 必修必修 6 6200306100 011201 96 200306100 011201 96 电子商务电子商务 选修选修 2 2200305101 011201 90 200305101 011201 90 电子商务电子商务 选修选修 2 2200305101 071501 78 200305101 071501 78 英语英语 必修必修 6 6200302111 021201 88 20030211
40、1 021201 88 哲学哲学 必修必修 4 4200302111 011201 79 200302111 011201 79 电子商务电子商务 选修选修 2 2表表6.6 6.6 课程课程关系和选修关系自然连接的结果关系关系和选修关系自然连接的结果关系关系数据库关系数据库关系模型的基本概念关系模型的基本概念三、关系操作三、关系操作数据查询是数据库的核心操作数据查询是数据库的核心操作 SELECTSELECT查询语查询语句的基本格式句的基本格式为为:SELECT ALL|*SELECT ALL|*,FROM FROM ,WHERE WHERE 关系数据库关系数据库结构化查询语言结构化查询语言
41、SQL数据查询数据查询 学学生生选选课课数数据据库库由由三三个个基基本本表表组组成成(为为方方便起见,给关系及各属性取英文代号便起见,给关系及各属性取英文代号):n学生表:学生表:Student(SnoStudent(Sno,SnameSname,Sclass)Sclass)n课课程程表表:Course(CnoCourse(Cno,CnameCname,CkindCkind,Credit)Credit)n选课表:选课表:SC(SnoSC(Sno,CnoCno,Grade)Grade)关系数据库关系数据库结构化查询语言结构化查询语言SQL数据查询数据查询【例】【例】查询查询全体学生的全体学生的详
42、细记录详细记录。SELECT *SELECT *FROM Student FROM Student【例】【例】查询查询全体学生的学号与姓名。全体学生的学号与姓名。SELECT SnoSELECT Sno,Sname FROM StudentSname FROM Student 关系数据库关系数据库结构化查询语言结构化查询语言SQL数据查询数据查询查查询询满满足足条条件件的的元元组组是是通通过过wherewhere子子句句实实现现的的。WhereWhere子子句句中中常常用用的的查查询询条条件件包包括括比比较较大大小小、字字符匹配、多重条件等。常用的比较运算符有:符匹配、多重条件等。常用的比较运
43、算符有:关关系系运运算算符符:大大于于 ,大大于于等等于于=,小小于于,小小于等于于等于=,等于,等于=,不等于,不等于;逻逻辑辑运运算算符符:逻逻辑辑与与ANDAND,逻逻辑辑或或OROR,逻逻辑辑非非NOT NOT。关系数据库关系数据库结构化查询语言结构化查询语言SQL数据查询数据查询字字符符匹匹配配谓谓词词LIKELIKE,语语法法格格式式为为:属属性性列列 NOT NOT LIKE LIKE 匹匹配配串串,含含义义是是查查找找指指定定的的属属性性列列值值与与匹匹配配串串相相匹匹配配的的元元组组。匹匹配配串串中中可可包包含含通通配配符符“%”“%”和和“_”“_”,“%”“%”代代表任意
44、多个字符,表任意多个字符,“_”“_”代表任意单个字符。代表任意单个字符。关系数据库关系数据库结构化查询语言结构化查询语言SQL数据查询数据查询【例例】查查询询不不及及格格学学生生的的学学号号以以及及课课程程编编号号SELECT SnoSELECT Sno,Cno FROM SC Cno FROM SC WHERE Grade60WHERE Grade 90SC.Grade 90;关系数据库关系数据库结构化查询语言结构化查询语言SQL数据查询数据查询插入插入单单个元个元组组的的语语句格式句格式为为:INSERTINSERTINTO INTO (1,2)VALUES(VALUES(1,2 )关系
45、数据库关系数据库结构化查询语言结构化查询语言SQL插入数据插入数据【例例6.86.8】将将一一个个新新学学生生记记录录(学学号号:200302003050205020;姓姓名名:陈陈冬冬;所所在在班班级级:英英语语032)032)插入到插入到StudentStudent表中。表中。INSERTINSERT INTO Student INTO Student VALUES(200305020VALUES(200305020,陈陈冬冬,英英语032)032);关系数据库关系数据库结构化查询语言结构化查询语言SQL插入数据插入数据【例例6.96.9】插插入入一一条条选选课课记记录录(学学号号:200
46、3050220030502,课课程程编编号号:071501071501 ,成成绩:90)90)。INSERTINSERT INTO SC(Sno INTO SC(Sno,CnoCno,Grade)Grade)VALUES(20030502 VALUES(20030502,071501071501 ,90)90);关系数据库关系数据库结构化查询语言结构化查询语言SQL插入数据插入数据修改修改语语句的一般格式句的一般格式为为:UPDATE UPDATE SET SET=,=WHERE WHERE;关系数据库关系数据库结构化查询语言结构化查询语言SQL修改数据修改数据【】【】将学生将学生陈陈冬的英冬
47、的英语语成成绩绩改改为为9595分。分。UPDATE ScUPDATE Sc SET Grade=95 SET Grade=95 WHERE WHERE Sno=20030502 Sno=20030502 AND AND Cno=Cno=071501 071501 ;关系数据库关系数据库结构化查询语言结构化查询语言SQL修改数据修改数据删删除除语语句的一般格式句的一般格式为为:DELETE FROM DELETE FROM WHERE WHERE;关系数据库关系数据库结构化查询语言结构化查询语言SQL删除数据删除数据【例【例6.6.1111】删删除学号除学号为为2003020030502050
48、20的学生的学生记录记录。DELETE FROM StudentDELETE FROM StudentWHERE Sno=WHERE Sno=200302003050205020;数据库设计数据库设计需需求求分分析析是是整整个个数数据据库库设设计计的的基基础础,其其目目的的是是准准确确了了解解与与分分析析用用户的各种需求户的各种需求 (1)(1)需求调查需求调查 (2)(2)需求总结需求总结需求分析需求分析数据库设计数据库设计应应能能真真实实、充充分分地地反反映映现现实实世世界界,是是现现实实世世界界中中具具体体应应用用的的一一个个真真实实模型模型易易于于向向关关系系、网网状状、层层次次等等各
49、各种种数数据逻辑模型转换。据逻辑模型转换。概念结构设计概念结构设计概念结构设计的步骤概念结构设计的步骤数数据据抽抽象象:数数据据抽抽象象就就是是对对需需求求分分析析阶阶段段收收集集到到的的数数据据进进行行分分类类、组组织织,形形成成实实体体、实实体体的的属属性性,并并标标识识实实体体的的主主码码、确确定定实实体体之之间间的的联联系系类类型型(1:1(1:1,1:1:n n,m:n)m:n)。选选择择局局部部应应用用,设设计计局局部部视视图图:根根据据实实际际系系统统的的具具体体情情况况,在在多多层层的的数数据据流流图图中中选选择择一一个个适适当当的的层层次次,作作为概念结构设计的入口,设计各个
50、分为概念结构设计的入口,设计各个分E-RE-R图即局部视图图即局部视图视视图图的的集集成成:各各个个局局部部视视图图即即分分E-RE-R图图建建立立好好后后,还还需需要要对对它它们们进进行行合合并并,集集成成为为一一个个整整体体的的数数据据概概念念结结构构,即即总总E-RE-R图。图。数据库设计数据库设计概念结构设计概念结构设计 消除冗余数据和冗余联系消除冗余数据和冗余联系冗余数据是指可由基本数据导出的数据冗余数据是指可由基本数据导出的数据冗余联系是指可由其它联系导出的联系冗余联系是指可由其它联系导出的联系冗冗余余数数据据和和冗冗余余联联系系容容易易破破坏坏数数据据库库的的完完整整性性,增增加