《《关系数据库基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《关系数据库基础》PPT课件.ppt(84页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1主讲:陈远红主讲:陈远红湖南省审计厅经贸审计一处湖南省审计厅经贸审计一处数据库基础及应用技术数据库基础及应用技术2目目 录录第第1章章 关系数据库基础关系数据库基础第第2章章 SQL Server 2000 第第3章章 数据库的创建与管理数据库的创建与管理第第4章章 Transact-SQL语言基础语言基础第第5章章 基本表的创建与管理基本表的创建与管理第第6章章 数据的查询与修改数据的查询与修改第第7章章 实现数据完整性实现数据完整性第第8章章 视图视图第第9章章 存储过程存储过程第第10章章 事务与触发器事务与触发器第第11章章 安全管理安全管理第第12章章 数据传输数据传输第第13章章
2、 备份和恢复数据备份和恢复数据第第14章章 常用系统函数常用系统函数3第第1 1章章 关系数据库基础关系数据库基础4本章重点、难点本章重点、难点v重点重点数据库、数据库管理系统、数据库系统、数据模型等数据库、数据库管理系统、数据库系统、数据模型等基本概念。基本概念。关系数据模型和关系数据库的基本术语。关系数据模型和关系数据库的基本术语。v难点难点数据库、数据库管理系统、数据库系统等基本概念。数据库、数据库管理系统、数据库系统等基本概念。数据库的三级模式结构数据库的三级模式结构。51.1 1.1 数据管理的发展数据管理的发展 1.2 1.2 数据库管理系统与数据库系统数据库管理系统与数据库系统
3、1.3 1.3 数据和数据模型数据和数据模型 1.4 1.4 数据库系统的结构数据库系统的结构 1.5 1.5 关系数据库规范化理论关系数据库规范化理论1.6 1.6 数据库应用结构数据库应用结构1.7 1.7 小结小结1.8 1.8 习题习题 本章内容End61.1 数据管理的发展数据管理的发展7v数据密集型应用的数据密集型应用的三个特点三个特点(以数据为中心的应用)(以数据为中心的应用)&涉及的数据量大涉及的数据量大&数据不随程序的结束而结束数据不随程序的结束而结束&数据可以被多个应用程序共享数据可以被多个应用程序共享1.1 数据管理的发展数据管理的发展8人工管理阶段人工管理阶段v数据不保
4、存数据不保存v应用程序自身管理数据应用程序自身管理数据 v数据不独立数据不独立v数据不能共享数据不能共享应用程序应用程序1数据集数据集 1应用程序应用程序2数据集数据集 2应用程序应用程序n数据集数据集 n91.1.1 文件管理阶段文件管理阶段v编写应用程序不方编写应用程序不方便便 v数据冗余不可避免数据冗余不可避免v应用程序依赖性应用程序依赖性 v不支持对文件的并不支持对文件的并发访问发访问 v数据间联系弱数据间联系弱 v难以按用户视图表难以按用户视图表示数据示数据 v无安全控制功能无安全控制功能应用程序应用程序1文件文件1应用程序应用程序2文件文件2应用程序应用程序n文件文件n文件文件系统
5、系统10文件系统 学生基本情况学生基本情况 学生管理其它的数据学生管理其它的数据 学生基本情况学生基本情况 有关学生选课数据有关学生选课数据学生选课子系统学生选课子系统学生管理子系统学生管理子系统 冗余!冗余!1.1.1 文件管理阶段文件管理阶段111.1.2 数据库管理阶段数据库管理阶段数据库管理系统应用程序1应用程序2数据库应用程序nv数据真正实现了结构化数据真正实现了结构化 v数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充v数据独立性高数据独立性高 v数据由数据由DBMS统一管理和控制统一管理和控制 12有关学生管理的其它数据有关学生管理的其它数据 学生基本情况学生基本
6、情况 有关选课的其它数据有关选课的其它数据学生选课子系统学生选课子系统学生管理子系统学生管理子系统数据库管理系统(数据库管理系统(DBMS)共享共享数据数据库系系统1.1.2 数据库管理阶段数据库管理阶段131.1.2 数据库管理阶段数据库管理阶段v数据库管理系统的优点数据库管理系统的优点&相互关联的数据的集合相互关联的数据的集合&较少的数据冗余较少的数据冗余&程序与数据相互独立程序与数据相互独立&保证数据的安全、可靠保证数据的安全、可靠&最大限度地保证数据的正确性最大限度地保证数据的正确性&数据可以并发使用并能同时保证一致性数据可以并发使用并能同时保证一致性14相互关相互关联的数据的集合的数
7、据的集合 数数据据库库中中的的数数据据不不是是孤孤立立的的,数数据据与与数数据据之之间间是是相相互互关关联联的的。也也就就是是说说,在在数数据据库库中中不不仅仅要要能能够够表表示示数数据据本本身身,还还要要能能够够表表示示数数据据与与数数据据之之间间的的联联系系。学生学生课程课程学生与课程之间的联系学生与课程之间的联系1.1.2 数据库管理阶段数据库管理阶段15较少的数据冗余较少的数据冗余 数据库中的数据被统一管理,合理组织,任何对数数据库中的数据被统一管理,合理组织,任何对数据的操作都由数据库管理系统据的操作都由数据库管理系统DBMS完成。完成。数据库数据库DBMS1.1.2 数据库管理阶段
8、数据库管理阶段16数据具有数据具有较高的独立性高的独立性 数据独立性是数据独立性是指数据的组织和存指数据的组织和存储方法与应用程序储方法与应用程序互不依赖、彼此独互不依赖、彼此独立的特性。立的特性。1.1.2 数据库管理阶段数据库管理阶段17保保证数据的安全、可靠数据的安全、可靠 数据库数据库技术要能够技术要能够保证数据库保证数据库中的数据是中的数据是安全、可靠安全、可靠的。的。有效地防止数据有效地防止数据库中的数据被非法库中的数据被非法使用或非法修改使用或非法修改 数据遭到破坏时数据遭到破坏时能立刻将数据完全能立刻将数据完全恢复恢复主主主主动动安全安全安全安全被被被被动动安全安全安全安全安全
9、机制安全机制备份恢复备份恢复1.1.2 数据库管理阶段数据库管理阶段18最大限度地保最大限度地保证数据的正确性数据的正确性 保证数保证数据正确的特据正确的特性在数据库性在数据库中称之为数中称之为数据完整性。据完整性。学生的年龄学生的年龄200岁岁1.1.2 数据库管理阶段数据库管理阶段19数据可以并数据可以并发使用使用并能同并能同时保保证数据的一致性数据的一致性 在多个用户同时使用数据库时,在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证能够保证不产生冲突和矛盾,保证数据的一致性和正确性。数据的一致性和正确性。1.1.2 数据库管理阶段数据库管理阶段20500元500+300=800
10、500-168=332332元800元500元500元?并发应用并发应用1.1.2 数据库管理阶段数据库管理阶段返回主菜单返回主菜单211.2 数据库管理系统与数据库管理系统与数据库系统数据库系统221.2.1 1.2.1 数据库系统的组成数据库系统的组成1 1数据库数据库v数据库(数据库(DataBaseDataBase,DBDB)是存储在计算机内的、有组织是存储在计算机内的、有组织的、可共享的数据集合。的、可共享的数据集合。v数据库中的数据按一定的数据模型进行组织、描述和存数据库中的数据按一定的数据模型进行组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,储,具有较小的冗余度
11、、较高的数据独立性和易扩展性,并为各种用户共享。并为各种用户共享。v数据库按数据模型分,可分为层次数据库、网状数据库、数据库按数据模型分,可分为层次数据库、网状数据库、关系数据库和面向对象数据库。关系数据库和面向对象数据库。231.2.1 1.2.1 数据库系统的组成数据库系统的组成2 2数据库系统数据库系统v是基于数据库的一个计算机应用系统。主要包括:数据是基于数据库的一个计算机应用系统。主要包括:数据库、数据库管理系统、应用程序和系统管理员。库、数据库管理系统、应用程序和系统管理员。应用程序应用程序数据库数据库管理员管理员开发工具开发工具数据库数据库管理管理系统系统操作系统操作系统数据库数
12、据库241.2.2 1.2.2 数据库管理系统数据库管理系统3.3.数据库管理系统(数据库管理系统(Database Management SystemDatabase Management System)是是用于建立、使用和维护数据库的软件,简称用于建立、使用和维护数据库的软件,简称DBMSDBMS。v对对数数据据库库进进行行统统一一的的管管理理和和控控制制,以以保保证证数数据据库库的的安安全全性和完整性。性和完整性。v功能功能&定义功能定义功能&操纵功能操纵功能&控制功能控制功能&管理功能管理功能&数据通信功能数据通信功能25v数数据据库库:是是数数据据的的汇汇集集,它它以以一一定定的的组
13、组织织形形式式存存于于存存储储介介质上。质上。vDBMSDBMS:是是管管理理数数据据库库的的系系统统软软件件,它它实实现现数数据据库库系系统统的的各各种功能。是数据库系统的核心。种功能。是数据库系统的核心。vDBADBA:负责数据库的规划、设计、协调、维护和管理等工作。负责数据库的规划、设计、协调、维护和管理等工作。v应用程序:应用程序:指以数据库为基础的应用程序。指以数据库为基础的应用程序。数据库系统数据库系统26数据数据库系系统的的简单结构构 应用程序应用程序1应用程序应用程序2应用程序应用程序n数数据据库库管管理理系统系统(DBMS)数数据据库库管管理理员(员(DBA)数据库数据库基础
14、基础27数据库系统管理员数据库系统管理员数据库管理员数据库管理员:负责数据库正常运行的管理人员。负责数据库正常运行的管理人员。其工作大致包括:其工作大致包括:负责对数据库中的数据进行维护;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;的性能,提高系统的效率;继续负责数据库安全系统的管理;继续负责数据库安全系统的管理;负责数据库的备份和恢复;负责数据库的备份和恢复;在运行过程中发现问题、解决问题。在运行过程中发现问题、解决问题。28三个概念三个概念数据库数据库 数据库管理系统数据库管理系统 数据库系统数据库系
15、统数据数据 软件软件 系统系统返回主菜单返回主菜单291.3 数据和数据模型数据和数据模型301.3.1 1.3.1 数据和数据模型数据和数据模型1.数据数据&是人们从实际当中抽取感兴趣的事物特征或属性。是人们从实际当中抽取感兴趣的事物特征或属性。&指存储在某种存储介质上的能够识别的物理符号。指存储在某种存储介质上的能够识别的物理符号。&数据的主要表示形式有:文字、数字、图形等。数据的主要表示形式有:文字、数字、图形等。数据是信息存在的一种形式,只有通过解释或处理才能数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。成为有用的信息。v数据与信息的关系数据与信息的关系&通过解释、推
16、论、归纳、分析和综合等方法,从数据所获得的通过解释、推论、归纳、分析和综合等方法,从数据所获得的有意义的内容称为信息有意义的内容称为信息。v数据处理数据处理&是指利用计算机对各种类型的数据进行处理。是指利用计算机对各种类型的数据进行处理。&包括对数据的采集、整理、存储、分类、排序、检索、维护、包括对数据的采集、整理、存储、分类、排序、检索、维护、加工、统计和传输等一系列操作过程。加工、统计和传输等一系列操作过程。31数据的三种范畴数据的三种范畴现实信息信息电脑1.3.1 1.3.1 数据和数据模型数据和数据模型321.3.1 1.3.1 数据和数据模型数据和数据模型2.2.数据模型概念数据模型
17、概念v模型是现实世界模型是现实世界感兴趣的内容的抽象感兴趣的内容的抽象特征的模拟和抽特征的模拟和抽象。象。(是理解系统的思维工具)(是理解系统的思维工具)v数据模型是用来抽象、表示和处理现实世界中的数据数据模型是用来抽象、表示和处理现实世界中的数据和信息的。和信息的。(如:数据库、文件)(如:数据库、文件)v数据模型应满足三个条件:数据模型应满足三个条件:&能比较真实地模拟现实世界;能比较真实地模拟现实世界;&容易被人们理解;容易被人们理解;&便于在计算机上实现。便于在计算机上实现。331.3.1 1.3.1 数据和数据模型数据和数据模型3.数据模型的分类数据模型的分类v概念模型(信息模型)概
18、念模型(信息模型)它它是是按按用用户户的的观观点点来来对对数数据据和和信信息息建建模模,主主要要用用于于数数据库设计,是现实世界到信息世界的第一层抽象。据库设计,是现实世界到信息世界的第一层抽象。v组织模型组织模型(重点重点)它它是是从从数数据据的的组组织织层层来来描描述述数数据据。组组织织层层就就是是指指用用什什么样的么样的数据结构数据结构来组织数据来组织数据。34信息世界:概念模型信息世界:概念模型机器世界:具体机器世界:具体DBMS支支持的数据模型持的数据模型1.3.1 1.3.1 数据和数据模型数据和数据模型4.4.数据特征数据特征包括两个方面:包括两个方面:v静态特征静态特征v动态特
19、征动态特征351.3.2 1.3.2 数据模型的数据模型的三要素三要素v数据结构:数据结构:是所研究的对象类型的集合,这些对象是数是所研究的对象类型的集合,这些对象是数据库的组成部分。用于描述系统的静态特性。据库的组成部分。用于描述系统的静态特性。数据结构的类型:数据结构的类型:&与数据类型、内容、性质有关的对象。与数据类型、内容、性质有关的对象。&与数据之间联系有关的对象。与数据之间联系有关的对象。v数据操作:数据操作:用于描述系统的动态特性。用于描述系统的动态特性。v数据的约束条件数据的约束条件:是一组完整性规则的集合。是一组完整性规则的集合。361.3.3 概念层数据模型概念层数据模型1
20、.基本概念基本概念 概念层数据模型实际上是现实世界到机器世界的一个概念层数据模型实际上是现实世界到机器世界的一个中间层次。中间层次。常用的概念模型有:常用的概念模型有:&实体实体联系模型(简称联系模型(简称E-R模型)模型)&语义对象模型语义对象模型2.实体实体联系模型联系模型三个概念:三个概念:实体、属性和联系。实体、属性和联系。37 客观存在并可以相互区分的客观事物客观存在并可以相互区分的客观事物或抽象事件称为实体。或抽象事件称为实体。客客观存在的抽象事件。如授存在的抽象事件。如授课、演出、足球演出、足球赛等也是等也是实体体可以触及的客可以触及的客观对象。如学生、象。如学生、课程、程、职工
21、工等是等是实体体实体实体(Entity)1.3.3 概念层数据模型概念层数据模型38属性属性身高身高年年龄性性别体重体重比比赛时间、地点、地点、参参赛队实体所具有的特征或性质实体所具有的特征或性质(Attribute)1.3.3 概念层数据模型概念层数据模型39联系是数据之间的关联集合,是客观存联系是数据之间的关联集合,是客观存在的应用语义链在的应用语义链。v实体内部的联系实体内部的联系:指组成实体的各属性:指组成实体的各属性之间的联系。如职工实体中,职工号和部门之间的联系。如职工实体中,职工号和部门经理号之间有一种关联关系,即部门经理号经理号之间有一种关联关系,即部门经理号的取值受职工号取值
22、的约束(部门经理也是的取值受职工号取值的约束(部门经理也是职工,也有职工号),职工,也有职工号),v实体之间的联系实体之间的联系:指不同实体之间联系。:指不同实体之间联系。例学生选课实体和学生基本信息实体之间例学生选课实体和学生基本信息实体之间,学学生选课实体中的学号和学生基本信息实体中生选课实体中的学号和学生基本信息实体中的学号之间的联系。的学号之间的联系。联系联系 1.3.3 概念层数据模型概念层数据模型40v联系的类型联系的类型&一对一联系一对一联系 记为记为1 1:1 1。(如某学校与校长间的联系如某学校与校长间的联系)&一对多联系一对多联系 记为:记为:n n。(如某宿舍房间与学生的
23、联系如某宿舍房间与学生的联系)&多对多联系多对多联系 记为记为m m:n n。(如一个教师可以教授多个学生,而一个学生又可以受教如一个教师可以教授多个学生,而一个学生又可以受教于多个教师)于多个教师)1.3.3 概念层数据模型概念层数据模型411.3.3 概念层数据模型概念层数据模型vE-RE-R模型模型:描述现实世界的描述现实世界的概念模型概念模型。&实体:用矩形框表示,框内写入实体:用矩形框表示,框内写入实体名。实体名。&属性:用椭圆形表示,属性的名属性:用椭圆形表示,属性的名称记入椭圆形内。称记入椭圆形内。&联系:用菱形框表示实体间的相联系:用菱形框表示实体间的相互关系,框内注明联系的名
24、称。互关系,框内注明联系的名称。学生 学号学生与课程学生与课程间的联系间的联系42nm学生与课学生与课程间的联程间的联系系学生学生课程课程 学学号号姓名姓名1:1学生学生学号学号姓名姓名年龄年龄1:n1.3.3 概念层数据模型概念层数据模型E-RE-R模型示例模型示例431.3.3 概念层数据模型概念层数据模型v设计设计E-R图的步骤图的步骤&第一步:针对特定用户的应用,确定实体、属性和实体间的联第一步:针对特定用户的应用,确定实体、属性和实体间的联系,画出用户视图的局部系,画出用户视图的局部E-R图,注意实体和属性是相对的。图,注意实体和属性是相对的。&第二步:综合各个用户的局部第二步:综合
25、各个用户的局部E-R图,产生反映数据库整体概图,产生反映数据库整体概念的总体念的总体E-R图。图。注意:注意:&对不同对不同E-R图中的实体,要消除那些同名异义或同义异名的现图中的实体,要消除那些同名异义或同义异名的现象,保证数据的一致性。象,保证数据的一致性。&在综合局部在综合局部E-R图时,需要注意消除那些冗余的属性、联系。图时,需要注意消除那些冗余的属性、联系。44E-R图例图例11负责人负责人管理管理单位单位证证 件件号号姓名姓名职称职称单位代单位代码码单单 位位 名名称称电话电话1m单位单位包含包含职工职工n选课选课学生学生课程课程学号学号姓名姓名性别性别出生年出生年月月成绩成绩课程
26、代码课程代码课课 程程 名名称称学分学分m1.3.3 概念层数据模型概念层数据模型451.3.4 组织层数据模型组织层数据模型组织层数据模型有四种:组织层数据模型有四种:v层次模型层次模型v网状模型网状模型v关系模型关系模型v面向对象的模型面向对象的模型461.3.4 组织层数据模型组织层数据模型v层次模型层次模型用层次结构(树形结构)来表示实体及实体之间的联系用层次结构(树形结构)来表示实体及实体之间的联系 大大 学学文学院文学院商学院商学院信息学院信息学院法学院法学院自动化系自动化系计算机系计算机系通信系通信系电子工程系电子工程系某大学行政部门的层次结构某大学行政部门的层次结构471.3.
27、4 组织层数据模型组织层数据模型v网状模型网状模型没有唯一的根结点,而每一个结点都可以与其他任意没有唯一的根结点,而每一个结点都可以与其他任意个结点相连个结点相连。专业系专业系教研室教研室课程课程学生学生教员教员任课任课选课选课网状模型示例网状模型示例481.3.4 组织层数据模型组织层数据模型v关系模型关系模型&用二维表格结构来表示实体以及实体之间用二维表格结构来表示实体以及实体之间联系的模型。联系的模型。&操作的对象和结果都是二维表,这种二维操作的对象和结果都是二维表,这种二维表就是关系。表就是关系。&关系模型与层次型、网状型的本质区别在关系模型与层次型、网状型的本质区别在于数据描述的一致
28、性,模型概念单一于数据描述的一致性,模型概念单一 。491.3.4 组织层数据模型组织层数据模型v关系模型的数据结构关系模型的数据结构基本述语:基本述语:关系关系、元组元组、属性属性、主码主码、域域、外码外码。501.3.4 组织层数据模型组织层数据模型v关系模型的数据操作关系模型的数据操作查询、插入、删除、修改。查询、插入、删除、修改。v关系模型的数据完整性约束关系模型的数据完整性约束&实体完整性实体完整性&参照完整性参照完整性&用户定义的完整性用户定义的完整性51实体完整性实体完整性v实实体体完完整整性性指指的的是是关关系系表表中中的的所所有有的的表表都都必必须须有主码,而且表中不允许存在
29、如下的记录:有主码,而且表中不允许存在如下的记录:&无主码值的记录无主码值的记录&主码值相同的记录主码值相同的记录1.3.4 组织层数据模型组织层数据模型52参照完整性参照完整性v不允许引用不允许引用“库内不存在的外码数据库内不存在的外码数据”。v外码:取作本表属性之一的外表主码(主码值外码:取作本表属性之一的外表主码(主码值先在其主表中生成,后在其他表中引用)先在其主表中生成,后在其他表中引用)1.3.4 组织层数据模型组织层数据模型53用户定义的完整性用户定义的完整性v按按应用用语义,属性数据有,属性数据有:&类型与长度限制类型与长度限制:方便计算机操作:方便计算机操作&取值范围限制取值范
30、围限制:防止属性值与应用语:防止属性值与应用语义矛盾义矛盾1.3.4 组织层数据模型组织层数据模型54语义许可取值范围约束例:语义许可取值范围约束例:成绩取成绩取n0.100,n优、良、中、及格、不及格优、良、中、及格、不及格 日期日期n入学日期入学日期 毕业日期毕业日期1.3.4 组织层数据模型组织层数据模型55外码引用例外码引用例1 1学生学生课程课程修课修课(SNO,SNAME,)(CNO,CNAME,)(SNO,CNO,Grade,)1.3.4 组织层数据模型组织层数据模型56外码引用例外码引用例2 2 n 1职工职工部门部门(ENO,DNO,ENAME)(DNO,DNAME)1.3.
31、4 组织层数据模型组织层数据模型571.3.5 E-R模型向关系模型的转换模型向关系模型的转换v关系模型的逻辑结构是一组关系模式的集合。关系模型的逻辑结构是一组关系模式的集合。E-R图由实体、实体的属性以及实体之间的联系三部分组成,图由实体、实体的属性以及实体之间的联系三部分组成,因此将因此将E-R图转换为关系模型实际上就是将实体、实体的属性图转换为关系模型实际上就是将实体、实体的属性和实体间的联系转换为关系模式。和实体间的联系转换为关系模式。581.3.5 E-R模型向关系模型的转换模型向关系模型的转换转换的一般规则为:转换的一般规则为:&一个实体转换为一个关系模式。一个实体转换为一个关系模
32、式。&一个一个1:1联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。也可以与任意一端所对应的关系模式合并。&一个一个1:n 联系可以转换为一个独立的关系模式,联系可以转换为一个独立的关系模式,也可以与也可以与n 端所对应的关系模式合并。端所对应的关系模式合并。&一个一个m:n 联系转换为一个关系模式。联系转换为一个关系模式。&3个或个或3个以上实体间的一个多元联系可以转换为个以上实体间的一个多元联系可以转换为一个关系模式。一个关系模式。&具有相同码的关系模式可以合并。具有相同码的关系模式可以合并。返回主菜单返回主菜单591.4 数据库系
33、统的结构数据库系统的结构601.4 1.4 数据库系统的结构数据库系统的结构v数据库系统内部的系统结构数据库系统内部的系统结构从管理角度看,数据库系统通常采用三级模式结构。从管理角度看,数据库系统通常采用三级模式结构。v数据库系统外部的体系结构数据库系统外部的体系结构从数据库系统最终用户角度看,数据库系统结构分为从数据库系统最终用户角度看,数据库系统结构分为集中式结构,文件服务器结构,客户集中式结构,文件服务器结构,客户/服务器结构等。服务器结构等。611.4.1 数据库系统模式的概念数据库系统模式的概念v模式是用给定的数据模型对具体数据的描述。模式是用给定的数据模型对具体数据的描述。关系模式
34、实际上对应的是关系表的表头,如下图所示。关系模式实际上对应的是关系表的表头,如下图所示。v实例:模式的一个具体值称为模式的一个实例。实例:模式的一个具体值称为模式的一个实例。如:表中的每一行数据是其表头结构(模式)的一个具体实例。如:表中的每一行数据是其表头结构(模式)的一个具体实例。表头表头(关系模式)(关系模式)元组元组属性属性1 1属性属性2 2属性属性n n62关系模式的表示关系模式的表示R(A1,A2,An)关系名称关系名称各属性名称各属性名称1.4.1 数据库系统模式的概念数据库系统模式的概念631.4.2 三级模式结构三级模式结构外模式外模式/模式映射模式映射应用应用A应用应用B
35、应用应用C应用应用D应用应用E外模式外模式1外模式外模式2外模式外模式n模式模式内模式内模式数据库数据库模式模式/内模式映射内模式映射DBMS三级模式为:三级模式为:外模式外模式模式模式(概念模式(概念模式或逻辑模式)或逻辑模式)内模式内模式641.4.3 数据库的二级模式映像功能与数据独立性数据库的二级模式映像功能与数据独立性1外模式外模式/模式映射模式映射 定义该外模式与模式之间的对应关系。定义该外模式与模式之间的对应关系。2模式模式/内模式映射内模式映射 模式模式/内模式映射是惟一的,定义数据库全局内模式映射是惟一的,定义数据库全局 逻辑结逻辑结构与存储结构之间的对应关系构与存储结构之间
36、的对应关系 v采用映射技术实现了数据的两级独立性,保证了数采用映射技术实现了数据的两级独立性,保证了数据的共享。据的共享。返回主菜单返回主菜单651.5 关系数据库规范化关系数据库规范化理论理论661.5 关系数据库理论基础关系数据库理论基础 v问题的提出问题的提出 v解决问题的办法解决问题的办法模式分解模式分解671.问题的提出问题的提出 例:例:S-L-C(Sno,Sdept,SLOC,Cno,Grade)其中:其中:v Sdept 为学生所在系;为学生所在系;vSLOC为为学学生生住住处处(宿宿舍舍楼楼),设设每每个个系系的的学学生住在一个地方。生住在一个地方。vGrade为考试成绩。为
37、考试成绩。主码为(主码为(Sno,Cno)68关系模式中存在什么问题关系模式中存在什么问题 SnoSdeptSLOCCnoGrade9812101计算机2公寓DB809812101计算机2公寓OS859821101信息1公寓C909821101信息1公寓DS 849821102信息1公寓OS 7869存在问题存在问题n数据冗余数据冗余问题 n数据更新数据更新问题 n数据插入数据插入问题 n数据数据删除除问题 702.解决问题的办法解决问题的办法模式分解模式分解 v模式分解即把一个关系模式分解成两个或多个关系模式,模式分解即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些在分解的过
38、程中消除那些“不良不良”的属性依赖关系,从的属性依赖关系,从而获得好的关系模式。而获得好的关系模式。v分解过程中不能破坏原来的应用语义分解过程中不能破坏原来的应用语义 v所谓属性依赖关系是指:模式中的某个属性的值可以由所谓属性依赖关系是指:模式中的某个属性的值可以由模式中其他属性惟一确定。模式中其他属性惟一确定。v分解过程:消除分解过程:消除部分依部分依赖赖和传递依赖。和传递依赖。71S-L-C被被分解为如下三个关系模式分解为如下三个关系模式 Student(Sno,Sdept)SC(Sno,Cno,Grade)SLoc(Sdept,SLoc)721.5.1 函数依赖函数依赖v函数依赖基本概念
39、函数依赖基本概念Y=f(X)XY(函数函数Y依赖于依赖于X)v一些术语和符号一些术语和符号&非平凡的函数依赖非平凡的函数依赖&完全函数依赖完全函数依赖&部分函数依赖部分函数依赖&传递函数依赖传递函数依赖v为什么要讨论函数依赖为什么要讨论函数依赖关系模式设计的不好时,某些属性之间存在着关系模式设计的不好时,某些属性之间存在着“不良不良”的函数的函数依赖。依赖。731.5.2 关系规范化关系规范化v范式范式&第一范式(第一范式(1NF):):不包含重复组的关系(即不不包含重复组的关系(即不包含非原子项的属性)即为第一范式。我们前边包含非原子项的属性)即为第一范式。我们前边所列出的所有表都属于第一范
40、式。所列出的所有表都属于第一范式。741.5.2 关系规范化关系规范化v第第二二范范式式(2NF):若若1NF表表中中每每个个非非主主属属性性都都完完全全依赖于主码,则属于第二范式。依赖于主码,则属于第二范式。751.5.2 关系规范化关系规范化v第第三三范范式式(3NF):若若2NF表表中中所所有有非非主主属属性性都都不不传传递递依赖于主码,则属于第三范式。依赖于主码,则属于第三范式。v一般将第三范式关系就称为规范化的关系一般将第三范式关系就称为规范化的关系。例:学生(学生名,所在系,宿舍楼)或:例:学生(学生名,所在系,宿舍楼)或:S(S,D,H)此关系存在传递关系,即此关系存在传递关系,
41、即SD,DH。存在高度冗余。存在高度冗余。例例如如,如如果果一一个个系系有有500个个学学生生,则则宿宿舍舍楼楼就就要要重重复复500次;也存在着插入异常、修改困难等问题。次;也存在着插入异常、修改困难等问题。上述模式分解为:上述模式分解为:S(S,D)D(D,H)761.5.2 关系规范化关系规范化v关系模式的分解准则关系模式的分解准则规范化的方法是进行模式分解,但分解后产生的模式规范化的方法是进行模式分解,但分解后产生的模式应与原模式等价,即模式分解必须遵守一定的准则。应与原模式等价,即模式分解必须遵守一定的准则。模式分解应满足:模式分解应满足:&模式分解具有无损连接性;模式分解具有无损连
42、接性;&模式分解能够保持函数依赖。模式分解能够保持函数依赖。返回主菜单返回主菜单771.6 数据库应用结构数据库应用结构781.6.1 集中式应用结构集中式应用结构主机终端终端1终端终端2终端终端3终端字符终端字符按键信息按键信息客户端客户端应用程序应用程序数据库数据库.图:大型机结构的数据库访问图:大型机结构的数据库访问优点优点:实现集中管理实现集中管理,安全性能好。安全性能好。缺点缺点:费用昂贵费用昂贵,不能真正划分应用程序的逻辑。不能真正划分应用程序的逻辑。791.6.2 文件服务器结构文件服务器结构网络文件服务器网络文件服务器工作站工作站1工作站工作站2工作站工作站n文件文件文件请求文
43、件请求客户端客户端数据库数据库图:文件服务器结构的数据库访问图:文件服务器结构的数据库访问应用程序应用程序应用程序应用程序应用程序应用程序.优点:费用低,配置灵活,可方便地增减客户端工作站。优点:费用低,配置灵活,可方便地增减客户端工作站。缺点:服务器只提供服务,应用处理都要在客户端完成,客缺点:服务器只提供服务,应用处理都要在客户端完成,客户端个人计算机要求较高。户端个人计算机要求较高。801.6.3 客户机客户机/服务器结构服务器结构 服务器服务器处理结果处理结果数据请求数据请求客户端客户端数据库数据库图:客户机图:客户机/服务器结构的数据库访问服务器结构的数据库访问工作站工作站1工作站工
44、作站2工作站工作站n应用程序应用程序应用程序应用程序应用程序应用程序.客户机客户机/服务器结构将应用逻辑分布在客户工作站和服务服务器结构将应用逻辑分布在客户工作站和服务器之间,可提供更快、更有效的应用程序性能。器之间,可提供更快、更有效的应用程序性能。811.6.4 互联网应用结构互联网应用结构返回主菜单返回主菜单Web服务器服务器页面页面请求请求客户端客户端数据库数据库图:互联网计算环境下的数据库访问图:互联网计算环境下的数据库访问应用程序应用程序数据库服务器数据库服务器结果结果请求请求个人机个人机1个人机个人机2个人机个人机n.浏览器浏览器浏览器浏览器浏览器浏览器互联网计算环境依赖于互联网。互联网计算环境依赖于互联网。821.7 小结小结返回主菜单返回主菜单831.8 习题习题p3536返回主菜单返回主菜单84EndEnd