\begin{frame} \frametitle{ANSI SPARC Architecture: 3 levels} \begin{block}{} \begin{center} \begin{tikzpicture}[default,node distance=13mm,nodes={rectangle,draw,thick,inner sep=2mm,fill=blue!80!green!20}] \node (p) {physical level}; \node (l) [above of=p] {logical level}; \node (v2) [above of=l,xshift=-10mm,node distance=15mm] {view 2}; \begin{scope}[node distance=18mm] \node (v1) [left of=v2,node distance=23mm] {view 1}; \node (v3) [right of=v2,draw=none,fill=none] {\ldots}; \node (vn) [right of=v3] {view n}; \end{scope} \node (u1) [draw=none,fill=none,above of=v1,node distance=11mm] {\includegraphics[height=1.3cm]{images/user_blue.png}}; \node (un) [draw=none,fill=none,above of=vn,node distance=11mm] {\includegraphics[height=1.3cm]{images/user_green.png}}; \begin{pgfonlayer}{background} \draw [fill=blue!5] ($(v1.north west)+(-3mm,16mm)$) rectangle ($(vn.south east)+(3mm,-3mm)$); \coordinate (view) at ($(v1.south west)!.5!(vn.south east)+(3mm,-3mm)$); \end{pgfonlayer} \begin{scope}[nodes={draw=none,fill=none}] \node at (4cm,0) [anchor=west,align=left] {Physical\\(Internal)}; \node at (4cm,15mm) [anchor=west,align=left] {Logical\\(Conceptual)}; \node at (4cm,33mm) [anchor=west,align=left] {View\\(External)}; \end{scope} \draw (p) -- (l) |- (view); \end{tikzpicture} \end{center} \end{block} \begin{itemize} \item Different applications might use different views \item Data stored once at physical level (good for consistency) \end{itemize} \end{frame}