Einführung Datenbanken
Kursthemen
-
-
Aus Lernfeld 4e
Datenbankmodelle unterscheiden, Daten organisieren und speichern sowie Abfragen erstellen
Entwickeln, Erstellen und Betreuen von IT-Lösungen (§ 4 Absatz 2 Nummer 4)
-
- Einführung in verschiedene Datenbankmodelle.
- Verständnis für die Bedeutung und den Einsatz von Datenbankmodellen.
-
Es gibt sehr verschiedene Möglichkeiten die Datenmodelle einer Datenbank zu gestalten.
Hierarchisches Modell: Baumartige Anordnung von Daten.
Entity-Relationship-Modell (ERM): Entitäten, Beziehungen, Attribute.
Semantische Datenmodelle: Erfassung der Bedeutung von Daten.
Objektorientierte Datenmodelle: Kapselung, Vererbung, Polymorphie.
-
- Verstehen der Rolle der Informationsbeschaffung in der Datenbankentwicklung.
- Anwendung von Techniken zur Anforderungsanalyse
-
- Informationsbeschaffung:
- Methoden: Interviews, Fragebögen, Beobachtungen.
- Ziel: Ermittlung der Anforderungen der Benutzer und der Organisation.
- Anforderungsanalyse:
- Definition von Zielen und Grenzen der Datenbank.
- Erstellung eines Lastenhefts oder Pflichtenhefts.
- Informationsbeschaffung:
-
Bei der Entwicklung einer Datenbank ist es wichtig, die Ziele und Anforderungen sowohl der Benutzer als auch der Organisationen zu definieren. Diese Anforderungen bilden die Grundlage für die Gestaltung und Implementierung der Datenbank.
-
Nach DIN 69901-5 (Begriffe der Projektabwicklung) beschreibt das Lastenheft die "vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers innerhalb eines Auftrages". Im Rahmen eines Werkvertrages oder Werkliefervertrages und der dazugehörenden formellen Abnahme beschreibt das Lastenheft präzise die nachprüfbaren Leistungen und Lieferungen.
Das Thema ist Lastenheft ist Teil der Moduls "Projektmanagement und Projektarbeit" und wird dort detailiert vorgestellt. -
Was sind Sinn und Inhalt eines Lastenhefts?
5 Minuten Video für den ersten Kontakt mit dem Begriff. -
als Grundlage für die Entwicklung einer Datenbank in einem umfassenden Projekt.
-
kann ein Hilfsmittel zur Auflistung der Anforderungen sein.
Es geht darum, die alle Schritte, die ein Nutzer der Anwendung durchläuft, zu verstehen und zu visualisieren.
-
Folgende Schritte bei der Nutzung des Anwendung sind denkbar:
1User ganz neu
2User, der schon mal da war und registriert ist
3DB Admin
4Anbieter von Praktika, AG
User Journey 1
Ruft Seite auf ( https::xyz.de )
Datenschutz regeln, bestätigen, ablehnen usw.
Menue
Sieht erste n Angebote, die in seiner Umgebung liegen.
Umgebung: x Kilometer im Umkreis zu seinem angenommenen Standort,
ermittelt aus IP
Falls die IP Adresse falsch ausgewertet wurde, soll er einen neuen
Standort eigeben können.
Die Trefferliste zeigt Details zu den gefundenen Angeboten.
Der User sortiert die Liste nach Details.
Der User soll die Trefferliste filtern können.
Der User kann mehrere Angebote markieren und weiter verfolgen, vergleichen
Der User kann einen Eintrag auswählen und mehr Details erhalten.
Anbieten sich zu registrieren , um folgende Vorteile zu haben
- automatisierte weitere Angebote erhalten
- Daten zu bereits besuchten Angeboten speichern
- Bewerbungen nachverfolgen
- andere Vorteile ....
- Bei der Registrierung werden folgende Daten hinterlegt:
x,y,z ..........
2 User mit Account
Ruft Seite auf.
Login
Datenschutz regeln, bestätigen, ablehnen usw.
Menue
Sieht die Liste vorgewählter Angebote
Sieht neue Angebote
Sieht Reaktionen auf laufende Bewerbungen.
Kann sein Profil ändern, neues Passwort anfordern
Kann sich abmelden
Kann ein Kontaktformular nutzen
Kann Dateien, Lebenslauf usw, hochladen
3DB Admin
Einträge pflegen
User freischalten, Passworte zurücksetzen
Backup
4Anbieter von Praktika, AG
Angebote erstellen, pflegen ( löschen, usw. )
Auf Bewerbungen reagieren
Aktive Suche von geeigneten Bewerbungen
Analyse, Statistik -
Bitte erstelle Sie möglichst präzies und umfassend die "Funktionalen und Nicht-Funktionalen Anforderungen" des Projektes.Ziele einer präzisen Formulierung:
- Eindeutigkeit: Die Anforderungen müssen so klar und unmissverständlich formuliert sein, dass keine Interpretationsspielräume bestehen.
- Vollständigkeit: Alle relevanten Funktionen müssen erfasst werden.
- Konsistenz: Die Anforderungen dürfen sich nicht widersprechen.
- Nachvollziehbarkeit: Die Begründung für jede Anforderung sollte nachvollziehbar sein.
- Testbarkeit: Die Anforderungen müssen so formuliert sein, dass sie überprüfbar sind.
Hier sind einige Beispiele für die möglichen Formulierungen:
1. Funktionale Anforderungen
Diese beschreiben, was das System tun soll.
Musterformulierung:
"Die Datenbank muss in der Lage sein, Transaktionen innerhalb von X Sekunden zu verarbeiten, um eine optimale Benutzererfahrung zu gewährleisten."
"Die Anwendung soll eine Suchfunktion bereitstellen, die es Benutzern ermöglicht, Stellenangebote nach Kategorien, Standort und Schlüsselwörtern zu filtern."
"Es muss möglich sein, neue Datensätze (z.B. Stellenangebote, Benutzerprofile) über die Benutzeroberfläche anzulegen, zu bearbeiten und zu löschen."Detaillierte Funktionen:
Der Benutzer soll in der Lage sein, ... (z.B. "Der Benutzer soll in der Lage sein, seine persönlichen Daten einzusehen und zu ändern.")
Das System muss folgende Datenfelder enthalten: (z.B. "Das System muss folgende Datenfelder enthalten: Name, Vorname, Geburtsdatum, Adresse.")
Bei Eingabe von ... muss ... (z.B. "Bei Eingabe einer falschen E-Mail-Adresse muss eine Fehlermeldung ausgegeben werden.")
2. Nicht-funktionale Anforderungen
Diese spezifizieren Qualitätsmerkmale und Bedingungen, die das System erfüllen muss.
Musterformulierung:
"Die Datenbank soll eine Verfügbarkeit von 99,9% gewährleisten, um eine hohe Betriebszeit sicherzustellen."
"Die Ladezeiten für alle Abfragen dürfen X Sekunden nicht überschreiten, auch bei einer hohen Anzahl gleichzeitiger Benutzer."
"Die Datenbank muss skalierbar sein, um eine zukünftige Erhöhung der Datensätze um das X-fache zu bewältigen."
3. Datenintegrität und Sicherheitsanforderungen
Diese beschreiben die Anforderungen zur Sicherstellung der Datenintegrität und zum Schutz sensibler Informationen.
Musterformulierung:
"Die Datenbank muss referenzielle Integrität sicherstellen, um die Konsistenz zwischen verknüpften Tabellen zu gewährleisten."
"Alle Benutzerdaten müssen verschlüsselt gespeichert werden, um die Datensicherheit zu gewährleisten."
"Es müssen Zugriffsrechte definiert werden, sodass nur autorisierte Benutzer bestimmte Datensätze anzeigen oder ändern können." -
Relevant ist hier das Kapitel 3 Beschreibung der Anforderung
-
- Aus den Informationen und Anforderungen wird die Struktur / Datenbankmodell abgeleitet.
- Anwendung des Entity-Relationship-Modells zur Erstellung eines semantischen Modells,
-
Das Entity-Relationship-Modell (ERM) ist ein konzeptionelles Datenmodell, das verwendet wird, um die Struktur einer Datenbank zu planen und zu dokumentieren. Es hilft, die relevanten Informationen einer Domäne sowie die Beziehungen zwischen diesen Informationen zu erfassen.
Bei der Anwendung des Entity-Relationship-Modells zur Erstellung eines semantischen Modells wird zunächst die strukturelle Darstellung der Daten entwickelt. Anschließend wird die Bedeutung der Daten und ihrer Beziehungen tiefergehend analysiert und beschrieben, um sicherzustellen, dass das Modell die Realität angemessen und verständlich abbildet. -
Formulierungen für ein Semantisches Modell zur Abbildung eines ERM.
Dabei werden die Entitäten, Attribute und Beziehungen des ERM in die entsprechenden Konstrukte des semantischen Modells übersetzt. -
Tools und Techniken, die bei der Übersetzung von semantischen Modellen in SQL-Statements zur Erstellung von Datenbanktabellen helfen sind besonders nützlich, wenn Sie ein bereits bestehendes semantisches Modell haben und eine relationale Datenbank erstellen möchten, um die darin enthaltenen Informationen zu speichern und abzufragen.
-
- Überführung des semantischen Modells in ein logisches Datenmodell.
- Verständnis der Normalisierung und ihrer Bedeutung.
-
Gliederung:
Einführung in die Normalisierung
- Definition und Ziel der Normalisierung
- Historischer Hintergrund
- Bedeutung in der Datenbankentwicklung
Grundlagen der Normalisierung
- Redundanz und Anomalien in Datenbanken
- Abhängigkeiten zwischen Attributen
Normalformen
- 1. Normalform (1NF)
- Definition und Anforderungen
- Beispiel
- 2. Normalform (2NF)
- Definition und Anforderungen
- Unterschied zur 1NF
- Beispiel
- 3. Normalform (3NF)
- Definition und Anforderungen
- Unterschied zur 2NF
- Beispiel
- Boyce-Codd-Normalform (BCNF)
- Definition und Anforderungen
- Unterschied zur 3NF
- Beispiel
- 1. Normalform (1NF)
-
ERDs sind visuelle Werkzeuge, die helfen, die Struktur von Datenbanken zu entwerfen und zu verstehen, indem sie Entitäten (Objekte) und ihre Beziehungen zueinander darstellen.
Krähenfußnotation:
- Die wohl bekannteste und intuitivste Notation.
- Beziehungen werden durch Linien dargestellt, deren Endpunkte die Kardinalität (Anzahl der möglichen Verbindungen) anzeigen.
- Krähenfüße symbolisieren "viele", ein einfacher Strich "eins".
- Einfach zu verstehen und zu zeichnen.
Chen-Notation:
- Benannt nach ihrem Erfinder Peter Chen.
- Ähnlich wie die Krähenfußnotation, aber mit etwas anderen Symbolen für die Kardinalität.
- Wird oft in Prüfungen verwendet.
- Teil der Unified Modeling Language, die für die objektorientierte Modellierung verwendet wird.
- Kann für ERDs verwendet werden, bietet aber oft mehr Detaillierungsgrad als nötig.
- Gibt die minimale und maximale Anzahl von Verbindungen zwischen Entitäten an.
- Bietet eine präzise Darstellung der Kardinalität.
-
-
Beim Aufbau einer MySQL-Datenbank oder der Übernahme einer bestehenden Datenbank von einem anderen Rechner gibt es verschiedene Methoden und Werkzeuge, die je nach Anforderungen und Zielsetzung eingesetzt werden können.
- Manuell mit SQL-Befehlen
- SQL-Dump einspielen (Importieren)
- Datenbank-Management-Tools
-
-
-
Was sind die Hauptkomponenten eines Entity-Relationship-Modells (ERM), und welche Rolle spielen sie in der Datenbankmodellierung?
-
Erklären Sie den Unterschied zwischen einem physischen und einem logischen Datenmodell und wie das ERD in diesen Kontext passt.
-
Was ist die Normalisierung in Datenbanken, und warum ist sie wichtig? Beschreiben Sie die erste, zweite und dritte Normalform.
-
Erstellen Sie aus dem Beispiel eines Angebots die notwendigen Tabellen und Attribute für eine DB in der 3.NF
-
Wie würden Sie ein ERD für ein einfaches Buchungssystem erstellen, das Kunden, Buchungen und Dienstleistungen umfasst? Welche Entitäten, Attribute und Beziehungen würden Sie definieren?
-
-