`

绘制ER图(数据库关系图)

阅读更多

http://www.texample.net/tikz/examples/entity-relationship-diagram/

https://www.assembla.com/wiki/show/tikz-er2

 

\usepackage{tikz-er2}
\usetikzlibrary{positioning}
\usetikzlibrary{shadows}
\tikzstyle{every entity} = [top color=white, bottom color=blue!30, 
                            draw=blue!50!black!100, drop shadow]
\tikzstyle{every weak entity} = [drop shadow={shadow xshift=.7ex, 
                                 shadow yshift=-.7ex}]
\tikzstyle{every attribute} = [top color=white, bottom color=yellow!20, 
                               draw=yellow, node distance=1cm, drop shadow]
\tikzstyle{every relationship} = [top color=white, bottom color=red!20, 
                                  draw=red!50!black!100, drop shadow]
\tikzstyle{every isa} = [top color=white, bottom color=green!20, 
                         draw=green!50!black!100, drop shadow]

\centering
\scalebox{.87}{
\begin{tikzpicture}[node distance=1.5cm, every edge/.style={link}]

  \node[entity] (emp) {Employee};
  \node[attribute] (ename) [above=of emp] {Name} edge (emp);
  \node[attribute] (enum) [above right=of emp] {\key{Number}} edge (emp);

  \node[isa] (isa) [below=1cm of emp] {ISA} edge (emp);

  \node[entity] (mec) [below left=1cm of isa] {Mechanic} edge (isa);
  \node[entity] (sal) [below right=1cm of isa] {Salesman} edge (isa);

  \node[relationship] (does) [left=of mec] {Does} edge (mec);

  \node[weak entity] (rep) [below=of does] {RepairJob} edge (does);
  \node[attribute] (rnum) [left=of rep] {\discriminator{Number}} edge (rep);
  \node[attribute] (desc) [above left=of rep] {Description} edge (rep);
  \node[attribute] (cost) [below left=of rep] {Cost} edge (rep);
  \node[attribute] (mat) [left=0.5cm of cost] {Parts} edge (cost);
  \node[attribute] (work) [below left=0.5cm of cost] {Work} edge (cost);

  \node[ident relationship] (reps) [below=of rep] {Repairs} edge [total] (rep);

  \node[entity] (car) [right=of reps] {Car} edge [<-] (reps);
  \node[attribute] (lic) [above=of car] {\key{License}} edge (car);
  \node[attribute] (mod) [below=of car] {Model} edge (car);
  \node[attribute] (year) [below right=of car] {Year} edge (car);
  \node[attribute] (manu) [below left=1.5cm of car] {Manufacturer} edge (car);
  
  \node[relationship] (buy) [below=of sal] {Buys};
  \node[attribute] (pri) [above left=of buy] {Price} edge (buy);
  \node[attribute] (sdate) [left=of buy] {Date} edge (buy);
  \node[attribute] (bval) [below left=of buy] {Value} edge (buy);

  \node[relationship] (sel) [right=of buy] {Sells};
  \node[attribute] (sdate) [above right=of sel] {Date} edge (sel);
  \node[derived attribute] (sval) [right=of sel] {Value} edge (sel);
  \node[attribute] (com) [below right=of sel] {Comission} edge (sel);
  
  \draw[link] (car.10) -| (buy) (buy) edge (sal);
  \draw[link] (car.-10) -| (sel) (sel) |- (sal);

  \node[entity] (cli) [below right=0.5cm and 3.7cm of car] {Client};
  \node[attribute] (cid) [right=of cli] {\key{ID}} edge (cli);
  \node[attribute] (cname) [below left=of cli] {Name} edge (cli);
  \node[multi attribute] (cphone) [below right=of cli] {Phone} edge (cli);
  \node[attribute] (cadd) [below=of cli] {Address} edge (cli);

  \draw[link] (cli.70) |- node [pos=0.05, auto, swap] {buyer} (sel);
  \draw[link] (cli.110) |- node [pos=0.05, auto] {seller} (buy);

\end{tikzpicture}
}

 
分享到:
评论

相关推荐

    ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制

    ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER图与数据库模型图绘制ER...

    画数据库ER图的工具

    在IT行业中,有许多专业工具可以帮助我们高效地绘制ER图。以下是一些关于“画数据库ER图的工具”的详细知识点: 1. **实体关系模型**:在数据库设计中,实体关系模型(Entity-Relationship Model,简称ER模型)是一...

    ER图绘制工具

    标题中的“ER图绘制工具”是指用于绘制ER图的软件或在线平台,这类工具通常具有直观的用户界面和丰富的功能,以简化设计过程。初学者可以通过这些工具快速上手,绘制出符合规范的ER图。 描述中提到“非常的实用”,...

    Visio绘制ER图教程

    ER 图是数据库设计的重要组成部分,Visio 是一种功能强大且流行的绘制 ER 图的工具。本教程将介绍如何使用 Visio 绘制 ER 图,并详细介绍 Visio 中 ER 图的 3 个要素:实体、属性和关系。 一、ER 图的 3 个要素 在...

    visio 数据库ER图绘制模板

    数据库ER图绘制模板:由P.P.S.Chen1976年提出,用E-R图来描述某一组织的信息模型。方法:由收集的材料分类、概括出实体,加以命名,取分析实体的属性,再根据属性描述其间的各种联系,用各种图形表示。(例物资入库...

    如何绘制er图

    ### 如何绘制ER图 #### 一、ER图概述与重要性 在数据库设计领域,实体关系图(Entity-Relationship Diagram,简称ER图)是一种重要的工具,用于展示数据的结构和关系。它能够帮助设计者从宏观角度理解数据实体、...

    画ER图、流程图的专用工具

    首先,ER图是数据库设计的基础,它通过图形化方式描绘实体、属性和实体之间的关系。在ER图中,实体通常用矩形表示,属性则以椭圆形展示,而连接实体的线段代表了它们之间的关系。ER图的绘制可以帮助设计师清晰理解...

    diagram designer 1.21(流程图处理_画ER图数据库等的小巧工具)

    Diagram Designer 1.21支持绘制ER图,使数据库设计者能直观地表示实体、属性和关系,从而更有效地设计和理解数据库结构。它的图形化界面使得即使是没有编程背景的用户也能轻松上手,大大提高了数据库设计的效率。 ...

    数据库建模—ER图数据库建模—ER图.doc

    数据库建模—ER 图数据库设计基本理论与 ER 图的基本概念 ER 图(Entity-Relationship Diagram)是一种常用的数据库设计方法,用于描述实体之间的关系。ER 图由三个基本组成部分构成:实体、联系和属性。 实体...

    SQL-Server-2008中-如何实现ER图的绘制.docx

    实体关系图(Entity Relationship Diagram,简称 ER 图)是一种用于描述数据模型的图形化表示方式,它能够直观地展示数据库中的实体(即数据表)、实体之间的关系以及实体的属性。在数据库设计阶段,ER 图是非常重要...

    A5M2数据库管理工具,数据库设计,ER图

    在本例中,"ER图"(实体关系图)是数据库设计的关键部分。ER图是用于表示现实世界中实体间关系的图形化工具,其中实体以矩形表示,属性以椭圆表示,而关系则通过线连接来描绘。ER图能够帮助设计者清晰地理解数据模型...

    数据库实体关系图绘制工具,ER图绘制工具

    ER图(Entity-Relationship Diagram),即实体-关系图,是一种用于描述数据模型的概念图,主要用于数据库设计阶段。E-R图可以帮助设计师和开发者理解数据需求并构建相应的数据库结构。 ER图广泛应用于多种场景中,...

    数据库er图怎么画.docx

    《亿图图示专家:数据库ER图设计软件》 数据库ER图是数据库设计的重要组成部分,对于数据库设计来说是非常重要的一步。在本文中,我们将对亿图图示专家这款软件进行详细的介绍,旨在帮助读者更好地理解亿图图示专家...

    影像租赁系统ER图及其数据库设计

    综上所述,影像租赁系统数据库设计是一个综合性的过程,它不仅涉及ER图的绘制和解析,还包括关系模式的建立、数据完整性和安全性的保证,以及实际操作中的性能优化。这个小例子虽然简单,但它涵盖了数据库设计的基本...

    使用Visio绘制ER图

    ER图是什么? ER 图即实体-关系图(Entity Relationship Diagram)。 它是用来描述现实世界中实体及其相互关系的一种概念模型工具。 在 ER 图中,用【矩形】表示实体,【椭圆】表示实体的属性,【菱形】表示实体之间...

    数据库实现学生成绩管理系统选课管理及ER图

    本文将深入探讨如何使用数据库技术来实现一个包含选课管理功能的学生成绩管理系统,并介绍如何利用ER图(实体-关系图)来可视化数据库结构。 首先,我们要理解学生成绩管理系统的核心组成部分。在这样的系统中,...

Global site tag (gtag.js) - Google Analytics