TikZ doesn't have automatic routing, unfortunately... So if you want those arrows to move around the text you are going to have to do it manually. Fortunately, that isn't very difficult. The easiest way I can think of is to change the words you want to link into TikZ nodes and then draw the arcs that connect them. You could do that for your example as follows:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\noindent
relation1(\tikz[remember picture]\node[inner sep=0pt] (1id) {\textbf{id}};, \tikz[remember picture]\node[inner sep=0pt] (1r2) {relation2\_id};, \tikz[remember picture]\node[inner sep=0pt] (1r3) {relation3\_id};, attribute1)\\[.5cm]
relation2(\tikz[remember picture]\node[inner sep=0pt] (2id) {\textbf{id}};, \tikz[remember picture]\node[inner sep=0pt] (2r3) {relation3\_id};, attribute2)\\[.5cm]
relation3(\tikz[remember picture]\node[inner sep=0pt] (3id) {\textbf{id}};, attribute3)
\begin{tikzpicture}[overlay, remember picture]
\path[draw,->] (1r2.south) ++(0,-.1) -- ++(0,-.2) -| ($(2id.north) + (0,.1)$);
\path[draw,->] (1r3.south) ++(0,-.1) -- ++(0,-.2) -- ++(1,0) -- ++(0,-1) -| ($(3id.60) + (0,.1)$);
\path[draw,->] (2r3.south) ++(0,-.1) -- ++(0,-.2) -| ($(3id.120) + (0,.1)$);
\end{tikzpicture}
\end{document}
The result then looks like this:

Update: A small addition, for the sake of completeness. You can approach the style in the picture (line/arrow-wise) by changing the options to path to [draw, thick, -latex]. That along with modifying the line placement a little bit gives the following result:

Update 2: In response to your comments, the underline and letters like j make the box around the text larger. To counteract this, we can use a combination of text height and text depth. The code would look as follows:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\noindent
\tikzset{
text depth=0ex,
text height=1ex,
inner sep=0pt,
}%
relation1(\tikz[remember picture]\node (1id) {\underline{id}};, \tikz[remember picture]\node (1r2) {relatjon2\_id};, \tikz[remember picture]\node (1r3) {relation3\_id};, attribute1)\\[.5cm]
relation2(\tikz[remember picture]\node (2id) {\textbf{id}};, \tikz[remember picture]\node (2r3) {relation3\_id};, attribute2)\\[.5cm]
relation3(\tikz[remember picture]\node (3id) {\textbf{id}};, attribute3)
\begin{tikzpicture}[overlay, remember picture]
\path[draw,thick,-latex] (1r2.south) ++(0,-.1) -- ++(0,-.2) -| ($(2id.north) + (0,.1)$);
\path[draw,thick,-latex] (1r3.south) ++(0,-.1) -- ++(0,-.2) -- ++(1,0) -- ++(0,-.97) -| ($(3id.60) + (0,.1)$);
\path[draw,thick,-latex] (2r3.south) ++(0,-.1) -- ++(0,-.2) -| ($(3id.120) + (0,.1)$);
\end{tikzpicture}
\end{document}
Also note the use of tikzset here to set the node properties for all nodes at once. The resulting image with an underlined id and a relatjon:

tikz? You question isn't really clear. – Marco Daniel Nov 9 '11 at 14:39pgf/tikz. :-) – Martin Schröder Nov 9 '11 at 15:24