diff --git a/Einfuehrung.tex b/Einfuehrung.tex new file mode 100644 index 0000000..2fab344 --- /dev/null +++ b/Einfuehrung.tex @@ -0,0 +1,39 @@ +\section{Einführung} +\subsection{Basiswissen} +\begin{enumerate} + \item {Warum ein Datenbanksystem benutzen? + \begin{itemize} + \item vielseitig verwendbar + \item Mehrbenutzerbetrieb + \item redundanzfrei + \item ausfallsicher + \item leistungsfähig + \end{itemize} + } + \item {Wozu dient Schichtenbildung in der Softwarearchitektur? + \begin{itemize} + \item Höhere Ebenen werden einfacher, weil sie tiefere benutzen können + \item Änderungen in höheren Ebenen haben keinen Einfluss auf tiefere + \item tiefere Ebenen können getestet werden, bevor höhere lauffähig sind + \item Optimierungen von unteren Ebenen + \end{itemize} + Schichtenmodell: + \begin{figure}[H] + \begin{center} + \includegraphics[scale=0.6]{pics/schichten.png} + \caption{Schichtenübersicht} + \end{center} + \end{figure} + + } + \item { Was tut eine Schicht: + \begin{itemize} + \item Realisiert einen bestimmten Dienst, den sie der Schnittstelle nach oben zur Verfügung stellt + \item Nimmt Dienste der darunter liegenden Schicht in Anspruch + \item Verbirgt darunter liegende Schicht vollständig und muss daher alle erforderlichen Funktionen anbieten + \end{itemize} + } + \item { Was bedeutet Datenunabhängigkeit einer Anwendung:\\ + Speichern und Wiedergewinnen von persistenten Daten + ohne Kenntnis der Details der Speicherung.} +\end{enumerate} diff --git a/IDB.tex b/IDB.tex index 8a9150d..152fe01 100644 --- a/IDB.tex +++ b/IDB.tex @@ -75,6 +75,8 @@ \tableofcontents \listoffigures \newpage +\include{./Einfuehrung} +\include{./Saetze} \include{./Speicherung} \include{./Anfrageverarbeitung} \include{./Relationale_Operatoren} diff --git a/Relationale_Operatoren.tex b/Relationale_Operatoren.tex index 42bf1a7..d66ee8b 100644 --- a/Relationale_Operatoren.tex +++ b/Relationale_Operatoren.tex @@ -2,7 +2,7 @@ \subsection{Allgemein} Die grundsätzliche Aufgabe besteht darin die logischen Operatoren (SEL(),PROJ(),JOIN(),\ldots) durch \textbf{Planoperatoren} zu ersetzen.\\ -Teilaufgaben: +\textbf{Teilaufgaben}: \begin{itemize} \item Erkennung gemeinsamer Teilbäume (notwendig: Zwischenspeicherung von Ergebnisrelation) diff --git a/Saetze.tex b/Saetze.tex new file mode 100644 index 0000000..fb0885d --- /dev/null +++ b/Saetze.tex @@ -0,0 +1,16 @@ +\section{Sätze} +\subsection{Allgemein} +Warum wurden Sätze eingeführt? \\ +Sätze abstrahieren von Blöcken. Blöcken sind Hardware spezifisch. +Sie haben unterschiedliche Längen und die Aufgabe von Einheiten von +Platte und HS zu transportieren. Daher hat man eine anwendungspezifische +Einheit eingeführt, die Daten zusammenfasst.\\ +$\rightarrow$ Neue Schicht über Blöcke +\subsection{Wechselpuffertechnik} +Optimierungsmöglichkeit bei sequenziellen Dateien. +Man verwendet \textit{zwei} Blockpuffer.\\ +Anwendung beim +\begin{itemize} + \item Lesen: während Sätze in Puffer 1 gelesen werden \textbf{gleichzeitig} nächsten Block von Platte in Puffer 2 lesen + \item Schreiben: wenn Puffer 1 voll, \textbf{asynchron} auf Platte schreiben und gleichzeitig Puffer 2 zur Aufnahme weiterer Sätze verwenden +\end{itemize} diff --git a/pics/schichten.png b/pics/schichten.png new file mode 100644 index 0000000..5377258 Binary files /dev/null and b/pics/schichten.png differ