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

2023-11-16

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}
}

 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘制ER图(数据库关系图) 的相关文章

随机推荐

  • 这个智能家居项目开源了

    今天 推荐一个物联网项目 物美智能 如果你具备硬件 软件知识 这个项目肯定符合你的胃口 物美智能是一套软硬件结合的开源项目 该系统可助你快速搭建自己的智能家居系统 你可以学习到设备的集成和软硬件交互 PC 端或者手机与服务端通信 单片机可以
  • spark-shell 加载本地文件报错 java.io.FileNotFoundException

    学习spark shell 时候发现一个问题 从本地文件加载数据生成RDD 报错 文件找不到 原因 spark shell 如果启动了集群模式 真正负责计算的executor会在 该executor所在的 worker节点上读取文件 并不是
  • Element plus 表单验证功能

    以下是官网提供的例子
  • [QT_046]Qt学习之网格布局器(QGridLayout)

    本文转自 Qt编程指南 作者 奇先生 Qt编程指南 Qt新手教程 Qt Programming Guide 6 3 网格布局器 本节介绍网格布局器 QGridLayout 当控件分布的行 列都比较有规律时 可以不用一行行设置布局器 而是直接
  • Linux下文件操作命令练习

    1 创建目录 home hadoop work1 home hadoop work2 mkdir home hadoop work1 mkdir home hadoop work2 2 将当前目录切换到 home hadoop work1
  • Hbuilder+PhPstudy配置PHP环境走过的坑

    由于比较喜欢用Hbuilder写前端 所以选择在这上面写PHP 在网上看到许多搭建环境的方法 最后选择了通俗易懂的PhPstudy 1 在PhPstudy官网上下载 注意 安装的路径不能出现中文和空格 这里我装在d盘 netstat ano
  • safari5.1 进程死掉的故障

    某个网页 在其他版本的safari包括safari mobile都可用 唯独升级到5 1后页面打不开了 用safari自带调试功能发现 解析css时进程死掉了 部分样式出现了 但其他样式没有出现 故障初步定在css上 一个多月过去了 后来将
  • Beyond Compare 3 许可证密钥被撤销

    最近在使用 Beyond Compare 3 时突然出现 许可证密钥被撤销 问题 现象截图以下 自己清除注册表并重新安装后还是出现相同的问题 没办法只能求助于百度 找到解决方法 删除 C Users Administrator AppDat
  • 当我问 ChatGPT 能否推荐一下好用的 API 管理工具时?

    近期围绕 ChatGPT 的话题 真的太多了 我们就知道了 ChatGPT 简单说就是搜索引擎 社交工具 这个解释最简单明了 出于好奇 我也用 ChatGPT 测试了一下 我 在中国 最好的 API 管理工具是什么 ChatGPT 我无法确
  • 剑指 Offer 09. 用两个栈实现队列

    题目链接 09 用两个栈实现队列 思路分析 用两个栈实现队列 首先把1 gt 2然后逐个弹出顶端元素 class CQueue public stack
  • 【华为OD机试真题】单向链表中间节点(寻找链表的中间结点)(C++&java&python)100%通过率 超详细代码注释 代码深度解读

    华为OD机试真题 2022 2023 真题目录 点这里 华为OD机试真题 信号发射和接收 试读 点这里 华为OD机试真题 租车骑绿道 试读 点这里 寻找链表的中间结点 知识点链表数组 时间限制 1s空间限制 256MB限定语言 不限 题目描
  • 2021美赛成绩查询证书下载

    下载证书地址为 http www comap math com mcm 2021Certs pdf 链接中的6个 替换为自己队的编号 如 http www comap math com mcm 2021Certs 123456 pdf
  • 中央循环管式蒸发器总图

    中央循环管式蒸发器属于自然循环型的蒸发器 它是工业生产中广泛使用且历史悠久的大型蒸发器 至今在化工 轻工 环保等行业中仍被广泛采用 它的加热室由管径为25mm 75mm 长度为1m 2m 长径之比约为20 40 的直立管束组成 在管束中央安
  • HCSR04超声波传感器驱动

    HC SR04是一款使用较为广泛的超声波测距模块 模块图如下 该模块具有四个引脚 分别为VCC GND TRIG ECHO 其中VCC GND为供电脚 TRIG为测距触发引脚 ECHO为测距输入引脚 该模块的驱动模式为 控制口发一个 10U
  • 【WIN】svchost与共享进程服务

    查看注册表中的系统服务文件夹 我们可以发现某些服务的ImagePath显示的是svchost exe的路径 如下图所示 svchost exe 是微软Windows操作系统中的系统文件 微软官方对它的解释是 svchost exe 是从动态
  • SpringBoot 整合 Druid+ 全局事务管理 +Mybatis-Plus+ 代码生成器

    SpringBoot 整合 Druid 全局事务管理 Mybatis Plus 代码生成器 在 springboot 开发当中 Druid 全局事务管理 代码生成器都是非常实用的 特此记录下整合的过程 整合 Druid 连接池 spring
  • js逆向技巧

    一 总结 搜索 全局搜索 代码内搜索 debug 常规debug XHR debug 行为debug 查看请求调用的堆栈 执行堆内存中的函数 修改堆栈中的参数值 写js代码 打印windows对象的值 勾子 cookie钩子 请求钩子 he
  • 存在的意义

    到目前为止出现过的所有备选答案 1 成功 成为人上人 2 好吃的 好听的 好看的 3 明白些道理 遇见有趣的事 4 像吃蛋糕和甜甜圈一样 在于吃的过程 5 纯粹为了快感而嗑药 6 为了我爱的人和爱我的人 7 为社会和他人作贡献 8 为神服务
  • FreeRTOS学习笔记—任务挂起和恢复

    文章目录 一 任务挂起和恢复API函数 1 1 vTaskSuspend 函数 1 2 vTaskResume 函数 1 3 xTaskResumeFromISR 函数 二 任务挂起和恢复 2 1 任务1挂起解挂任务2 2 2 中断中解挂任
  • 绘制ER图(数据库关系图)

    http www texample net tikz examples entity relationship diagram https www assembla com wiki show tikz er2 usepackage tik