《数据库原理之》PPT课件.ppt

上传人:牧羊曲112 文档编号:5519494 上传时间:2023-07-16 格式:PPT 页数:74 大小:1.59MB
返回 下载 相关 举报
《数据库原理之》PPT课件.ppt_第1页
第1页 / 共74页
《数据库原理之》PPT课件.ppt_第2页
第2页 / 共74页
《数据库原理之》PPT课件.ppt_第3页
第3页 / 共74页
《数据库原理之》PPT课件.ppt_第4页
第4页 / 共74页
《数据库原理之》PPT课件.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《《数据库原理之》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库原理之》PPT课件.ppt(74页珍藏版)》请在三一办公上搜索。

1、Database Principle,西南交通大学信息科学与技术学院,数据库原理,陶宏才Ph.D.,Professor,Designed by Tao Hongcai,二.课程目的,掌握数据库管理系统的基本原理;,“十一五”国家级规划教材:陶宏才 等编著.数据库原理及设计.第2版.清华大学出版社,2007.9,作为系统管理员应用、操作和管理数据库管理系统;,设计开发数据库应用系统。,一.教材,Designed by Tao Hongcai,数据库管理系统基本原理,DBMS的基本原理在SQL Server中的体现,数据库应用系统的设计与开发,三.课程内容,(1)基本概念:数据库、数据库管理系统、

2、数据库系统、视图、数据模型及抽象等。,(2)基本内容:关系数据库与理论、SQL语言、数据库安全性、数据库完整性、数据库并发控制、数据库故障恢复等。,Designed by Tao Hongcai,首先讲解数据库系统的整体框架,了解其各部分组成及地位作用、所涉及的概念及内容;重视英文术语;,根据整体框架,分别讲授各个组成部分;,各个部分的讲解,基本上先讲其基本概念及理论,紧接着将以SQL Server DBMS为例,对应讲解该理论在实际的DBMS中的运用及体现;,四.讲授方式,本课程(3+1学分)含1学分实验,拟从第10周开始上机实验;,为加深理解、活跃气氛,适当进行课堂提问并视情况给予成绩奖励

3、加分计入期末总评成绩。,Designed by Tao Hongcai,平时成绩占40,期末考试成绩占60,课堂正确答问奖励加分(加分之和10分),五.总评成绩分布,(1)作业占15,(2)实验占25,以满分(100分)为上限。,内容以课堂讲授及教材为准。,Designed by Tao Hongcai,六.主要参考书,1 Raghu Ramakrishnan,Johannes Gehrke.Database Management Systems.2nd Edition.清华大学出版社,McGraw-Hill,2000.3,4 Jeffrey D.Ullman,Jennifer Widom著.

4、A First Course in Database Systems.3rd Edition.岳丽华 等译.机械工业出版社,2009.8,5 王珊,陈红.数据库系统原理教程.清华大学出版社,1998.7,3 Ramez Elmasri,Shamkant B.Navathe.Fundamentals of Database Systems.5th Edition.邵佩英 等译.人民邮电出版社,2008.1,6 张龙祥 等.数据库原理与设计.第2版.人民邮电出版社,2007.9,7 施伯乐 等.数据库系统教程.第2版.高等教育出版社,2003.8,2 Abraham Silberschatz,He

5、nry F.Korth,S.Sudarshan.Database System Concepts.6th Edition.杨冬青 等译.机械工业出版社,2012.3,Designed by Tao Hongcai,第一章 数据库系统概述,学习目的和要求,数据库管理系统出现的背景,数据库管理系统基本功能、抽象层次,数据库系统总体结构,理解数据库原理、应用及设计三部分间的关系,数据库系统中的术语与基本概念,数据库技术发展,Designed by Tao Hongcai,1.1 数据库管理系统及其总体概述,从最原始的观点出发来看如下问题:,从利用文件系统来开发管理软件和网络 共享观点来看待数据库管理

6、系统的出现,1.利用文件系统的应用软件开发过程,开发任务,开发工具及环境,简单学生管理系统,有学生注册、选课、学籍、和成绩等模块。,C/C+、Windows操作系统的文件系统。,开发任务分析及设计,注意:要完全抛开现成的数据库及工具。利用文件系统来模 拟数据库。,Designed by Tao Hongcai,系统实现过程,struct Student intnStudNo;charszStudName20;charcStudSex;intnStudAge;charszDept30;,struct EnrolledintnStudNo;intnWhichTerm;charcEnrolled;c

7、harszMem30;,struct CourseintnCourseNo;charszCourseName20;charszDept30;,struct GradeintnStudNo;intnCourseNo;intnGrade;,数据结构定义,Designed by Tao Hongcai,构造链表,链表操作,结点的插入(Insert)、删除(Delete)、修改(Update)和链表查询(Query)与排序(Sort)。,Designed by Tao Hongcai,用户界面(GUI)设计,Designed by Tao Hongcai,数据存储文件创建,程序运行时,将文件中的数据读

8、出到对应链表中;程序结束运行前,将链表中的数据存入到对应数据文件中。,文件与链表的数据交换,Designed by Tao Hongcai,数据管理操作,2.文件系统的缺陷,大容量数据存储,大数据量如500GB,最基本的数据操作:增加、删除、修改和查询,简称:增删改查询。业务操作或功能均以这四个基本操作为基础。,1 KB(kilobyte)=1024 Bytes;1 MB(megabyte)=1024 KB,1 GB(gigabyte)=1024 MB;1 TB(terabyte)=1024 GB,1 PB(petabyte)=1024 TB;1 EB(exabyte)=1024 PB,1 Z

9、B(zettabyte)=1024 EB;1 YB(yottabyte)=1024 ZB,Designed by Tao Hongcai,问题:,如何保证存放于多张表中的数据一致性;并发访问下避免数据不一致(并发与串行);系统故障下如何保证数据一致(故障前后)。,安全性,数据一致性,不同用户的授权问题等。,(1)内存不够;(2)32位计算机直接访问的地址为4GB;在32位机上Linux、Windows NT、Windows 2000等操作系统不允许硬盘上单个文件超过232=4GB大小。(3)大数据量下的查询速度。,多用户并发访问,Designed by Tao Hongcai,3.DBMS的出

10、现,4.引起的术语变化及简单对应,结构类型 数据模型,具体的某个结构 数据模式,数据文件 数据库,Designed by Tao Hongcai,二.从文件系统缺陷及管理特点来看数据库管 理系统应具有的基本功能,数据独立性(Data Independence):指应用程序独立于数据的表示(逻辑)与存储(物理),通过将数据的定义与存储从程序中独立出来实现。,高效数据访问(Efficient Data Access):DBMS利用许多复杂的技术来高效存储和检索数据,这对存于外部存储设备上的数据相当重要。,数据完整性与安全性(Data Integrity and Security):DBMS通过数据

11、的完整性约束或限制(Integrity Constraints)、访问控制来完成。,通过将数据存储于DBMS中而不是文件系统中,可以以一种强壮、高效的方式进行数据的管理,其优点为:,Designed by Tao Hongcai,数据管理(Data Administration):数据的集中管理可减少冗余。,并发访问与故障恢复(Concurrent Access and Crash Recovery):并发访问可使用户感到好象只有他一个人在使用某个数据。,缩短应用开发时间(Reduced Application Development Time):有许多重要的数据管理及其相关的任务由DBMS来

12、完成,而非App.,注:不使用DBMS的环境,(1)苛刻的实时(Real-Time)环境;,(2)操作少,代码要求精炼;,(3)操纵的数据不被查询语言支持,如文档数据。,Designed by Tao Hongcai,数据库管理系统应具有的基本功能,数据独立性,并发控制,安全性,故障恢复,完整性,Designed by Tao Hongcai,三.从应用系统开发的角度来看待数据库的抽 象层次,Designed by Tao Hongcai,四.又从数据库的抽象层次来进行数据库应用 管理系统的设计与开发,及其设计工具,五.从对数据库管理系统的要求和操作来看待 SQL数据库语言,抽象层次体现的正是

13、数据库设计与开发的过程,各阶段中使用不同的设计工具,数据定义,数据操作,系统管理,Designed by Tao Hongcai,六.数据库原理、应用与设计之间的联系,通过以上介绍应了解:数据库管理系统的原理与数据库应用系统的设计与开发的联系是紧密相关的。,Designed by Tao Hongcai,七.从实际应用需要来看待数据库技术的发展,文件系统,第一代数据库系统(层次与网状数据库系统),代表:IMS、DBTG报告,22/74,Designed by Tao Hongcai,第二代数据库系统(关系数据库系统RDBMS),代表:System R、Ingres 10、DB2 10.5(In

14、formix v11)、Oracle Database 12c(MySQL 5.6)、Sybase ASE 15.7、MS SQL Server 2012,Designed by Tao Hongcai,数据仓库(Data Warehousing),OLTP(Online Transaction Process),数据挖掘(Data Mining),并行与分布式数据库,Internet 数据库,面向对象数据库OODBMS,,OLAP(Online Analysis Process),Designed by Tao Hongcai,1.2 数据库系统中的基本概念,数据、数据库、数据库管理系统和

15、数据库系统,数据(Data)是描述现实世界中各种具体事物或抽象概念的可存贮并具有明确意义的信息。,数据库(Database,DB)是相互关联的数据集合。,数据库管理系统(Database Management System,DBMS)是一个通用的软件系统,由一组计算机程序构成。它能对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等;同时,它也为用户提供了一个软件环境,使其能够方便快速地创建、维护、检索、存取和处理数据库中的信息。,Designed by Tao Hongcai,数据库系统(Database System,DBS)由数据库和,数据库管理系统构成,更广义的构成则为“DB

16、+DBMS+数据库管理员(DataBase Administrator,DBA)+应用程序+用户”。,Designed by Tao Hongcai,数据字典(Data Dictionary,DD)是数据库系统中的,数据库操作(Database Operation)在数据库应用中,最常见的数据库操作有:增加、删除、修改和查询。,视图(View)对同一数据库的每一种理解即被称为该数据库的一个视图。,二.视图,数据库的分层视图,一个特殊文件,用于存储数据库的一些说明信息,这些说明信息称为元数据(Meta Data)。,大型数据库与微机数据库区别,Designed by Tao Hongcai,De

17、signed by Tao Hongcai,输入输出数据视图 即终端用户所见到的输入输出数,外部视图(External View)局部数据库逻辑结构称为外部视图。这种视图在数据库设计时通常以图形的形式(如E-R图)表示,有的又叫视图或用户视图。,概念视图(Conceptual View)整个数据库系统的全局逻辑结构。这种逻辑结构称为概念模型,它不包含任何数据库的实现细节,如:何种DBMS、文件组织、存取方法等。这种逻辑结构的形式化描述称为概念视图。在数据库设计时,概念视图通常也以E-R图表示。,据结构描述,也就是最终用户所见到的数据库的样子。,Designed by Tao Hongcai,内

18、部视图(Internal View)或存储视图特定的DBMS所,物理视图(Physical View)数据库在存储设备上的物理组织称为物理模型,其描述称为物理视图。它包含了所使用设备特征、物理记录或块的组成、寻址技术和压缩存储技术等的说明。,处理的数据库的内部结构称为内部模型,其形式化描述称为内部视图或存储视图,它将数据库表示为”内部记录”或”存储记录”的集合。存储记录仍然是逻辑性的,它不存储设备上的物理记录或物理块,也不涉及任何具体设备限制,如:柱面或磁道的大小等,所以存储视图还不是最底层的物理层。存储视图还指明存储记录的物理顺序、以及它们如何彼此关联。存储视图的语言形式定义称为内部模式。,

19、Designed by Tao Hongcai,三.数据抽象、数据模型与数据模式之关系,数据抽象(Data Abstraction)即是将数据抽象化、逻辑化,是对数据的抽取过程。在数据库系统中,有三种级别的数据抽象,即:视图级抽象、概念级抽象和物理级抽象。,数据模型(Data Model)即是对数据进行抽象化表示的工具,主要使用逻辑概念(如对象、对象属性、对象联系等)来表示数据。,由于抽象级别的存在,数据模型也存在相应的级别。如:概念数据模型、逻辑数据模型、物理数据模型等。对于抽象级别高的概念数据模型我们叫它语义(Semantic)数据模型,如ER模型。,数据模式(Data Schema)利用

20、数据模型组织抽取的数据所得的结果,也即是数据抽象的结果。,Designed by Tao Hongcai,四.数据模型,通俗来讲,数据模型就是对现实世界的模拟、描述或表示。数据模型应满足的三个要求:,2.数据模型的三要素,(1)数据结构,(1)比较真实地描述现实世界;,(2)易为用户所理解;,(3)易于在计算机上实现。,用于描述系统的静态特性。数据结构不仅要描述数据本身,还要描述数据之间的联系。,1.数据模型的三个评价标准,Designed by Tao Hongcai,(2)数据操作,用于描述系统的动态特性。包括操作及有关的操作规则。数据库的主要操作有:插入、删除、修改和查询。,3.数据模型

21、应用现状,(3)数据的约束条件,是一组完整性规则的集合。完整性规则是数据模型中数据及其联系所具有的约束规则,用来限定数据库状态以及状态的变化,以保证数据的合理。,为何要使用多种数据模型?,(1)现实管理系统的用户与计算机管理系统的设计人员之间的专业差异。,(2)用户理解与计算机实现的矛盾。,Designed by Tao Hongcai,4.传统数据模型回顾,(1)层次数据模型(Hierarchical Data Model),HDM是数据库系统中最早出现的数据模型。60年代后期,IBM开发出IMS(Information Management System)DBMS,是层次数据库管理系统的典

22、型代表。,用树形结构表示各类实体以及实体之间的联系。现实世界中许多实体之间的联系就呈现出一种很自然的层次关系,如:行政机构、家庭关系等。层次模型是以记录型为结点的有向树。,Designed by Tao Hongcai,按树的定义,层次模型有以下两个限制:只有一个结点没有双亲结点,即根结点;根以外的其他结点有且只有一个双亲结点。因此,层次数据库系统只能处理一对多的实体关系。,Designed by Tao Hongcai,层次模型中,每个结点表示一个记录类型,结点之间的连线表示记录类型间的联系。这种联系只能是父子联系。,层次模型的另一个最基本的特点是:任何一个给定的的记录值只有按其路径查看时,

23、才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。,(2)网状数据模型(Net Data Model),用层次模型表示非树型结构很不直接,网状模型则可克服这一弊病。,网状数据模型的典型代表是DBTG系统,亦称CODASYL系统。是由美国数据库系统语言协会CODASYL(Conference On Data System Language)下属的DBTG(DataBase Task Group)于60年代末70年代初提出的一个系统方案,形成DBTG报告。,Designed by Tao Hongcai,网状模型比层次模型更具普遍性。,它去掉了层次模型的两个限制,允许结点有多个

24、双亲结点。可比层次模型更直接地描述现实世界。,Designed by Tao Hongcai,五.数据库语言、SQL语言,数据定义子语言(Data Definition Language,DDL)用来定义数据库模式。,数据操纵子语言(Data Manipulation Language,DML)用来表示用户对数据库的操作请求。由于数据库语言其主要的功能是查询数据库中的信息,故经常称之为数据查询语言。,SQL(Structured Query Language,结构化查询语言)是一种集数据定义和数据操纵子语言为一体的、标准化(80年代后期)的、关系型数据库语言。目前的标准化版本为SQL-92,被

25、ANSI(American National Standards Institute)、ISO(International Standards Organization)采纳。,Designed by Tao Hongcai,SQL语言的第一个版本是由IBM公司SAN JOSE实验室为SYSTEM R关系数据库管理系统设计的。,SQL语言既可以作为交互式(Interactive)数据库语言使用,也可以嵌入(Embedded)到程序设计语言中作为其子语言使用,这时前者称为宿主语言(Host Language),如:C/C+语言、PowerBuilder、Delphi等。,SQL标准有:SQL-8

26、6、SQL-89、SQL-92、SQL:1999、SQL:2003、SQL:2011。其中,SQL-86和SQL-89属SQL1(表示SQL版本1),SQL-92属SQL2,而SQL:1999则属SQL3。,Designed by Tao Hongcai,第二章 高级(概念)数据模型,学习目的和要求,数据模型的来源及评价,数据模型层次性及内容(静态结构与完整性约束),实体联系数据模型ERM中的基本概念,Designed by Tao Hongcai,2.1 数据模型综述,回答如下问题:,1.为什么需要数据模型?,4.数据模型为什么有层次性?,3.如何评价数据模型?,2.如何描述数据模型,即数据

27、模型含有哪些内容?,5.数据模型的未来?,6.实体联系数据模型的地位与作用?,Designed by Tao Hongcai,一.为什么需要数据模型?,由于数据的定义与操作从应用程序中剥离出来,交由DBMS来定义和管理。于是DBMS需要采用某种数据结构来定义、存储所要管理的数据。这种狭义的数据结构类似于DBMS的数据模型。,二.数据模型含有哪些内容?,1.数据的静态结构,2.数据的动态操作(增删改查询),3.数据的完整性约束,综合说来,应描述数据、数据之间联系、数据语义及完整性限制。,Designed by Tao Hongcai,三.如何评价数据模型?,四.数据模型为什么有层次性?,1.真实

28、地描述现实系统,2.易于为一般用户所理解,3.易于计算机实现,1.从与数据抽象的关系看,2.从评价指标(第二、三项)的互斥性看,五.数据模型的未来?,1.设计、开发与实现的一统数据模型。,2.层次共存,但各种用户只用一种高级模型,而其它工作由计算机及其编译环境负责(类似高级语言编译器)。,Designed by Tao Hongcai,六.实体联系数据模型的地位与作用?,1.传统三种数据模型的特点,2.三种数据模型的不足,3.实体联系模型(Entity Relationship Model,ERM)是用得最多且最成熟的语义数据模型。属于数据库应用系统设计的内容。,能较好地满足第一和第三项评价要

29、求;,不易被业务用户理解。这是提出语义数据模型(Semantic Data Model)的基础。,4.从数据库应用系统设计角度看,ER模型主要用于DB概念设计,是DB概念设计较常用的设计工具。,Designed by Tao Hongcai,2.2 数据库设计综述,对照数据库抽象层次,数据库设计按如下步骤进行:,一.需求分析(Requirements Analysis),任务:收集的信息变成数据高级描述及对数据的约束限制。工具:ER图。结果:概念DB设计。对应:现实系统到外模式的视图抽象,以及外模式到概念模式的概念抽象。,二.概念数据库设计(Conceptual DB Design),了解:D

30、ata,App.,Operations,Performance.方法:调查、讨论、座谈、收集、DFD等。对应:抽象层次的现实系统描述。,Designed by Tao Hongcai,三.逻辑数据库设计(Logical DB Design),任务:选择一RDBMS,将概念DB设计变成RDM对应的模式(Schema)。结果:为内模式。对应:数据库抽象层次的物理抽象及内模式。,四.模式优化(Schema Refinement),任务:解决潜在问题,利用规范化(Normalization)理论进行优化。,对应:数据库抽象层次的物理抽象及内模式。,Designed by Tao Hongcai,五.物

31、理数据库设计(Physical DB Design),考虑:负载、性能要求,如有DBMS或FS支持。,六.安全设计(Security Design),任务:哪些用户(组)可/不可访问哪些数据。,需说明的几点问题:,注意:如无DBMS或文件系统(FS),则需要对如 何实现内模式进行设计,此时就相当复杂。,1.以上各步可能需不断重复,直到满意为止;,2.这里忽略了DB应用的实现,即运行于DBMS之上的应用层;,3.数据抽象的过程实际上是一个数据建模的过程。,Designed by Tao Hongcai,2.3 实体联系数据模型ERM,一.Entities,Attributes,and Entit

32、y Sets,1.实体(Entity),2.实体型(Entity Set),注意:可以是具体的、也可以是抽象的。,概念:一个现实世界中有别于其它对象的对象。,示例:某某学生、某某老师、某门课程,概念:同类实体的集合。在不混淆的情况下,简称实体。,示例:学生、教师、课程,(1)正在从事建模或数据抽象工作,即是将现实世界(问题空间)中的事物转换成计算机世界(解空间)中的对象。,提示:,(2)既然是建模,就必然要考虑如何描述问题空间中的事物。,Designed by Tao Hongcai,3.属性(Attribute),分类(按结构):简单属性(不可再分)、复合属性和子属性。,域(Domain):

33、属性的取值范围。,概念:实体的特征或性质,即实体用属性描述。,示例:学生的学号、姓名、生日、年龄、性别、住址等;课程的课程号、课程名、学时、学分、开课学院等。,示例:复合姓名(现用名、曾用名、英文名子属性);住址(省、市、区、街道、门牌号、邮政编码子属性)。,分类(按取值):单值、多值、导出和空值(NULL)等属性。,示例:多值学位值(学士、硕士、博士);导出生日导出年龄。,注意:实体用属性描述,实体型中的所有实体具有相同的属性。,Designed by Tao Hongcai,4.键(Key),分类(按属性个数):简单键、复合键。,候选键(Candidate Key):最小属性集合的键。,概

34、念:具有唯一标识特性的一个或一组属性,用于唯一标识集合中的实体。,示例:学生的学号;课程的课程号,示例:学生的指纹、眼波、学号、身份证号等。,注:ER模型可图示。实体型用长方形;属性用椭圆;主键用下划线。,主键(Primary Key):当存在多个候选键时,需选定一个作为实体的主键。是描述实体的唯一标识。,Designed by Tao Hongcai,示例:,概念:二个或多个实体间的关联(Association)。,示例:选课是学生与课程之间的联系;门市零售可以是客户、售货员与商品之间的联系。,二.Relationships and Relationship Sets,1.联系(Relati

35、onship),Designed by Tao Hongcai,联系的描述属性:联系也可有描述属性(Description Attribute),用于记录联系的信息而非实体的信息。,联系的识别:联系由参与的实体唯一确定。,概念:相似的一组联系。联系型的实例(Instance)是联系的集合。在不混淆的情况下,简称联系。,示例:选课的成绩和修课学期;零售的商品数量。,示例:选课(学号、课程号);零售(售货员号、客户号、商品条码、日期)。,联系型的阶:一个联系型所关联的实体型的数量。阶为n的联系型称为n元联系型。,示例:选课(二元联系);零售(三元联系)。,注:联系型用菱形图示。,2.联系型(Rel

36、ationship Set),Designed by Tao Hongcai,示例:,(1)二元(两个实体型之间的)联系(Binary Relationship);,(2)三元(两个以上实体型之间的)联系(Ternary Relationship);,(3)两个实体型之间可能有多个不同的联系;,3.联系型存在的各种情况,Designed by Tao Hongcai,示例:,(4)有时一个联系型所关联的是同一个实体型中的两个实体。,2023/7/16,Designed by Tao Hongcai,三.Integrity Constraints of ERM,定义:设联系型R关联实体型A和B。

37、如果对应A中的每个实体,B中有且仅有一个实体与之关联,则称R是一对一联系型,简记作1:1联系。如果对应A中的每个实体,B中有n个实体(n0)与之关联,则称R是一对多联系型,简记作1:N联系。如果对应A中的每个实体,B中有n个实体(n0)与之关联,如果对应B中的每个实体,A中有m个实体(m0)与之关联,则称R是多对多联系型,简记作M:N联系。,1.联系型分类,(1)一对一联系(one-to-one,1:1),(2)一对多联系(one-to-many,1:N),(3)多对多联系(many-to-many,M:N),提示:用这种方式(约束)来说明现实系统中实体之间在数量上的约束。,Designed

38、by Tao Hongcai,示例:,(1)一个部门只有一个经理,而一个经理只能管理一个部门,则该管理联系为1:1联系。,如果规定:,(2)一个员工可以是多个部门的经理,而一个部门最多只能有一个经理,则该管理联系为1:N联系。,(3)一个员工可以在多个部门工作,而一个部门有多个员工,则该工作联系为M:N联系。,Designed by Tao Hongcai,2.键约束或限制(Key Constraints),说明:前面所述联系型中所关联实体间的三种对应关系,实际上指的是一些约束,分别为:一对一约束、一对多约束和多对多约束。,概念:键约束指的是,如果在一个联系R的实例中,其中一个关联的实体A最多

39、只能出现在一个联系实例中。与“实体对应约束”同义。,注意:只有1:1约束和1:N约束才存在键约束。,图示:键约束可用箭头表示(对于1:N约束,箭头应标在1:n的n方,表明给定一个该实体即可唯一确定其间的联系)。,Designed by Tao Hongcai,示例:,(1)对于图中的1:1管理联系,说明:给定一个部门实体,即可唯一地确定一个管理联系的实例。这时,管理联系可用部门的键(部门号)唯一确定,这也是使用“键约束”的原因。,(2)对于图中的1:N工作联系,说明:给定一个员工实体,即可唯一地确定一个工作联系的实例。这时,工作联系可用员工的键(员工号)唯一确定。,Designed by Ta

40、o Hongcai,键约束的好处:前面曾经指出,联系由其所关联实体唯一确定。但对存在键约束的联系,只需用一个关联的实体即可唯一地确定该联系。这也是为什么叫“实体对应约束”的原因。,扩展:多个实体间的联系也存在有键约束的情况。,示例:每个员工最多在一个部门工作,并且在一个地点。,Designed by Tao Hongcai,3.参与约束(Participation Constraints),概念:是实体与联系之间的约束,即实体如何参与到联系中。与“实体关联约束”同义。,分类:完全参与(Total Participation)和部分参与(Partial Participation)。完全参与即“

41、全域实体关联约束”,部分参与即“部分关联约束”。,图示:用粗线表示完全参与。,Designed by Tao Hongcai,示例:,(1)管理中的员工实体集的参与为部分参与,因为不是每个员工都会去管理一个部门。而部门为完全参与,因为每个部门都会被某个员工管理。,(2)工作中的员工与部门均为完全参与,因为每个员工都必须在某个部门工作,而每个部门都会有员工在其中工作。,Designed by Tao Hongcai,四.弱实体(Weak Entities),前面所涉及的实体型,均基于这种假设:总有一个属性是键。然而,实际情况中,并不总是如此。,概念:没有键属性的实体。,识别实体型(Identif

42、ying Owner)与识别联系(Identifying Relationship):由于弱实体型的不同实体的属性值可能完全相同,难以区别。为此,弱实体型需要与一般的实体型相关联。假如联系型R关联弱实体型A和一般实体型B,弱实体型A的不同实体可以通过与B的有关实体相结合来加以区别,则B称为弱实体型A的识别实体型,R称为弱实体型A的识别联系。,Designed by Tao Hongcai,示例:,(1)识别实体与弱实体必须参与的是1:n联系,该联系即为该弱实体的识别联系。,(2)弱实体型必须完全参与识别联系。,限制或约束:,部分键(Partial Key):弱实体型必须具有一个或多个属性,使得

43、这些属性可以与识别实体型的键结合形成相应弱实体型的键。这样的弱实体属性称为弱实体型的部分键。,图示:弱实体和识别联系用粗线条,部分键加虚下划线。,Designed by Tao Hongcai,五.设计示例,设有四个实体:“团长”,“代表团”,“运动员”,“比赛项目”。“团长”的属性有身份证号、姓名、性别、年龄、电话;“代表团”的属性有团编号、来自地区、住所;“运动员”的属性有编号、姓名、性别、年龄;“比赛项目”的属性有项目编号、项目名、级别。这些实体间的联系及它们的属性有:团长“管理”代表团;代表团由运动员“组成”;运动员“参加”比赛项目。“参加”的属性是比赛时间和得分。请根据以上描述,画出

44、该体育运动会的ER图。,Designed by Tao Hongcai,Designed by Tao Hongcai,Designed by Tao Hongcai,2.5 Conceptual DB Design With ERM,(1)一个概念是用实体还是属性表示;,(2)一个概念是用实体的属性还是联系的属性表示;,(3)是用两个实体之间的联系,还是用两个以上实体间的联系;,利用ER图的概念DB设计,关键是确定:,Designed by Tao Hongcai,一.Entity vs.Attribute,一般情况下,一个概念是用实体描述还是用属性描述是比较明确的。只是在少数情况下,较难取

45、舍。,1.用属性表示,示例:“地址”,如果每个员工只需记录一个地址,则将其作为员工实体的属性是合适的。,2.用实体而非属性,示例:员工在同一部门的不同“地点”工作。,(1)需记录多个值,示例:“地址”分成国家、省、市、区、街道等。,(2)需表达其结构或作细分查询,Designed by Tao Hongcai,二.实体的属性 vs.联系的属性,少数情况下,实体的属性还是联系的属性较难取舍。,1.用实体的属性表示,示例:部门经理与所管理部门间的“管理”联系,如果假定某个部门经理可能会同时管理多个部门,且其可支配的经费是所有管理部门经费之和。,69/74,Designed by Tao Hongc

46、ai,2.用联系的属性表示,示例:部门经理与所管理部门间的“管理”联系,如果假定某个部门经理可能会同时管理多个部门,且要求各部门经费必须分开管理时。,Designed by Tao Hongcai,三.Binary vs.Ternary Relationship,1.用三元联系,示例:客户、产品及供应商三个实体之间,一个客户可购买多种产品、一种产品可以由多个供应商提供。要求表达:某客户从特定的供应商购买某种产品。,Designed by Tao Hongcai,说明:,用二元联系,只能表示:,一个供应商能供应某种产品;,一个客户需要某些产品;,一个客户与某个供应商的业务往来。,不能完全组合这些

47、联系来充分表达合同的含义。这时应用三元联系,因为:,供应商(Supplier)S能供应产品(Product)P;客户(Customer)C需要产品P;客户C从供应商S购买,不一定意味着C确实是从S购买产品P。,不能清晰表达出合同的数量属性。,Designed by Tao Hongcai,2.用二元联系,示例:客户、担保人和贷款三个实体之间,一个客户可有多笔贷款、每一笔贷款有且仅有一个客户;一笔贷款可有多个担保人、但一个担保人只能担保一笔贷款。,Designed by Tao Hongcai,2.6 Conceptual Design for Large Enterprises,一个大型的企业:多个设计员、多个用户组的大量数据和应用。应用高级的语义数据模型,如ER图作为概念设计工具。ER模型的优点是:易于图形表达、易于为业务用户所理解。,设计方法有二种:,(1)全局:提交全局需求、考虑各种用户组的需求、解决需求中的冲突,生成一个包含整个企业中所有数据和应用的逻辑模式。,(2)局部到全局:先为每个用户组生成一个各自的概念模式、然后集成之、综合时应考虑解决各种冲突(如命名、域不匹配、度量单位等)。,The End,Designed by Tao Hongcai,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号