Anfrageverarbeitung
This commit is contained in:
parent
7f4d4cb5c7
commit
229b67679d
Binary file not shown.
@ -304,4 +304,43 @@
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\section{Anfrageverarbeitung}
|
||||
\begin{itemize}
|
||||
\item Abbildung von mengenorientierten Operatoren auf interne Satzschnittstelle
|
||||
\item \begriff{Anfrageverarbeitung} erstellt einen \begriff{Anfrageausführungsplan}: \begin{itemize}
|
||||
\item Analyse: lexikalische und syntaktische Prüfung, semantische Prüfung, Zugriffskontrolle, Integritätskontrolle
|
||||
\item Optimierung: \begin{itemize}
|
||||
\item \begriff{Standardisierung} und Vereinfachung
|
||||
\item \begriff{algebraische} Verbesserung
|
||||
\item \begriff{nicht-algebraische} Verbesserung: Berücksichtigung der Kosten der \begriff{Planoperatoren}
|
||||
\end{itemize}
|
||||
\item Code-Generierung
|
||||
\item Ausführungskontrolle
|
||||
\end{itemize}
|
||||
\item \begriff{logische Operatoren} mit Relationen $R$, $S$ und Prädikat $P$: \begin{itemize}
|
||||
\item \begriff{Selektion} $\text{SEL}(R, P)$
|
||||
\item \begriff{Projektion} $\text{PROJ}(R, L)$ mit $L = (A_1, \dots, A_k)$
|
||||
\item \begriff{Kreuzprodukt} $\text{CROSS}(R,S)$
|
||||
\item \begriff{Verbund} $\text{JOIN}(R,S,P(R_{Ai}, S_{Aj}))$
|
||||
\item \begriff{Vereinigung} $\text{UNION(R;S)}$
|
||||
\item \begriff{Schnitt} $\text{INTERSECT(R,S)}$
|
||||
\item \begriff{Ausschluss} $\text{EXCEPT(R,S)}$
|
||||
\item analoge Operationen auf \begriff{Multimengen}
|
||||
\item \begriff{Umbenennung} $\text{RENAME}(R, R_\text{neu}, ((A_i, A_{i,\text{neu}}), \dots))$
|
||||
\item \begriff{Duplikat-Eliminierung} $\text{DUP-ELIM}(R)$
|
||||
\item \begriff{Aggregation} $\text{SUM}(R, A_i)$, $\text{AVG}(R, A_i)$, $\text{MIN}(R, A_i)$, $\text{MAX}(R, A_i)$, $\text{COUNT}(R)$
|
||||
\item \begriff{Gruppierung} $\text{GROUP}(R, L, G)$ mit $G = ((\text{AGG}_1, (A_i), \text{name}_1), \dots)$
|
||||
\item \begriff{erweiterte Projektion} $\text{G-PROJ}(R, L)$ mit $L = (\text{name}_1 = \text{expr}_1, \dots)$
|
||||
\item \begriff{Sortierung} $\text{SORT}(R, L)$ mit $L = (A_i, A_j, \dots)$
|
||||
\item \begriff{äußerer Verbund} $\text{OUTER-JOIN}(R,S,P,c)$ mit $c \in \{\text{left}, \text{right}, \text{full}\}$
|
||||
\end{itemize}
|
||||
\item allgemeine Vorgehensweise bei Restrukturierung: \begin{itemize}
|
||||
\item komplexe Verbünde, Selektionen in binäre aufteilen
|
||||
\item Selektion möglichst \enquote{weit unten} ausführen
|
||||
\item Selektion und Kreuzprodukt zu Verbund gruppieren
|
||||
\item aufeinander folgende Selektionen der selben Relation zusammenfassen
|
||||
\item Projektionen möglichst \enquote{weit unten} ausführen (aber Duplikat-Eliminierung vermeiden)
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{document}
|
Loading…
Reference in New Issue
Block a user