数据库设计及工具实战

前言:

计算机软件开发过程中一个重要的环节就是进行数据库的设计,过去,数据库工程师可以在白板上绘制数据库关系图。如今,我们需要强大的工具来正确绘制数据库。而以下我们介绍的Freedgo Design 在线ER模型设计工具无疑是目前功能最强大的数据库设计工具. 其访问地址如下:

图例模板页面:

https://www.freedgo.com/new/search/18/0/d_0_18_0_0_1_0_0_%E5%85%A8%E9%83%A8.html

工具页:     https://www.freedgo.com/erd-index.html

ER模型

使用 ER图以图形方式表示数据库不同部分之间的关系。这使得团队成员能够轻松地向所有涉众解释数据库结构。 那么,什么是ER图呢?我们通过以下图例来说明:

来自freedgo制图工具

点击这里可以查看该图例

ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。

ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、李四等,实体成员(entity member)/实体实例(entity instance) 不需要出现在ER图中。

ER图的属性(attribute)即数据对象所具有的属性,例如学生具有姓名、学号、年级等属性,用椭圆形表示,属性分为唯一属性( unique attribute)和非唯一属性,唯一属性指的是唯一可用来标识该实体实例或者成员的属性,用下划线表示,一般来讲实体都至少有一个唯一属性。

ER图的关系(relationship)用来表现数据对象与数据对象之间的联系,例如学生的实体和成绩表的实体之间有一定的联系,每个学生都有自己的成绩表,这就是一种关系,关系用菱形来表示。

ER图中关联关系有三种:

1对1(1:1) :1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。

1对多(1:N) :1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。

多对多(M:N) :多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。

通用的实体关系(entity  relation) 设计我们采用以上方式,是对数据实体进行分类和归纳总结,那么针对不同的数据库表设计我们该怎么做,以下内容您将体验使用工具制作具体的数据库的表结构,您将获取以下高级的功能:

  •  可以从已建数据库导入DDL 生成表结构图,支持视图,存储过程

  • 支持主流的数据库包括MySQL,SqlServer,Oracle,Postgresql 等数据库

  • 支持物理视图,逻辑视图不同查看.

  • 支持字段属性自定义显示

  • 支持一键生成数据库文档doc.

  • 丰富的不同模板可用

  • 支持表、视图、存储过程、函数在线绘制,支持多种样式可供选择

  • 在线导出ER模型对应的SQL脚本

数据库设计工具使用

基本使用:

如果要使用MySQL表建立ER模型,请选择实体类型为实体关系/MySQL,选择对应的表、视图、存储过程、触发器、函数等组件后拖动到编辑区域。

1、如何导入SQL?

已经建立好的数据库如何生成ER模型有一种比较简单的方式就是导出数据库的建表脚本后再导入,具体操作如下:

首先访问 /draw-index.html ,点击菜单 数据库 -> MySQL -> 导入DDL

复制SQL语言到对应的框中,或者拖动MySQL DDL文件到对应的输入框、点击insert MySQL

或拖动SQL文件到对应的输入框

最后生成对应的模型图

2、在线ER模型表操作

新增修改表结构

在线对表字段进行新增,可以在需要添加字段的位置点击箭头进行添加,

添加字段后点击右键->修改列 可以修改字段的属性值,支持字段名、类型、长度、是否主键、是否外键、备注 、是否为空等等

3、在线视图操作

新增或修改视图:通过拖动MySQL视图模型到编辑区,对视图的编辑通过点击右键->视图SQL,在弹出框中进行视图的SQL修改。

4、在线触发器操作

操作同视图操作

5、在线存储过程或者函数操作

操作同视图操作

6、导出SQL

查询整个ER模型的SQL:

点击数据库 -> MySQL -> 导出SQL

查询多表或单表SQl:

如下图:选择3个表右键:

查询列的修改SQL或新增SQL
(0)

相关推荐

  • 数据库系统原理(第三章数据库设计 )

    一.数据库设计概述 数据库的生命周期  数据库设计的目标: 满足应用功能需求(存.取.删.改), 良好的数 据库性能(数据的高效率存取和空间的节省 共享性.完整性.一致性.安全保密性) 数据库设计的内 ...

  • 五大优秀的数据库设计工具

    数据库的设计主要是针对一个特定的个环境,为了能够满足有效的数据存储和处理等要求,需要构造最优的数据库模式来建立数据库及其对应系统.数据库设计时根据用户的需求,在特定的数据库管理系统上设计和建立数据库的 ...

  • 开发好物推荐1 数据库设计工具 EZDML

    前言 对于开发人员而言,数据库设计的好坏,对项目影响深远,就需要一个好的数据库设计工具,数据库设计软件PowerDesigner已经OUt了,软件大并且收费. 推荐理由 小而美,可快速的进行数据库表结 ...

  • Django的开发流程与数据库设计

    引言:项目开发流程: 需求分析(成员:架构师 .产品经理 .开发者组长) 在跟客户谈需求之前,会大致先了解客户的需求,然后自己先设计一套比较好写的方案.跟客户沟通交流中引导客户往我们之前想好的方案上面 ...

  • MySQL上线,检查数据库设计的“十条合规”

    MySQL作为关系型数据库的典型代表,在国内环境里经历风雨磨砺,不断地精进,已经在开发和运维方面,成型了一套的规范.这些规范让了解和使用MySQL更加得心应手,并对后期的一些问题起到了很好的预防作用. ...

  • MDAT多数据库攻击利用工具

    声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,如需转载,联系开白.请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众 ...

  • SQL Server 数据库设计--SELECT高级查询语句之三

    在前几篇文章中介绍了 SQL SERVER 数据库的设计,以及 SELECT 语句的简单使用方法,这篇文章继续介绍其他高级查询方法. SQL Server 数据库设计 SQL Server 数据库设计 ...

  • 设计电商实战班ps

    2976:21永不过时的线上设计电商实战班ps 813 7

  • Mac上免费的矢量图设计制作工具:Gravit Designer

    Gravit Designer是一款Mac平台上完全免费的跨平台矢量图设计制作软件.这款软件提供丰富的设计工具,可以在软件上设计你需要的图标,可以设计你需要的打印图形,可以设计你需要添加到web的插图 ...

  • 数据库设计——ER图

      E-R图也称实体-联系图,提供了表示实体类型.属性和联系的方法用来描述现实世界的概念模型.   它是描述现实世界关系概念模型的有效方法.是表示概念关系模型的一种方式.用"矩形框" ...