数据库 关系模型(参考)
- 格式:ppt
- 大小:1.13 MB
- 文档页数:73


科 信8息I产}业 基于UML模型的关系数据库设计 王方 (同济大学软件学院在读研究生,黑龙江哈尔滨150o00) 摘 ̄:UML是面向对象程序设计中的一种标准的建模技术。针对UML中的类模式向关系数据库数据模式的转换过程,提出了一整套方法, 从而将UML技术与关系数据库技术相结合,方便了数据库设计。 关键词:UML;面向对象;关系型数据库 l概述 在传统的数据库设计中,E—R图一直作为 一门十分重要的工具来对数据进行建模,但是 随着数据库规模的扩大,简单的E-R模型结构 无法清晰地分析和描述问题,导致系统开发难 度系数增大。为了更好的解决这一问题,近年来 UML建模技术被广泛的应用于数据库设计领 域 UML是最为广泛使用的面向对象系统的标 准建模方法,采用UML的分析方法设计数据 库,能够使数据库模型清晰易懂,能够更加清晰 地反映系统结构,易于开发,缩短了系统开发周 期。另一方面,现在的开发环境大多是面向对象 的,而存储机制往往是基于功能分解的关系型 数据库,同时在DBMS(Database Management System)支持的数据库模型中,关系型数据库是 最普遍的。事实上,目前较为流行的对象关系数 据库模型也是关系数据库模型的一个扩展 因 此,在关系数据库设计中,UML可以完成标准 ER模型的所有建模工作,而且可以描述ER模 型所不能表示的关系。用UML进行数据库设计 使商务和应用团队可以共享公共的语言,并与 数据库团队进行有效沟通。 本文先简单介绍一些基本的概念,接着讨 论将UML类图中的数及其对象映射成关系型 数据库中的表的方法。最后结合一个实例来说 明从UML模型关系数据库之间的转化。 2属性、类以及类之问的关系 2.1属性。对象属性对应于数据库表的字 段,对象属性类型对应数据库表的域。 2.2类。将问题域中的实体抽象为对象模 型,在对象模型的基础上进一步抽象为类并将 类映射为数据库的概念模型,是关系数据库设 计的关键所在。将类名、属性以及对属性进行的 相关操作组成一个完整的类模型。 2-3类之间的关系。UML类之间的关系可 分为:2.3.1关联:关联描述了系统中对象或实 例之间的离散连接。关联通常可以有1对J、l 对多和多对多等情形。2.3.2组成:组成是更强 形式的关联。每个表示部分的类与表示整体的 类之问有单独的关联。部分对象仅属于~个整 体,并且部分对象通常与整体对象共存亡…2 3 3 泛化:每一种泛化元素都有一组继承特性。在 UML类图中,如果子类型的接口包括超类型的 接口中的每个元,则超类与予类之间构成泛化 关系。泛化通常可以用继承或授权的方式实现 2 3.4聚合:聚合表示部分与整体关系的关联。 3转换方法 本文采用了UML中类模式到关系数据库 的映射转换。类图是面向对象系统的建模中最 常见的图之。类图显示了一组类、接口、协作 以及它们之问的关系,主要用于对系统静态设 计视图建模。其中,类是面向对象系统组织结构 的核心,表示被建模的应 用领域中的离散概念。是 具有相同结构、行为和关 系的一组对象的描述符 号。UML中类图的映射 主要是批对象标识、属性 类型、类这3个方面的映 射。 3.1对象标识映射为 主键。设计数据库模型, 合理选择主键是一个关 键的问题。主要方法是为 每个类增加一个对象标 识符属性,将其映射为数 据库中相应类表的主键, 参见图l,其中(<pk>> ( marykey)表示主键。 或者根据客观事实,将某 个属性或属性的组合作 为主键 3.2属性类型映射为 域。类的属性描述了其所 有对象共有的特性。属性 的类型可以是基本数据 类型,如整数、实数、布尔 型等,也要以是用户自定 义类型。属性类型对应于 数据库中的域,域的使用 图1 类的对象标识符映射为类表的主键 图2电子商务网站的类图 — 癌 : 篡 : 竺竺 :荔 :嚣== i1 。 : ;' ” : 可使数据库设计更具一致性,优化了数据库应 用的移植性。一般来说,实现简单域比较方便, 只须定义相应的数据类型和空间大小。对于每 个属性所联关系等原因,需要在表中增加一些 新的列。 3.3类映射为表。通常,一个类映射为一张 类表,类的属性映射为表的各列,类的对象则映 射为表中的各个记录。但是我们还要注意以下 两种特殊情况:3.3.1如果类的属性中某些属性 只是暂时性使用,不需要在数据库中永久保存, 则该类属性无须映射。3.3.2如果类的属性如果 是多值,则该属性映射为多个列。另外,由于附 加对象标志符OlD或附加关联系系等原因,会 预收款致一些新的列增加。 4设计例举 下面我们结合一个电子商务网站开发实 例来说明UML的类模式到关系数据库的转换 是如何实现的。图2是一个电子商务网站类图 模型的一部分,有5个类:“顾客”、“购物篮”、 “产品”、“定单”、“定单款项”。其中“购物篮”与 “顾客”、“购物篮”与“产品”、“顾客”与“定单”以 及“定单款项 与“定单”之间存在着关联系。 从图2中我们可以发现,存在4个关系设 为R1、R2、R3、R4,但不存在任意一个关联关系 图3映射后的关系型教据库 的所对应实例ri=IIRi(dI‘¨・rl—l×ri+l x…x ,即任意一个关联关系Ri(1≤i≤4)都不能由 其它关联关系推导得到,故不存在冗余的关联 关系,不需要进行冗余的关联关系的简化。 按照文中阐述的映射方法,可以得到图2 映射到关系数据库的数据模型,如图3所示。 这样我们就完成了关系型数据库的模型的 建立,实现了网站数据库的设计任务。 结束语 目前,面向对象已忧为软件开发的主流技 术,有关UML技术的探讨也越来越多。在一个 良好的项目设计中,我们可以先使用UML技术 建立商业模型,接着引入映射层,对将类设计映 射至关系数据库的逻辑运行封装 使用这种方 法来设计关系数据库,可以在整个系统的分析 设计过程中就完成数据库的大部分设计工作, 而且在一定程度上能减少数据的冗余。总之,我 们认为UML模型技术可以有力地推动关系型 数据库设计的全面发展。 责任编辑:王伟东 -I
数据库模型的基本概念
数据库模型是数据库设计的基础,它是用于表示数据之间逻辑联系的数学模型。在数据库领域,常用的模型有关系模型、层次模型、网状模型和对象模型等。
关系模型是最为常用的数据库模型,它把数据表示为一张表,其中每一行为一个记录,每一列为一个字段。关系模型强调数据之间的关系,它通过主键和外键来建立表与表之间的关系。关系模型具有表达能力强、易于理解和使用的特点,被广泛应用于各行各业的信息管理中。
层次模型是一种数据库结构组织方式,它将数据组织成一个树形结构,该模型中每个节点都只有一个父节点,但可以有多个子节点。层次模型适合处理那些具有已知属性层次结构的数据,例如组织机构管理等。
网状模型与层次模型类似,也是一种树形结构,但不同之处在于,在网状模型中,每个节点可以有多个父节点。网状模型适合处理那些具有交叉引用关系的数据,例如图书管理系统等。
对象模型是一种新兴的数据库模型,与传统的关系模型不同,对象模型是基于面向对象编程思想而设计的。对象模型中的数据以对象为基本单位进行存储和管理,它不仅能够方便地描述数据之间的关系,还可以支持继承、多态等面向对象特性,具有表示能力强、易于扩展等优点。
除此之外,数据库模型还包括概念模型、逻辑模型和物理模型三个层次,每个层次都对数据的描述和处理提供了不同的视角和方法。
概念模型是从用户的角度出发,描述数据之间的概念联系和规则。概念模型可以用来描述用户的信息需求,是数据库设计的重要前置工作。
逻辑模型是在概念模型的基础上,把数据抽象为表和关系,描述数据之间的逻辑关系和约束条件。逻辑模型是数据库实现的依据,可以根据逻辑模型进行数据库逻辑设计和实现。
物理模型是在逻辑模型的基础上,描述数据库在计算机存储器中的实际存储结构和存储方式。物理模型将逻辑结构转换为物理结构,包括数据存储、索引方式、空间管理、数据安全等方面。
在数据库设计过程中,合理的数据库模型选择对于系统的性能、数据的存储、安全性等方面都具有十分重要的影响。因此,在设计数据库系统前,应根据不同的应用需求、数据特性等因素,选择最适合的数据库模型,以确保系统的高效稳定运行。
数据库 关系模型
数据库关系模型
数据库关系模型是一种用于描述数据之间关系的数据模型,它是一种基于关系代数的数据模型,用于描述数据之间的关系,是现代关系型数据库的基础。
关系模型由三个要素组成:关系、属性和域。
1. 关系
关系是指一个数据表,它由多个元组(行)组成,每个元组包含多个属性(列),每个属性对应一个域。关系的基本特性是无序性、唯一性和可重复性,也就是说,关系中的元组是无序的、不重复的,但是可以存在相同的属性值。
关系可以用一个表格来表示,表格中的每一行代表一个元组,每一列代表一个属性。如下图所示,关系表中包含多条记录,每条记录代表一个元组,每个元组包含多个属性。
2. 属性
属性是指关系中的列,每个属性对应一个域,域是指属性可以取值的范围。属性可以是基本数据类型,如整数、浮点数、字符串等,也可以是复合类型,如日期、时间、地址等。
属性用于描述元组的特征,例如在员工关系表中,属性可以包括员工编号、姓名、性别、年龄、部门编号等。
3. 域
域是指属性可以取值的范围,例如在员工关系表中,员工编号的取值范围可能是1~1000,姓名的取值范围是字母和汉字。
域的定义对数据的精度和有效性有很大的影响,如果域的定义不合理,就会导致数据不准确、冗余或不一致。
关系模型基于关系代数,提供了一组基本操作,包括选择、投影、并、差、笛卡尔积等,可以通过这些操作来查询和操作数据。
除了关系模型,还有其他数据模型,例如层次模型、网状模型、面向对象模型等。但是关系模型具有简单、易于理解和应用的优点,因此被广泛应用于各种数据库系统中。
总结
数据库关系模型是一种用于描述数据之间关系的数据模型,由关系、属性和域三个要素组成。关系模型基于关系代数,提供了一组基本操作,用于查询和操作数据。关系模型具有简单、易于理解和应用的优点,被广泛应用于各种数据库系统中。
关系型数据模型
关系模型是由若⼲个关系模式组成的集合,关系模式的实例称为关系,每个关系实际上是⼀张⼆维表格。关系模型⽤键导航数据,其表格简单,⽤户只需⽤简单的查询语句就可以对数据库进⾏操作,并不涉及存储结构、访问技术等细节。SQL语⾔是关系数据库的代表性语⾔,已经得到了⼴泛的应⽤。典型的关系数据库产品有DB2、Oracle、Sybase、SQL Server等。
关系数据库是以关系模型为基础的数据库,是⼀种根据表、元组、字段之间的关系进⾏组织和访问数据的数据库,它通过若⼲个表来存取数据,并且通过关系将这些表联系在⼀起。关系数据库是⽬前应⽤最⼴泛的数据库。关系数据是⽀持关系模型的数据库,下⾯先介绍关系数据模型。
⽬前,在实际数据库系统中⽀持的数据模型主要有3种:层次模型(Hierarchical Model)、⽹状模型(Network Model)和关系模型(Relational Model)。20世纪80年代以来,计算机⼚商推出的数据库管理系统⼏乎都是⽀持关系模型的数据库系统。关系模型已经占领市场主导地位。
关系模型有3个组成部分:数据结构、数据操作和完整性规则。
关系模型建⽴在严格的数学概念的基础上,它⽤⼆维表来描述实体与实体间的联系。下⾯以学⽣信息表(如下表所⽰)为例,介绍关系模型中的⼀些术语。
⑴关系(Relation):对应通常所说的⼀张表。
⑵元组(Tuple):表中的⼀⾏即为⼀个元组,可以⽤来标识实体集中的⼀个实体,表中任意两⾏(元组)不能相同;
⑶属性(Attribute):表中的⼀列即为⼀个属性,给每个属性起⼀个名称即属性名,表中的属性名不能相同。
⑷主码(Key):表中的某个属性组,它可以唯⼀确定⼀个元组。
⑸域(Domain):列的取值范围称为域,同列具有相同的域,不同的列也可以有相同的域。
⑹分量:元组中的⼀个属性值。
⑺关系模式:对关系的描述。可表⽰为:关系名(属性1,属性2,…,属性n)。例如上⾯的关系可以描述为:学⽣(学号,姓名,年龄,性别,系别)。