数据库建模之power Designer 的使用

MYSQL 专栏收录该内容
3 篇文章 0 订阅

数据库建模之power Designer 的使用

1.数据库建模:
数据库建模是指将现实世界中的数据转化为信息世界中的数据;
简单说数据库建模就是创建E-R图
2.E-R图
1.定义:E-R图即实体关系图
2.E-R图三要素:
(1.)实体 : 即数据库中的表格;
可以类比Java中的类,面对对象编程时我们需要将现实世界中的各种事物和他们之间的关系抽象为JAVA中的各种各样的类和类与类之间的关系;数据库建模也是一样 我们需要将现实世界中的各种各样的数据抽取出来存放到数据库的各种表格中,而这每一个表格就是E-R图的实体;
(2.)属性 :即数据库中表格中的字段;
和JAVA中类的属性相同,都表示了该类/实体具有的各种属性特征;
(3.)关系: 即 一对一 一对多 多对多 三种关系
JAVA中类与类之间也有三种关系即继承(父类与子类的关系)>>关联(拥有)>>依赖(进行某些行为时才产生的关联),这三种关系强调了类与类之间的耦合度即联系是否紧密,而实体的这三种关系是强调了实体之间的数量对应关系,就好比课程与成绩之间的一对一的关系,学生和课程之间是多对多的关系,人与他的车之间是一对多的关系;
3.E-R图的符号:
在这里插入图片描述
弱实体:即不能单独存在的实体 它服务与其他实体;比如:银行账户实体和和银行账户交易信息实体之间一样,银行账户交易信息不能脱离银行账户单独存在,银行账户交易信息就是弱实体;而后者就是强实体;
复合属性:即该属性有其他多个属性构成:如省是有市,县,区构成;
派生属性:是由其他属性所计算/派生出来的属性,如实发工资是由工资减去个人所得税和各种基金和保险所得出来的,是数据库中的一种冗余,可以没有,但它的存在可以方便查找;
键属性:即主键;

4.规则化:设计出一个合理的数据模式指导规范就叫规范化;
范式
三级范式:
第一级范式:如果一个 表中没有重复组(即行与列之间的交叉点上只有一个值而不是一组值),且定义了关键字,所有的非关键属性都依赖与该关键属字,则该表就属于第一范式(常记为1NF)。
第二级范式(2NF):满足1NF且没有部分依赖;部分依赖:某些属性只与主键的一部分有关系 而不是全部,将二级范式转为一级范式的方法是拆分法,即将部分依赖部分拆分到第二个表中,其有关的主键部分作为其外键和主键;这样就拆分成了两个满足一级范式的实体;
第三级范式(3NF):满足第二范式且不包含传递依赖;传递依赖:如实体中包含ABC三个属性,且A为关键属性即主键,若B依赖与A,C依赖与B,此时就形成了传递依赖;消除传递依赖的方法仍为拆分法,即将C拆分到第三个表中B作为其外键和主键;

power Designer(建模工具) 制作E-R图:
两种E-R图:
1.概念模型:不依赖与具体数据库(就像盖楼房前设计图纸);形成大致框架,解决实体之间的关系;
2.物理模型:与具体数据库相关(具体施工);
我们的的思路是:1.首先建立概念E-R图
2.再转换物理E-R图
3.生成具体的SQL语句
打开power Designer 新建工程选择概念E-R图(下面示例一对一); 在这里插入图片描述
若工具栏有灰色不能用的:则在工具(tools)->model options->notations->E/R+merise
在这里插入图片描述
点击确定即可
1.创建概念E-R图
在这里插入图片描述
在这里插入图片描述
2.生成物理E-R图
在这里插入图片描述
3.生成sql语句
在这里插入图片描述
在一对多的基础上将’多’这个实体中的外键添加唯一不可重复约束就形成了一对一
在这里插入图片描述
运行sql:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
或者利用继承关系设置相同主键
在这里插入图片描述
在这里插入图片描述
接着仍然是生成物理E-R图和SQL语句
示例多对多:
1.利用Association表连接实现多对多(创建概念E-R图)
在这里插入图片描述

2.生成物理E-R图
在这里插入图片描述
3.生成SQL语句
(2)或者利用中间表形成两个一对多来实现两者的多对多
1.创建概念E-R图
在这里插入图片描述

2.生成物理E-R图
在这里插入图片描述
3.生成SQL语句

通过两个多对多的实现方式和他们的物理E-R图 非常容易发现多对多其实就是两个一对多形成的

  • 1
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值