Miniwelt: eine auf die relevanten Daten reduzierte Darstellung eines Ausschnitts der realen Welt, die als Grundlage für die Modellierung und das Design der Datenbank dient.
Geschäftsregeln: sind die Regeln welche die Beziehung der Entitäten zueinander Regeln, sie sind wichtig um die Datenintegrität sicher zu stellen. Zu den Geschäftsregeln gehören:
Kardinalität: Anzahl der Entitäten einer Beziehung
Optionalität: Regelt, ob die Entität immer in der Beziehung stehen muss, oder diese Optional ist.
Datenstruktur modellieren:
Klassifikation: Alle Objekte mit gemeinsamen Eigenschaften werden zu einer Klasse zusammengefasst. Dabei werden nicht alle Attribute berücksichtigt, sondern nur die für die Aufgabe relevanten.
Aggregation: Bereits bestehende Klassen werden zu einer Oberklasse zusammengefasst.
Generalisierung: Zusammenfassung mehrerer spezieller Entitäten zu einer allgemeineren Entität, um Gemeinsamkeiten zu abstrahieren. (z.B.: Ober- und Unterstufenschüler zu Schüler)
Spezialisierung: Aufteilung einer allgemeinen Entität in mehrere spezielle Entitäten, um Unterschiede zu berücksichtigen. (z.B.: Schüler in Ober- und Unterstufenschüler)
Im Rahmen der Datenbankstrukturierung erfolgt zunächst die Erstellung eines Entity-Relationship-Modells (ERM). Dieses dient als Grundlage für die detaillierte Konzeption eines relationalen Datenbankschemas, aus dem die notwendigen Attribute (Spalten) des relationalen Modells abgeleitet werden können.
Wichtige Ergänzungen zum ERM:
Entitätsmenge: Konkrete Sammlung von Entitäten des gleichen Typs (unterschiedliche Attribute)
Schwache Entitäten: Nur durch Kombination mit dem Schlüssel einer dominanten Entität identifizierbar (wie Klassen verschiedener Schulen). Dargestellt durch doppeltes Rechteck + Pfeil auf dominante Entität
Sub- bzw.- Supertypen: Ein Subtyp ist eine untermenge eines übergeordneten Supertypen. Alle Eigenschaften des Supertypen werden an den Subtypen vererbt. Ein Subtyp ist somit ein spezialisiertes Objekt seines Supertyps. Dargestellt durch eine is-a Beziehung.
Anomalien:
Redundanzen: Mehrfache Speicherung derselben Daten innerhalb einer Datenbank (Dopplung)
Lösch-Anomalie: Beim Löschen eines Datensatzes gehen mehr als die gewünschten Informationen verloren.
—> Informationsverlust
(Wenn ein Datensatz mehrere unabhängige Informationen enthält)
Änderung-Anomalie: Nicht alle redundanten Vorkommen eines Attributwertes werden geändert
—> Inkonsistente Daten
(Wenn gleiche Informationen Redundant (Mehrfach) vorliegen)
Einfüge-Anomalie: Neue Tupel können nicht eingetragen werden, da nicht für alle Attribute des Primärschlüssels Werte vorliegen.
—> Informationen werden nicht aufgenommen
(Wenn nicht für alle Attribute des Primärschlüssels Angaben getroffen werden)
Normalisierung:
Zur Erzeugung von möglichst redundanzarmen Relationen, sodass kein anormales Verhalten eintritt
1. Normalform (1NF): Jedes Attribut in einem Datensatz ist atomar und vollständig vom Primärschlüssel abhängig.
[Einzelne Attribute in mehrere aufteilen / mehrere Attributwerte in einzelne Datensätze speichern ] —> Primärschlüssel ggf. erweitern
2. Normalform (2NF): Zusätzlich zur 1NF darf jedes Nicht-Schlüssel-Attribut nur von dem gesamten Primärschlüssel abhängig sein, und zwar voll Funktional.
[Ggf. die Tabelle an Primärschlüsseln aufspalten, die als Primärschlüssel der neuen Tabellen dienen.] —> ggf. mit Fremdschlüsseln Arbeiten
3. Normalform (3NF): Zusätzlich zur 2NF darf es keine transitiven Abhängigkeiten zwischen Nicht-Schlüssel-Attributen geben.
—> Jedes Nicht-Schlüssel-Attribut in einer Tabelle sollte vom Schlüssel, vom gesamten Schlüssel und von nichts anderem als dem Schlüssel abhängen. [In Zwei Tabellen aufspalten]
Data Query Language [SELECT...FROM...WHERE...ORDER BY...]:
SELECT: Ruft Daten aus einer oder mehreren Tabellen ab.
FROM: Gibt die Tabelle(n) an, aus denen Daten abgerufen werden sollen.
WHERE: Filtert die abgerufenen Daten basierend auf bestimmten Bedingungen.
GROUP BY: Gruppiert die Ergebnisse nach einer oder mehreren Spalten und wendet Aggregatfunktionen an.
ORDER BY: Sortiert die Ergebnisse nach einer oder mehreren Spalten. [ASC, DESC]
SQL JOIN-Typen: [...From Tabelle1 __ Tabelle2 on Tabelle1.Spalte = Tabelle2.Spalte]:
INNER JOIN: Übereinstimmende Datensätze
LEFT OUTER JOIN: Alle Datensätze aus der linken Tabelle + übereinstimmende Datensätze aus der rechten Tabelle
RIGHT OUTER JOIN: Alle Datensätze aus der rechten Tabelle + übereinstimmende Datensätze aus der linken Tabelle
FULL OUTER JOIN: Alle Datensätze aus beiden Tabellen (auch ohne übereinstimmende Werte)
CROSS JOIN: Alle möglichen Kombinationen von Datensätzen aus beiden Tabellen
Union: kombiniert die Ergebnisse von zwei oder mehr SELECT-Anweisungen in einem einzigen Ergebnisset (Eine Spalte).
Aggregatfunktionen [SELECT __(Spaltenname) FROM...]:
COUNT(): Zählt die Anzahl der Datensätze in einer Spalte.
SUM(): Berechnet die Summe der Werte in einer Spalte.
AVG(): Berechnet den Durchschnitt der Werte in einer Spalte.
MAX(): Gibt den maximalen Wert in einer Spalte zurück.
MIN(): Gibt den minimalen Wert in einer Spalte zurück.
SQL Operatoren: [...WHERE Tabelle1 __ Tabelle2]:
Arithmetische Operatoren: (+, -, *, /, %)
Vergleichsoperatoren: (=, <, >, <=, >=, !=)
Logische Operatoren: (AND, OR, NOT)
Zeichenkettenoperatoren: (LIKE '_Text%')
Mengenoperatoren: (IN, NOT IN)
Sonderoperatoren: (BETWEEN, IS NULL, IS NOT NULL)