数据建模
即对于一个特定的应用,如何在数据库中表示数据

设计关系模型方法:

关系模型设计理论

概念设计模型
-E/R--传统的
-UML子集--目前常用的

Unified Modeling Language,统一建模语言
UML用于面向对象建模,但是现在也用于数据库建模
UML与E/R模型相似,但是不提供多元联系

UML和E/R术语对比

UML                   ER
class(类)   --      Entity set(实体集)

Association(关联)-- Binary relationship(二元联系)
         
Association Class(关联类)    -- Attributes on a relationship(联系的属性)

Subclass(子类)--    Isa hierarchy(Isa 层次关系)

Aggregation(聚集)-- Many-one relationship(多对一联系)

Composition(组成)-- Many-one relationship with referential integrity(带参照完整性的多对一联系)

UML中
类是具有相同属性和方法的对象的集合
属性是静态的,是状态,具有数据类型
PK表示主键
方法是动态的,是行为,包括参数的声明和返回值的声明

两个类间对象的联系称为关联(association)
表示方法:
两个类间用直线(箭头可选)连接
连接名字通常写在直线下方
在直线连接两个类的端点处标上关联类型(Multiplicity)
m ..n 表示与C2类中一个对象有关的C1类对象的个数最少为m,最多为n。
*表示“无上限”
m ..*表示“没有上限”
0..n表示“没有下限”
0..*表示“根本没有限制”

关联类型(Multiplicity)简写和默认值
*”是“0..*”的简写
“1”是“1..1”的简写
默认值为“1..1”

关联也可以有属性
-称为关联类( association class) .
-与E/R图中联系的属性类似

自身关联(Self-Associations)
类自己与自己关联

子类(Subclasses)
UML类都可以包含下级子类
子类用连线连接父类,与父类连接处以空心三角指向父类
主键来自父类(Superclass)
子类继承父类的属性(包括attributes and associations)
子类可以有子类自己的属性以及与其它类的关联

UML允许4种类型的子类
-Complete(完全)(父类中的每个对象都是某个子类的成员)或partial(部分).
-Disjoint(分散)(一个对象不能包含在两个子类中)或overlapping(重叠).
在0bject-Oriented系统中,子类是disjoint,即两个子类中不存在同一对象。
E/R模型自动允许overlapping子类
E/R模型和00系统都允许complete或partial子类

有两种类型的多对一(n:1)关联(many-one associations)
-聚集(Aggregations)
-组成(compositions)

聚集(Aggregations)
聚集用连线连接两个类,一方以空心菱形箭头结束
空心菱形箭头指向一方参与对象的个数必须为0..1,不需要另外标注

组成(Compositions)
组成与聚集类似.
但是菱形箭头一方参与对象必须为1..1.
菱形箭头相反一方类的每个对象必须与菱形箭头方的一个对象关联
组成以实心菱形表示

UML子类转换为关系
1.E/R风格:每个子类关系只存储其自身属性和码
2.OO风格:子类关系存储其自身和其父类所有的属性

总结:

UML(统一建模语言)跟E/R模型都属于概念设计模型

UML类就是E/R中的实体集,关联类-属性,PK-标识符,方法-类型

如果没有标注关联类型默认1..1

关联类型0..*-没有限制

0..n-无下限

1-1个

n..*-无上限

感觉UML模型跟E/R的制作思路都差不多,只是换了一种形式,对E/R多熟悉一些,UML也会特别容易上手

数据库设计-UML模型相关推荐

  1. 第七章 数据库设计 E-R模型

    本章重点放在E-R模型和E-R图,这是这一章节最常用且非常重要的一个知识点,本章的目的就是讲述一个E-R图是怎么画出来的. 什么是E-R模型? E-R模型是有P.P.S.Chen提出的一个用E-R图描 ...

  2. 产品经理就业实战:职责认知+产品设计+UML模型+产品文档+测试与验收

  3. 用户权限管理系统数据库设计UML

    建表语句: https://pan.baidu.com/s/10rswkItk6cKq4ben361AJg  密码 :gdld

  4. 软件设计师考试下午真题 数据流图 数据库设计 面向对象 数据结构与算法 UML建模

    数据流图 数据流图基本概念 包括四种基本元素 数据流图的分层DFD 数据字典 解题技巧 案例分析1 案例分析2 数据库设计 ER模型 实体间联系类型 E-R图向关系模型的转换 面向对象 JAVA 数据 ...

  5. Flask项目(一)前后端分离、项目目录结构、数据库设计、CRF

    Flask项目 认识前后端分离 项目文件目录结构 单一文件中构建所有依赖工具 创建工程目录(对单一文件进行拆分) 日志文件应用 数据库设计 为静态文件添加蓝图 crf防护 认识前后端分离 项目文件目录 ...

  6. 数据库设计(ER模型和UML模型及转换为关系模型的公式)

    本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒. 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库. 掌握概念模型(ER模型 ...

  7. 数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计

    文章目录 1. 数据库设计概述 1.1 数据库设计的特点:结构和行为分离的设计 1.2 数据库设计方法 1.3 数据库设计的基本步骤 1.4 数据库设计过程中的各级模式 2. 需求分析 2.1 需求分 ...

  8. 全球UML模型共享设计下载中心--www.euml.org上线

    全球UML模型共享设计&下载中心euml.org上线  euml.org是楚凡科技版权所有的公益站点,为全球UML用户和爱好者提供如下服务:  1.在线UML建模工具Trufun eUML.T ...

  9. 数据库设计三大范式和ER模型

    1. 数据库设计之三范式的介绍 范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可. 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列.(1NF强调字 ...

  10. 数据库系统概念总结:第七章 数据库设计和E-R模型

    周末无事水文章,期末备考的总结资料 第七章 数据库设计和E-R模型 7.1 设计过程概览 7.1.1 设计阶段 需要完整地刻画未来数据库用户的数据需求 选择数据模型,并采用所选数据模型的概念将这些需求 ...

最新文章

  1. 早上醒来收获一个Surprise,成为CSDN博客专家了
  2. 三星手机把按键音的选项去掉了打字时还是有声音
  3. .NET4.0 之 Dynamic VS Refle“.NET研究”ction 效率
  4. 【IT】关于Code打卡机时遇到的问题及解决
  5. 遥感数据下载——土地利用(覆盖)数据下载
  6. python小说爬虫练习
  7. Xshell清屏快捷键
  8. java update 卸载不了_javaupdate可以卸载吗
  9. dtcms php,GitHub - k-dou/dtcms: 基于thinkphp5.1 的CMS,可快速搭建博客、企业站。
  10. 基于机器学习的文本情感分类
  11. 外接USB蓝牙设置无法启动
  12. html写信模板,求给签证官写信的模板。。。
  13. Maven工具的学习内容与介绍<第一课>
  14. Atomikos 中文说明文档(周枫翻译)
  15. 【改】[火光摇曳]神奇的伽玛函数(下)——markdown排版
  16. C语言程序设计——计算梯形面积
  17. Ubuntu16.04 装机之后要做的二十件事
  18. Linux内核优化(二):网络线程优化
  19. Android 原生控件之一 TextView
  20. ESP32-C3 学习测试 蓝牙 篇(二、蓝牙调试APP、开发板手机连接初体验)

热门文章

  1. Android 播放器框架
  2. python桌面程序臃肿_危险的转变:Python正在从简明转向臃肿,从实用转向媚俗
  3. 行星月球科学探索成绩斐然 桌面实验或可理解黑洞性质
  4. 5600高流明更清晰 NEC CF6600U投影试用
  5. admob html5,admob移动广告phonegap插件使用教程
  6. 地球同步、地球静止、半同步、太阳同步、极地、莫尼亚轨道阐释
  7. Vscode 远程连接出现Could not establish connection to
  8. 【PC工具】chrome谷歌浏览器最新离线安装版各种版本,最好用的浏览器没有之一...
  9. 功能强大的在线网页编辑器
  10. 易到完成股权变更 乐视仍未完全退出中信系入局