From c1878069fd74db60cba9e269900456548eda0d8a Mon Sep 17 00:00:00 2001 From: JirR02 Date: Mon, 29 Dec 2025 23:19:14 +0100 Subject: [PATCH] Notes V.1.0.0 --- disclaimer.tex | 22 + letterfonts.tex | 178 +++++++ macros.tex | 88 ++++ notes_to_isfe.pdf | Bin 0 -> 396612 bytes notes_to_isfe.tex | 46 ++ preamble.tex | 713 ++++++++++++++++++++++++++ sections/data_cubes.tex | 53 ++ sections/data_definition_sql.tex | 55 ++ sections/database_architecture.tex | 50 ++ sections/database_design_theory.tex | 138 +++++ sections/introduction.tex | 103 ++++ sections/queries_with_sql.tex | 183 +++++++ sections/relational_algebra.tex | 67 +++ sections/relational_model.tex | 131 +++++ sections/transactions_three_tiers.tex | 72 +++ sections/views_indecies.tex | 63 +++ 16 files changed, 1962 insertions(+) create mode 100644 disclaimer.tex create mode 100644 letterfonts.tex create mode 100644 macros.tex create mode 100644 notes_to_isfe.pdf create mode 100644 notes_to_isfe.tex create mode 100644 preamble.tex create mode 100644 sections/data_cubes.tex create mode 100644 sections/data_definition_sql.tex create mode 100644 sections/database_architecture.tex create mode 100644 sections/database_design_theory.tex create mode 100644 sections/introduction.tex create mode 100644 sections/queries_with_sql.tex create mode 100644 sections/relational_algebra.tex create mode 100644 sections/relational_model.tex create mode 100644 sections/transactions_three_tiers.tex create mode 100644 sections/views_indecies.tex diff --git a/disclaimer.tex b/disclaimer.tex new file mode 100644 index 0000000..abddd72 --- /dev/null +++ b/disclaimer.tex @@ -0,0 +1,22 @@ +\section*{DISCLAIMER} + +These notes were compiled based on the lecture ``Information Systems for Engineers'' by Dr. G. Fourny and the exercises by D. Isik. +\\ +\\ +I accept no liability for any potential errors within these notes. Please be aware that these materials were processed with the assistance of NotebookLM. While AI is a powerful tool, it may produce technical inaccuracies or ``hallucinations''. Furthermore, I have paraphrased sections and added personal observations, which may introduce further errors. +\\ +\\ +\textbf{Copyright \& Content Note:} This is an unofficial resource and is not affiliated with or endorsed by ETH Zurich. As these notes were generated with the assistance of AI, I cannot guarantee that all content has been sufficiently paraphrased. Some sections may closely mirror or directly quote the original presentation slides or scripts. All intellectual property rights for the original course content remain with the respective authors at ETH Zurich. +\\ +\\ +\textbf{Notice to Rights Holders:} This document is shared for educational purposes. If you are a rights holder and object to the inclusion of any content, please contact me, and I will remove it immediately. +\\ +\\ +Unless stated otherwise, all graphics were generated personally. +\\ +\\ +Errors or copyright concerns can be reported via email to jirruh@ethz.ch. +\\ +\\ +\\ +Jirayu Ruh, 29.12.2025 diff --git a/letterfonts.tex b/letterfonts.tex new file mode 100644 index 0000000..3939d5b --- /dev/null +++ b/letterfonts.tex @@ -0,0 +1,178 @@ +% Things Lie +\newcommand{\kb}{\mathfrak b} +\newcommand{\kg}{\mathfrak g} +\newcommand{\kh}{\mathfrak h} +\newcommand{\kn}{\mathfrak n} +\newcommand{\ku}{\mathfrak u} +\newcommand{\kz}{\mathfrak z} +\DeclareMathOperator{\Ext}{Ext} % Ext functor +\DeclareMathOperator{\Tor}{Tor} % Tor functor +\newcommand{\gl}{\opname{\mathfrak{gl}}} % frak gl group +\renewcommand{\sl}{\opname{\mathfrak{sl}}} % frak sl group chktex 6 + +% More script letters etc. +\newcommand{\SA}{\mathcal A} +\newcommand{\SB}{\mathcal B} +\newcommand{\SC}{\mathcal C} +\newcommand{\SF}{\mathcal F} +\newcommand{\SG}{\mathcal G} +\newcommand{\SH}{\mathcal H} +\newcommand{\OO}{\mathcal O} + +\newcommand{\SCA}{\mathscr A} +\newcommand{\SCB}{\mathscr B} +\newcommand{\SCC}{\mathscr C} +\newcommand{\SCD}{\mathscr D} +\newcommand{\SCE}{\mathscr E} +\newcommand{\SCF}{\mathscr F} +\newcommand{\SCG}{\mathscr G} +\newcommand{\SCH}{\mathscr H} + +% Mathfrak primes +\newcommand{\km}{\mathfrak m} +\newcommand{\kp}{\mathfrak p} +\newcommand{\kq}{\mathfrak q} + +% number sets +\newcommand{\RR}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{R}}{\mathbb{R}^{#1}}}} +\newcommand{\NN}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{N}}{\mathbb{N}^{#1}}}} +\newcommand{\ZZ}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{Z}}{\mathbb{Z}^{#1}}}} +\newcommand{\QQ}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{Q}}{\mathbb{Q}^{#1}}}} +\newcommand{\CC}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{C}}{\mathbb{C}^{#1}}}} +\newcommand{\PP}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{P}}{\mathbb{P}^{#1}}}} +\newcommand{\HH}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{H}}{\mathbb{H}^{#1}}}} +\newcommand{\FF}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{F}}{\mathbb{F}^{#1}}}} +% expected value +\newcommand{\EE}{\ensuremath{\mathbb{E}}} +\newcommand{\charin}{\text{ char }} +\DeclareMathOperator{\sign}{sign} +\DeclareMathOperator{\Aut}{Aut} +\DeclareMathOperator{\Inn}{Inn} +\DeclareMathOperator{\Syl}{Syl} +\DeclareMathOperator{\Gal}{Gal} +\DeclareMathOperator{\GL}{GL} % General linear group +\DeclareMathOperator{\SL}{SL} % Special linear group + +%--------------------------------------- +% BlackBoard Math Fonts :- +%--------------------------------------- + +%Captital Letters +\newcommand{\bbA}{\mathbb{A}} \newcommand{\bbB}{\mathbb{B}} +\newcommand{\bbC}{\mathbb{C}} \newcommand{\bbD}{\mathbb{D}} +\newcommand{\bbE}{\mathbb{E}} \newcommand{\bbF}{\mathbb{F}} +\newcommand{\bbG}{\mathbb{G}} \newcommand{\bbH}{\mathbb{H}} +\newcommand{\bbI}{\mathbb{I}} \newcommand{\bbJ}{\mathbb{J}} +\newcommand{\bbK}{\mathbb{K}} \newcommand{\bbL}{\mathbb{L}} +\newcommand{\bbM}{\mathbb{M}} \newcommand{\bbN}{\mathbb{N}} +\newcommand{\bbO}{\mathbb{O}} \newcommand{\bbP}{\mathbb{P}} +\newcommand{\bbQ}{\mathbb{Q}} \newcommand{\bbR}{\mathbb{R}} +\newcommand{\bbS}{\mathbb{S}} \newcommand{\bbT}{\mathbb{T}} +\newcommand{\bbU}{\mathbb{U}} \newcommand{\bbV}{\mathbb{V}} +\newcommand{\bbW}{\mathbb{W}} \newcommand{\bbX}{\mathbb{X}} +\newcommand{\bbY}{\mathbb{Y}} \newcommand{\bbZ}{\mathbb{Z}} + +%--------------------------------------- +% MathCal Fonts :- +%--------------------------------------- + +%Captital Letters +\newcommand{\mcA}{\mathcal{A}} \newcommand{\mcB}{\mathcal{B}} +\newcommand{\mcC}{\mathcal{C}} \newcommand{\mcD}{\mathcal{D}} +\newcommand{\mcE}{\mathcal{E}} \newcommand{\mcF}{\mathcal{F}} +\newcommand{\mcG}{\mathcal{G}} \newcommand{\mcH}{\mathcal{H}} +\newcommand{\mcI}{\mathcal{I}} \newcommand{\mcJ}{\mathcal{J}} +\newcommand{\mcK}{\mathcal{K}} \newcommand{\mcL}{\mathcal{L}} +\newcommand{\mcM}{\mathcal{M}} \newcommand{\mcN}{\mathcal{N}} +\newcommand{\mcO}{\mathcal{O}} \newcommand{\mcP}{\mathcal{P}} +\newcommand{\mcQ}{\mathcal{Q}} \newcommand{\mcR}{\mathcal{R}} +\newcommand{\mcS}{\mathcal{S}} \newcommand{\mcT}{\mathcal{T}} +\newcommand{\mcU}{\mathcal{U}} \newcommand{\mcV}{\mathcal{V}} +\newcommand{\mcW}{\mathcal{W}} \newcommand{\mcX}{\mathcal{X}} +\newcommand{\mcY}{\mathcal{Y}} \newcommand{\mcZ}{\mathcal{Z}} + + +%--------------------------------------- +% Bold Math Fonts :- +%--------------------------------------- + +%Captital Letters +\newcommand{\bmA}{\boldsymbol{A}} \newcommand{\bmB}{\boldsymbol{B}} +\newcommand{\bmC}{\boldsymbol{C}} \newcommand{\bmD}{\boldsymbol{D}} +\newcommand{\bmE}{\boldsymbol{E}} \newcommand{\bmF}{\boldsymbol{F}} +\newcommand{\bmG}{\boldsymbol{G}} \newcommand{\bmH}{\boldsymbol{H}} +\newcommand{\bmI}{\boldsymbol{I}} \newcommand{\bmJ}{\boldsymbol{J}} +\newcommand{\bmK}{\boldsymbol{K}} \newcommand{\bmL}{\boldsymbol{L}} +\newcommand{\bmM}{\boldsymbol{M}} \newcommand{\bmN}{\boldsymbol{N}} +\newcommand{\bmO}{\boldsymbol{O}} \newcommand{\bmP}{\boldsymbol{P}} +\newcommand{\bmQ}{\boldsymbol{Q}} \newcommand{\bmR}{\boldsymbol{R}} +\newcommand{\bmS}{\boldsymbol{S}} \newcommand{\bmT}{\boldsymbol{T}} +\newcommand{\bmU}{\boldsymbol{U}} \newcommand{\bmV}{\boldsymbol{V}} +\newcommand{\bmW}{\boldsymbol{W}} \newcommand{\bmX}{\boldsymbol{X}} +\newcommand{\bmY}{\boldsymbol{Y}} \newcommand{\bmZ}{\boldsymbol{Z}} +%Small Letters +\newcommand{\bma}{\boldsymbol{a}} \newcommand{\bmb}{\boldsymbol{b}} +\newcommand{\bmc}{\boldsymbol{c}} \newcommand{\bmd}{\boldsymbol{d}} +\newcommand{\bme}{\boldsymbol{e}} \newcommand{\bmf}{\boldsymbol{f}} +\newcommand{\bmg}{\boldsymbol{g}} \newcommand{\bmh}{\boldsymbol{h}} +\newcommand{\bmi}{\boldsymbol{i}} \newcommand{\bmj}{\boldsymbol{j}} +\newcommand{\bmk}{\boldsymbol{k}} \newcommand{\bml}{\boldsymbol{l}} +\newcommand{\bmm}{\boldsymbol{m}} \newcommand{\bmn}{\boldsymbol{n}} +\newcommand{\bmo}{\boldsymbol{o}} \newcommand{\bmp}{\boldsymbol{p}} +\newcommand{\bmq}{\boldsymbol{q}} \newcommand{\bmr}{\boldsymbol{r}} +\newcommand{\bms}{\boldsymbol{s}} \newcommand{\bmt}{\boldsymbol{t}} +\newcommand{\bmu}{\boldsymbol{u}} \newcommand{\bmv}{\boldsymbol{v}} +\newcommand{\bmw}{\boldsymbol{w}} \newcommand{\bmx}{\boldsymbol{x}} +\newcommand{\bmy}{\boldsymbol{y}} \newcommand{\bmz}{\boldsymbol{z}} + +%--------------------------------------- +% Scr Math Fonts :- +%--------------------------------------- + +\newcommand{\sA}{{\mathscr{A}}} \newcommand{\sB}{{\mathscr{B}}} +\newcommand{\sC}{{\mathscr{C}}} \newcommand{\sD}{{\mathscr{D}}} +\newcommand{\sE}{{\mathscr{E}}} \newcommand{\sF}{{\mathscr{F}}} +\newcommand{\sG}{{\mathscr{G}}} \newcommand{\sH}{{\mathscr{H}}} +\newcommand{\sI}{{\mathscr{I}}} \newcommand{\sJ}{{\mathscr{J}}} +\newcommand{\sK}{{\mathscr{K}}} \newcommand{\sL}{{\mathscr{L}}} +\newcommand{\sM}{{\mathscr{M}}} \newcommand{\sN}{{\mathscr{N}}} +\newcommand{\sO}{{\mathscr{O}}} \newcommand{\sP}{{\mathscr{P}}} +\newcommand{\sQ}{{\mathscr{Q}}} \newcommand{\sR}{{\mathscr{R}}} +\newcommand{\sS}{{\mathscr{S}}} \newcommand{\sT}{{\mathscr{T}}} +\newcommand{\sU}{{\mathscr{U}}} \newcommand{\sV}{{\mathscr{V}}} +\newcommand{\sW}{{\mathscr{W}}} \newcommand{\sX}{{\mathscr{X}}} +\newcommand{\sY}{{\mathscr{Y}}} \newcommand{\sZ}{{\mathscr{Z}}} + + +%--------------------------------------- +% Math Fraktur Font +%--------------------------------------- + +%Captital Letters +\newcommand{\mfA}{\mathfrak{A}} \newcommand{\mfB}{\mathfrak{B}} +\newcommand{\mfC}{\mathfrak{C}} \newcommand{\mfD}{\mathfrak{D}} +\newcommand{\mfE}{\mathfrak{E}} \newcommand{\mfF}{\mathfrak{F}} +\newcommand{\mfG}{\mathfrak{G}} \newcommand{\mfH}{\mathfrak{H}} +\newcommand{\mfI}{\mathfrak{I}} \newcommand{\mfJ}{\mathfrak{J}} +\newcommand{\mfK}{\mathfrak{K}} \newcommand{\mfL}{\mathfrak{L}} +\newcommand{\mfM}{\mathfrak{M}} \newcommand{\mfN}{\mathfrak{N}} +\newcommand{\mfO}{\mathfrak{O}} \newcommand{\mfP}{\mathfrak{P}} +\newcommand{\mfQ}{\mathfrak{Q}} \newcommand{\mfR}{\mathfrak{R}} +\newcommand{\mfS}{\mathfrak{S}} \newcommand{\mfT}{\mathfrak{T}} +\newcommand{\mfU}{\mathfrak{U}} \newcommand{\mfV}{\mathfrak{V}} +\newcommand{\mfW}{\mathfrak{W}} \newcommand{\mfX}{\mathfrak{X}} +\newcommand{\mfY}{\mathfrak{Y}} \newcommand{\mfZ}{\mathfrak{Z}} +%Small Letters +\newcommand{\mfa}{\mathfrak{a}} \newcommand{\mfb}{\mathfrak{b}} +\newcommand{\mfc}{\mathfrak{c}} \newcommand{\mfd}{\mathfrak{d}} +\newcommand{\mfe}{\mathfrak{e}} \newcommand{\mff}{\mathfrak{f}} +\newcommand{\mfg}{\mathfrak{g}} \newcommand{\mfh}{\mathfrak{h}} +\newcommand{\mfi}{\mathfrak{i}} \newcommand{\mfj}{\mathfrak{j}} +\newcommand{\mfk}{\mathfrak{k}} \newcommand{\mfl}{\mathfrak{l}} +\newcommand{\mfm}{\mathfrak{m}} \newcommand{\mfn}{\mathfrak{n}} +\newcommand{\mfo}{\mathfrak{o}} \newcommand{\mfp}{\mathfrak{p}} +\newcommand{\mfq}{\mathfrak{q}} \newcommand{\mfr}{\mathfrak{r}} +\newcommand{\mfs}{\mathfrak{s}} \newcommand{\mft}{\mathfrak{t}} +\newcommand{\mfu}{\mathfrak{u}} \newcommand{\mfv}{\mathfrak{v}} +\newcommand{\mfw}{\mathfrak{w}} \newcommand{\mfx}{\mathfrak{x}} +\newcommand{\mfy}{\mathfrak{y}} \newcommand{\mfz}{\mathfrak{z}} diff --git a/macros.tex b/macros.tex new file mode 100644 index 0000000..8bbdb96 --- /dev/null +++ b/macros.tex @@ -0,0 +1,88 @@ +%From M275 "Topology" at SJSU +\newcommand{\id}{\mathrm{id}} +\newcommand{\taking}[1]{\xrightarrow{#1}} +\newcommand{\inv}{^{-1}} + +%From M170 "Introduction to Graph Theory" at SJSU +\DeclareMathOperator{\diam}{diam} +\DeclareMathOperator{\ord}{ord} +\newcommand{\defeq}{\overset{\mathrm{def}}{=}} + +%From the USAMO .tex files +\newcommand{\ts}{\textsuperscript} +\newcommand{\dg}{^\circ} +\newcommand{\ii}{\item} + +% % From Math 55 and Math 145 at Harvard +% \newenvironment{subproof}[1][Proof]{% +% \begin{proof}[#1] \renewcommand{\qedsymbol}{$\blacksquare$}}% +% {\end{proof}} + +\newcommand{\liff}{\leftrightarrow} +\newcommand{\lthen}{\rightarrow} +\newcommand{\opname}{\operatorname} +\newcommand{\surjto}{\twoheadrightarrow} +\newcommand{\injto}{\hookrightarrow} +\newcommand{\On}{\mathrm{On}} % ordinals +\DeclareMathOperator{\img}{im} % Image +\DeclareMathOperator{\Img}{Im} % Image +\DeclareMathOperator{\coker}{coker} % Cokernel +\DeclareMathOperator{\Coker}{Coker} % Cokernel +\DeclareMathOperator{\Ker}{Ker} % Kernel +\DeclareMathOperator{\rank}{rank} +\DeclareMathOperator{\Spec}{Spec} % spectrum +\DeclareMathOperator{\Tr}{Tr} % trace +\DeclareMathOperator{\pr}{pr} % projection +\DeclareMathOperator{\ext}{ext} % extension +\DeclareMathOperator{\pred}{pred} % predecessor +\DeclareMathOperator{\dom}{dom} % domain +\DeclareMathOperator{\ran}{ran} % range +\DeclareMathOperator{\Hom}{Hom} % homomorphism +\DeclareMathOperator{\Mor}{Mor} % morphisms +\DeclareMathOperator{\End}{End} % endomorphism + +\newcommand{\eps}{\epsilon} +\newcommand{\veps}{\varepsilon} +\newcommand{\ol}{\overline} +\newcommand{\ul}{\underline} +\newcommand{\wt}{\widetilde} +\newcommand{\wh}{\widehat} +\newcommand{\vocab}[1]{\textbf{\color{blue} #1}} +\providecommand{\half}{\frac{1}{2}} +\newcommand{\dang}{\measuredangle} %% Directed angle +\newcommand{\ray}[1]{\overrightarrow{#1}} +\newcommand{\seg}[1]{\overline{#1}} +\newcommand{\arc}[1]{\wideparen{#1}} +\DeclareMathOperator{\cis}{cis} +\DeclareMathOperator*{\lcm}{lcm} +\DeclareMathOperator*{\argmin}{arg min} +\DeclareMathOperator*{\argmax}{arg max} +\newcommand{\cycsum}{\sum_{\mathrm{cyc}}} +\newcommand{\symsum}{\sum_{\mathrm{sym}}} +\newcommand{\cycprod}{\prod_{\mathrm{cyc}}} +\newcommand{\symprod}{\prod_{\mathrm{sym}}} +\newcommand{\Qed}{\begin{flushright}\qed\end{flushright}} +\newcommand{\parinn}{\setlength{\parindent}{1cm}} +\newcommand{\parinf}{\setlength{\parindent}{0cm}} +% \newcommand{\norm}{\|\cdot\|} +\newcommand{\inorm}{\norm_{\infty}} +\newcommand{\opensets}{\{V_{\alpha}\}_{\alpha\in I}} +\newcommand{\oset}{V_{\alpha}} +\newcommand{\opset}[1]{V_{\alpha_{#1}}} +\newcommand{\lub}{\text{lub}} +\newcommand{\del}[2]{\frac{\partial #1}{\partial #2}} +\newcommand{\Del}[3]{\frac{\partial^{#1} #2}{\partial^{#1} #3}} +\newcommand{\deld}[2]{\dfrac{\partial #1}{\partial #2}} +\newcommand{\Deld}[3]{\dfrac{\partial^{#1} #2}{\partial^{#1} #3}} +\newcommand{\lm}{\lambda} +\newcommand{\uin}{\mathbin{\rotatebox[origin=c]{90}{$\in$}}} +\newcommand{\usubset}{\mathbin{\rotatebox[origin=c]{90}{$\subset$}}} +\newcommand{\lt}{\left} +\newcommand{\rt}{\right} +\newcommand{\bs}[1]{\boldsymbol{#1}} +\newcommand{\exs}{\exists} +\newcommand{\st}{\strut} +\newcommand{\dps}[1]{\displaystyle{#1}} + +\newcommand{\sol}{\setlength{\parindent}{0cm}\textbf{\textit{Solution:}}\setlength{\parindent}{1cm} } +\newcommand{\solve}[1]{\setlength{\parindent}{0cm}\textbf{\textit{Solution: }}\setlength{\parindent}{1cm}#1 \Qed} diff --git a/notes_to_isfe.pdf b/notes_to_isfe.pdf new file mode 100644 index 0000000000000000000000000000000000000000..91c95c9c8d805eb7e07f8acb04906ff0bd91b322 GIT binary patch literal 396612 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

nW&4>zVKY5kB(#KB5X4bJ^= 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 literal 0 HcmV?d00001 diff --git a/notes_to_isfe.tex b/notes_to_isfe.tex new file mode 100644 index 0000000..4983d3e --- /dev/null +++ b/notes_to_isfe.tex @@ -0,0 +1,46 @@ +\documentclass{report} + +\def\papertitle{Information Systems for Engineers} + +\def\theorytitle{Theory} +\def\corollarytitle{Corollary} +\def\proposaltitle{Proposal} +\def\claimtitle{Claim} +\def\exercisetitle{Exercise} +\def\exampletitle{Example} +\def\questiontitle{Question} +\def\wrongctitle{Wrong Concept} +\def\pagetitle{Page} +\def\chaptertitle{Chapter} + +\input{preamble} +\input{macros} +\input{letterfonts} + +\title{\huge{\papertitle}} +\author{\huge{Jirayu Ruh}} +\date{} + +\begin{document} + +\maketitle +\newpage% or \cleardoublepage +% \pdfbookmark[]{}{<dest>} +\pdfbookmark[section]{\contentsname}{toc} +\tableofcontents +\pagebreak + +\input{disclaimer.tex} + +\input{sections/introduction.tex} +\input{sections/relational_model.tex} +\input{sections/data_definition_sql.tex} +\input{sections/relational_algebra.tex} +\input{sections/queries_with_sql.tex} +\input{sections/database_design_theory.tex} +\input{sections/transactions_three_tiers.tex} +\input{sections/views_indecies.tex} +\input{sections/data_cubes.tex} +\input{sections/database_architecture.tex} + +\end{document} diff --git a/preamble.tex b/preamble.tex new file mode 100644 index 0000000..9f0a087 --- /dev/null +++ b/preamble.tex @@ -0,0 +1,713 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% PACKAGE IMPORTS +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% \usepackage[ngerman]{babel} +\usepackage[macchiato, styleAll]{catppuccinpalette} +\usepackage[tmargin=2cm,rmargin=1in,lmargin=1in,margin=0.85in,bmargin=2cm,footskip=.2in]{geometry} +\usepackage{amsmath,amsfonts,amsthm,amssymb,mathtools} +\usepackage[varbb]{newpxmath} +\usepackage{xfrac} +\usepackage[makeroom]{cancel} +\usepackage{mathtools} +\usepackage{bookmark} +\usepackage{enumitem} +\usepackage{hyperref,theoremref} +\hypersetup{ + pdftitle={\papertitle}, + colorlinks=true, linkcolor=CtpBlue!90, + bookmarksnumbered=true, + bookmarksopen=true +} +\usepackage[most,many,breakable]{tcolorbox} +\usepackage{xcolor} +\usepackage{varwidth} +\usepackage{varwidth} +\usepackage{etoolbox} +%\usepackage{authblk} +\usepackage{nameref} +\usepackage{multicol,array} +\usepackage{tikz-cd} +\usepackage{listings} +\usepackage{comment} % enables the use of multi-line comments (\ifx \fi) +\usepackage{import} +\usepackage{xifthen} +\usepackage{pdfpages} +\usepackage{transparent} + +\usepackage{tikzsymbols} +\renewcommand\qedsymbol{$\Laughey$} + + +%\usepackage{import} +%\usepackage{xifthen} +%\usepackage{pdfpages} +%\usepackage{transparent} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% LISTINGS SETUP +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Add Settings for Code Blocks + +%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% TCOLORBOX SETUPS +%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\setlength{\parindent}{0cm} + +%================================ +% THEOREM BOX +%================================ + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=section]{Theorem}{\theorytitle} +{% + enhanced, + breakable, + colback = CtpSurface0, + colupper = CtpText, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpRed}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpRed, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpRed}, +} +{th} + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=chapter]{theorem}{\theorytitle} +{% + enhanced, + breakable, + colback = CtpRosewater, + colupper = CtpSubtext0, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpRed}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpRed, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpRed}, +} +{th} + + +\tcbuselibrary{theorems,skins,hooks} +\newtcolorbox{Theoremcon} +{% + enhanced + ,breakable + ,colback = CtpRosewater + ,colupper = CtpSubtext0 + ,frame hidden + ,boxrule = 0sp + ,borderline west = {2pt}{0pt}{CtpRed} + ,sharp corners + ,description font = \mdseries + ,separator sign none +} + + +%================================ +% Corollery +%================================ + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=section]{Corollary}{\corollarytitle} +{% + enhanced + ,breakable + ,colback = CtpMauve!10 + ,frame hidden + ,boxrule = 0sp + ,borderline west = {2pt}{0pt}{CtpMauve!85!black} + ,sharp corners + ,detach title + ,before upper = \tcbtitle\par\smallskip + ,coltitle = CtpMauve!85!black + ,fonttitle = \bfseries\sffamily + ,description font = \mdseries + ,separator sign none + ,segmentation style={solid, CtpMauve!85!black} +} +{th} +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=chapter]{corollary}{\corollarytitle} +{% + enhanced + ,breakable + ,colback = CtpMauve!10 + ,frame hidden + ,boxrule = 0sp + ,borderline west = {2pt}{0pt}{CtpMauve!85!black} + ,sharp corners + ,detach title + ,before upper = \tcbtitle\par\smallskip + ,coltitle = CtpMauve!85!black + ,fonttitle = \bfseries\sffamily + ,description font = \mdseries + ,separator sign none + ,segmentation style={solid, CtpMauve!85!black} +} +{th} + + +%================================ +% LENMA +%================================ + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=section]{Lenma}{Lenma} +{% + enhanced, + breakable, + colback = CtpRosewater, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpPeach}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpPeach, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpPeach}, +} +{th} + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=chapter]{lenma}{Lenma} +{% + enhanced, + breakable, + colback = CtpRosewater, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpPeach}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpPeach, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpPeach}, +} +{th} + + +%================================ +% PROPOSITION +%================================ + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=section]{Prop}{\proposaltitle} +{% + enhanced, + breakable, + colback = CtpBlue!10, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpBlue}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpBlue, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpBlue}, +} +{th} + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=chapter]{prop}{\proposaltitle} +{% + enhanced, + breakable, + colback = CtpBlue!10, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpBlue}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpBlue, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpBlue}, +} +{th} + + +%================================ +% CLAIM +%================================ + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=section]{claim}{\claimtitle} +{% + enhanced + ,breakable + ,colback = CtpGreen!10 + ,frame hidden + ,boxrule = 0sp + ,borderline west = {2pt}{0pt}{CtpGreen} + ,sharp corners + ,detach title + ,before upper = \tcbtitle\par\smallskip + ,coltitle = CtpGreen!85!black + ,fonttitle = \bfseries\sffamily + ,description font = \mdseries + ,separator sign none + ,segmentation style={solid, CtpGreen!85!black} +} +{th} + + + +%================================ +% Exercise +%================================ + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=section]{Exercise}{\exercisetitle} +{% + enhanced, + breakable, + colback = CtpFlamingo, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpPink}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpPink, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpPink}, +} +{th} + +\tcbuselibrary{theorems,skins,hooks} +\newtcbtheorem[number within=chapter]{exercise}{\exercisetitle} +{% + enhanced, + breakable, + colback = CtpFlamingo, + frame hidden, + boxrule = 0sp, + borderline west = {2pt}{0pt}{CtpPink}, + sharp corners, + detach title, + before upper = \tcbtitle\par\smallskip, + coltitle = CtpPink, + fonttitle = \bfseries\sffamily, + description font = \mdseries, + separator sign none, + segmentation style={solid, CtpPink}, +} +{th} + +%================================ +% EXAMPLE BOX +%================================ + +\newtcbtheorem[number within=section]{Example}{\exampletitle} +{% + colback = CtpSky!10 + ,breakable + ,colframe = CtpSky + ,coltitle = CtpSky + ,boxrule = 1pt + ,sharp corners + ,detach title + ,before upper=\tcbtitle\par\smallskip + ,fonttitle = \bfseries + ,description font = \mdseries + ,separator sign none + ,description delimiters parenthesis +} +{ex} + +\newtcbtheorem[number within=chapter]{example}{\exampletitle} +{% + colback = CtpSky!10 + ,breakable + ,colframe = CtpSky + ,coltitle = CtpSky + ,boxrule = 1pt + ,sharp corners + ,detach title + ,before upper=\tcbtitle\par\smallskip + ,fonttitle = \bfseries + ,description font = \mdseries + ,separator sign none + ,description delimiters parenthesis +} +{ex} + +%================================ +% DEFINITION BOX +%================================ + +\newtcbtheorem[number within=section]{Definition}{Definition}{enhanced, + before skip=2mm,after skip=2mm, colback=CtpSurface0,colupper=CtpText,colframe=CtpRed!80!CtpText,boxrule=0.5mm, + attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight}, varwidth boxed title*=-3cm, + boxed title style={frame code={ + \path[fill=CtpRed] + ([yshift=-1mm,xshift=-1mm]frame.north west) + arc[start angle=0,end angle=180,radius=1mm] + ([yshift=-1mm,xshift=1mm]frame.north east) + arc[start angle=180,end angle=0,radius=1mm]; + \path[left color=CtpRed!60!CtpText,right color=CtpRed!60!CtpText, + middle color=CtpRed!80!CtpText] + ([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east) + [rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east) + -- (frame.south east) -- (frame.south west) + -- ([xshift=-1mm,yshift=-1mm]frame.north west) + [sharp corners]-- cycle; + },interior engine=empty, + }, + fonttitle=\bfseries, + title={#2},#1}{def} +\newtcbtheorem[number within=chapter]{definition}{Definition}{enhanced, + before skip=2mm,after skip=2mm, colback=CtpRed!5,colframe=CtpRed!80!CtpText,boxrule=0.5mm, + attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight}, varwidth boxed title*=-3cm, + boxed title style={frame code={ + \path[fill=CtpRed] + ([yshift=-1mm,xshift=-1mm]frame.north west) + arc[start angle=0,end angle=180,radius=1mm] + ([yshift=-1mm,xshift=1mm]frame.north east) + arc[start angle=180,end angle=0,radius=1mm]; + \path[left color=CtpRed!60!CtpText,right color=CtpRed!60!CtpText, + middle color=CtpRed!80!CtpText] + ([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east) + [rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east) + -- (frame.south east) -- (frame.south west) + -- ([xshift=-1mm,yshift=-1mm]frame.north west) + [sharp corners]-- cycle; + },interior engine=empty, + }, + fonttitle=\bfseries, + title={#2},#1}{def} + + +%================================ +% Solution BOX +%================================ + +\makeatletter +\newtcbtheorem{question}{\questiontitle}{enhanced, + breakable, + colback=white, + colframe=CtpSaphire!80!black, + attach boxed title to top left={yshift*=-\tcboxedtitleheight}, + fonttitle=\bfseries, + title={#2}, + boxed title size=title, + boxed title style={% + sharp corners, + rounded corners=northwest, + colback=tcbcolframe, + boxrule=0pt, + }, + underlay boxed title={% + \path[fill=tcbcolframe] (title.south west)--(title.south east) + to[out=0, in=180] ([xshift=5mm]title.east)-- + (title.center-|frame.east) + [rounded corners=\kvtcb@arc] |- + (frame.north) -| cycle; + }, + #1 +}{def} +\makeatother + +%================================ +% SOLUTION BOX +%================================ + +\makeatletter +\newtcolorbox{solution}{enhanced, + breakable, + colback=white, + colframe=CtpGreen!80!black, + attach boxed title to top left={yshift*=-\tcboxedtitleheight}, + title=Solution, + boxed title size=title, + boxed title style={% + sharp corners, + rounded corners=northwest, + colback=tcbcolframe, + boxrule=0pt, + }, + underlay boxed title={% + \path[fill=tcbcolframe] (title.south west)--(title.south east) + to[out=0, in=180] ([xshift=5mm]title.east)-- + (title.center-|frame.east) + [rounded corners=\kvtcb@arc] |- + (frame.north) -| cycle; + }, +} +\makeatother + +%================================ +% Question BOX +%================================ + +\makeatletter +\newtcbtheorem{qstion}{\questiontitle}{enhanced, + breakable, + colback=white, + colframe=CtpTeal, + attach boxed title to top left={yshift*=-\tcboxedtitleheight}, + fonttitle=\bfseries, + title={#2}, + boxed title size=title, + boxed title style={% + sharp corners, + rounded corners=northwest, + colback=tcbcolframe, + boxrule=0pt, + }, + underlay boxed title={% + \path[fill=tcbcolframe] (title.south west)--(title.south east) + to[out=0, in=180] ([xshift=5mm]title.east)-- + (title.center-|frame.east) + [rounded corners=\kvtcb@arc] |- + (frame.north) -| cycle; + }, + #1 +}{def} +\makeatother + +\newtcbtheorem[number within=chapter]{wconc}{\wrongctitle}{ + breakable, + enhanced, + colback=white, + colframe=CtpRed, + arc=0pt, + outer arc=0pt, + fonttitle=\bfseries\sffamily\large, + colbacktitle=CtpRed, + attach boxed title to top left={}, + boxed title style={ + enhanced, + skin=enhancedfirst jigsaw, + arc=3pt, + bottom=0pt, + interior style={fill=CtpRed} + }, + #1 +}{def} + + + +%================================ +% NOTE BOX +%================================ + +\usetikzlibrary{arrows,calc,shadows.blur} +\tcbuselibrary{skins} +\newtcolorbox{note}[1][]{% + enhanced jigsaw, + colback=gray!20!white,% + colframe=gray!80!black, + size=small, + boxrule=1pt, + title=\textbf{Bemerkung:-}, + halign title=flush center, + coltitle=black, + breakable, + drop shadow=black!50!white, + attach boxed title to top left={xshift=1cm,yshift=-\tcboxedtitleheight/2,yshifttext=-\tcboxedtitleheight/2}, + minipage boxed title=2.5cm, + boxed title style={% + colback=white, + size=fbox, + boxrule=1pt, + boxsep=2pt, + underlay={% + \coordinate (dotA) at ($(interior.west) + (-0.5pt,0)$); + \coordinate (dotB) at ($(interior.east) + (0.5pt,0)$); + \begin{scope} + \clip (interior.north west) rectangle ([xshift=3ex]interior.east); + \filldraw [white, blur shadow={shadow opacity=60, shadow yshift=-.75ex}, rounded corners=2pt] (interior.north west) rectangle (interior.south east); + \end{scope} + \begin{scope}[gray!80!black] + \fill (dotA) circle (2pt); + \fill (dotB) circle (2pt); + \end{scope} + }, + }, + #1, +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% SELF MADE COMMANDS +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newcommand{\thm}[2]{\begin{Theorem}{#1}{}#2\end{Theorem}} +\newcommand{\cor}[2]{\begin{Corollary}{#1}{}#2\end{Corollary}} +\newcommand{\mlenma}[2]{\begin{Lenma}{#1}{}#2\end{Lenma}} +\newcommand{\mprop}[2]{\begin{Prop}{#1}{}#2\end{Prop}} +\newcommand{\clm}[3]{\begin{claim}{#1}{#2}#3\end{claim}} +\newcommand{\wc}[2]{\begin{wconc}{#1}{}\setlength{\parindent}{1cm}#2\end{wconc}} +\newcommand{\thmcon}[1]{\begin{Theoremcon}{#1}\end{Theoremcon}} +\newcommand{\ex}[2]{\begin{Example}{#1}{}#2\end{Example}} +\newcommand{\dfn}[2]{\begin{Definition}[colbacktitle=red!75!black]{#1}{}#2\end{Definition}} +\newcommand{\dfnc}[2]{\begin{definition}[colbacktitle=red!75!black]{#1}{}#2\end{definition}} +\newcommand{\qs}[2]{\begin{question}{#1}{}#2\end{question}} +\newcommand{\pf}[2]{\begin{myproof}[#1]#2\end{myproof}} +\newcommand{\nt}[1]{\begin{note}#1\end{note}} + +\newcommand*\circled[1]{\tikz[baseline=(char.base)]{ + Wrong Concept \node[shape=circle,draw,inner sep=1pt] (char) {#1};}} +\newcommand\getcurrentref[1]{% + \ifnumequal{\value{#1}}{0} + {??} + {\the\value{#1}}% +} +\newcommand{\getCurrentSectionNumber}{\getcurrentref{section}} +\newenvironment{myproof}[1][\proofname]{% + \proof[\bfseries #1: ]% +}{\endproof} + +\newcommand{\mclm}[2]{\begin{myclaim}[#1]#2\end{myclaim}} +\newenvironment{myclaim}[1][\claimname]{\proof[\bfseries #1: ]}{} + +\newcounter{mylabelcounter} + +\makeatletter +\newcommand{\setword}[2]{% + \phantomsection + #1\def\@currentlabel{\unexpanded{#1}}\label{#2}% +} +\makeatother + + + + +\tikzset{ + symbol/.style={ + draw=none, + every to/.append style={ + edge node={node [sloped, allow upside down, auto=false]{$#1$}}} + } +} + + +% deliminators +\DeclarePairedDelimiter{\abs}{\lvert}{\rvert} +\DeclarePairedDelimiter{\norm}{\lVert}{\rVert} + +\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil} +\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor} +\DeclarePairedDelimiter{\round}{\lfloor}{\rceil} + +\newsavebox\diffdbox +\newcommand{\slantedromand}{{\mathpalette\makesl{d}}} +\newcommand{\makesl}[2]{% + \begingroup + \sbox{\diffdbox}{$\mathsurround=0pt#1\mathrm{#2}$}% + \pdfsave + \pdfsetmatrix{1 0 0.2 1}% + \rlap{\usebox{\diffdbox}}% + \pdfrestore + \hskip\wd\diffdbox + \endgroup +} +\newcommand{\dd}[1][]{\ensuremath{\mathop{}\!\ifstrempty{#1}{% + \slantedromand\@ifnextchar^{\hspace{0.2ex}}{\hspace{0.1ex}}}% + {\slantedromand\hspace{0.2ex}^{#1}}}} +\ProvideDocumentCommand\dv{o m g}{% + \ensuremath{% + \IfValueTF{#3}{% + \IfNoValueTF{#1}{% + \frac{\dd #2}{\dd #3}% + }{% + \frac{\dd^{#1} #2}{\dd #3^{#1}}% + }% + }{% + \IfNoValueTF{#1}{% + \frac{\dd}{\dd #2}% + }{% + \frac{\dd^{#1}}{\dd #2^{#1}}% + }% + }% + }% +} +\providecommand*{\pdv}[3][]{\frac{\partial^{#1}#2}{\partial#3^{#1}}} +% - others +\DeclareMathOperator{\Lap}{\mathcal{L}} +\DeclareMathOperator{\Var}{Var} % varience +\DeclareMathOperator{\Cov}{Cov} % covarience +\DeclareMathOperator{\E}{E} % expected + +% Since the amsthm package isn't loaded + +% I prefer the slanted \leq +\let\oldleq\leq % save them in case they're every wanted +\let\oldgeq\geq +\renewcommand{\leq}{\leqslant} +\renewcommand{\geq}{\geqslant} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% TABLE OF CONTENTS +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\usepackage{tikz} +\usepackage{titletoc} +\contentsmargin{0cm} +\titlecontents{chapter}[3.7pc] +{\addvspace{30pt}% + \begin{tikzpicture}[remember picture, overlay]% + \draw[fill=CtpBlue!60,draw=CtpBlue!60] (-7,-.1) rectangle (-0.5,.5);% + \pgftext[left,x=-3.5cm,y=0.2cm]{\color{white}\Large\sc\bfseries \chaptertitle\ \thecontentslabel};% + \end{tikzpicture}\color{CtpBlue!60}\large\sc\bfseries}% +{} +{} +{\;\titlerule\;\large\sc\bfseries \pagetitle\ \thecontentspage + \begin{tikzpicture}[remember picture, overlay] + \draw[fill=CtpBlue!60,draw=CtpBlue!60] (2pt,0) rectangle (4,0.1pt); + \end{tikzpicture}}% +\titlecontents{section}[4.7pc] +{\addvspace{2pt}} +{\contentslabel[\thecontentslabel]{2pc}} +{} +{\hfill\small \thecontentspage} +[] +\titlecontents*{subsection}[3.7pc] +{\addvspace{-1pt}\small} +{} +{} +{\ --- \small\thecontentspage} +[ \textbullet\ ][] + +\makeatletter +\renewcommand{\tableofcontents}{% + \chapter*{% + \vspace*{-20\p@}% + \begin{tikzpicture}[remember picture, overlay]% + \pgftext[right,x=15cm,y=0.2cm]{\color{CtpBlue!60}\Huge\sc\bfseries \contentsname};% + \draw[fill=CtpBlue!60,draw=CtpBlue!60] (13,-.75) rectangle (20,1);% + \clip (13,-.75) rectangle (20,1); + \pgftext[right,x=15cm,y=0.2cm]{\color{white}\Huge\sc\bfseries \contentsname};% + \end{tikzpicture}}% + \@starttoc{toc}} +\makeatother diff --git a/sections/data_cubes.tex b/sections/data_cubes.tex new file mode 100644 index 0000000..6e79cb0 --- /dev/null +++ b/sections/data_cubes.tex @@ -0,0 +1,53 @@ +\chapter{Data Cubes} + +The evolution of data management has transitioned through distinct eras, beginning with the Age of Transactions in the late 20th century, moving into the Age of Business Intelligence in the mid-1990s, and culminating in the modern Age of Big Data. This progression reflects a shift in focus from simple record-keeping to complex data-based decision support. Central to this transition is the distinction between two primary operational paradigms: Online Transaction Processing (OLTP) and Online Analytical Processing (OLAP). While OLTP systems are designed for consistent and reliable record-keeping through numerous small, fast writes, OLAP systems are built for historical, summarized, and consolidated data analysis characterized by long, heavy, and complex aggregating queries. + +To bridge the gap between raw data storage and analytical utility, database systems utilize specific architectural components. Views provide a logical layer over base tables, allowing users to interact with data without needing to manage its physical storage. Meanwhile, indexes serve as the engine for performance, enabling the rapid retrieval of specific tuples from massive datasets. In the context of OLAP, these concepts are expanded into the multidimensional data model, often visualized as a data cube. + +\dfn{Online Transaction Processing (OLTP)}{A database paradigm focused on managing transaction-oriented applications. It is characterized by a high volume of short, fast, and concurrent transactions, primarily involving writes to small portions of normalized data to ensure consistent and reliable record-keeping.} + +\dfn{Online Analytical Processing (OLAP)}{A paradigm designed to support multi-dimensional data analysis for decision-making. It typically involves complex, long-running queries on large portions of consolidated, historical data, often stored in denormalized structures like data cubes.} + +\section{Virtual Views and Data Interfaces} + +Virtual views are a cornerstone of modern database management, acting as relations that are defined by a query rather than being stored physically on a disk. These views exist only logically; when a user queries a view, the system's query processor substitutes the view name with its underlying definition. This mechanism offers several advantages, including simplified query writing for end-users and enhanced security by restricting access to sensitive columns of a base table. + +\thm{View Preprocessing}{The process by which a preprocessor replaces an operand in a query that is a virtual view with a piece of a parse tree or expression tree representing the view's construction from base tables. This allows the query to be interpreted entirely in terms of physical storage.} + +The management of views also extends to their modification. While most views are read-only, certain "updatable views" allow for insertions, deletions, or updates that are passed through to the underlying base tables. For a view to be considered updatable by standard SQL rules, it must generally be defined over a single relation without the use of aggregation or distinct clauses. Furthermore, database designers can use specialized triggers to define how modifications to a view should be handled if the standard pass-through logic is insufficient. + +\dfn{Instead-Of Trigger}{A specialized trigger defined on a virtual view that intercepts an attempted modification (INSERT, UPDATE, or DELETE). Instead of executing the modification on the view, the system executes a predefined sequence of actions on the underlying base tables to achieve the intended result.} + +\section{Performance Optimization through Indexing} + +As databases grow into the terabyte and petabyte range, the cost of scanning every block of a relation to find specific information becomes prohibitive. Indexes are auxiliary data structures designed to mitigate this cost by allowing the system to locate tuples with specific search-key values without a full table scan. The primary motivation for indexing is the reduction of disk I/O, which is the dominant cost in query execution. + +\thm{Clustering Index Advantage}{An index is considered clustering if all tuples with a specific search-key value are stored on as few disk blocks as possible. A clustering index typically provides a massive speedup for range queries and selections because once the first matching block is found, the system can read subsequent matching tuples with minimal additional seek time or rotational latency.} + +Selecting the appropriate set of indexes is one of the most critical decisions for a database administrator. While indexes significantly accelerate read-heavy OLAP queries, they impose a maintenance penalty on OLTP operations. Every time a tuple is inserted, deleted, or updated, the associated indexes must also be modified, requiring additional disk writes. Therefore, the optimal indexing strategy depends on the specific workload—balancing the frequency of specific query forms against the frequency of modifications. + +\dfn{Secondary Index}{An index that does not determine the physical placement of records in the data file. Secondary indexes are necessarily dense, meaning they contain pointers to every record in the data file to facilitate retrieval by non-primary attributes.} + +\section{The Multidimensional Data Model} + +In the analytical realm, data is often viewed through a multidimensional lens rather than as flat tables. This model organizes information around "facts"—events of interest like a specific sale—and "dimensions," which are the axes of the data space, such as time, location, or product type. This structure allows analysts to "slice and dice" data to find patterns. + +\dfn{Data Cube}{A multidimensional representation of data where each point represents a fact and the axes represent various dimensions of the data. A formal data cube includes not only the raw data but also precomputed aggregations across all subsets of dimensions.} + +To support this model, ROLAP systems often use a "star schema." In this architecture, a central fact table contains the quantitative measures and foreign keys referencing "dimension tables." Dimension tables store descriptive information about the axes of the cube. If these dimension tables are further normalized, the structure is referred to as a "snowflake schema." + +\thm{Slicing and Dicing}{Slicing is the act of picking a specific value for one or more dimensions to focus on a particular subset of the cube. Dicing involves selecting ranges for several dimensions to define a smaller, focused sub-cube for analysis.} + +\section{Data Cube Operations and Implementation} + +Navigating a data cube requires operations that change the level of granularity. "Roll-up" is the process of moving from a fine-grained view to a more summarized view by aggregating along a dimension (e.g., viewing sales by year instead of by month). Conversely, "drill-down" is the process of moving from a summarized view to a more detailed one. + +The implementation of these operations varies between Relational OLAP (ROLAP) and Multidimensional OLAP (MOLAP). ROLAP utilizes standard relational tables and extended SQL operators, whereas MOLAP uses specialized, non-relational structures that store the cube and its aggregates directly. One of the most powerful tools in this environment is the CUBE operator. + +\dfn{CUBE Operator}{An extension of the GROUP BY clause that computes all possible aggregations across a set of dimensions. It effectively augments a fact table with "border" values representing "any" or summarized totals for every combination of the specified attributes.} + +When implemented in SQL, the CUBE operator produces a result set where the "all" or summarized values are represented by NULLs in the grouping columns. This allows a single query to return the detailed data, subtotals for every dimension, and a grand total for the entire dataset. To manage the potentially explosive growth of data in a cube, many systems use "materialized views," which are views whose results are physically stored on disk and incrementally updated as the base data changes. + +\thm{The Thomas Write Rule}{A principle in concurrency control that allows certain writes to be skipped if a write with a later timestamp is already in place, assuming that no other transaction needs to see the skipped value. This is relevant in the context of maintaining analytical data consistent with temporal versions.} + +In conclusion, the data cube represents a sophisticated integration of logical views, performance indexing, and multidimensional modeling. By leveraging these structures, database systems can provide the interactive, high-speed analysis required for modern decision support, even when operating on the vast scales of contemporary data warehouses. diff --git a/sections/data_definition_sql.tex b/sections/data_definition_sql.tex new file mode 100644 index 0000000..c69967e --- /dev/null +++ b/sections/data_definition_sql.tex @@ -0,0 +1,55 @@ +\chapter{Data Definition with SQL} + +\section{Overview of Data Definition and the SQL Language} +The process of managing data within an information system begins with a rigorous definition of its structure. The Data Definition Language (DDL) serves as the primary tool for database administrators to specify the logical organization of data, known as the schema. Historically, the evolution of database languages was marked by the development of SEQUEL in the early 1970s at the IBM Almaden Research Center, which was eventually renamed SQL due to trademark concerns. SQL is a declarative, set-based language, meaning it allows users to specify what data they want to retrieve or manipulate without detailing the step-by-step physical procedures. This abstraction significantly enhances the productivity of developers by separating the conceptual model from the physical storage layer. + +Data in a relational system is organized into two-dimensional tables called relations. These relations must adhere to fundamental integrity principles to maintain data quality. Relational integrity ensures that every entry in a table follows the structure defined by its attributes. Domain integrity mandates that every attribute value belongs to a specific, predefined set of acceptable values. Finally, atomic integrity requires that every component of a tuple is an indivisible unit, preventing the use of complex structures like lists or nested records as simple attribute values. + +\section{Core Domain Types and Atomic Integrity} +A central aspect of data definition is the selection of appropriate domain types for each attribute. SQL provides a rich set of standardized types to handle various data categories. Character data is typically managed through fixed-length strings (CHAR) or variable-length strings with a maximum limit (VARCHAR). For exceptionally large textual content, types such as CLOB or TEXT are utilized. Numeric data is bifurcated into exact and approximate types. Exact numbers include various sizes of integers (SMALLINT, INTEGER, BIGINT) and fixed-point decimals (DECIMAL or NUMERIC), where precision and scale can be strictly defined. Approximate numbers, such as REAL and DOUBLE PRECISION, follow floating-point standards to represent scientific data where a degree of approximation is acceptable. + +\dfn{Atomic Integrity}{The requirement that every value in a relational table must be a single, indivisible data item of an elementary type, such as an integer or a string.} + +Temporal data is equally vital, with SQL supporting types for dates, times, and timestamps. These allow for the storage of specific points in time, often including time zone information for global applications. Furthermore, intervals represent durations, such as "two years and four months." Binary data, such as images or passport scans, is stored using BLOB or BYTEA types. Boolean types provide the foundation for logical operations, supporting TRUE, FALSE, and the three-valued logic involving UNKNOWN when NULL values are present. + +\section{Structural Operations: Creating and Modifying Tables} +The lifecycle of a database schema involves the creation, modification, and removal of tables. The \texttt{CREATE TABLE} command is the primary DDL statement used to introduce new relations. It requires the specification of a table name, a list of attributes, and their associated domains. A newly created table is initially empty, representing an extension of zero tuples. + +\thm{Relational Schema}{The formal definition of a relation, comprising its unique name and the set of attributes along with their corresponding data types or domains.} + +As requirements change, the \texttt{ALTER TABLE} statement allows administrators to evolve the schema without deleting existing data. This includes adding new columns, which may be initialized with NULL or a specific default value, and renaming or removing existing columns. When a table is no longer required, the \texttt{DROP TABLE} command removes both the schema and all stored data from the system. To avoid errors during automated scripts, the \texttt{IF EXISTS} clause is frequently employed to ensure a command only executes if the target relation is present. + +\section{Data Manipulation and Logic of Modifications} +Once the schema is defined, Data Manipulation Language (DML) commands are used to populate and maintain the data. The \texttt{INSERT} statement adds new records to a relation. It can take specific values for a single tuple or use a subquery to perform bulk insertions from other tables. A critical rule in SQL modification is that the system must evaluate the query portion of an insertion entirely before any data is actually added to the target table. This prevents infinite loops or inconsistent states where a new tuple might satisfy its own insertion criteria. + +\dfn{Cascading Rollback}{A situation where the abortion of one transaction necessitates the cancellation of other dependent transactions that have read data written by the initial transaction.} + +The \texttt{DELETE} and \texttt{UPDATE} commands provide the means to remove or modify existing tuples based on specific conditions. Similar to insertions, these operations apply the condition to every tuple in the relation and execute the change only on those that satisfy the predicate. Through these commands, the system transitions between different database states while aiming to preserve overall consistency. + +\section{Integrity Constraints and Key Definitions} +Constraints are declarative rules that restrict the data permitted in the database to prevent inaccuracies. The most fundamental constraints are those defining keys. A primary key uniquely identifies each row in a table and, by definition, cannot contain NULL values. In contrast, the \texttt{UNIQUE} constraint ensures distinctness but may permit NULLs depending on the specific DBMS implementation. + +\thm{The Thomas Write Rule}{A principle in timestamp-based concurrency control that allows a write operation to be ignored if a later transaction has already updated the same data element, thereby maintaining the intended final state.} + +Beyond keys, \texttt{NOT NULL} constraints ensure that critical attributes always have a value. \texttt{CHECK} constraints provide more complex logic, allowing the system to validate that an attribute or an entire tuple meets specific boolean conditions. For instance, a check could ensure that a person's age is never negative or that a start date precedes an end date. + +\section{Referential Integrity and Foreign Keys} +Referential integrity is maintained through foreign keys, which establish a link between tables. A foreign key in one table must reference a unique or primary key in another. This ensures that the relationship between entities remains valid; for example, every movie in a tracking system must be associated with an existing studio. + +\dfn{Foreign Key}{An attribute or set of attributes in a relation that serves as a reference to a primary or unique key in a different relation, enforcing a logical connection between the two.} + +The management of these links during data removal or updates is governed by specific policies. The \texttt{CASCADE} policy ensures that changes in the parent table are automatically reflected in the child table. Alternatively, the \texttt{SET NULL} policy breaks the link by nullifying the foreign key when the referenced record is deleted. If neither is appropriate, the \texttt{RESTRICT} policy blocks any modification that would break referential integrity. + +\section{Advanced Constraints and Deferred Checking} +For constraints that span multiple tables or require global validation, SQL offers assertions. Unlike table-based checks, assertions are standalone schema elements that the DBMS must verify whenever any involved relation is modified. This makes them powerful but potentially expensive to implement efficiently. + +\thm{Two-Phase Locking (2PL)}{A concurrency control protocol that guarantees conflict-serializability by requiring that all lock acquisitions by a transaction must occur before any of its locks are released.} + +In complex transactions where multiple interrelated tables are updated, immediate constraint checking can be problematic. SQL addresses this with deferred checking. By declaring a constraint as \texttt{DEFERRABLE}, the system can postpone validation until the very end of a transaction, just before it commits. This allows for temporary inconsistencies that are resolved by the time the transaction completes its entire sequence of actions. + +\section{Active Database Elements: Triggers} +Triggers, or Event-Condition-Action (ECA) rules, represent the transition from a passive database to an active one. A trigger is awakened by a specific event—such as an insertion, deletion, or update—and then evaluates a condition. If the condition is true, the system executes a predefined set of actions. + +\dfn{Trigger}{A stored procedure that is automatically invoked by the DBMS in response to specified changes to the database, consisting of a triggering event, a condition, and a resulting action.} + +Triggers offer significant flexibility compared to standard constraints. They can be set to execute either \texttt{BEFORE} or \texttt{AFTER} the triggering event and can operate at either the row level (executing for every modified tuple) or the statement level (executing once for the entire SQL command). They are frequently used to enforce complex business rules, maintain audit logs, or automatically fix data inconsistencies that simple constraints cannot handle. diff --git a/sections/database_architecture.tex b/sections/database_architecture.tex new file mode 100644 index 0000000..d9ae50b --- /dev/null +++ b/sections/database_architecture.tex @@ -0,0 +1,50 @@ +\chapter{Database Architecture} + +Database architecture serves as the structural foundation that bridges high-level data models with the physical realities of computer hardware. It encompasses a spectrum of components ranging from the multi-layered memory hierarchy used to store bits and bytes to the logical abstractions like virtual views that provide tailored interfaces for users. A central goal of this architecture is to maintain data independence, allowing the underlying storage methods to change without affecting how application programs interact with the data. This summary explores the mechanics of physical storage, the implementation of virtual relations, and the optimization techniques involving index structures to ensure efficient data retrieval and system resilience. + +\section{The Storage and Memory Hierarchy} +Behind the daily operations of a database system lies a sophisticated hardware hierarchy designed to manage the trade-off between access speed and storage capacity. At the fastest and most expensive level is the processor's internal cache (Levels 1 and 2), providing almost instantaneous access to data measured in nanoseconds. Below this is the main memory, or RAM, which acts as the primary workspace for the Database Management System (DBMS). While RAM provides significant capacity, it is volatile, meaning its contents are lost if power is interrupted. This volatility is a critical consideration for the ACID properties of transactions, specifically durability. + +Secondary storage, primarily consisting of magnetic disks, serves as the non-volatile repository where data persists. Accessing disks involves mechanical movements, introducing latencies in the millisecond range, which is orders of magnitude slower than RAM. For massive data sets that exceed disk capacity, tertiary storage such as tapes or DVDs is utilized, offering enormous capacity (terabyte to petabyte range) at the cost of significantly longer access times. + +\dfn{Memory Hierarchy}{A systematic organization of storage devices in a computer system, ranked by speed, capacity, and cost per bit, typically including cache, main memory, and secondary/tertiary storage.} + +\thm{The Dominance of I/O}{The performance of a database system is largely determined by the number of disk I/O operations performed, as the time required to access a block on disk is significantly greater than the time needed to process data in main memory.} + +\section{Physical Data Representation and PGDATA} +The physical storage of a database is typically organized into a specific directory structure on the host machine, often referred to as the data directory or PGDATA. This directory contains the actual files representing tables, configuration parameters, and transaction logs. To manage this data effectively, the DBMS divides information into blocks or pages, which are the fundamental units of transfer between disk and memory. In systems like PostgreSQL, these pages are usually 8KB in size. + +Data within these pages is organized into records. Fixed-length records are straightforward to manage, but variable-length fields require more complex structures like offset tables within the block header. When fields become exceptionally large, such as multi-gigabyte video files or documents, techniques like TOAST (The Oversized-Attribute Storage Technique) are employed to store these values in separate chunks, preventing them from bloating the primary data pages. + +\section{Virtual Views and Data Abstraction} +Virtual views are relations that do not exist physically in the database but are instead defined by a stored query over base tables. These views provide a layer of abstraction, allowing different users to see the data in formats that suit their specific needs without duplicating the underlying information. When a user queries a view, the system's query processor substitutes the view name with its corresponding definition, effectively transforming the query into one that operates directly on the stored base tables. + +\dfn{Virtual View}{A relation that is not stored in the database but is defined by an expression that constructs it from other relations whenever it is needed.} + +Attributes within a view can be renamed for clarity using the AS keyword or by listing names in the declaration. This allows the architect to present a clean logical model to the end-user while hiding the complexity of the underlying join operations or attribute names. + +\section{Modification of Virtual Relations} +Modifying a view is inherently more complex than modifying a base table because the system must determine how to map changes to the underlying physical data. SQL allows for "updatable views" under specific conditions: the view must be defined over a single relation, it cannot use aggregation or duplicate elimination, and the selection criteria must be simple enough that the system can unambiguously identify which base tuples are affected. + +\dfn{Updatable View}{A virtual view that is sufficiently simple to allow insertions, deletions, and updates to be translated directly into equivalent modifications on the underlying base relation.} + +For more complex views that involve multiple tables or aggregations, "instead-of" triggers provide a solution. These triggers intercept a modification attempt on a view and execute a custom piece of logic—written by the database designer—that appropriately updates the base tables. + +\section{Index Structures and Motivation} +As database relations grow, scanning every block to find specific information becomes prohibitively slow. Indexes are specialized data structures designed to accelerate this process. An index takes the value of a specific attribute, known as the search key, and provides pointers directly to the records containing that value. + +\dfn{Index}{A stored data structure that facilitates the efficient retrieval of records in a relation based on the values of one or more attributes.} + +The primary motivation for indexing is the reduction of disk I/O. For example, finding a specific movie in a massive relation is much faster if the system can use an index on the title rather than performing a full table scan. In joins, indexes on the join attributes can allow the system to look up only the relevant matching tuples, avoiding the exhaustive pairing of every row from both relations. + +\section{Strategic Selection of Indexes} +While indexes speed up queries, they impose a cost: every time a record is inserted, deleted, or updated, the associated indexes must also be modified. This creates a strategic trade-off for the database architect. A clustering index, where the physical order of records matches the index order, is exceptionally efficient for range queries as it minimizes the number of blocks that must be read. Non-clustering indexes are useful for locating individual records but may require many disk accesses if many rows match the search key, as the records might be scattered across different blocks. + +\thm{Index Cost-Benefit Analysis}{The decision to create an index depends on the ratio of queries to modifications; an index is beneficial if the time saved during data retrieval exceeds the additional time required to maintain the index during updates.} + +Architects often use a cost model based on the number of disk I/O's to evaluate the utility of a proposed index. This model considers factors like the number of tuples (T), the number of blocks (B), and the number of distinct values for an attribute (V). + +\section{Historical Foundations of Relational Theory} +The modern concept of database architecture and data independence traces back to the seminal work of Edgar Codd in 1970. Codd's introduction of the relational model revolutionized the field by suggesting that data should be viewed as sets of tuples in tables, independent of their physical storage. This shift allowed for the development of high-level query languages like SQL and sophisticated optimization techniques that define the current state of database management systems. Subsequent research into integrity checking and semistructured data models like XML continues to build upon these relational foundations. + +\dfn{Data Independence}{The principle that the logical structure of data (the schema) should be separated from its physical storage, ensuring that changes to the storage method do not require changes to application programs.} diff --git a/sections/database_design_theory.tex b/sections/database_design_theory.tex new file mode 100644 index 0000000..07c6846 --- /dev/null +++ b/sections/database_design_theory.tex @@ -0,0 +1,138 @@ +\chapter{Database Design Theory} + +Relational database design is fundamentally a process of identifying and addressing structural weaknesses within a schema. While a database can be constructed by simply creating tables for every entity, a lack of rigorous design often results in redundancy and anomalies that compromise data integrity. Design theory provides a mathematical framework, primarily through the study of functional dependencies and normal forms, to evaluate and refine these structures. + +The core objective is to ensure that a relation is "about" one specific concept. When a single table attempts to store information concerning multiple distinct entities—such as products, customers, and individual sales transactions all in one place—it inevitably leads to maintenance difficulties. These difficulties are categorized as update, insertion, and deletion anomalies. By applying normalization techniques, designers can decompose a problematic relation into smaller, more focused relations that preserve the original data while eliminating these risks. + +This summary explores the foundational elements of this theory, beginning with the formal definition of functional dependencies, the mechanics of attribute closures, the identification of keys, and the application of Boyce-Codd Normal Form (BCNF) to achieve a robust database architecture. We also examine the critical properties of these decompositions, such as the lossless-join property, ensuring that information is never lost when tables are split. + +\section{Functional Dependencies} + +A functional dependency is a constraint that describes the relationship between attributes within a relation. It generalizes the concept of a key by stating that if the values of one set of attributes are known, the values of another set are determined. + +Definition: \dfn{Functional Dependency}{A functional dependency (FD) on a relation $R$ is an expression of the form $A_1, A_2, \dots, A_n \rightarrow B_1, B_2, \dots, B_m$. This indicates that for any two tuples $t$ and $u$ in $R$, if $t$ and $u$ agree on all components for attributes $A_1, A_2, \dots, A_n$, then they must also agree on all components for attributes $B_1, B_2, \dots, B_m$.} + +In simpler terms, we say that the set $\{A_1, A_2, \dots, A_n\}$ functionally determines the set $\{B_1, B_2, \dots, B_m\}$. This is essentially a statement about the "functions" that can exist within a table; for every unique value in the determining set, there is a unique corresponding value in the determined set. It is important to note that a functional dependency is a property of the schema itself and must hold for all possible instances of the relation, not just the current set of data. + +Concept: \thm{The Nature of Functional Dependencies}{A functional dependency $X \rightarrow Y$ exists because there is a logical or physical relationship in the real world being modeled, such that the values in $Y$ are functionally dependent on the values in $X$. This relationship allows the DBMS to ensure that no contradictory data exists within the relation.} + +\section{Keys and Superkeys} + +Functional dependencies allow us to define precisely what constitutes a key for a relation. A key is a set of attributes that uniquely identifies every tuple in a relation. + +Definition: \dfn{Superkey}{A set of attributes $\{A_1, A_2, \dots, A_n\}$ is a superkey for a relation $R$ if those attributes functionally determine all other attributes of the relation. That is, no two distinct tuples in any legal instance of $R$ can have the same values for all attributes in the superkey.} + +Definition: \dfn{Key}{A set of attributes $K$ is a key for a relation $R$ if $K$ is a superkey and no proper subset of $K$ is also a superkey. This implies that a key must be minimal; removing even one attribute from a key destroys its ability to uniquely identify tuples.} + +Concept: \thm{Existence of Keys}{Every relational table must have at least one candidate key. In the extreme case where no smaller subset exists, the set of all attributes in the relation serves as a superkey.} + +When a relation has multiple candidate keys, a designer usually selects one to be the primary key. While the choice of a primary key is often a matter of implementation preference, the underlying theory treats all candidate keys as equally capable of enforcing data integrity. + +\section{Rules for Reasoning About Functional Dependencies} + +Often, the set of functional dependencies explicitly provided by a designer implies the existence of other dependencies. Understanding how to derive these implicit constraints is necessary for normalization. + +\subsection{The Splitting and Combining Rules} +Functional dependencies can be simplified or grouped based on their right-hand sides. +\begin{itemize} + \item \textbf{Splitting Rule:} An FD $X \rightarrow YZ$ is equivalent to the pair of FDs $X \rightarrow Y$ and $X \rightarrow Z$. + \item \textbf{Combining Rule:} A set of FDs $X \rightarrow A_1, X \rightarrow A_2, \dots, X \rightarrow A_n$ can be expressed as a single FD $X \rightarrow A_1 A_2 \dots A_n$. +\end{itemize} +It is crucial to observe that these rules only apply to the right-hand side of a dependency. Splitting the left-hand side is generally invalid; knowing that $\{Title, Year\} \rightarrow Length$ does not imply that $Title \rightarrow Length$. + +\subsection{Trivial Dependencies} +A dependency is considered trivial if it is guaranteed to hold in any relation, regardless of the data. +Definition: \dfn{Trivial Functional Dependency}{An FD $X \rightarrow Y$ is trivial if the set of attributes $Y$ is a subset of the set of attributes $X$. For example, $Title, Year \rightarrow Title$ is a trivial dependency because any two tuples agreeing on both title and year must necessarily agree on the title.} + +\subsection{Transitivity} +Concept: \thm{Transitive Rule}{If a relation satisfies the functional dependencies $X \rightarrow Y$ and $Y \rightarrow Z$, then it must also satisfy the functional dependency $X \rightarrow Z$.} + +\section{Attribute Closure} + +To determine if a specific functional dependency $X \rightarrow A$ follows from a given set of dependencies $S$, we compute the closure of the set of attributes $X$. + +Definition: \dfn{Attribute Closure}{The closure of a set of attributes $X$ with respect to a set of functional dependencies $S$, denoted $X^+$, is the set of all attributes $A$ such that $X \rightarrow A$ can be derived from $S$ using the rules of functional dependencies.} + +Concept: \thm{Closure Algorithm}{To compute $X^+$: + 1. Start with a set of attributes $Y = X$. + 2. Repeatedly find an FD $B \rightarrow C$ in $S$ such that $B$ is a subset of $Y$, but $C$ is not. Add $C$ to $Y$. + 3. When no more attributes can be added, the resulting set $Y$ is $X^+$.} + +This algorithm is essential for finding keys. If $X^+$ contains all attributes of a relation $R$, then $X$ is a superkey for $R$. If no subset of $X$ has a closure containing all attributes, then $X$ is a key. + +\section{Design Anomalies} + +Redundancy in a database is not merely a waste of storage space; it is the root cause of data inconsistency through three types of anomalies. + +\begin{itemize} + \item \textbf{Redundancy:} Storing the same piece of information multiple times. For example, if we store the studio address in every movie record, a studio with many movies will have its address repeated many times. + \item \textbf{Update Anomaly:} This occurs when a change to one instance of redundant data is not reflected in all other instances. If a studio moves, every single movie record associated with that studio must be updated, or the database will hold contradictory addresses. + \item \textbf{Deletion Anomaly:} This happens when the deletion of a tuple results in the unintended loss of unrelated information. If we delete the only movie associated with a studio, we might lose the information about that studio's existence and address entirely. + \item \textbf{Insertion Anomaly:} This occurs when we cannot insert information about one entity without having information about another. For instance, we might not be able to store a new studio's address until they produce their first movie. +\end{itemize} + +The goal of database design theory is to eliminate these anomalies by ensuring that all functional dependencies are "cleanly" associated with keys. + +\section{Boyce-Codd Normal Form (BCNF)} + +BCNF is a strict standard for relation design that effectively eliminates the anomalies caused by functional dependencies. + +Definition: \dfn{Boyce-Codd Normal Form}{A relation $R$ is in BCNF if and only if for every non-trivial functional dependency $X \rightarrow Y$ that holds in $R$, $X$ is a superkey of $R$.} + +In a BCNF relation, every determinant (the left side of an FD) must be a superkey. This ensures that every functional relationship in the table is a relationship from a key to some other attribute, preventing the "storing of two things in one table" that leads to redundancy. + +Concept: \thm{The BCNF Decomposition Algorithm}{If a relation $R$ is not in BCNF because of a violating FD $X \rightarrow Y$: + 1. Compute the closure $X^+$. + 2. Decompose $R$ into two relations: $R_1$ with attributes $X^+$ and $R_2$ with attributes $X$ and all attributes of $R$ that are not in $X^+$. + 3. Recursively apply this process to $R_1$ and $R_2$ until all resulting relations are in BCNF.} + +This algorithm ensures that the data is split such that each new relation focuses on a single functional theme. + +\section{Decomposition and the Lossless-Join Property} + +When we decompose a relation into two or more smaller relations, we must ensure that the process is reversible. If we join the smaller relations back together, we must obtain exactly the original relation—neither more nor less. + +Definition: \dfn{Lossless Join}{A decomposition of a relation $R$ into $R_1$ and $R_2$ is a lossless join if the natural join of $R_1$ and $R_2$ is always equal to $R$. If the join produces "extra" tuples that were not in the original relation, the join is "lossy," and the decomposition is invalid.} + +Concept: \thm{Condition for a Lossless Join}{A decomposition of $R$ into $R_1$ and $R_2$ is lossless if and only if the set of attributes common to $R_1$ and $R_2$ is a superkey for at least one of the two relations.} + +The BCNF decomposition algorithm is guaranteed to be lossless because it always splits a relation based on a functional dependency $X \rightarrow Y$, ensuring that the common attribute $X$ is a key for the relation containing $X$ and its determined attributes. + +\section{The Chase Algorithm} + +The "chase" is a general-purpose method to test whether a decomposition into any number of relations is lossless. It uses a tableau of rows and columns to track how functional dependencies can be used to equate different components of tuples. + +Concept: \thm{The Chase Procedure}{To test if a decomposition $\{S_1, S_2, \dots, S_k\}$ of relation $R$ is lossless: + 1. Create a tableau where each row corresponds to a relation $S_i$ in the decomposition. + 2. For each attribute $A$ in $R$, if $A$ is in $S_i$, the entry in row $i$, column $A$ is a special symbol $a$. Otherwise, it is a unique subscripted symbol $b_i$. + 3. Repeatedly apply the given FDs to the tableau. If an FD $X \rightarrow Y$ exists and two rows agree on all attributes in $X$, then they must agree on all attributes in $Y$. + 4. If a row ever becomes all $a$ symbols, the decomposition is lossless. Otherwise, if no more changes can be made and no such row exists, it is lossy.} + +The chase algorithm provides a rigorous check for recoverability, even in complex multi-table designs. + +\section{Dependency Preservation} + +Another desirable property of a decomposition is dependency preservation. A decomposition preserves dependencies if we can check all the original functional dependencies by looking at the decomposed relations individually. + +While the BCNF decomposition is always lossless, it does not always preserve all dependencies. In some cases, a dependency $X \rightarrow Y$ might involve attributes that end up in different relations after the split. If it is impossible to find a BCNF decomposition that preserves all dependencies, a designer might opt for a less strict normal form, such as Third Normal Form (3NF). + +Concept: \thm{The Trade-off in Normalization}{There is a fundamental trade-off in database design: we can always achieve a BCNF decomposition that is lossless, but we might not be able to preserve all dependencies. Conversely, 3NF synthesis can always provide a lossless and dependency-preserving decomposition, though it may allow some minor redundancy.} + +\section{Minimal Basis of Functional Dependencies} + +Before performing normalization or synthesis, it is often helpful to simplify the set of functional dependencies into a minimal basis (also called a minimal cover). + +Definition: \dfn{Minimal Basis}{A set of FDs $B$ is a minimal basis for a set of FDs $S$ if: + 1. $B$ is equivalent to $S$. + 2. All FDs in $B$ have a single attribute on the right-hand side. + 3. No FD can be removed from $B$ while maintaining equivalence. + 4. No attribute can be removed from the left-hand side of any FD in $B$ while maintaining equivalence.} + +Starting with a minimal basis prevents the creation of redundant tables during the 3NF synthesis process and clarifies the essential constraints acting upon the data. + +\section{Conclusion} + +Database design theory transforms the intuitive process of organizing data into a rigorous engineering discipline. By defining functional dependencies, we uncover the hidden structure of data. By identifying keys and superkeys, we establish the requirements for unique identification. Through attribute closure, we derive the full implications of our constraints. + +The application of BCNF and the decomposition algorithm allows us to restructure relations to eliminate the threat of update, insertion, and deletion anomalies. Finally, by verifying the lossless-join property via the chase algorithm, we ensure that our specialized, efficient schema remains a faithful representation of the original information. While compromises between BCNF and dependency preservation may sometimes be necessary, the tools provided by design theory allow these decisions to be made with a clear understanding of the costs and benefits to data integrity and system performance. + diff --git a/sections/introduction.tex b/sections/introduction.tex new file mode 100644 index 0000000..e0be912 --- /dev/null +++ b/sections/introduction.tex @@ -0,0 +1,103 @@ +\chapter{Introduction} + +Modern technological infrastructure relies heavily on the ability to manage vast quantities of facts effectively. At its most fundamental level, we distinguish between data—which represents raw, stored facts—and information, which is data endowed with specific meaning. When this information is applied to solve meaningful problems or used in decision-making processes, it matures into knowledge. An information system is essentially a collection of software programs designed to manage this progression of information efficiently. + +In the broader context of science, data management has shifted paradigms. While classical mathematics and physics focused on the world as it must be or as it is observed naturally, computer science and data science focus on computing and data-driven insights. Data can be viewed as the "matter" of the digital world, and studying its behavior and storage is central to modern engineering. + +\dfn{Information System}{ + A software program or a complex suite of programs dedicated to the management, storage, and exchange of information. +} + +\thm{Data-Information-Knowledge Hierarchy}{ + The progression from raw facts (data) to interpreted meaning (information) and finally to the purposeful application of that information (knowledge). +} + +\section{Historical Context and the Evolution of Storage} + +The necessity of recording information spans human history, moving from oral traditions to the invention of writing, accounting, and eventually the printing press. However, the mid-20th century marked the beginning of the computational era. In the 1960s, data was primarily managed through file systems. These systems were rudimentary, as they essentially involved independent programs reading from local disks, often leading to data redundancy and inconsistency across different applications. + +The 1970s ushered in the Relational Era, largely defined by the work of Edgar Codd. He proposed a model where data is organized into tables (relations), allowing users to interact with data logically rather than worrying about its physical placement on a disk. The 1980s saw the rise of object-oriented models, and the 2000s introduced the NoSQL era, which addressed the needs of massive, distributed data through key-value stores, document stores, and graph databases. + +\dfn{Relational Database}{ + An organized collection of related data presented to the user as a set of two-dimensional tables called relations. +} + +\section{The Purpose and Functionality of a DBMS} + +A Database Management System (DBMS) is a specialized software suite designed to manage and query databases. Relying on simple file systems for complex applications is problematic because it is difficult to combine data from different files, and there is no built-in support for multiple users or protection against data loss. A DBMS provides five critical functionalities to solve these issues. + +First, it allows for the creation of new databases and the definition of their schemas, or logical structures. Second, it enables efficient querying and modification of data through specialized languages. Third, it supports the storage of immense datasets—reaching into the terabytes and petabytes—over long periods. Fourth, it ensures durability, meaning the system can recover from failures or errors without losing data. Finally, it manages concurrent access, allowing many users to interact with the data simultaneously without causing inconsistencies. + +\dfn{Database Management System (DBMS)}{ + A powerful tool for creating, managing, and efficiently querying large amounts of persistent, safe data. +} + +\thm{Data Independence}{ + The principle, championed by Edgar Codd, that separates the physical storage of data from its logical representation, allowing users to interact with a logical model that the software then translates into physical structures. +} + +\section{Data Classification and the Three Vs} + +Data within an information system typically takes one of three shapes. Structured data, such as that found in relational databases or spreadsheets, follows a rigid schema. Semi-structured data, including XML, JSON, and YAML, possesses some internal structure but is more flexible and can be validated against frames or schemas. Unstructured data, such as raw text, audio, images, or video, lacks a predefined format and often requires advanced linear algebra and vector-based processing to analyze. + +The scale of modern data is often described by the "Three Vs": Volume (the sheer amount of data, moving from terabytes to zettabytes), Variety (the different formats and sources of data), and Velocity (the speed at which new data is generated and must be processed). Understanding the prefixes of the International System of Units, such as Peta (10 to the 15th) and Exa (10 to the 18th), is essential for engineers working at this scale. + +\dfn{Structured Data}{ + Data that is organized into a highly formatted structure, typically using the relational model, which makes it easily searchable via languages like SQL. +} + +\section{System Architecture and the Three-Tier Model} + +Modern information systems are often organized into a three-tier architecture to separate concerns and improve scalability. The top layer is the user interface or front-end, which manages the presentation and user interaction. The middle layer is the business logic, where the specific rules and processes of the application are defined. The bottom layer is the database system, which handles data persistence and management. + +Within this architecture, the DBMS itself is divided into various components. A storage manager controls how data is placed on disk and moved between the disk and main memory. The query processor parses and optimizes requests to find the most efficient execution plan. The transaction manager ensures that database operations are performed safely and reliably. + +\dfn{3-Tier Architecture}{ + A software design pattern consisting of three layers: the presentation layer (User Interface), the logic layer (Business Logic), and the data layer (Database System). +} + +\section{Database Languages: DDL and DML} + +Interaction with a DBMS occurs through two primary types of languages. The Data Definition Language (DDL) is used to establish and modify the metadata, which is the "data about data" describing the schema and constraints of the database. The Data Manipulation Language (DML) is used to search, retrieve, and modify the actual data stored within that schema. + +These languages can be further categorized as imperative or declarative. Imperative languages require the programmer to specify *how* to perform a task (e.g., C++, Java), while declarative languages, most notably SQL, allow the user to specify *what* they want, leaving the "how" to the system's query optimizer. + +\dfn{Metadata}{ + The structural information that defines the types and constraints of the data, essentially acting as a blueprint for the database. +} + +\thm{Declarative Language Property}{ + The characteristic of languages like SQL that allows users to describe the desired result of a query without defining the physical execution steps or algorithms required to reach that result. +} + +\section{Transaction Management and the ACID Test} + +A transaction is a single unit of work consisting of one or more database operations that must be treated as an indivisible whole. To maintain integrity, transactions must satisfy the ACID properties. + +\dfn{Transaction}{ + A program or set of actions that manages information and must be executed as an atomic unit to preserve database consistency. +} + +\thm{The ACID Properties}{ + The fundamental requirements for reliable transaction processing: + \begin{itemize} + \item \textbf{Atomicity}: All-or-nothing execution; if any part of the transaction fails, the entire transaction is rolled back. + \item \textbf{Consistency}: Every transaction must leave the database in a state that satisfies all predefined rules and constraints. + \item \textbf{Isolation}: Each transaction must appear to execute in a vacuum, as if no other transactions are occurring simultaneously. + \item \textbf{Durability}: Once a transaction is completed, its effects are permanent and must survive any subsequent system failures. + \end{itemize} +} + +\section{Database Roles and Ecosystems} + +A database environment involves several distinct roles. The Database Administrator (DBA) is responsible for coordination, monitoring, and access control. The Database Designer creates the structure and schema of the content. Power Users may interact with the system through complex programming, while Data Analysts use DML for updates and queries. Finally, Parametric Users interact with the database through simplified interfaces like menus and forms. + +As systems grow, the challenge often becomes one of information integration. Large organizations may have many legacy databases that use different models or terms. Integration strategies include creating data warehouses—centralized repositories where data from various sources is translated and copied—or using mediators, which provide an integrated model of the data while translating requests for each individual source database. + +\dfn{Data Warehouse}{ + A centralized database used for reporting and data analysis, which stores integrated data from one or more disparate sources. +} + +\thm{Legacy Database Problem}{ + The difficulty of decommissioning old database systems because existing applications depend on them, necessitating the creation of integration layers to combine their data with newer systems. +} diff --git a/sections/queries_with_sql.tex b/sections/queries_with_sql.tex new file mode 100644 index 0000000..1ac5757 --- /dev/null +++ b/sections/queries_with_sql.tex @@ -0,0 +1,183 @@ +\chapter{Queries with SQL} + +\section{Overview of SQL Querying} + +The Structured Query Language (SQL) serves as the primary interface for interacting with relational database management systems. At its core, SQL is a declarative language, meaning that a programmer specifies what data should be retrieved rather than providing the step-by-step procedure for how to find it. This approach allows the database's internal query optimizer to determine the most efficient path to the data, leveraging indexes and specific storage structures. SQL is fundamentally set-based, manipulating entire relations as units rather than processing individual records in a procedural loop. This aligns closely with the mathematical foundations of relational algebra, where operations like selection, projection, and join act on sets or bags of tuples. + +The language is typically divided into two main components: the Data Definition Language (DDL) and the Data Manipulation Language (DML). DDL is concerned with the metadata and the structural level of the database, involving the creation, modification, and deletion of tables and columns. DML, which is the focus of this summary, operates at the record level. It allows for the insertion of new data, the updating of existing records, the deletion of information, and most importantly, the querying of the stored data. + +\dfn{SQL}{Structured Query Language, a declarative and set-based language used to define and manipulate data within a relational database management system.} + +\thm{Declarative Programming}{The principle where the programmer describes the desired result of a computation without specifying the control flow or algorithmic steps to achieve it.} + +\section{Fundamental Selection and Projection} + +The most basic form of a SQL query follows the select-from-where structure. This construct allows a user to extract specific attributes from one or more tables based on certain criteria. To understand this in the context of relational algebra, we can view the three main clauses as distinct algebraic operators. The FROM clause identifies the source relations; if multiple relations are listed, it effectively represents a Cartesian product. The WHERE clause functions as a selection operator ($\sigma$), filtering the tuples produced by the product based on a logical predicate. Finally, the SELECT clause acts as a projection operator ($\pi$), narrowing the result set to only the desired columns. + +In its simplest manifestation, a query can use the asterisk symbol (*) to denote that all columns from the source table should be included in the output. While this is useful for exploration, explicit projection is preferred in production environments to minimize data transfer and clarify the schema of the result set. Within the SELECT clause, we are not limited to just listing attributes; we can also include arithmetic expressions, such as calculating a value based on existing columns, or constants to provide context in the output. + +\dfn{Query}{A formal request for information from a database, typically expressed in SQL to retrieve specific data matching a set of conditions.} + +\thm{SQL to Relational Algebra Mapping}{A simple select-from-where query is equivalent to the relational algebra expression $\pi_L(\sigma_C(R_1 \times R_2 \times ... \times R_n))$, where L is the select list, C is the where condition, and $R_i$ are the relations in the from list.} + +\section{Renaming and Aliasing} + +When a query is executed, the resulting relation has column headers that defaults to the names of the attributes in the source tables. However, there are many cases where these names may be ambiguous or uninformative, particularly when calculations are involved. SQL provides the `AS` keyword to assign an alias to a column or an expression. This allows the programmer to rename the output for better readability or to comply with the requirements of an application. + +Aliases can also be applied to relations in the FROM clause. These are referred to as tuple variables or correlation names. Aliasing a relation is essential when a query must compare different rows within the same table, a process known as a self-join. By assigning different aliases to the same table, the query can treat them as two distinct sources of data, enabling comparisons between tuples. + +\dfn{Alias}{A temporary name assigned to a table or a column within the scope of a single SQL query to improve clarity or disambiguate references.} + +\section{String Patterns and Comparison Operators} + +SQL provides a robust set of comparison operators to filter data within the WHERE clause. These include equality (=), inequality (<>), and various ordering comparisons (<, >, <=, >=). While numeric comparisons are straightforward, string comparisons follow lexicographical order. + +For more flexible string matching, the `LIKE` operator is used with patterns. This operator allows for partial matches using two special wildcard characters: the percent sign (%) and the underscore (_). The percent sign matches any sequence of zero or more characters, while the underscore matches exactly one character. This is particularly useful for finding records where only a portion of a string is known or for identifying specific substrings. + +\dfn{Predicate}{A logical expression that evaluates to true, false, or unknown, used in the WHERE clause to determine which tuples satisfy the query criteria.} + +\thm{Lexicographical Comparison}{The method of ordering strings based on the alphabetical order of their component characters, where a string is "less than" another if it appears earlier in a dictionary.} + +\section{Handling Incomplete Information with Null Values} + +In real-world databases, it is common for certain pieces of information to be missing or inapplicable. SQL represents this missing data with a special marker called `NULL`. It is important to recognize that `NULL` is not a value in the same way 0 or an empty string is; it is a placeholder indicating the absence of a value. + +Because `NULL` represents unknown data, comparisons involving `NULL` cannot result in a standard true or false. Instead, SQL employs a three-valued logic system that includes `UNKNOWN`. For example, if we compare a column containing a `NULL` to a constant, the result is `UNKNOWN`. To explicitly check for these placeholders, SQL provides the `IS NULL` and `IS NOT NULL` operators. Standard equality comparisons like `= NULL` will always evaluate to `UNKNOWN` and therefore fail to filter the desired records. + +\dfn{NULL}{A special marker in SQL used to indicate that a data value does not exist in the database, either because it is unknown or not applicable.} + +\thm{Three-Valued Logic}{A system of logic where expressions can evaluate to TRUE, FALSE, or UNKNOWN, requiring specialized truth tables for AND, OR, and NOT operations.} + +\section{Logic and Truth Tables in SQL} + +The presence of `UNKNOWN` values necessitates a clear understanding of how logical operators behave. When combining conditions with `AND`, the result is the minimum of the truth values, where TRUE is 1, UNKNOWN is 0.5, and FALSE is 0. Conversely, `OR` takes the maximum of the truth values. The `NOT` operator subtracts the truth value from 1. + +In the context of a WHERE clause, a tuple is only included in the final result set if the entire condition evaluates to `TRUE`. Tuples for which the condition is `FALSE` or `UNKNOWN` are excluded. This behavior can lead to unintuitive results, such as a query for "all records where X is 10 OR X is not 10" failing to return records where X is `NULL`, because the result of that OR operation would be `UNKNOWN`. + +\dfn{Truth Table}{A mathematical table used to determine the result of logical operations given all possible combinations of input truth values.} + +\section{Multi-Relation Queries and the Cartesian Product} + +When a query involves data spread across multiple tables, the FROM clause lists all the relevant relations. The logical starting point for such a query is the Cartesian product, which pairs every tuple from the first relation with every tuple from the second, and so on. This produces a very large intermediate relation where each row represents a potential combination of the source data. + +To make this product useful, the WHERE clause must contain join conditions that link the relations based on common attributes. For instance, if we are joining a 'Movies' table with a 'Producers' table, we might equate the 'producerID' column in both. This filtering process discards the vast majority of the Cartesian product, leaving only the rows where the related data actually matches. When attributes in different tables share the same name, we use the dot notation (e.g., TableName.AttributeName) to disambiguate the references. + +\thm{The Join-Selection Equivalence}{The principle that a natural join or an equijoin can be logically expressed as a selection performed on a Cartesian product of relations.} + +\section{Interpretation of Multi-Relation Queries} + +There are multiple ways to interpret the execution of a query involving several relations. One helpful mental model is the "nested loops" approach. In this model, we imagine a loop for each relation in the FROM clause. The outermost loop iterates through every tuple of the first relation, and for each of those, the next loop iterates through the second relation, and so on. Inside the innermost loop, the WHERE condition is tested against the current combination of tuples. If the condition is met, the SELECT clause produces an output row. + +Another interpretation is based on parallel assignment. In this view, we consider all possible assignments of tuples to the variables representing the relations. We then filter for those assignments that satisfy the condition. While the nested loop model is more algorithmic, the parallel assignment model highlights the declarative nature of the query, emphasizing that the order of the relations in the FROM clause should not, in theory, affect the result. + +\dfn{Tuple Variable}{A variable that ranges over the tuples of a relation, often implicitly created for each table in the FROM clause or explicitly defined as an alias.} + +\section{Set Operators and Bag Semantics} + +SQL provides operators for the traditional set-theoretic actions: `UNION`, `INTERSECT`, and `EXCEPT`. These allow the results of two queries to be combined, provided they have the same schema (compatible attribute types and order). By default, these operators follow set semantics, meaning that they automatically eliminate duplicate tuples from the result. + +However, since SQL is fundamentally based on bags (multisets), it also provides versions of these operators that preserve duplicates using the `ALL` keyword. `UNION ALL` simply concatenates the two result sets. `INTERSECT ALL` produces a tuple as many times as it appears in both inputs (taking the minimum count). `EXCEPT ALL` produces a tuple as many times as it appears in the first input minus the number of times it appears in the second (taking the difference). Using bag semantics is often more efficient because the system does not need to perform the expensive work of sorting or hashing the data to find and remove duplicates. + +\dfn{Bag}{A collection of elements that allows for multiple occurrences of the same element, where the order of elements remains immaterial.} + +\thm{Closure of Bag Operations}{The property that the result of any operation on bags is also a bag, ensuring that the relational model remains consistent through complex sequences of operations.} + +\section{Nested Queries and Scalar Subqueries} + +A subquery is a query nested within another query. Subqueries can appear in various parts of a SQL statement, including the WHERE, FROM, and HAVING clauses. A scalar subquery is one that returns exactly one row and one column—a single value. Because it evaluates to a scalar, it can be used anywhere a constant or an attribute would be valid, such as in a comparison. + +If a scalar subquery is designed to find, for instance, the specific ID of a person, and the data actually contains two people with that name, the query will fail at runtime. The system expects a single value and cannot resolve the ambiguity. If the subquery returns no rows, it is treated as a `NULL`. + +\dfn{Scalar}{A single atomic value, such as an integer or a string, as opposed to a collection of values like a row or a table.} + +\section{Conditions on Relations: IN and EXISTS} + +When a subquery returns a set of values rather than a single scalar, it can be used with relational operators like `IN`. The expression `x IN (subquery)` evaluates to true if the value of x is found in the result set produced by the subquery. This is a powerful way to filter data based on membership in a dynamically calculated set. + +The `EXISTS` operator is another tool for dealing with subqueries. It takes a subquery as an argument and returns true if the subquery returns at least one row. Unlike `IN`, `EXISTS` does not look at the actual values returned; it only checks for the existence of results. This is often used in correlated subqueries to check for the presence of related records in another table. + +\thm{Existence Quantification}{The logical principle of checking whether there is at least one element in a set that satisfies a given property, implemented in SQL via the EXISTS operator.} + +\section{Correlated Subqueries and Scoping} + +A correlated subquery is a nested query that refers to attributes of the outer query. Because of this dependency, the subquery must, in concept, be re-evaluated for every row processed by the outer query. This creates a link between the two levels of the query, allowing for complex logic like "find all employees whose salary is higher than the average salary in their specific department." + +Scoping rules in SQL dictate how attribute names are resolved. An attribute in a subquery will first be looked for in the tables mentioned in that subquery's own FROM clause. If it is not found there, the system looks at the FROM clause of the next level out, and so on. If the same attribute name appears in multiple levels, we must use aliases to ensure the correct column is referenced. Correlated subqueries are often more expressive than simple joins but can be more computationally expensive if the optimizer cannot unnest them into a join. + +\dfn{Correlated Subquery}{A subquery that depends on the current row being processed by the outer query, identified by references to attributes defined in the outer scope.} + +\section{Join Expressions and Syntax Variants} + +While the select-from-where structure can express most joins, SQL also provides explicit join syntax. A `CROSS JOIN` is a direct representation of the Cartesian product. A `JOIN ... ON` allows the join condition to be specified explicitly in the FROM clause, which many developers find clearer than placing the condition in the WHERE clause. + +A `NATURAL JOIN` is a specialized form of join that automatically equates all columns with the same name in both tables and removes the redundant copies of those columns. While natural joins are concise, they can be risky because they depend on attribute names. If a schema change adds a column to one table that happens to share a name with a column in another, the natural join logic will change automatically and potentially break the query. The `USING` clause provides a middle ground, allowing the user to specify exactly which common columns should be used for the join. + +\dfn{Natural Join}{A join operation that matches tuples based on all attributes that have the same name in both relations, producing a result that contains only one copy of each common attribute.} + +\section{Outer Joins and Data Preservation} + +In a standard (inner) join, tuples that do not have a match in the other table are discarded. These are called "dangling tuples." If we wish to preserve these tuples in our result set, we use an `OUTER JOIN`. There are three types: `LEFT`, `RIGHT`, and `FULL`. A `LEFT OUTER JOIN` includes all tuples from the left table; if a tuple has no match in the right table, the columns from the right table are filled with `NULL`. + +The `RIGHT OUTER JOIN` is symmetric, preserving all rows from the right table. A `FULL OUTER JOIN` preserves all rows from both tables, ensuring that no information from either source is lost. Outer joins are essential when we need a comprehensive list of items, even if some of those items lack certain related data. + +\dfn{Dangling Tuple}{A tuple in one relation that does not match any tuple in another relation based on the join criteria.} + +\thm{The Outer Join Property}{The guarantee that all tuples of the specified operand relations will be represented in the result, with NULL values used to fill in missing components for non-matching rows.} + +\section{Aggregation and Data Summarization} + +SQL includes several built-in functions to perform calculations across entire columns of data. These are known as aggregation operators. The five standard operators are `SUM`, `AVG`, `MIN`, `MAX`, and `COUNT`. `SUM` and `AVG` can only be applied to numeric data, while `MIN` and `MAX` can also be applied to strings (using lexicographical order) or dates. + +The `COUNT` operator is versatile; `COUNT(*)` counts every row in a table, while `COUNT(attribute)` counts only the non-null values in that specific column. If we wish to count only the unique values, we can use the `DISTINCT` keyword inside the aggregation, such as `COUNT(DISTINCT studioName)`. It is vital to remember that all aggregations except for `COUNT` return `NULL` if they are applied to an empty set of values. `COUNT` returns 0 for an empty set. + +\dfn{Aggregation}{The process of summarizing multiple values into a single value through functions like summation or averaging.} + +\section{Grouping and Partitioning} + +The `GROUP BY` clause allows us to partition the rows of a relation into groups based on their values in one or more attributes. When a query contains a `GROUP BY` clause, the SELECT clause is limited in what it can contain. Every attribute listed in the SELECT clause must either be an attribute used for grouping or be part of an aggregate function. + +Conceptually, the system first creates the groups and then applies the aggregate functions to each group independently. The result is a single row for each unique combination of values in the grouping attributes. This is the primary way to generate reports and statistics, such as "the total number of movies produced by each studio per year." + +\dfn{Grouping Attribute}{An attribute used in the GROUP BY clause to define the partitions upon which aggregation functions will operate.} + +\section{Post-Aggregation Filtering with HAVING} + +Sometimes we want to filter the results of a query based on an aggregate value. However, the WHERE clause is evaluated before any grouping or aggregation takes place. Therefore, we cannot use a condition like `WHERE SUM(length) > 500`. To solve this, SQL provides the `HAVING` clause. + +The `HAVING` clause is evaluated after the groups have been formed and the aggregations have been calculated. It allows the programmer to specify conditions that apply to the group as a whole. Only the groups that satisfy the `HAVING` condition will appear in the final output. While `HAVING` can technically contain any condition, it is best practice to only use it for conditions involving aggregates, leaving all tuple-level filtering to the WHERE clause. + +\dfn{HAVING}{A clause in SQL used to specify conditions that filter groups of rows created by the GROUP BY clause, typically involving aggregate functions.} + +\thm{Query Execution Order}{The logical sequence of operations in a SQL query: FROM (and JOINs), then WHERE, then GROUP BY, then HAVING, and finally SELECT (and DISTINCT) and ORDER BY.} + +\section{Ordering and Sorting the Result} + +The final step in many queries is to present the data in a specific order for the user. The `ORDER BY` clause facilitates this, allowing for sorting by one or more columns in either ascending (`ASC`) or descending (`DESC`) order. Sorting is the last operation performed before the data is returned; even if a column is not projected in the SELECT clause, it can still be used for sorting if it was available in the source tables. + +If multiple columns are listed in the `ORDER BY` clause, the system sorts by the first column first. If there are ties, it uses the second column to break them, and so on. This ensures a deterministic and readable presentation of the retrieved information. + +\dfn{Sorting}{The process of arranging the rows of a result set in a specific sequence based on the values of one or more attributes.} + +\section{Extended Projection and Constants} + +The extended projection operator allows for more than just choosing columns. It enables the use of expressions that combine attributes or apply functions to them. In SQL, this is manifested in the SELECT list, where we can perform additions, concatenations, or even call stored functions. + +Constants are also frequently used in the SELECT list. For example, a query might select "Movie", title, year from a table. Every resulting row would have the string literal "Movie" as its first column. This is often used to label different parts of a union or to provide fixed formatting for an external application. + +\thm{Functional Dependency in Aggregation}{The rule that in a grouped query, any attribute in the SELECT list that is not aggregated must be functionally determined by the grouping attributes to ensure the result is well-defined.} + +\section{Nested Queries in the FROM Clause} + +SQL allows a subquery to be placed in the FROM clause. In this case, the subquery acts as a temporary table that exists only for the duration of the outer query. This is particularly useful when we need to perform multiple levels of aggregation or when we want to join a table with a summarized version of itself. + +When a subquery is used in the FROM clause, it must be assigned an alias. This alias allows the outer query to refer to the columns produced by the subquery. This technique is often a cleaner alternative to using complex correlated subqueries in the WHERE clause, as it makes the flow of data more explicit. + +\dfn{Derived Table}{A temporary result set returned by a subquery in the FROM clause, which is then used by the outer query as if it were a physical table.} + +\section{Summary of Advanced SQL Syntax} + +Throughout our exploration of Chapters 6 and the accompanying presentation, we have seen that SQL is far more than a simple tool for data retrieval. Its ability to nest logic, perform complex aggregations across partitioned data, and handle various join types allows it to solve sophisticated data analysis problems. The transition from the mathematical abstractions of relational algebra to the practical syntax of SQL reveals how each keyword serves a specific logical function in the data-processing pipeline. + +By understanding the declarative nature of the language and the underlying bag semantics, developers can write queries that are not only correct but also efficient. The careful management of NULLs, the strategic use of subqueries, and the mastery of grouping and having clauses form the foundation of expert database programming. This comprehensive summary has detailed the syntax and the theoretical justifications for the most critical features of SQL querying, providing a roadmap for complex data manipulation. + +\thm{The Universal Query Form}{The select-from-where block is the universal building block of SQL, capable of expressing any operation that can be represented by the core operators of relational algebra.} diff --git a/sections/relational_algebra.tex b/sections/relational_algebra.tex new file mode 100644 index 0000000..4d2d9b9 --- /dev/null +++ b/sections/relational_algebra.tex @@ -0,0 +1,67 @@ +\chapter{Relational Algebra} + +Relational algebra serves as the formal foundation for the manipulation of data within the relational model. It is a procedural language consisting of a set of operators that take one or more relations as input and produce a new relation as output. This mathematical framework is essential for database systems because it provides a precise way to represent queries and allows the system's query optimizer to reorganize expressions into more efficient execution plans. Unlike general-purpose programming languages such as C or Java, relational algebra is intentionally limited in power. For example, it cannot perform arbitrary calculations like factorials or determine if the number of tuples in a relation is even or odd. However, this limitation is a strategic advantage, as it enables the database engine to perform high-level optimizations that would be impossible in a more complex language. + +The algebra is characterized by the property of closure, where every result is a relation that can immediately serve as an input for another operation. Operators are generally categorized into unary operators, which act on a single relation, and binary operators, which combine two relations. The core operations include set-based maneuvers—such as union, intersection, and difference—and relational-specific maneuvers like selection, projection, joins, and renaming. In modern database implementations, these concepts are often extended to support bag semantics (allowing duplicates) and complex operations like grouping and sorting. + +\dfn{Relational Algebra}{A collection of mathematical operators that function on relations to perform data retrieval and manipulation. It is closed under its operations, ensuring that the output of any expression is itself a relation.} + +\thm{The Power of Optimization}{By limiting the expressive power of the query language to relational algebra, database systems can effectively optimize code. This allows the system to replace inefficient execution strategies with mathematically equivalent but significantly faster algorithms.} + +\section{The Unary Operators: Selection and Projection} + +Selection and projection are the primary filters used to reduce the size of a relation. Selection, denoted by the Greek letter sigma ($\sigma$), acts as a horizontal filter. It examines each tuple in a relation and retains only those that satisfy a specific logical condition. This condition can involve attribute comparisons to constants or other attributes using standard operators such as equality, inequality, and logical connectors like AND and OR. + +Projection, denoted by the Greek letter pi ($\pi$), acts as a vertical filter. It is used to choose specific columns from a relation while discarding others. In its classical set-based form, projection also serves to eliminate any duplicate tuples that may arise when certain attributes are removed. This ensures that the result remains a valid set. Extended versions of projection allow for the creation of new attributes through calculations or renamings of existing fields. + +\dfn{Selection}{An operation $\sigma_C(R)$ that produces a relation containing all tuples from $R$ that satisfy the condition $C$. It does not change the schema of the relation but reduces the number of rows.} + +\dfn{Projection}{An operation $\pi_L(R)$ that creates a new relation consisting of only the attributes listed in $L$. It transforms the schema of the relation and may reduce the number of rows if duplicates are removed.} + +\section{Set Operations and Compatibility Constraints} + +Relational algebra incorporates standard set operations: union ($\cup$), intersection ($\cap$), and difference ($-$). Because these operations are inherited from set theory, they require the participating relations to be "compatible." This means the relations must share the same schema—specifically, they must have the same set of attributes, and the domains (data types) associated with corresponding attributes must be identical. + +Union combines all tuples from two relations into a single result. Intersection identifies tuples that appear in both input relations. Difference, which is not commutative, returns tuples found in the first relation but not the second. While these were originally defined for sets, modern systems often apply them to "bags" (multisets), where the rules for handling duplicates differ. For instance, in bag union, the number of occurrences of a tuple is the sum of its occurrences in the inputs, whereas in set union, it appears only once. + +\dfn{Schema Compatibility}{The requirement that two relations involved in a set operation must have the same number of attributes, with matching names and identical data types for each corresponding column.} + +\thm{Commutativity and Associativity}{Set union and intersection are both commutative ($R \cup S = S \cup R$) and associative $((R \cup S) \cup T = R \cup (S \cup T))$, allowing the system to reorder these operations for better performance.} + +\section{Renaming and Relational Variables} + +In complex queries, it is often necessary to change the name of an attribute or the relation itself to avoid ambiguity or to prepare a relation for a set operation. The renaming operator, denoted by the Greek letter rho ($\rho$), allows for this modification. This is particularly useful when joining a relation with itself, as it provides a way to distinguish between the two copies. + +The concept of a "relvar" (relational variable) is also important here. A relvar is essentially a variable that has a name and is assigned a specific relation. In algebraic expressions, we use these names to refer to the data stored within the tables. + +\dfn{Renaming}{An operator $\rho_S(R)$ that returns a new relation identical to $R$ in content but renamed to $S$. It can also be used as $\rho_{S(A_1, ..., A_n)}(R)$ to rename individual attributes.} + +\section{Combining Relations: Products and Joins} + +The most complex operations in relational algebra involve combining information from different relations. The Cartesian Product ($\times$) is the most basic of these, pairing every tuple of the first relation with every tuple of the second. While mathematically simple, the product often produces very large relations that contain many irrelevant pairings. + +Joins are more refined versions of the product. The Theta-Join ($\bowtie_C$) performs a product followed by a selection based on a specific condition $C$. The most common join is the Natural Join ($\bowtie$), which automatically pairs tuples that have equal values in all attributes shared by the two relations. After the pairing, it removes the redundant columns, leaving a cleaner result. + +\dfn{Cartesian Product}{A binary operator $R \times S$ that produces a relation whose schema is the union of the schemas of $R$ and $S$, and whose tuples are all possible concatenations of a tuple from $R$ and a tuple from $S$.} + +\dfn{Natural Join}{A specific type of join $R \bowtie S$ that connects tuples based on equality across all common attributes and then projects out the duplicate columns.} + +\thm{The Join-Product Relationship}{A theta-join $R \bowtie_C S$ is mathematically equivalent to the expression $\sigma_C(R \times S)$. This relationship allows query optimizers to choose between different physical execution strategies for the same logical request.} + +\section{Linear Notation and Expression Trees} + +Because relational algebra is a functional language, complex queries are built by nesting operations. These can be represented in two main ways. Linear notation involves a sequence of assignments to temporary variables, making the steps of a query easier to read. Alternatively, expression trees provide a graphical representation where leaves are stored relations and interior nodes are algebraic operators. + +The query processor uses these trees to visualize the flow of data. By applying algebraic laws, the processor can "push" selections and projections down the tree, closer to the data sources. This reduces the size of intermediate relations as early as possible, which is a hallmark of efficient query execution. + +\thm{Selection Pushing}{In a query tree, moving a selection $\sigma$ below other operators like joins or unions is almost always beneficial, as it reduces the number of tuples that subsequent, more expensive operators must process.} + +\section{Extended Relational Algebra} + +To meet the requirements of SQL, the basic algebra is often extended with additional operators. These include duplicate elimination ($\delta$), which explicitly turns a bag into a set; sorting ($\tau$), which orders the tuples of a relation; and grouping and aggregation ($\gamma$), which partitions tuples into groups and calculates summaries like sums or averages. + +While these operators go beyond the original mathematical definition of the algebra, they are essential for practical database management. They allow the algebra to serve as a complete intermediate language for translating SQL queries into physical instructions for the machine. + +\dfn{Duplicate Elimination}{The operator $\delta(R)$ that takes a bag $R$ as input and returns a set containing exactly one copy of every distinct tuple found in the input.} + +\dfn{Aggregation}{The application of functions such as SUM, AVG, MIN, MAX, or COUNT to a column of a relation to produce a single summary value.} diff --git a/sections/relational_model.tex b/sections/relational_model.tex new file mode 100644 index 0000000..5f2d22c --- /dev/null +++ b/sections/relational_model.tex @@ -0,0 +1,131 @@ +\chapter{The Relational Model} + +The relational model stands as the preeminent framework for managing data in contemporary information systems. Historically, the organization of data in tabular formats is a practice that stretches back nearly four millennia, beginning with early clay tablets. However, the modern digital iteration was pioneered by Edgar Codd in 1970. Codd’s primary contribution was the principle of data independence, which strictly separates the logical representation of information from its physical implementation on storage devices. Before this shift, programmers were often required to understand the underlying physical structure of the data to perform even basic queries. The relational model replaced these complex, system-dependent methods with a high-level abstraction based on tables, which are referred to as relations. + +In this model, data is represented as a collection of two-dimensional structures. This approach offers simplicity and versatility, allowing for anything from corporate records to scientific data to be modeled effectively. By restricting operations to a limited set of high-level queries, the relational model allows for significant optimization by the database management system, often performing tasks more efficiently than code written in general-purpose languages. This chapter details the structure, mathematical foundations, and design theories—specifically functional dependencies and normalization—that ensure data remains consistent and free from redundancy. + +\section{Core Terminology and Structural Components} + +The architecture of the relational model is defined by a specific set of terms that describe both the structure and the content of the data. + +\dfn{Attribute}{ + An attribute is a named header for a column in a relation. It describes the meaning of the entries within that column. For example, in a table tracking information about movies, "title" and "year" would be typical attributes. +} + +\dfn{Tuple}{ + A tuple is a single row in a relation, excluding the header row. It represents a specific instance of the entity described by the relation. A tuple contains one component for every attribute defined in the relation's schema. +} + +\dfn{Relation Schema}{ + A relation schema consists of the name of the relation and the set of attributes associated with it. This is typically expressed as $R(A_1, A_2, \dots, A_n)$. A database schema is the total collection of all relation schemas within a system. +} + +\dfn{Relation Instance}{ + A relation instance is the specific set of tuples present in a relation at any given time. While schemas are relatively static, instances change frequently as data is inserted, updated, or deleted. +} + +The components of a tuple must be atomic, meaning they are elementary types like integers or strings. The model explicitly forbids complex structures such as nested lists or sets as individual values. Every attribute is associated with a domain, which defines the set of permissible values or the specific data type for that column. + +\section{Mathematical Foundations of Relations} + +Mathematically, a relation is defined as a subset of the Cartesian product of the domains of its attributes. If an attribute $A$ has a domain $D$, then the entries in the column for $A$ must be elements of $D$. A record can be viewed as a partial function or a "map" from the set of attribute names to a set of atomic values. + +\thm{Relation as a Set}{ + In the abstract mathematical model, a relation is a set of tuples. This implies that the order of the rows is irrelevant and that every tuple must be unique. Furthermore, because attributes are a set, the order of columns does not change the identity of the relation, provided the components of the tuples are reordered to match. +} + +While the theoretical model relies on set semantics, practical implementations often utilize alternate semantics: +\begin{itemize} + \item \textbf{Bag Semantics}: Used by SQL, this allows for duplicate records within a table. + \item \textbf{List Semantics}: In this variation, the specific sequence of the records is preserved and carries meaning. +\end{itemize} + +A database is formally defined as a set of these relational tables. To interact with this data, the model employs relational algebra, a system of operators that take one or more relations as input and produce a new relation as output. + +\section{Integrity Constraints and Consistency} + +To ensure the validity of data, the relational model enforces several categories of integrity. + +\thm{Relational Integrity}{ + The requirement that every record within a specific relation must possess the exact same set of attributes. Broken relational integrity occurs if attributes are missing or if redundant attributes appear in individual rows. +} + +\thm{Atomic Integrity}{ + Also known as the First Normal Form (1NF), this rule dictates that every value in a cell must be a single, indivisible unit. Complex data types cannot be stored within a single attribute field. +} + +\thm{Domain Integrity}{ + This constraint requires that every value for an attribute must belong to the predefined set of values or the data type associated with its domain. +} + +\section{Defining Relation Schemas in SQL} + +SQL (Structured Query Language) is the primary tool for implementing the relational model. It is divided into the Data-Definition Language (DDL) for creating and modifying schemas, and the Data-Manipulation Language (DML) for querying and updating data. The most fundamental command in DDL is the \texttt{CREATE TABLE} statement, which establishes the table name, its attributes, and their types. + +\subsection{SQL Data Types} + +Attributes must be assigned a primitive type. Common SQL types include: +\begin{itemize} + \item \textbf{CHAR(n)}: A fixed-length string of $n$ characters. + \item \textbf{VARCHAR(n)}: A variable-length string up to $n$ characters. + \item \textbf{INT / INTEGER}: Standard whole numbers. + \item \textbf{FLOAT / REAL}: Floating-point numbers. + \item \textbf{BOOLEAN}: Stores TRUE, FALSE, or UNKNOWN. + \item \textbf{DATE / TIME}: Specific formats for calendar dates (e.g., YYYY-MM-DD) and clock times. +\end{itemize} + +\subsection{Keys and Uniqueness} + +\dfn{Key}{ + A key is a set of one or more attributes such that no two tuples in any possible relation instance can share the same values for all these attributes. A key must be minimal; no subset of its attributes can also be a key. +} + +In SQL, keys are declared using the \texttt{PRIMARY KEY} or \texttt{UNIQUE} keywords. Attributes designated as a primary key are forbidden from containing NULL values, whereas \texttt{UNIQUE} columns may allow them depending on the system. + +\section{Functional Dependencies} + +A central concept in database design theory is the functional dependency (FD), which generalizes the idea of a key. + +\thm{Functional Dependency}{ + A functional dependency on a relation $R$ is an assertion that if two tuples agree on a set of attributes $A_1, \dots, A_n$, they must also agree on another set of attributes $B_1, \dots, B_m$. This is written as $A \rightarrow B$. +} + +FDs are not merely observations about a specific instance of data but are constraints that must hold for every possible legal instance of the relation. They describe the relationships between attributes; for example, a movie's title and year might functionally determine its length and studio, as there is only one specific length and studio for a unique movie released in a given year. + +\dfn{Superkey}{ + A superkey is a set of attributes that contains a key as a subset. Therefore, every superkey functionally determines all attributes of the relation, but it may not be minimal. +} + +The closure of a set of attributes under a set of FDs is the collection of all attributes that are functionally determined by that set. Calculating the closure allows designers to identify all keys of a relation and test if a new FD follows from the existing ones. + +\section{Anomalies and the Need for Decomposition} + +Careless schema design leads to "anomalies," which are problems that occur when too much information is crammed into a single table. There are three primary types: +\begin{enumerate} + \item \textbf{Redundancy}: Information is repeated unnecessarily across multiple rows (e.g., repeating a studio's address for every movie they made). + \item \textbf{Update Anomalies}: If a piece of redundant information changes, it must be updated in every row. Failure to do so leads to inconsistent data. + \item \textbf{Deletion Anomalies}: Deleting a record might inadvertently destroy the only copy of unrelated information (e.g., deleting the last movie of a studio might remove the studio's address from the database entirely). +\end{enumerate} + +To eliminate these issues, designers use decomposition—the process of splitting a relation into two or more smaller relations whose attributes, when combined, include all the original attributes. + +\section{Normal Forms} + +The goal of decomposition is to reach a normal form that guarantees the absence of certain anomalies. + +\thm{Boyce-Codd Normal Form (BCNF)}{ + A relation $R$ is in BCNF if and only if for every nontrivial functional dependency $A \rightarrow B$, the set of attributes $A$ is a superkey. In simpler terms, every determinant must be a key. +} + +Any relation can be decomposed into a collection of BCNF relations. This process effectively removes redundancy caused by functional dependencies. However, while BCNF is very powerful, it does not always preserve all original dependencies. This leads to the use of a slightly relaxed condition. + +\thm{Third Normal Form (3NF)}{ + A relation $R$ is in 3NF if for every nontrivial FD $A \rightarrow B$, either $A$ is a superkey, or every attribute in $B$ that is not in $A$ is "prime" (a member of some key). +} + +3NF is useful because it is always possible to find a decomposition that is both lossless (the original data can be reconstructed) and dependency-preserving, which is not always true for BCNF. + +\section{Modifying and Removing Schemas} + +Database structures are dynamic. SQL provides the \texttt{DROP TABLE} command to remove a relation and all its data permanently. For structural changes, the \texttt{ALTER TABLE} command is used. This allows for the addition of new attributes via \texttt{ADD} or the removal of existing ones via \texttt{DROP}. When new columns are added, existing tuples typically receive a \texttt{NULL} value or a specified \texttt{DEFAULT} value. + diff --git a/sections/transactions_three_tiers.tex b/sections/transactions_three_tiers.tex new file mode 100644 index 0000000..589cb75 --- /dev/null +++ b/sections/transactions_three_tiers.tex @@ -0,0 +1,72 @@ +\chapter{Transactions and the Three Tiers} + +The evolution of data management has shifted from localized, single-machine installations to complex, multi-tiered architectures that support massive user bases across the globe. This chapter explores the foundational structures of modern information systems, specifically focusing on how databases operate within a server environment. We examine the interaction between various layers of processing, known as the three-tier architecture, and the logical organization of data into environments, clusters, catalogs, and schemas. Furthermore, we investigate the mechanisms that allow general-purpose programming languages, such as Java, to interact with SQL through call-level interfaces like JDBC. Central to this discussion is the management of transactions, which ensure that even in highly concurrent and distributed settings, the integrity and consistency of data are maintained through the adherence to the ACID properties and the management of isolation levels. + +\dfn{Database Management System}{A specialized software system designed to create, manage, and provide efficient, safe, and persistent access to large volumes of data over long periods of time.} + +\section{The Three-Tier Architecture} + +Modern large-scale database installations typically utilize a three-tier or three-layer architecture. This structure is designed to separate different functional concerns, which allows for better scalability, security, and maintenance. + +\thm{Three-Tier Architecture}{A system organization that distinguishes between three interacting layers: the Web Server tier (user interface), the Application Server tier (business logic), and the Database Server tier (data management).} + +The first layer is the Web-Server Tier. This tier manages the primary interaction with the user, often through the Internet. When a customer accesses a service, a web server responds to the initial request and presents the interface, such as an HTML page with forms and menus. The client's browser handles the user's input and transmits it back to the web server, which then communicates with the application tier. + +The middle layer is the Application-Server Tier. This is where the "business logic" of an organization resides. The responsibility of this tier is to process requests from the web server by determining what data is needed and how it should be presented. In complex systems, this tier might be divided into subtiers, such as one for object-oriented data handling or another for information integration, where data from multiple disparate sources is combined. The application tier performs the heavy lifting of turning raw database information into a meaningful response for the end user. + +The final layer is the Database-Server Tier. This layer consists of the processes that run the Database Management System (DBMS). It receives query and modification requests from the application tier and executes them against the stored data. To ensure efficiency, this tier often maintains a pool of open connections that can be shared among various application processes, avoiding the overhead of constantly opening and closing connections. + +\section{The SQL Environment and Its Logical Organization} + +The SQL environment provides the framework within which data exists and operations are executed. This environment is organized into a specific hierarchy to manage terminology and scope. + +\dfn{SQL Environment}{The overall framework, typically an installation of a DBMS at a specific site, under which database elements are defined and SQL operations are performed.} + +At the top of this hierarchy is the Cluster. A cluster is a collection of catalogs and represents the maximum scope over which a single database operation can occur. Essentially, it is the entire database as perceived by a specific user. + +Below the cluster is the Catalog. Catalogs are used to organize schemas and provide a unique naming space. Each catalog must contain a special schema that holds information about all other schemas within that catalog. + +The most basic unit of organization is the Schema. A schema is a collection of database elements such as tables, views, triggers, and assertions. One can create a schema using a specific declaration or modify it over time. + +\section{Establishing Connections and Sessions} + +For a program or a user to interact with the database server, a link must be established. This is handled through connections and sessions. A connection is the physical or logical link between a SQL client (often the application server) and a SQL server. A user can open multiple connections, but only one can be active at any given moment. + +\dfn{Session}{The sequence of SQL operations performed while a specific connection is active. It includes state information such as the current catalog, current schema, and the authorized user.} + +When a connection is established, it usually requires an authorization clause, which includes a username and password. This ensures that the current authorization ID has the necessary privileges to perform the requested actions. In this context, a "Module" refers to the application program code, while a "SQL Agent" is the actual execution of that code. + +\section{Transactions and the ACID Properties} + +Transactions are the fundamental units of work in a database system. To ensure that the database remains in a consistent state despite concurrent access or system failures, every transaction must follow a set of requirements known as the ACID properties. + +\thm{ACID Properties}{A set of four essential characteristics of a transaction: Atomicity (all-or-nothing execution), Consistency (preserving database invariants), Isolation (executing as if in isolation), and Durability (permanent storage of results).} + +Atomicity ensures that if a transaction is interrupted, any partial changes are rolled back, leaving the database as if the transaction never started. Consistency guarantees that a transaction moves the database from one valid state to another, respecting all defined rules. Isolation is managed by a scheduler to ensure that the concurrent execution of multiple transactions results in a state that could have been achieved if they were run one after another. Finally, Durability ensures that once a transaction is committed, its effects will survive even a subsequent system crash. + +\subsection{Transactional Phenomena and Isolation Levels} + +When multiple transactions run simultaneously, several problematic phenomena can occur if isolation is not strictly enforced. + +1. \textbf{Dirty Read}: This happens when one transaction sees data that has been written by another transaction but has not yet been committed. If the first transaction eventually aborts, the data seen by the second transaction effectively never existed. +2. \textbf{Nonrepeatable Read}: A transaction reads the same data twice but finds different values because another transaction modified and committed that data in the meantime. +3. \textbf{Phantom Read}: A transaction runs a query multiple times and finds "phantom" rows that were inserted by another committed transaction during the process. +4. \textbf{Serialization Anomaly}: This occurs when the result of a group of concurrent transactions is inconsistent with any serial ordering of those same transactions. + +To manage these risks, SQL defines various "Isolation Levels." The most stringent is "Serializable," which prevents all the aforementioned phenomena. Lower levels, such as "Read Committed" or "Read Uncommitted," allow for higher concurrency at the risk of encountering some of these issues. + +\subsection{Java Database Connectivity (JDBC)} + +One of the most common ways to implement the application tier is through Java, using the JDBC call-level interface. JDBC allows a Java program to interact with virtually any SQL database by using a standard set of classes and methods. + +\dfn{JDBC}{A Java-based API that provides a standard library of classes for connecting to a database, executing SQL statements, and processing the results.} + +The process begins by loading a driver for the specific DBMS, such as MySQL or PostgreSQL. Once the driver is loaded, a connection is established using a URL that identifies the database, along with credentials for authorization. + +In JDBC, there are different types of statements used to interact with the data. A simple `Statement` is used for queries without parameters, while a `PreparedStatement` is used when a query needs to be executed multiple times with different values. These parameters are denoted by question marks in the SQL string and are bound to specific values before execution. + +The result of a query in JDBC is returned as a `ResultSet` object. This object acts like a cursor, allowing the program to iterate through the resulting tuples one at a time using a `next()` method. For each tuple, the programmer uses specific getter methods, such as `getInt()` or `getString()`, to extract data based on the attribute's position in the result. + +\thm{JDBC Interaction Pattern}{The standard flow of database access in Java: Load Driver $\rightarrow$ Establish Connection $\rightarrow$ Create Statement $\rightarrow$ Execute Query/Update $\rightarrow$ Process Results via ResultSet $\rightarrow$ Close Connection.} + +This interface effectively solves the "impedance mismatch" between the set-oriented world of SQL and the object-oriented world of Java. By providing a mechanism to fetch rows individually, it allows Java's iterative control structures to process data retrieved from SQL's relational queries. Furthermore, it supports the execution of updates, which encompass all non-query operations like insertions, deletions, and schema modifications. This robust framework is essential for building the business logic required in the application tier of the three-tier architecture.``` diff --git a/sections/views_indecies.tex b/sections/views_indecies.tex new file mode 100644 index 0000000..2d5cb9e --- /dev/null +++ b/sections/views_indecies.tex @@ -0,0 +1,63 @@ +\chapter{Views and Indecies} + +This chapter explores the conceptual and physical layers of database management, focusing on the mechanisms that allow users to interact with data flexibly while ensuring that the underlying hardware performs at its peak. The discussion is divided into two primary concepts: views and indexes. + +Virtual views represent a method of logical abstraction. They allow a database designer to present users with data organized in a way that is most convenient for their specific tasks, without necessarily altering the structure of the base tables where the information is physically stored. These virtual relations are computed on demand and provide a layer of data independence, protecting applications from changes in the underlying schema and offering a simplified interface for complex queries. + +On the physical side, indexes are specialized data structures used to circumvent the high cost of exhaustive table scans. By providing direct paths to specific tuples based on the values of search keys, indexes significantly reduce the number of disk accesses required for lookups and joins. However, the creation of an index is not a cost-free operation. It involves a fundamental trade-off between the acceleration of read operations and the increased overhead associated with insertions, deletions, and updates. This summary evaluates the criteria for view updatability, the mechanics of index implementation, and the rigorous cost models used to determine the optimal configuration of physical storage. + +\section{Virtual Views in a Relational Environment} + +In a standard database, relations created through table declarations are considered persistent or "base" tables. These structures are physically stored on disk and remain unchanged unless modified by specific commands. In contrast, a virtual view is a relation defined by a SQL expression, typically a query. It does not exist in storage as a set of tuples; instead, its content is dynamically generated whenever it is referenced. + +\dfn{Virtual View}{A named virtual relation defined by a query over one or more existing base tables or other views, which is not physically materialized in the database.} + +\thm{View Expansion}{The query processing mechanism whereby the name of a view in a SQL query is replaced by the query expression that defines it, allowing the system to optimize the operation as if it were performed directly on the base tables.} + +When a view is defined, the system stores only its definition. From the perspective of a user, the view is indistinguishable from a base table. It possesses a schema and can be the target of queries. Furthermore, attributes in a view can be renamed during declaration to provide clearer identifiers for the end-user. This is particularly useful when the underlying table uses technical or ambiguous column names. For instance, a view might extract movie titles and production years from a comprehensive database to present a simplified list of films belonging to a specific studio. + +\section{Modification and Update Logic for Views} + +While querying a view is straightforward, modifying one—through insertions, updates, or deletions—is conceptually complex because the view contains no physical tuples. For a modification to be successful, the database management system must be able to translate the request into an equivalent sequence of operations on the underlying base tables. + +\dfn{Updatable View}{A virtual view that is sufficiently simple for the system to automatically map modifications back to the original base relations without ambiguity.} + +\thm{Criteria for Updatability}{To be updatable, a view must generally be defined by a simple selection and projection from a single relation. It cannot involve duplicate elimination, aggregations, or group-by clauses, and it must include all attributes necessary to form a valid tuple in the base relation.} + +If a view is defined over multiple relations, such as through a join, it is typically not updatable because the logic for handling the change is not unique. For example, if a tuple is deleted from a view joining movies and producers, it is unclear whether the system should delete the movie, the producer, or both. To overcome these limitations, SQL provides "instead-of" triggers. These allow the designer to intercept a modification attempt on a view and define a custom set of actions to be performed on the base tables instead. This ensures that the intended semantics of the operation are preserved regardless of the complexity of the view's definition. + +\section{Physical Indexes and Retrieval Performance} + +The efficiency of data retrieval is largely determined by the number of disk blocks the system must access. Without an index, the database must perform a full scan of a relation to find specific tuples. For large relations spanning thousands of blocks, this process is prohibitively slow. An index is a physical structure that maps values of a search key to the physical locations of the tuples containing those values. + +\dfn{Index}{A physical data structure designed to accelerate the location of tuples within a relation based on specified attribute values, bypassing the need for an exhaustive scan of all blocks.} + +\dfn{Multi-attribute Index}{An index built on a combination of two or more attributes, allowing the system to efficiently find tuples when values for all or a prefix of those attributes are provided in a query.} + +Indexes are most commonly implemented as B-trees or hash tables. A B-tree is a balanced structure where every path from the root to a leaf is of equal length, ensuring predictable performance for both point lookups and range queries. In most modern systems, the B+ tree variant is used, where pointers to the actual data records are stored only at the leaf nodes. This structure allows the system to navigate through the index by comparing search keys, moving from a root block down to the appropriate leaf with minimal disk I/O. + +\section{Selection and Performance Analysis of Indexes} + +The decision of whether to build an index on a particular attribute requires a careful analysis of the expected workload. While an index speeds up queries, every modification to the underlying relation requires a corresponding update to the index. This secondary update involves reading and writing index blocks, which can double the cost of insertions and deletions. + +\dfn{Clustering Index}{An index where the physical order of the tuples on disk corresponds to the order of the index entries, ensuring that all tuples with a specific key value are stored on as few blocks as possible.} + +\thm{The Index Selection Trade-off}{The process of evaluating whether the time saved during the execution of frequent queries outweighs the time lost during the maintenance of the index for insertions, updates, and deletions.} + +To make this determination, database administrators use a cost model centered on disk I/O. If a relation is clustered on an attribute, the cost of retrieving all tuples with a specific value is approximately the number of blocks occupied by the relation divided by the number of distinct values of that attribute. If the index is non-clustering, each retrieved tuple may potentially reside on a different block, leading to a much higher retrieval cost. A tuning advisor or administrator will calculate the average cost of all anticipated operations (queries and updates) to decide which set of indexes minimizes the total weighted cost for the system. + +\section{Materialized Views and Automated Tuning} + +Beyond virtual views and physical indexes, database systems often employ materialized views. Unlike a virtual view, a materialized view is physically computed and stored on disk. This approach is beneficial for high-complexity queries that are executed frequently, such as those involving expensive joins or aggregations in a data warehousing environment. + +\dfn{Materialized View}{A view whose query result is physically stored in the database, requiring an explicit maintenance strategy to synchronize its content with changes in the base tables.} + +The use of materialized views introduces a maintenance cost similar to that of indexes. Every time a base table changes, the materialized view must be updated, either immediately or on a periodic schedule. Because the number of possible views is virtually infinite, modern systems use automated tuning advisors. These tools analyze a query log to identify representative workloads and then use a greedy algorithm to recommend the combination of indexes and materialized views that will provide the greatest overall benefit to the system's performance. + +\section{Strategic Balance in Database Design} + +The successful implementation of a database requires a strategic balance between logical flexibility and physical efficiency. Virtual views provide the necessary abstraction to simplify application development and manage data security. Meanwhile, the careful selection of indexes and materialized views ensures that the system remains responsive as the volume of data grows. + +By employing a formal cost model based on disk access times, designers can objectively evaluate the merits of different storage configurations. The goal is to reach a state where the most frequent and critical operations are prioritized, even if it necessitates a penalty for less common tasks. This continuous process of tuning and optimization is a hallmark of modern relational database management, allowing these systems to handle massive datasets while providing the illusion of instantaneous access to information. An index on a primary key, for example, is almost always beneficial because it is frequently queried and guarantees that only a single block needs to be retrieved to find a unique record. In contrast, an index on a frequently updated non-key attribute requires a more nuanced analysis to ensure it does not become a performance bottleneck. + +Ultimately, the choice of views and indexes defines the operational efficiency of the entire information system. A well-designed logical and physical schema acts as the foundation for scalable, high-performance applications, enabling efficient data exploration and robust transaction processing in even the most demanding environments.```