数据库原理及应用(何玉洁)第二版第2章.ppt
《数据库原理及应用(何玉洁)第二版第2章.ppt》由会员分享,可在线阅读,更多相关《数据库原理及应用(何玉洁)第二版第2章.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2 2章章 数据库系统结构数据库系统结构2.1 数据和数据模型数据和数据模型 2.2 概念层数据模型概念层数据模型 2.3 组织层数据模型组织层数据模型2.4 数据库系统的结构数据库系统的结构12.1 2.1 数据和数据模型数据和数据模型 一、数据一、数据数据数据是用物理符号把信息按一定格式记载下是用物理符号把信息按一定格式记载下来的有意义符号组合。来的有意义符号组合。如如(张三,张三,99121019912101,男,男,19811981,计算机系,计算机系,应用软件应用软件)数据有一定的格式。数据有一定的格式。数据是信息存在的一种形式,只有通过解释数据是信息存在的一种形式,只有通过解释
2、或处理才能成为有用的信息。或处理才能成为有用的信息。2数据的两个特征:数据的两个特征:数据的静态特征数据的静态特征 包括数据的基本结构、数据间的联系和对包括数据的基本结构、数据间的联系和对数据取值范围的约束。数据取值范围的约束。数据的动态特征数据的动态特征 指对数据进行的操作及操作规则,对数据指对数据进行的操作及操作规则,对数据库数据的操作主要有查询数据、更改数据(插库数据的操作主要有查询数据、更改数据(插入、删除、修改数据)。入、删除、修改数据)。3二、二、数据模型数据模型 模型模型是对事物、对象、过程等客观系统中感是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的兴
3、趣的内容的模拟和抽象表达,是理解系统的思维工具。思维工具。数据模型数据模型(Data Model)(Data Model)也是一种模型,它是对现实世界数据特征也是一种模型,它是对现实世界数据特征的抽象。的抽象。数据模型一般应满足三个要求:数据模型一般应满足三个要求:第一:要能够比较真实地模拟现实世界;第一:要能够比较真实地模拟现实世界;第二:要容易被人们理解;第二:要容易被人们理解;第三:要能够很方便地在计算机上实现。第三:要能够很方便地在计算机上实现。4根据模型应用的不同目的,可将这些根据模型应用的不同目的,可将这些模型分为两大类,它们分别属于两个模型分为两大类,它们分别属于两个不同的层次。
4、不同的层次。v第一类是第一类是概念层模型概念层模型 v另一类是另一类是组织层数据模型组织层数据模型 5概念层模型概念层模型从数据的从数据的应用语义视角应用语义视角来抽取模型并按来抽取模型并按用户的观点来对数据和信息进行建模。用户的观点来对数据和信息进行建模。这类模型主要用在这类模型主要用在数据库的设计阶段数据库的设计阶段它与具体的数据库管理系统无关。它与具体的数据库管理系统无关。6组织层数据模型组织层数据模型从从计算机系统的观点计算机系统的观点出发对数据进行建模出发对数据进行建模指用什么样的结构来组织数据指用什么样的结构来组织数据 主要用于主要用于DBMSDBMS的实现的实现主要包括:主要包括
5、:l层次模型层次模型(用树型结构组织数据)(用树型结构组织数据)l网状模型网状模型(用图型结构组织数据)(用图型结构组织数据)l关系模型关系模型(用简单二维表结构组织数据)(用简单二维表结构组织数据)l对象关系模型对象关系模型(用复杂表格及其他结构(用复杂表格及其他结构组织数据)组织数据)7 为了把现实世界中的为了把现实世界中的具体事物抽象、组织为某具体事物抽象、组织为某一具体一具体DBMSDBMS支持的数据模支持的数据模型,型,通常首先将现实世界通常首先将现实世界抽象为信息世界,然后再抽象为信息世界,然后再将信息世界转换为机器世将信息世界转换为机器世界。界。即:首先把现实世界即:首先把现实世
6、界中的客观对象中的客观对象抽象抽象为某一为某一种信息结构,然后再把概种信息结构,然后再把概念级模型念级模型转换转换为计算机上为计算机上的的DBMSDBMS支持的数据模型,支持的数据模型,也就是组织层数据模型。也就是组织层数据模型。现实世界现实世界人的认识抽象人的认识抽象信息世界:概念模型信息世界:概念模型机器世界:具体的机器世界:具体的DBMS支持的组织模型支持的组织模型82.2 2.2 概念层数据模型概念层数据模型一、基本概念一、基本概念l实际上是现实世界到机器世界的一个实际上是现实世界到机器世界的一个中间层次中间层次。l概念层模型:概念层模型:是指抽象现实系统中有应用价值的是指抽象现实系统
7、中有应用价值的元素及其关联关系,反映现实系统中有应用价值元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织结构。的信息结构,并且不依赖于数据的组织结构。概念数据模型是面向用户、面向现实世界的数据概念数据模型是面向用户、面向现实世界的数据模型,它与具体的模型,它与具体的DBMSDBMS无关。无关。常用的概念模型有常用的概念模型有实体实体-联系联系(Entity-Entity-RelationshipRelationship,简称简称E-RE-R)模型、语义对象模型。模型、语义对象模型。9二、实体二、实体-联系模型联系模型 1 1、实体、实体l实体实体是具有公共性质的可相
8、互区别的现实世是具有公共性质的可相互区别的现实世界对象的集合。界对象的集合。l实体可以是具体的,也可以是抽象的概念或实体可以是具体的,也可以是抽象的概念或联系。联系。如学生、课程,学生的选课、订货等如学生、课程,学生的选课、订货等。l在在E-RE-R图中用图中用矩形框矩形框表示具体的实体,把实表示具体的实体,把实体名写在框内。体名写在框内。l实体中的每个具体的记录值(一行数据),实体中的每个具体的记录值(一行数据),称之为实体的一个称之为实体的一个实例实例。比如学生实体中的每比如学生实体中的每个具体的学生。个具体的学生。102 2、属性、属性l属性属性就是描述实体或者联系的性质或特征的就是描述
9、实体或者联系的性质或特征的数据项。属于一个实体的所有实体实例都具有数据项。属于一个实体的所有实体实例都具有共同的性质,在共同的性质,在E-RE-R模型中,这些性质或特征模型中,这些性质或特征就是属性。就是属性。l属性在属性在E-RE-R图中用图中用圆角矩形圆角矩形表示,在矩形框表示,在矩形框内写上属性的名字,并用连线将属性矩形框与内写上属性的名字,并用连线将属性矩形框与它所描述的实体联系起来。它所描述的实体联系起来。113 3、联系、联系l实体内部的联系通常是指组成实体的各属实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指性之间的联系,实体之间的联系通常是指不同实体之间
10、的联系。不同实体之间的联系。l联系是数据之间的关联集合,是客观存在联系是数据之间的关联集合,是客观存在的应用语义链。联系用的应用语义链。联系用菱形框菱形框表示,框内表示,框内写上联系名,并用写上联系名,并用连线连线将联系框与它所关将联系框与它所关联的实体连接起来。联的实体连接起来。12实体型之间的联系分为三类:实体型之间的联系分为三类:一对一联系一对一联系:如果实体:如果实体A A中中的每个实例在实体的每个实例在实体B B中至多有中至多有一个(也可以没有)实例与之一个(也可以没有)实例与之关联,反之亦然,则称实体关联,反之亦然,则称实体A A与实体与实体B B具有一对一联系,记具有一对一联系,
11、记作:作:1:11:1。例如,部门和经理(假设一个例如,部门和经理(假设一个部门只有一个经理)、系和正部门只有一个经理)、系和正系主任(假设一个系只有一个系主任(假设一个系只有一个正主任)都是一对一联系。正主任)都是一对一联系。如如图(图(a a)所示。所示。经理经理部门部门管理管理11(a)13一对多联系一对多联系:如果实体如果实体A A中中的每个实例在实体的每个实例在实体B B中有中有n n个个实例实例(n0n0)与之联系,而与之联系,而实体实体B B中每个实例在实体中每个实例在实体A A中中只有一个实例与之联系,则只有一个实例与之联系,则称实体称实体A A与实体与实体B B是一对多联是一
12、对多联系,记作:系,记作:1:n1:n。例,假设一个部门有若干职例,假设一个部门有若干职工,而一个职工只在一个部工,而一个职工只在一个部门工作,则部门和职工之间门工作,则部门和职工之间就是一对多联系。就是一对多联系。如图(如图(b b)所示。所示。职工职工部门部门工作工作n1(b)14多对多联系多对多联系:如果对于实体如果对于实体A A中的每个实例,中的每个实例,实体实体B B中有中有n n个实例(个实例(n0n0)与之联系,而实与之联系,而实体体B B中的每个实例,在实体中的每个实例,在实体A A中也有中也有m m个实例个实例(m0m0)与之联系,则称实体与之联系,则称实体A A与实体与实体
13、B B的联的联系是多对多的,记为系是多对多的,记为m:n m:n。例如学生和课程,一个学生可以选修多门例如学生和课程,一个学生可以选修多门课程,一门课程也可以被多个学生选修,因课程,一门课程也可以被多个学生选修,因此学生和课程之间是多对多的联系。此学生和课程之间是多对多的联系。如图如图(c c)所示。所示。n15学生学生选课选课m学号学号姓名姓名性别性别成绩成绩课程课程课程号课程号课程名课程名学分学分n(c)16lE-RE-R图不仅能描述两个实体之间的联系,而且还能描图不仅能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。述两个以上实体之间的联系。比如有顾客、商品、售比如有顾客、商
14、品、售货员三个实体,并且有语义:每个顾客可以从多个售货员三个实体,并且有语义:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品;每个售货员那里购买商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多个售货员销售,并且可以销售给品;每种商品可由多个售货员销售,并且可以销售给多名顾客。描述三者之间的关联关系的多名顾客。描述三者之间的关联关系的E-RE-R图如下图所图如下图所示,这里联系被命名为示,这里联系被命名为“销售销售”。售货员售货员顾客顾客商品商品销售销售mnp172.3 2.3 组织层数据
15、模型组织层数据模型 组织层数据模型组织层数据模型是从数据的是从数据的组织方式组织方式的角度来描述信息。目前,在数据库领域的角度来描述信息。目前,在数据库领域中最常用的组织层数据模型有四种,它们中最常用的组织层数据模型有四种,它们是:是:层次模型层次模型、网状模型网状模型、关系模型关系模型和和面面向对象模型向对象模型。组织层数据模型是按存储数据的逻辑组织层数据模型是按存储数据的逻辑结构来命名的。结构来命名的。18层次模型层次模型 层次模型用层次模型用树形结构树形结构来表示实体及其之间的来表示实体及其之间的联系,如行政机构、家族关系等。特点:联系,如行政机构、家族关系等。特点:1 1)有一个结点没
16、有父亲结点,称为根结点。)有一个结点没有父亲结点,称为根结点。2 2)其它结点有且仅有一个父亲结点。)其它结点有且仅有一个父亲结点。每每个个结结点点表表示示一一个个记记录录类类型型,记记录录类类型型之之间间的的联联系系用用结结点点间间的的连连线线(有有向向边边)表表示示,这这种种实实体体之间的联系是之间的联系是1:M1:M联系(包括联系(包括1:11:1联系)。联系)。19系编号系编号系名系名办公地点办公地点学号学号姓名姓名成绩成绩教研室编号教研室编号 教研室教研室职工号职工号姓名姓名研究方向研究方向教员教员-学生数据库模型学生数据库模型系系教研室教研室学生学生教员教员20教员学生层次数据库的
17、一个值教员学生层次数据库的一个值 21l 层次模型存储结构层次模型存储结构 邻接法、链接法邻接法、链接法l 层次模型优点:层次模型优点:层次清晰、构造简单、易于实现层次清晰、构造简单、易于实现1:11:1和和1:N1:N 的实体联系。的实体联系。l 层次模型有两个缺点:层次模型有两个缺点:只能表示只能表示1:N1:N联系,虽然系统有多种辅助手联系,虽然系统有多种辅助手段实现段实现M:NM:N联系但较复杂,用户不易掌握联系但较复杂,用户不易掌握由于层次顺序的严格和复杂,引起数据的查由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也询和更新操作很复杂,因此应用程序的编写
18、也比较复杂。比较复杂。22网状模型网状模型 是是用用以以实实体体型型为为结结点点的的有有向向图图来来表表示示各各实实体体及其之间的联系。特点:及其之间的联系。特点:1 1)可以有一个以上的结点无父亲。可以有一个以上的结点无父亲。2 2)至少有一个结点有多于一个的父亲。至少有一个结点有多于一个的父亲。能表示能表示 M:N M:N 联系。联系。缺点:编写应用程序复杂,模型结构复杂。缺点:编写应用程序复杂,模型结构复杂。23CDBEA24学生学生/选课选课/课程的网状数据模型课程的网状数据模型 25一、关系模型的数据结构一、关系模型的数据结构 关系数据模型源于数学,它用关系数据模型源于数学,它用二维
19、表二维表来组织数据,而这个二维表在关系数据库来组织数据,而这个二维表在关系数据库中就称为中就称为关系关系。关系数据库就是表或者说。关系数据库就是表或者说是关系的集合。关系系统要求只让用户所是关系的集合。关系系统要求只让用户所感觉的数据库就是一张张表。在关系系统感觉的数据库就是一张张表。在关系系统中,表是中,表是逻辑结构逻辑结构而不是物理结构。而不是物理结构。261 1、关系关系关系就是二维表,它满足如下两个条件:关系就是二维表,它满足如下两个条件:关系表中的每一列都是不可再分的基本属性。关系表中的每一列都是不可再分的基本属性。表中各属性不能重名。表中各属性不能重名。表中的行、列次序并不重要。表
20、中的行、列次序并不重要。2 2、元组元组 表中的每一行数据称作是一个元组表中的每一行数据称作是一个元组3 3、属性属性 表中的每一列是一个属性值集,列可以命名,称为表中的每一列是一个属性值集,列可以命名,称为属性名属性名4 4、主码主码(主键或主关键字)(主键或主关键字)是表中的属性或属性组,用于惟一地确定一个元组是表中的属性或属性组,用于惟一地确定一个元组5 5、域域 属性的取值范围就称为域属性的取值范围就称为域27二、二、关系模型的数据操作关系模型的数据操作 关系模型的操作对象是关系模型的操作对象是集合集合,而不是行。,而不是行。也就是操作的数据以及操作的结果都是也就是操作的数据以及操作的
21、结果都是完整完整的表的表(是包含行集的表,而不只是单行)。(是包含行集的表,而不只是单行)。因此,因此,集合处理能力集合处理能力是关系系统区别于其他是关系系统区别于其他系统的一个重要特征。系统的一个重要特征。关系数据模型的数据操作主要包括四种:关系数据模型的数据操作主要包括四种:查询查询、插入插入、删除删除和和修改修改数据。数据。28关系代数关系代数 关系代数的运算按运算符的不同主要分为关系代数的运算按运算符的不同主要分为两类:两类:传传统统的的集集合合运运算算:运运算算是是从从关关系系行行的的角角度度进进行行的的。包包括括并并、差差、交交和和乘乘积积(笛笛卡卡尔尔积积)等等运运算。算。专专门
22、门的的关关系系运运算算:不不仅仅涉涉及及行行运运算算,也也涉涉及及列列运运算算,这这种种运运算算是是为为数数据据库库的的应应用用而而引引进进的的特特殊殊运运算算。包包括括选选取取、投投影影、连连接接和和求求商商等等运运算。算。29(1 1)合并)合并(Union)(Union)运算运算 运算符:运算符:运算表达式:运算表达式:R1R2 R1R2将关系将关系R2R2中与关系中与关系R1R1中不相同的元组中不相同的元组插入到关系插入到关系R1R1中中(2 2)求差)求差(Difference)(Difference)运算运算 运算符:运算符:运算表达式:运算表达式:R1 R1R2R2将关系将关系R
23、1R1中与关系中与关系R2R2中相同的元组删除中相同的元组删除关系关系R1R1和和R2R2具有相同具有相同的的n n个属性,相应的个属性,相应的属性取自同一个域属性取自同一个域30ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a2b2c1a2b3c2ABCa1b1c1a1b1c2a2b2c1a2b3c2 R S R S R-SABCa1b1c231(3 3)乘积()乘积(Cartesian ProductCartesian Product)运算)运算 严格地讲应该是广义的笛卡尔积严格地讲应该是广义的笛卡尔积R:R:n n目关系,目关系,k k1 1个元组个元组S:S:m m目关系
24、,目关系,k k2 2个元组个元组R RS S 列:(列:(n n+m m)列元组的集合)列元组的集合 元组的前元组的前n n列是关系列是关系R R的一个元组的一个元组 后后m m列是关系列是关系S S的一个元组的一个元组行:行:k k11k k2 2个元组个元组R RS S=t tr r t ts s|t tr r R R t ts s S S 32ABCABCa1b1c1a1b1c1a1b1c1a2b2c1a1b1c1a2b3c2a1b1c2a1b1c1a1b1c2a2b2c1a1b1c2a2b3c2a2b2c1a1b1c1a2b2c1a2b2c1a2b2c1a2b3c2RS33(4 4)
25、选择)选择(Selection)(Selection)运算运算 运算符:运算符:运算表达式:运算表达式:F F(R)(R)从关系从关系R R中选出满足条件表达式中选出满足条件表达式F F的那些元组构的那些元组构成的关系成的关系ABCa1b1c1a1b1c2a2b2c1ABCa1b1c1a1b1c2R B=b1(R)34(5 5)投影()投影(ProjectionProjection)运算)运算 运算符:运算符:运算表达式:运算表达式:A1,A2,An(R)A1,A2,An(R)从从R R中选择出若干属性列中选择出若干属性列(A1,A2,An)(A1,A2,An)组组成新的关系成新的关系ABCa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 玉洁 第二
限制150内