![Tikz ER図: 1つのエンティティ間の関係](https://rvso.com/image/328470/Tikz%20ER%E5%9B%B3%3A%201%E3%81%A4%E3%81%AE%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%83%86%E3%82%A3%E9%96%93%E3%81%AE%E9%96%A2%E4%BF%82.png)
TikZ を使って簡略化された ER モデルを描いています。これまでのコードは次のとおりです。
\documentclass[12pt,a4paper,twoside,openright]{report}
\usepackage{tikz}
\usetikzlibrary{er}
\usetikzlibrary{positioning,shapes,shadows,arrows}
\begin{document}
\begin{tikzpicture}[>=open triangle 90, thick,every node/.style={font=\footnotesize}, node distance = 6.2em]
node[entity] (page) {Page};
\node[relationship] (pageparent) [right of = page] {parent} edge node[above]{n...1} (page) edge (page);
\end{tikzpicture}
\end{document}
エンティティ、関係オブジェクト、およびそれら 2 つの間の直線エッジが作成されます。図を完成させるには、これら 2 つのオブジェクトの間に 2 番目のエッジが必要です。できれば次のようになります。
|----------------------------|
| |
| |
[ Page ] ----------------- < parent >
2 つの 90° の角度を持つ 2 番目のエッジを追加するにはどうすればよいですか?
答え1
これは、 s を次のように定義することで実現できますcoordinate
。
\documentclass[12pt,a4paper,twoside,openright]{report}
\usepackage{tikz}
\usetikzlibrary{er}
\usetikzlibrary{positioning,shapes,shadows,arrows}
\begin{document}
\begin{tikzpicture}[>=open triangle 90, thick,every node/.style={font=\footnotesize}, node distance = 6.2em]
\node[entity](page){Page};
\node[relationship] (pageparent) [right of =page] {parent} edge node[above]{n...1} (page) edge (page);
\coordinate[above= 1cm of page] (cpage);
\coordinate[above= 0.8cm of pageparent] (cpageparent);
\draw[-] (page)--(cpage)--(cpageparent)--(pageparent);
\end{tikzpicture}
\end{document}