Dies ist eine alte Version des Dokuments!
LU01d - DB
Damit wir im späteren Verlauf des Semesters Objekte persistieren können, benötigen wir eine Datenbank.
Folgende Datenbankmanagementsysteme (DBMS), beziehungsweise Database Engines sind in der Software-Entwicklung gebräuchlich:
- MySQL – weit verbreitetes Open-Source-DBMS, häufig für Webanwendungen im Einsatz. https://www.mysql.com/
- PostgreSQL – objektrelationales Open-Source-DBMS mit starkem Fokus auf Standards und Erweiterbarkeit. https://www.postgresql.org/
- Oracle Database – kommerzielles, leistungsfähiges Enterprise-DBMS mit umfassenden Features für große Unternehmen. https://www.oracle.com/database/
- Microsoft SQL Server – relationales DBMS von Microsoft, oft in Kombination mit dem .NET-Ökosystem genutzt. https://www.microsoft.com/en-us/sql-server
- SQLite – leichtgewichtiges, dateibasiertes DBMS, das häufig in mobilen Apps und Embedded-Systemen verwendet wird. https://sqlite.org/
- H2 – schlankes, Java-basiertes In-Memory-DBMS, oft in Testszenarien und kleineren Projekten eingesetzt. https://www.h2database.com/html/main.html
- MongoDB – dokumentenorientiertes NoSQL-DBMS, das JSON-ähnliche Datenstrukturen speichert und hohe Flexibilität bietet. https://www.mongodb.com/
In diesem Modul werden wir PostgreSQL einsetzen. Laden Sie dazu die Version 17 herunter und installieren Sie diese.
Die Installation kann mit folgendem Befehl überprüft werden.
psql --version
Der Standardbenutzer heisst postgres
. Damit könnten Sie bereits einzelne DQL-Statements ausführen.
Dank der Konfiguration in der Datei hba_file
sollte der Zugriff mit diesem Benutzer von derselben Maschine aus kein Password erfordern.
psql -U postgres -c "SELECT * FROM pg_catalog.pg_user;"
Erstellen Sie einen Benutzer mit einem Namen und Passwort Ihrer Wahl.
psql -U postgres -c "CREATE USER localuser WITH PASSWORD 'secret' WITH LOGIN;"
Dieser Benutzer sollte nun aufgelistet sein.
psql -U postgres -c "SELECT * FROM pg_catalog.pg_user;"
Sie können nun eine Datenbank anlegen und anstatt postgres
Ihren eigenen Benutzer als Besitzer definieren. Damit trennen Sie die Serveradministration von der Datenbankministration.
psql -U postgres -c "CREATE DATABASE localdb OWNER localuser;"