uml与数据库设计

一、类之间的关系如下图所示:

二、UML与数据库设计主要讨论的内容:

三、依赖关系强调的是类操作间的使用关系,类图到表结构的映射中并不涉及这种关系,所以只需讨论泛化关系、关联关系到表的映身规范。

  1.泛化关系的映射

    (1)、将父类和子类均映射为表

      优点:表结构的更改非常方便

      缺点:表的数量较多,相关的数据分散在不同的表中,数据读写时间较长,报表的生成较为困难。

    (2)、只将子表映射为表

      优点:表的数量较少,相关的数据集中在一个表中,数据的读写较为方便。

      缺点:表结构的修改较为困难,因为修改父类后,要同时修改子类对应的表。

    (3)、只将父类映射为表

      优点:表的数量少,数据读写方便

      缺点:耦合性强,需要增加一列,以表时类的角色,浪费存储空间较多。

    综合:以上三种方法各有所长,在实际应用中,根据具体情况选用。

           一般情况下,建议选用第二种方式,即只将子类映射为表,各表包含子类自身的属性和继承自父类的属性。

  2.关联关系的映射

    关联关系分为一对一关联、一对多关联和多对多关联。

    (1)、一对一关联映射

      将相关的两个类分别映射成两张表,并将任意一张表的主键放入另一张表作为外键。

    (2)一对多关联映射

      将关联的两个类映射为两张表,并将“一”表的主键放在“多”表中作为外键。

    (3)、多对多关联映射

      》为相关联的两个类分别建立两张表

      》再建一个关联表。这个关联表的属性由两部分组成:前两个表的主键,关联本身的属性。

    综合:关联关系要为每一个类生成一个数据库表。

            关系映射:

        1)、一对一、一对多的关系映射为数据库表的主外键关联(一方的主键加入另一方成为外键)

        2)、多多的关系映射:产生第三张表,将两个多方的主键加入其中成为外键,两个外键的组合成为主键。

    利用数据库三范式检查表,从而考察类图的分析是否合理,消除冗余数据。检查数据是否能够反映用例视图的需要;进一步与用户再次确认数据的使用。

时间: 2024-10-09 16:47:56

uml与数据库设计的相关文章

牛腩新闻系统(一)——UML、数据库设计

一.初识牛腩系统 牛腩(Brisket)即牛腹部及靠近牛肋处的松软肌肉,是指带有筋.肉.油花的肉 块.这是一种统称. 若依部位来分,牛身上很多地方的肉都能够叫做牛腩,牛腩主要特 点是筋肉多,油少,甚至全是瘦肉.看来学习的这个系统.牛腩新闻系统是B/S中的精 华.经典呀! 以下一起就開始品尝吧.                 二.学习牛腩须要的软件 1.主要是要安装VS 和数据库SQL 2.其它软件: Dreamweaver        Flash        PhotoShop 3.浏览器

数据库设计 Step by Step (2)——数据库生命周期

引言:数据库设计 Step by Step (1)得到这么多朋友的关注着实出乎了我的意外.这也坚定了我把这一系列的博文写好的决心.近来工作上的事务比较繁重,加之我期望这个系列的文章能尽可能的系统.完整,需要花很多时间整理.思考数据库设计的各种资料,所以文章的更新速度可能会慢一些,也希望大家能够谅解. 系列的第二讲我们将站在高处俯瞰一下数据库的生命周期,了解数据库设计的整体流程 数据库生命周期 大家对软件生命周期较为熟悉,数据库也有其生命周期,如下图所示. 图(1)数据库生命周期 数据库的生命周期

DBA词典:数据库设计常用词汇中英文对照表

1. Access method(访问方法):此步骤包括从文件中存储和检索记录. 2. Alias(别名):某属性的另一个名字.在SQL中,可以用别名替换表名. 3. Alternate keys(备用键,ER/关系模型):在实体/表中没有被选为主健的候选键. 4. Anomalies(异常)参见更新异常(update anomalies) 5. Application design(应用程序设计):数据库应用程序生命周期的一个阶段,包括设计用户界面以及使用和处理数据库的应用程序. 6. Att

软考下午题详解--数据库设计

在前面的两篇博客中,小编分别对软考下午试题中的数据流图设计和uml图的相关知识点进行了详细的阐述,今天我们继续来看软考下午题中的大题部分---数据库设计,数据库的设计我们也已经早早的接触过,在第一次机房收费系统的时候我们直接用的是别人的脚本,也没有想过当时的数据库存在什么样的问题,等到个人重构机房的时候,我们需要重新设计数据库,这个时候,就不再是傻傻的导入数据库脚本文件这么简单了,我们需要从需求分析开始,自己设计数据库,什么三范式,主外键关联这都是我们需要注意的地方,可以这么说数据库设计贯穿我们

数据库设计【工具:EA】

EA工具很是强大,不仅仅能创建UML图,还可以进行数据库设计,并导出数据库脚本. 一.打开EA创建一个工程,右键model弹出快捷菜单,选择 新建视图 二.弹出 新建视图 对话框,输入名称, 选择显示的图标为普通,点击确定按钮. 三.产生 数据库设计 视图,右键数据库设计,选择 :添加——新增图表. 四.选择Extended——Data Modeling,点击确定按钮 五.选择Table Detail下面的columns/Attributes,添加数据库的属性 六.添加表信息:名称.别名等 七.

联邦式知识图谱上的自然语言检索引擎数据库设计心得-T5队

根据我们小组讨论设计数据库的整个过程,可以将数据库的设计分为两个部分:准备部分.设计部分和总结部分.下面根据所分的阶段,对三个阶段所需的准备和注意事项进行阐述. 一. 准备部分: 设计工具 数据库的设计过程之中会使用到一些软件,在软件工程导论这门课上,周老师使用的是powerdesigner进行UML图的设计.数据库设计实验上讲授用powerdesigner来设计数据库.在学习使用该软件的时候,建议观看演示的视频进行学习,没有什么比实际的例子更加容易进行学习的了. 用例图 用例图在明确各类Act

第五章、UML与数据库应用系统

第五章.UML与数据库应用系统 内容提要: 了解DBAS建模方法 了解DBAS业务流程与需求表达式 了解DBAS系统内部结构的表达式 了解DBAS系统微观设计的表达式 了解DBAS系统宏观设计的表达式 了解DBAS系统实现与部署的表达式方法 第一节.DBAS建模 1.1.统一建模语言(UML) 统一建模语言(UML):Unified Modeling Language UML是一种基于面向对象的可视化的通用(General)建模语言,该方法结合了Booch, OMT, 和OOSE方法的优点,统一

Java精品高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,视频教程

36套精品Java架构师,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,P2P金融项目,大型分布式电商实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Elasticsearch,Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.java8新特性,P2P金融项目,程序设计,

数据库设计时不得不违背三范式的情景

1.在进销存系统中,订单信息中关联到好多其他的基本信息,比如:客户,付款方式,货运方式等,这些信息是有专门表进行维护的,在下订单时也是用下拉框选择的,但在保存订单信息时,不能只记录所谓的外键ID,而是应该同时记录名称等其他的信息. 这是因为订单不能因为没有了客户ID或是付款方式ID而不知道客户与付款方式了.对于订单这种客观存在的事物,是具有一定的历史性质的,因此在设计时应该与其他的关联信息可以“断开”,这也就是保证了订单的独立性. 摘自:http://www.cnblogs.com/tongtk