Material
Materialien und Ressourcen
Abschnitt betitelt „Materialien und Ressourcen“Hier finden Sie eine Sammlung von Materialien und Ressourcen, die Ihnen bei Ihrer Arbeit helfen können.
Datenbanken
Abschnitt betitelt „Datenbanken“Empfehlung: arbeiten Sie mit Docker, dadurch können Sie Ihre Datenbankumgebung einfach und schnell einrichten und auch wieder entfernen.
Das nachfolgende docker-compose.yml legt die Konfiguration für den PostgreSQL-Server fest und startet das pgAdmin Frontend Tool. Speichern Sie diese Datei in einem leeren Verzeichnis.
services:
postgres: image: postgres:18 container_name: postgres restart: unless-stopped environment: # Change this! - POSTGRES_USER=pgadmin - POSTGRES_PASSWORD=postgres-root-password networks: - rdbms ports: - "5432:5432" volumes: - postgres-etc:/etc - postgres-data:/var/lib/postgresql
pgadmin: image: dpage/pgadmin4 container_name: pgadmin restart: unless-stopped environment: - PGADMIN_DEFAULT_PASSWORD=s3cret networks: - rdbms ports: - "3081:80" - "3443:443" volumes: - pgadmin-data:/var/lib/pgadmin
networks: rdbms:
volumes: postgres-etc: postgres-data: pgadmin-data:Ändern Sie die Umgebungsvariablen (POSTGRES_USER, POSTGRES_PASSWORD, PGADMIN_DEFAULT_EMAIL, PGADMIN_DEFAULT_PASSWORD) entsprechend.
Anschließend können Sie die Container mit dem folgenden Befehl starten:
docker-compose up -dDamit haben Sie einen PostgreSQL-Server auf Port 5432 und pgAdmin auf Port 3081 laufen. Verbinden können Sie sich mit:
- http://localhost:3081 - Loggen Sie sich hier mit den Werten von
PGADMIN_DEFAULT_EMAILundPGADMIN_DEFAULT_PASSWORDein. - Auf
localhost:5432lauscht der Datenbank Server.
Wenn Sie bei sich lokal auch den PostgeSQL-Client installiert haben, können Sie sich mit folgendem Befehl verbinden:
psql -h localhost -U pgadmin -d postgresVerwenden Sie die Zugangsdaten, die Sie in der docker-compose.yml angegeben haben.
Um einen MariaDB Server und das PhpMyAdmin Tool zu installieren, legen Sie in einem leeren Verzeichnis diese Datei an docker-compose.yml:
services:
mariadb: image: mariadb:latest container_name: mariadb restart: unless-stopped environment: # Change this! - MARIADB_ROOT_PASSWORD=mariadb-root-password networks: - rdbms ports: - "3306:3306" volumes: - mariadb-etc:/etc - mariadb-data:/var/lib/mysql - ./init.d:/docker-entrypoint-initdb.d
phpmyadmin: build: context: ./phpmyadmin container_name: phpmyadmin restart: unless-stopped environment: - PMA_ARBITRARY=1 - PMA_PMADB="phpmyadmin" networks: - rdbms ports: - "3082:80"
networks: rdbms:
volumes: mariadb-etc: mariadb-data:PhpMyAdmin legt Konfigurationswerte in einer eigenen Datenbank auf dem MariaDB-Server ab. Sorgen Sie dafür, dass zu Beginn, beim allerersten Start des Servers, diese Datenbank und die benötigten Tabellen angelegt werden können.
Erzeugen Sie das obige docker-compose.yml und legen Sie genau dort daneben auch ein Verzeichnis init.d an. Laden Sie darin die Datei 01-phpmyadmin_create_tables.sql (siehe unten) herunter.
Ordnerinit.d/
- 01-phpmyadmin_create_tables.sql
Ändern Sie die Umgebungsvariablen (MARIADB_ROOT_PASSWORD).
Anschließend können Sie die Container mit dem folgenden Befehl starten:
docker-compose up -dDamit haben Sie einen MariaDB-Server auf Port 3306 und phpMyAdmin auf Port 3082 laufen. Verbinden können Sie sich mit:
mysql -h localhost -u root -p- http://localhost:3082 - Hier sollte nun PhpMyAdmin erreichbar sein. Loggen Sie sich hier mit dem User
rootund dem Wert vonMARIADB_ROOT_PASSWORDein. - Auf
localhost:3306lauscht der Datenbank Server.
Wenn Sie bei sich lokal auch den MariaDB-Client installiert haben, können Sie sich mit folgendem Befehl verbinden:
mysql -h localhost -u root -pVerwenden Sie die Zugangsdaten, die Sie in der docker-compose.yml angegeben haben.
Beispieldatenbank
Abschnitt betitelt „Beispieldatenbank“- Northwind PostgreSQL DB, eine Variante der bekannten Schulungs-Northwind-Datenbank für PostgreSQL.
Datenbanken
Abschnitt betitelt „Datenbanken“Tools und Dokumentation
Abschnitt betitelt „Tools und Dokumentation“-
Ein weiteres gutes SQL-Tutorial
Bücher, Artikel und Websites
Abschnitt betitelt „Bücher, Artikel und Websites“- [1] E. Fuchs, SQL - Grundlagen und Datenbankdesign (Stand 2021), 1st ed. HERDT-Verlag, Jul. 2021. ISBN: 978-3-98569-009-1.
- [2] Views (Virtual Tables) in SQL, DataCamp Inc., “https://www.datacamp.com/tutorial/views-in-sql” (accessed Sep. 22, 2025).
- [3] Materialized View pattern, Microsoft, “https://learn.microsoft.com/en-us/azure/architecture/patterns/materialized-view” (accessed Sep. 23, 2025).
- [4] P. Chen, The Entity-Relationship Model - Toward a Unified View of Data in ACM Transactions on Database Systems, vol. 1, pp. 9-36, Mar. 1976, doi: 10.1145/320434.320440, https://doi.org/10.1145/320434.320440 (accessed Sep. 29, 2025).
- [5] Chen Notation Solution, CS Odessa Corp., “https://www.conceptdraw.com/solution-park/software-chen-notation” (accessed Nov. 12, 2025).
- [6] A Guide to the Entity Relationship Diagram (ERD), DATABASE STAR: HOME, “https://www.databasestar.com/entity-relationship-diagram/” (accessed Nov. 12, 2025).
- [7] OLTP vs OLAP: A Beginner’s Guide to Data Systems, DataCamp Inc., “https://www.datacamp.com/blog/oltp-vs-olap” (accessed Nov. 24, 2025).
- [8] File:OLAP slicing en.png, Wikipedia, “https://en.wikipedia.org/wiki/File:OLAP_slicing_en.png” (accessed Nov. 24, 2025).
- [9] Database Management System Market Size Report, 2030, Grand View Research, “https://www.grandviewresearch.com/industry-analysis/database-management-system-dbms-market” (accessed Dec. 3, 2025).
- [10] SQLite, Devopeida, https://devopedia.org/sqlite#Kreibich-2010 (accessed Dec. 4, 2025).
- [11] The Power of Redis in Transforming Real-Time Applications, Venturenox, https://venturenox.com/blog/the-power-of-redis-in-transforming-real-time-applications/ (accessed Dec. 4, 2024).
- [12]PostgreSQL: The World’s Most Advanced Open Source Relational Database, PostgreSQL Global Development Group, https://www.postgresql.org/ (accessed Mar. 17, 2026).
- [13] B-tree, Parewa Labs Pvt. Ltd, https://www.programiz.com/dsa/b-tree (accessed Mar. 17, 2026).
- [14] PostgreSQL TOAST, Virtual DBA, https://virtual-dba.com/blog/postgresql-toast-tables-inflate-temporary-disk-usage-and-how-to-manage-it/ (accessed Mar. 17, 2026).
- [15] Structure of Data in the PostgreSQL Database, Hevo Data Inc. 2026, https://mini-docs.hevodata.com/destinations/databases/postgresql/postgresql-data-structure/ (accessed Mar. 17, 2026).
- [16] How to Recover Data with Point-in-Time Recovery in PostgreSQL, OneUpTime, HackerBay, (https://oneuptime.com/blog/post/2026-01-25-point-in-time-recovery-postgresql/view) (accessed Mar. 17, 2026).