\begin{frame} \frametitle{Attributes} \begin{exampleblock}{} \begin{center} \scalebox{.92}{ \begin{tikzpicture}[every edge/.style={link}] \node[entity] (customer) {customer}; \node[attribute] (id) [at=(customer),shift={(-2.5cm,0cm)}] {\key{id}} edge (customer); \node[attribute] (name) [at=(customer),shift={(-1.5cm,1.5cm)}] {name} edge (customer); \node[attribute] (first-name) [at=(name),shift={(-2cm,1cm)}] {first-name} edge (name); \node[attribute] (middle-initial) [at=(name),shift={(0cm,2cm)}] {middle-initial} edge (name); \node[attribute] (last-name) [at=(name),shift={(2cm,1cm)}] {last-name} edge (name); \node[attribute] (address) [at=(customer),shift={(3cm,0cm)}] {address} edge (customer); \node[attribute] (zip-code) [at=(address),shift={(2cm,-2cm)}] {zip-code} edge (address); \node[attribute] (state) [at=(address),shift={(2.3cm,-.9cm)}] {state} edge (address); \node[attribute] (city) [at=(address),shift={(2.35cm,.2cm)}] {city} edge (address); \node[attribute] (street) [at=(address),shift={(1cm,1.5cm)}] {street} edge (address); \node[attribute] (street-number) [at=(street),shift={(-1cm,2cm)}] {street-number} edge (street); \node[attribute] (street-name) [at=(street),shift={(1.1cm,1.2cm)}] {street-name} edge (street); \node[multi attribute] (phone-numbers) [at=(customer),shift={(-2.5cm,-1.5cm)}] {phone-numbers} edge (customer); \node[attribute] (date-of-birth) [at=(customer),shift={(0cm,-2.5cm)}] {date-of-birth} edge (customer); \node[derived attribute] (age) [at=(customer),shift={(2.5cm,-2cm)}] {age} edge (customer); \end{tikzpicture}} \end{center} \end{exampleblock} \begin{itemize} \item \textit{name}, \textit{address} and \textit{street} are composite attributes \item \textit{phone numbers} is a multi-valued attribute \item \textit{age} is a derived attribute (derived from \textit{date-of-birth}) \end{itemize} \end{frame}