数据库设计-UML模型
数据建模
即对于一个特定的应用,如何在数据库中表示数据
设计关系模型方法:
关系模型设计理论
概念设计模型
-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模型相关推荐
- 第七章 数据库设计 E-R模型
本章重点放在E-R模型和E-R图,这是这一章节最常用且非常重要的一个知识点,本章的目的就是讲述一个E-R图是怎么画出来的. 什么是E-R模型? E-R模型是有P.P.S.Chen提出的一个用E-R图描 ...
- 产品经理就业实战:职责认知+产品设计+UML模型+产品文档+测试与验收
- 用户权限管理系统数据库设计UML
建表语句: https://pan.baidu.com/s/10rswkItk6cKq4ben361AJg 密码 :gdld
- 软件设计师考试下午真题 数据流图 数据库设计 面向对象 数据结构与算法 UML建模
数据流图 数据流图基本概念 包括四种基本元素 数据流图的分层DFD 数据字典 解题技巧 案例分析1 案例分析2 数据库设计 ER模型 实体间联系类型 E-R图向关系模型的转换 面向对象 JAVA 数据 ...
- Flask项目(一)前后端分离、项目目录结构、数据库设计、CRF
Flask项目 认识前后端分离 项目文件目录结构 单一文件中构建所有依赖工具 创建工程目录(对单一文件进行拆分) 日志文件应用 数据库设计 为静态文件添加蓝图 crf防护 认识前后端分离 项目文件目录 ...
- 数据库设计(ER模型和UML模型及转换为关系模型的公式)
本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒. 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库. 掌握概念模型(ER模型 ...
- 数据库 之数据库设计浅知识 -- 设计概述、概念结构设计(E-R模型概述)、逻辑结构设计(函数依赖和范式)、物理结构设计
文章目录 1. 数据库设计概述 1.1 数据库设计的特点:结构和行为分离的设计 1.2 数据库设计方法 1.3 数据库设计的基本步骤 1.4 数据库设计过程中的各级模式 2. 需求分析 2.1 需求分 ...
- 全球UML模型共享设计下载中心--www.euml.org上线
全球UML模型共享设计&下载中心euml.org上线 euml.org是楚凡科技版权所有的公益站点,为全球UML用户和爱好者提供如下服务: 1.在线UML建模工具Trufun eUML.T ...
- 数据库设计三大范式和ER模型
1. 数据库设计之三范式的介绍 范式: 对设计数据库提出的一些规范,目前有迹可寻的共有8种范式,一般遵守3范式即可. 第一范式(1NF): 强调的是列的原子性,即列不能够再分成其他几列.(1NF强调字 ...
- 数据库系统概念总结:第七章 数据库设计和E-R模型
周末无事水文章,期末备考的总结资料 第七章 数据库设计和E-R模型 7.1 设计过程概览 7.1.1 设计阶段 需要完整地刻画未来数据库用户的数据需求 选择数据模型,并采用所选数据模型的概念将这些需求 ...
最新文章
- 早上醒来收获一个Surprise,成为CSDN博客专家了
- 三星手机把按键音的选项去掉了打字时还是有声音
- .NET4.0 之 Dynamic VS Refle“.NET研究”ction 效率
- 【IT】关于Code打卡机时遇到的问题及解决
- 遥感数据下载——土地利用(覆盖)数据下载
- python小说爬虫练习
- Xshell清屏快捷键
- java update 卸载不了_javaupdate可以卸载吗
- dtcms php,GitHub - k-dou/dtcms: 基于thinkphp5.1 的CMS,可快速搭建博客、企业站。
- 基于机器学习的文本情感分类
- 外接USB蓝牙设置无法启动
- html写信模板,求给签证官写信的模板。。。
- Maven工具的学习内容与介绍<第一课>
- Atomikos 中文说明文档(周枫翻译)
- 【改】[火光摇曳]神奇的伽玛函数(下)——markdown排版
- C语言程序设计——计算梯形面积
- Ubuntu16.04 装机之后要做的二十件事
- Linux内核优化(二):网络线程优化
- Android 原生控件之一 TextView
- ESP32-C3 学习测试 蓝牙 篇(二、蓝牙调试APP、开发板手机连接初体验)
热门文章
- Android 播放器框架
- python桌面程序臃肿_危险的转变:Python正在从简明转向臃肿,从实用转向媚俗
- 行星月球科学探索成绩斐然 桌面实验或可理解黑洞性质
- 5600高流明更清晰 NEC CF6600U投影试用
- admob html5,admob移动广告phonegap插件使用教程
- 地球同步、地球静止、半同步、太阳同步、极地、莫尼亚轨道阐释
- Vscode 远程连接出现Could not establish connection to
- 【PC工具】chrome谷歌浏览器最新离线安装版各种版本,最好用的浏览器没有之一...
- 功能强大的在线网页编辑器
- 易到完成股权变更 乐视仍未完全退出中信系入局