From 970f7c0bba7d9fdd50b67a50efaffb48ede2bb2c Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Fri, 3 Jul 2026 15:27:42 +0200 Subject: [PATCH] [DMDB] Memory management --- .../assets/db-system-entity-relationship.png | Bin 0 -> 6248 bytes .../dmdb/assets/db-system-page-lists.png | Bin 0 -> 28514 bytes .../dmdb/assets/db-system-record-ordering.png | Bin 0 -> 32456 bytes .../dmdb/data-modelling-databases-summary.pdf | Bin 958535 -> 1040526 bytes semester4/dmdb/glossary/acronyms.tex | 3 + semester4/dmdb/glossary/basics.tex | 4 ++ .../01_search-space/02_execution-model.tex | 5 +- .../00_memory/01_blocks-pages.tex | 0 .../00_memory/01_physical-logical.tex | 37 ++++++++++ .../00_memory/02_record-layout.tex | 37 ++++++++++ .../00_memory/03_data-in-blocks-and-pages.tex | 48 +++++++++++++ .../00_memory/04_row-vs-column-store.tex | 29 ++++++++ .../00_memory/05_execution-models.tex | 66 ++++++++++++++++++ semester4/dmdb/parts/03_systems/main.tex | 5 ++ 14 files changed, 232 insertions(+), 2 deletions(-) create mode 100644 semester4/dmdb/assets/db-system-entity-relationship.png create mode 100644 semester4/dmdb/assets/db-system-page-lists.png create mode 100644 semester4/dmdb/assets/db-system-record-ordering.png delete mode 100644 semester4/dmdb/parts/03_systems/01_database-engines/00_memory/01_blocks-pages.tex create mode 100644 semester4/dmdb/parts/03_systems/01_database-engines/00_memory/01_physical-logical.tex create mode 100644 semester4/dmdb/parts/03_systems/01_database-engines/00_memory/02_record-layout.tex create mode 100644 semester4/dmdb/parts/03_systems/01_database-engines/00_memory/03_data-in-blocks-and-pages.tex create mode 100644 semester4/dmdb/parts/03_systems/01_database-engines/00_memory/04_row-vs-column-store.tex create mode 100644 semester4/dmdb/parts/03_systems/01_database-engines/00_memory/05_execution-models.tex diff --git a/semester4/dmdb/assets/db-system-entity-relationship.png b/semester4/dmdb/assets/db-system-entity-relationship.png new file mode 100644 index 0000000000000000000000000000000000000000..1a731d82c5c0d4934839f7e47c43b2469fd0c718 GIT binary patch literal 6248 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 z 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 literal 0 HcmV?d00001 diff --git a/semester4/dmdb/assets/db-system-record-ordering.png b/semester4/dmdb/assets/db-system-record-ordering.png new file mode 100644 index 0000000000000000000000000000000000000000..478f539efe6767318bae438bdd1de1dc72c7027e GIT binary patch literal 32456 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