diff --git a/semester4/dmdb/data-modelling-databases-summary.pdf b/semester4/dmdb/data-modelling-databases-summary.pdf index 4bd0908..6252697 100644 Binary files a/semester4/dmdb/data-modelling-databases-summary.pdf and b/semester4/dmdb/data-modelling-databases-summary.pdf differ diff --git a/semester4/dmdb/data-modelling-databases-summary.tex b/semester4/dmdb/data-modelling-databases-summary.tex index 414724e..0712e75 100644 --- a/semester4/dmdb/data-modelling-databases-summary.tex +++ b/semester4/dmdb/data-modelling-databases-summary.tex @@ -4,6 +4,7 @@ \setupGlossary \input{glossary/main.tex} +\setGlossaryMarkup \usepackage{lmodern} \setFontType{sans} @@ -33,8 +34,10 @@ FS2026, ETHZ \begin{Large} - Summary of the Script and Lectures + Summary of the Lecture Slides \end{Large} + + \url{https://systems.ethz.ch/education/courses/2026-spring/dmdb.html} \end{center} \newpage @@ -50,11 +53,25 @@ This summary assumes some basic knowledge about databases. All words written in \textbf{bold} should be clickable and should link you to the corresponding term in the glossary. If I did not forget a term that is, of course. +\subsection{IMS} +Early databases were not relational and they also required the user of the system to know \textit{how the data was stored}. +This of course is not ideal, as any update to the data structure also required an update to the code interacting with it. +In addition, manual query optimization has to be done. -\newsection -\section{SQL} -\input{parts/00_sql/00_intro.tex} -\input{parts/00_sql/01_operations.tex} +Non-relational databases commonly have data redundancy, due to non-hierarchical applications being forced into a tree-based model. +This causes issues when updating the data, as one needs to update the data in all places where a copy of the data exists. + +\subsection{Network Model} +In a network model, one \gls{record} is fetched at a time, so it essentially traverses the network. +However, we again do not have data independence, thus the application again needs to change when the physical data representation changes. +In addition, manual query optimization has to happen again, thus, any change to the physical data representation may cause the need to redo the optimization. + +\subsection{Relational Model} +\bi{This is the focus of this course} + + +\include{parts/00_sql/main.tex} +\include{parts/01_relational-logic/main.tex} \printGlossary diff --git a/semester4/dmdb/glossary/basics.tex b/semester4/dmdb/glossary/basics.tex index 0c172ae..b6a60c1 100644 --- a/semester4/dmdb/glossary/basics.tex +++ b/semester4/dmdb/glossary/basics.tex @@ -6,7 +6,7 @@ name={imperative}, description={Describes how to achieve something} } -% \newglossaryentry{}{ -% name={}, -% description={} -% } +\newglossaryentry{record}{ + name={record}, + description={} +} diff --git a/semester4/dmdb/parts/00_sql/00_intro.tex b/semester4/dmdb/parts/00_sql/00_intro.tex index 1992e03..63769d4 100644 --- a/semester4/dmdb/parts/00_sql/00_intro.tex +++ b/semester4/dmdb/parts/00_sql/00_intro.tex @@ -1 +1 @@ -\refacr{sql} is a \refgls{declarative} programming language, used to describe and operate on databases. +\acrshort{sql} is a \gls{declarative} programming language, used to describe and operate on databases. diff --git a/semester4/dmdb/parts/00_sql/main.tex b/semester4/dmdb/parts/00_sql/main.tex new file mode 100644 index 0000000..aef79f7 --- /dev/null +++ b/semester4/dmdb/parts/00_sql/main.tex @@ -0,0 +1,5 @@ +\newsection +\section{SQL} +\input{parts/00_sql/00_intro.tex} +\input{parts/00_sql/01_operations.tex} +% \input{parts/00_sql/} diff --git a/semester4/dmdb/parts/01_relational-logic/main.tex b/semester4/dmdb/parts/01_relational-logic/main.tex new file mode 100644 index 0000000..5459043 --- /dev/null +++ b/semester4/dmdb/parts/01_relational-logic/main.tex @@ -0,0 +1,4 @@ +\newsection +\section{Relational Logic \& Algebra} +\input{parts/01_relational-logic/00_intro.tex} +% \input{parts/01_relational-logic/}