数据库建模-概念模型建⽴
⽬录
病毒往事
前⾯我已经总结过⾯向对象建模的相关知识与技术,有兴趣的朋友可以了解⼀下:
两种模型的关系
⾯向对象模型关注的是软件静态结构和动态交互
数据库关系模型关注的是数据持久化存储、数据管理
数据在⾯向对象模型中存放在内存中的数据结构
数据在数据库关系模型中存放在表中
⾯向对象模型中的类对应数据库关系模型中的表
屏幕录像专家6.0
⾯向对象模型中的属性对应数据关系模型中的表中字段
⾯向对象模型中的依赖关联聚合组合泛化对应数据库对象模型中的⼀对⼀⼀对多多对⼀多对多
在⾯向对象模型中有⽤例图、活动图、类图等对应数据库关系模型中的概念模型图、逻辑模型图、物理模型图
连通性画图不是⽬的,⽬的是分析和思考
中间件
在Java中有两个应⽤⾮常⼴泛的中间件-**对象关系映射(Object Relational Mapping )**模型框架-Mybatis/Hibernate
专门负责数据库关系模型与⾯向对象模型之间的转换,这些框架我后⾯会进⾏总结
概念数据模型(CDM)
莲文化
主要在系统开发的数据库设计阶段,是按⽤户的观点来对数据和信息进⾏建模,利⽤实体关系图(E-R图)来实现,它描述系统中各个实体以及相关实例之间的关系,是系统特性的静态描述。概念数据模型表达的是数据库的整体逻辑结构,该结构独⽴于任何软件和数据存储结构,并不针对具体的数据库平台(如 Oracle 或 SQL Server )和⼯具(PowerBuilder)。
实体及属性连云港财经高等职业技术学校
实体
实体是现实世界中区别于其他对象的物体,它可能是有形的或⽆形的,具体或抽象的,有⽣命或⽆⽣命的
属性
每个实体都有⼀组特征、称为实体的属性,⽤来描述实体的状态和特征
联系
实体可以通过联系(Relationship)相互关联
按照实体之间的数量对应关系,通常可将联系分为:⼀对⼀联系(One to One)、⼀对多 联系(One to Many)、多对多联系(Many to Many )等分享的价值和意义
⼀对⼀双向关系
点击选择该图标 -->从任意实体拖⾄另⼀实体–>
双击关联
在概念模型上建⽴逻辑模型ctrl+shift+L
⼀对⼀单向关系
重新建⽴⼀个视图
建⽴表的依赖
护照依赖⽤户:
在此基础上建⽴逻辑模型:
注意:⽤户表中合理应该不会出现护照的id,此处是因为复⽤了护照和⽤户两个实体⼀对多(等效多对⼀)
⽣成逻辑视图
可以看出,部门表是主表,员⼯表是⼦表,员⼯表中有dept_id来依赖部门表⼀对多和多对⼀的区别只是从哪个实体中看,最终模型视图都是⼀样的
多对多
需要在两个实体间建⽴中间联系