Diese Weiterbildung richtet sich an Softwareentwickler, die ihre Kenntnisse in der Datenbankentwicklung vertiefen möchten. Sie vermittelt fortgeschrittene Techniken in der Gestaltung, Entwicklung und Optimierung von Datenbanken sowie der Integration in Softwarelösungen. Teilnehmende lernen, komplexe Datenbankstrukturen zu erstellen, Abfragen zu optimieren, Sicherheitsmaßnahmen umzusetzen und Datenbanken in Cloud- und Microservice-Architekturen zu integrieren. Die Weiterbildung bietet einen Ansatz, um Datenbanken für professionelle Softwareanwendungen zu entwickeln, zu verwalten und zu skalieren.
Grundlagen der Datenbankentwicklung- Überblick über relationale und NoSQL-Datenbanken (MySQL, PostgreSQL, MongoDB, etc.)
- Erstellung und Verwaltung von Tabellen, Sichten und Indizes
- Datenmodellierung: Entitäten, Relationen, Normalisierung und denormalisierte Datenstrukturen
- Grundlagen der Datenbankabfragen in SQL: SELECT, INSERT, UPDATE, DELETE
Erweiterte SQL-Techniken für Datenbankentwickler
- Komplexe SQL-Abfragen und Joins (INNER JOIN, LEFT JOIN, RIGHT JOIN)
- Subqueries, Aggregatfunktionen und Fensterfunktionen
- Transaktionsmanagement: ACID-Prinzipien und Isolationsebene
- Optimierung von SQL-Abfragen für hohe Performance
Datenbankdesign und Modellierung
- Erstellung von Entity-Relationship-Diagrammen (ERD) für komplexe Datenmodelle
- Normalisierung von Datenmodellen (1NF, 2NF, 3NF)
- Techniken zur effizienten Datenmodellierung für skalierbare Systeme
- Verwendung von ORM (Object-Relational Mapping) und Datenbankzugriffsframeworks (z.B. Hibernate)
Datenbankprogrammierung und Automatisierung
- Verwendung von Stored Procedures, Triggers und User-Defined Functions (UDFs)
- Automatisierung von Routineaufgaben in der Datenbank (z.B. Datenmigrationen, Backups)
- Implementierung von Batch-Prozessen zur Datenverarbeitung
- Einsatz von Skriptsprachen wie Python oder Bash zur Datenbankadministration
Datenbankoptimierung und Performance-Tuning
- Indexierung und deren Auswirkung auf Abfrageperformance
- Datenbank-Cache-Strategien und die Verbesserung der Antwortzeit
- Monitoring von Datenbanksystemen: Identifikation und Behebung von Engpässen
- Anwendung von Partitionierung, Sharding und Replikation zur Lastenverteilung und Skalierung
Sicherheit in der Datenbankentwicklung
- Einrichtung und Verwaltung von Benutzerrollen und Berechtigungen
- Verwendung von Verschlüsselungstechniken (z.B. SSL/TLS, Transparent Data Encryption)
- Schutz vor SQL-Injektionen und anderen häufigen Sicherheitslücken
- Backup-Strategien und Wiederherstellungspläne zur Sicherung von Datenintegrität
Datenbankintegration und APIs
- Entwicklung und Verwaltung von RESTful APIs für Datenbankanwendungen
- Integration von Datenbanken in moderne Softwarearchitekturen (Microservices, Event-Driven)
- Einsatz von Webframeworks (z.B. Django, Flask, Spring) zur Anbindung von Datenbanken an Web-Anwendungen
- Asynchrone Datenbankzugriffe und Performance-Optimierungen in APIs
Cloud-Datenbanken und verteilte Systeme
- Einführung in Cloud-Datenbanken (AWS RDS, Azure SQL, Google Cloud SQL)
- Verwendung von NoSQL-Datenbanken in Cloud-Umgebungen
- Einsatz von verteilten Datenbanken für hochverfügbare Systeme und Data Warehousing
- Implementierung von Datenbank-Replication und Clustering in der Cloud
Projekte und Real-Life-Anwendungen
- Entwicklung einer vollständigen datenbankgestützten Anwendung
- Optimierung bestehender Datenbankstrukturen und -abfragen in realen Projekten
- Implementierung von Cloud-basierten Datenbanken und deren Verwaltung
- Praktische Übungen zur Datenbankmodellierung und API-Entwicklung
Zugangsvoraussetzungen
- grundlegendes Interesse an IT und Programmierung
- eine abgeschlossene Ausbildung, ein IT-Studium oder eine entsprechende Anpassungsqualifizierung; oder ein bestandener Eignungstest
- Sprachniveau B1 in Deutsch