绘制 SQL 表

绘制 SQL 表

我想绘制 SQL 表、一些示例内容和 ID 之间的关系。输出应如下所示,但不包含内容。

关系模型

您能帮我从这里开始吗? 已经有用于此目的的库了吗?

答案1

带有一些节点的示例matrix。固定节点宽度对于正确绘制空单元格边框是必要的。

\documentclass[tikz,border=2mm]{standalone}
 \usetikzlibrary{matrix,positioning}
\begin{document}
\begin{tikzpicture}[
table/.style={matrix of nodes, nodes in empty cells, column sep=-\pgflinewidth, row sep=-\pgflinewidth, nodes={draw,anchor=center,minimum width=2cm,minimum height=2cm}, row 1/.style={nodes={minimum height=1cm}}}]

\matrix(Dept) [table, label=above:Department] {
    No & Name \\ & \\};

\matrix(Professor) [table, label=above:Professor, right=1cm of Dept] {
    No & Name & DeptNo & Courses \\ & & & \\};

\matrix(Course) [table, label=above:Course, below=1.25cm of Dept] {
    No & DeptNo & Prof ID & Unit \\ & & & \\};

\matrix(Student) [table, label=above:Course, right=1cm of Course] {
    ID & Name & Course \\ & & \\};

\draw (Dept-2-1.south)--++(0,-.5)-|(Professor-2-3);
\draw (Professor-2-4.south)--++(0,-.75)-|(Course-1-1.north);
\draw (Course-2-1.south)--++(0,-.5)-|(Student-2-3.south);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容