Was sind Sequentielle Daten?
− … sind Daten, die als Sequenz abgespeichert werden …
− … und auf die nur in der Reihenfolge zugegriffen werden kann
− … können als Dateien vorliegen
− … oder programmintern als Listen, Tupel, Sets, Dictionaries bzw. allgemein
als Arrays
− Zugriff über sequentielles Lesen bzw. Indices
Sequentielle Daten (auch Sequenzen genannt) sind Daten, die in einer festen Reihenfolge gespeichert sind. Du kannst auf jedes Element über seinen Index zugreifen – also über seine Position.
Welche Kriterien müssen Daten erfüllen?
− Persistenz (dauerhafte Abspeicherung)
− Integrität (Korrektheit, Vollständigkeit, Anforderungen der referentiellen Integrität)*
− Konsistenz (Widerspruchsfreiheit)
− In der Praxis wird dies durch Datenbanksysteme erzielt: Daten werden (idealtypisch) genau an einem Ort einmal abgelegt und verschiedenen Programmen zur Verfügung gestellt
Was sind Datenbankmanagementsysteme (DBMS)?
Datenbankmanagementsysteme (DBMS) sind Programme, die dir helfen, Daten einfach zu speichern, zu verwalten und wiederzufinden.
🔍 Kurz erklärt:Datenbankmanagementsysteme (DBMS) sind Programme, die dir helfen, Daten einfach zu speichern, zu verwalten und wiederzufinden.
Was für Datenbankmodelle gibt es?
-Hierarchische Datenbanken
• Netzwerkdatenbanken
• Relationale Datenbanken
• Objektorientierte Datenbanken
• Nicht-relationale / NoSQL-Datenbanken (z.B. dokumentenorientierte
Datenbanken, auf Basis semistrukturierter Daten wie JSON oder XML)
Was ist das ANSI-Sparc-Konzept?
Das ANSI-SPARC-Konzept ist ein Modell, das beschreibt, wie Datenbanken aufgebaut sein sollten, damit sie flexibel, sicher und unabhängig von Programmen funktionieren.
Was ist die Entity-Relationship-Modellierung (ERM)?
Die Entity-Relationship-Modellierung (ERM) ist eine Methode, um Daten logisch zu planen und darzustellen – bevor man die Datenbank baut.
Entität
Eine Entität (entity) ist ein Objekt, das eindeutig identifizierbar ist.
Beispiel:
Entitätstyp
Ein Entitätstyp (entity type) ist eine Typisierung gleichartiger Entitäten z. B.
Angestellter, Projekt, Buch, Autor, VerlagC
Attribute
Ein Entitätstyp hat bestimmte Eigenschaften (Attribute) mit einem bestimmten
Wertebereich (Domain).
Entitätsmenge (entity set)
Eine Entitätsmenge ist die Gesamtheit aller Entitäten eines bestimmten Entitätstyps.
✅ Merkmale:
Alle Entitäten gehören zum selben Typ (z. B. Student)
Sie haben dieselben Attribute, aber unterschiedliche Werte
Sie bilden zusammen eine logische Sicht auf die Datenwelt
—————-
Einfache Attribute
(atomare / simple attributes)
Nicht zusammengesetzt, bestehen aus einem einzigen Wert, der für sich allein steht.
📌 Beispiel:
Vorname = "Anna"
Preis = 19.99
🧠 Merksatz:
„Ein Wert, klar und allein – wie ein Vorname.“
Zusammengesetzte Attribute
(composite attributes)
Bestehen aus mehreren Teilwerten, die getrennt sinnvoll sind.
Adresse besteht aus:
Straße = "Hauptstr. 5"
PLZ = "12345"
Ort = "Berlin"
„Ein Attribut aus vielen Teilen – wie eine Adresse.“
Einwertige Attribute
(single-valued attributes)
Ein Attribut, das pro Entität genau einen Wert haben kann.
Geburtsdatum = 01.01.2000
Matrikelnummer = 20251234
„Pro Person ein Wert – nicht mehr.“
Mehrwertige Attribute
(multi-valued attributes)
Ein Attribut, das mehrere Werte gleichzeitig haben kann.
Telefonnummer = ["0123 456789", "0176 123456"]
Sprachen = ["Deutsch", "Englisch"]
„Ein Feld, viele Antworten – wie bei Sprachen.“
Abgeleitete Attribute
(derived attributes)
Der Wert wird berechnet oder abgeleitet aus anderen Attributen.
Alter ergibt sich aus: heutiges Datum - Geburtsdatum
Anzahl_Bestellungen ergibt sich aus: gezählte Datensätze in “Bestellung”
„Der Wert wird nicht gespeichert, sondern berechnet.“
📘 Zusatz: abgeleitetes Attribut
Zum Beispiel:
Alter → abgeleitet aus Geburtsdatum + heutigem Datum
💡 Beispiel für Entitätstyp (wie in der Aufgabe gefordert):
Entitätstyp: Student
Attribute:
Matrikelnummer (einwertig, einfach)
Name (einwertig, zusammengesetzt: Vorname, Nachname)
Sprachen (mehrwertig, einfach)
Adresse (einwertig, zusammengesetzt)
Alter (abgeleitet aus Geburtsdatum)
Beziehung (Relationship)
ERM
Eine Verknüpfung zwischen zwei oder mehr Entitäten, dargestellt durch ein Verb oder eine Tätigkeit.
Angestellter Müller → leitet → Projekt 3232
Assoziation
Beschreibt wie viele Entitäten vom Typ E2 zu einer Entität vom Typ E1 gehören können – also die fachlich-logische Verbindung.
Ein Projekt kann von einem oder mehreren Angestellten bearbeitet werden. → Assoziation: Projekt → Angestellter
Gegenassoziation
Die umgekehrte Richtung der Assoziation.
→ Beide zusammen ergeben die vollständige Beziehung.
Assoziation: Projekt wird bearbeitet von Angestelltem
Gegenassoziation: Angestellter bearbeitet Projekt
Multiplizität
Zeigt wie viele Entitäten beteiligt sein dürfen oder müssen. Sie besteht aus:
a) Kardinalität (maximale Anzahl)
Beschreibt, wie viele Verbindungen maximal erlaubt sind.
Ein Angestellter leitet maximal ein Projekt → Kardinalität = 1
Ein Projekt kann viele Angestellte haben → Kardinalität = N
b) Partizipation (ob Pflicht oder optional)
• Zeigt, ob jede Entität mitmachen muss, oder nur manche.
• Jeder Angestellte muss mindestens ein Projekt leiten
→ vollständige Partizipation
• Manche Projekte werden vielleicht noch von niemandem geleitet
→ partielle Partizipation
eine Projektleitung leitet 0 oder 1 Projekte, 1 Projekt wird von genau einer Projektleitung geleitet):
Lösung:
Verschiedene Entitätstypen können sich auf Untermengen einer größeren
Gesamtheit beziehen und in wesentlichen Teilen identische Attribute haben.
Nenne ein Beispiel.
Was ist eine Aggregation im ERM?
Eine Aggregation ist eine hierarchische Beziehung, bei der ein „Ganzes“ aus Teilen besteht, die unabhängig voneinander existieren können.
Beispiel: Ein Auto hat Räder. Die Räder könnten auch ohne das Auto existieren.
Gib ein Beispiel für eine Aggregation!
Auto (Ganzes) ––hat––> Rad (Teil)
Das Rad kann auch ohne Auto existieren (z. B. als Ersatzrad).
Was ist eine Komposition im ERM?
Eine Komposition ist eine spezielle Form der Aggregation. Die Teile sind abhängig von der Gesamtheit und können nicht eigenständig existieren.
Beispiel: Ein Zimmer existiert nur innerhalb eines Hauses.
Gib ein Beispiel für eine Komposition!
Haus (Ganzes) ––hat––> Zimmer (Teil)
Ein Zimmer kann nicht ohne Haus existieren.
Woran erkennt man Aggregation und Komposition im ER-Diagramm?
Aggregation: Leere Raute
Komposition: Ausgefüllte (schwarze) Raute
Worin besteht der Hauptunterschied zwischen Aggregation und Komposition?
Aggregation: Teile können unabhängig existieren
Komposition: Teile sind von der Gesamtheit abhängig und können nicht alleine existieren
Was ist eine Beziehung / Relation in einer relationalen Datenbank?
Eine Relation ist eine Tabelle mit Zeilen und Spalten, die einen eindeutigen Namen besitzt.
Was sind Attribute in einer relationalen Datenbank?
Attribute sind die benannten Spalten einer Tabelle, deren Werte aus einem Wertebereich (Domäne) stammen.
Was ist ein Tupel (tuple) in einer relationalen Datenbank?
Ein Tupel ist eine Zeile der Tabelle (= ein Datensatz/Record), also eine Kombination von Attributwerten.
Was ist eine relationale Datenbank?
Eine Sammlung von Tabellen (Relationen), in denen die Datensätze gespeichert sind.
Wozu dienen Schlüsselattribute (keys) in relationalen Datenbanken?
Sie identifizieren eindeutig einzelne Datensätze in einer Relation.
Was ist ein Primärschlüssel (primary key)?
Ein Attribut oder eine Kombination von Attributen, die jeden Datensatz eindeutig identifizieren.
Was ist ein sprechender Schlüssel und was ist ein nicht-sprechender Schlüssel?
Sprechender Schlüssel: Attribut beschreibt die Entität (z. B. E-Mail als Benutzer-ID)
Nicht-sprechender Schlüssel: Abstraktes Attribut ohne inhaltliche Aussage (z. B. laufende Nummer, ID)
Was ist ein zusammengesetzter Schlüssel (compound key)?
Ein Schlüssel, der aus mehreren Attributen gemeinsam besteht.
In der Tabelle „Kursanmeldung“:
(Matrikelnummer, Kursnummer)
Nur die Kombination beider Werte ist eindeutig (ein Student kann mehrere Kurse haben und ein Kurs mehrere Studenten).
Was ist ein Fremdschlüssel (foreign key)?
Ein Attribut (oder eine Attributmenge), das auf einen Primärschlüssel in einer anderen Tabelle verweist.
Kunden-Nr. in der Tabelle „Bestellung“
Sie verweist auf die Kundennummer im „Kunde“-Tabelle.
Welche Problematiken kann es bei der Wahl eines Schlüssels geben?
Änderbarkeit: Sprechende Schlüssel (wie E-Mail) können sich ändern – das führt zu Problemen bei Verknüpfungen.
Datenschutz: Persönliche Daten als Schlüssel sind datenschutzkritisch.
Eindeutigkeit: Schlechte Schlüsselauswahl kann zu doppelten oder nicht eindeutig identifizierbaren Datensätzen führen.
Komplexität: Zusammengesetzte Schlüssel können zu lang und unübersichtlich werden.
Referenzielle Integrität: Änderungen am Schlüssel können Fremdschlüssel-Beziehungen beschädigen.
Verständlichkeit: Nicht-sprechende Schlüssel sind für Benutzer schwerer nachzuvollziehen.
Was sind die 1., 2. und 3. Normalform (NF) im relationalen Modell?
Was ist eine Spezialisierung/Generalisierung?
💡 Spezialisierung
Was passiert? Von einer allgemeinen Entität werden Unterschiede herausgearbeitet → Es entstehen Subklassen mit speziellen Attributen.
Ziel: Unterschiede maximieren.
Beispiel: Aus der Entität Person entstehen spezialisierte Entitäten Student und Dozent. Student hat z. B. „Studienfach“, Dozent hat „Gehalt“.
💡Generalisierung
Was passiert? Gemeinsamkeiten mehrerer Entitäten werden zusammengeführt → Es entsteht eine Superklasse.
Ziel: Gemeinsamkeiten maximieren.
Beispiel: Die Entitäten Student und Dozent haben beide „Name“, „Geburtsdatum“ usw. Diese werden in der Superklasse Person zusammengefasst.
Was sind Integritätsbedingungen und was für ein Ziel haben sie?
Was ist das Ziel?
Integritätsbedingungen sorgen dafür, dass Daten in einer Datenbank korrekt, vollständig und widerspruchsfrei bleiben. Man kann sagen: Sie sind die “Regeln für saubere Daten”.
Wie Normalisiere ich die NF1, NF2 und die NF3?
Was bedeutet DML in SQL?
DML steht für Data Manipulation Language – sie dient zur Verarbeitung von Daten in Tabellen (z. B. Einfügen, Ändern, Löschen, Abfragen).
Welche vier grundlegenden DML-Operationen kennt SQL?
INSERT → fügt Daten (Tupel) ein
SELECT → fragt Daten ab
UPDATE → ändert vorhandene Daten
DELETE → löscht Daten
Was macht der SQL-Befehl INSERT?
Er fügt neue Zeilen (Tupel) in eine Tabelle ein.
Wofür wird der SQL-Befehl SELECT verwendet?
SELECT liest Daten aus einer Tabelle aus.
Was macht der SQL-Befehl UPDATE?
UPDATE ändert vorhandene Werte in einer Tabelle.
Was bewirkt der SQL-Befehl DELETE?
DELETE löscht Zeilen aus einer Tabelle.
Wie wird dies in SQL angezeigt:
Anzeige einer gesamten Tabelle / mit Sortierung nach Preis
SELECT * FROM Produkt;
SELECT * FROM Produkt ORDER BY Stückpreis;
Wofür wird die WHERE-Klausel in SQL verwendet?
Mit WHERE kann man Zeilen mit bestimmten Bedingungen auswählen – also gezielt Daten abfragen.
Wie funktioniert eine Bedingung mit OR in der WHERE-Klausel?
Mit OR wählst du Zeilen aus, bei denen mindestens eine Bedingung erfüllt ist.
Was passiert bei einer WHERE-Klausel mit AND?
Nur Zeilen, bei denen alle Bedingungen erfüllt sind, werden ausgewählt.
Was passiert bei einem Vergleich mit AND, wenn beide Bedingungen nicht gleichzeitig stimmen?
Dann wird keine Zeile zurückgegeben (→ leere Ergebnismenge).
Was ist der Unterschied zwischen OR und AND?
Wann wird ein Tupel bei einer WHERE-Klausel ausgewählt?
Nur wenn der logische Ausdruck in der WHERE-Klausel wahr (true) ist.
Welche Vergleichsoperatoren kannst du in SQL verwenden?
= → gleich
<> oder != → ungleich
< → kleiner
> → größer
<= → kleiner gleich
>= → größer gleich
Welche logischen Operatoren gibt es in SQL?
Was bewirkt BETWEEN in einer WHERE-Klausel?
BETWEEN x AND y prüft, ob ein Wert innerhalb eines Bereichs liegt – inklusive Grenzwerte
Was macht SELECT ALL in SQL?
SELECT ALL zeigt alle Werte inklusive Wiederholungen an.
Was macht SELECT DISTINCT in SQL?
SELECT DISTINCT zeigt nur unterschiedliche (eindeutige) Werte an – doppelte Einträge werden unterdrückt.
Was ist der Unterschied zwischen ALL und DISTINCT?
Wofür wird die ORDER BY-Klausel in SQL verwendet?
Mit ORDER BY kannst du die Reihenfolge der Ergebniszeilen festlegen.
Was bedeutet ASC in einer ORDER BY-Klausel?
ASC steht für ascending = aufsteigend sortieren (von klein nach groß).
Das ist der Standard, auch wenn man es weglässt.
Was bedeutet DESC in einer ORDER BY-Klausel?
DESC steht für descending = absteigend sortieren (von groß nach klein).
Was ist der Unterschied zwischen ASC und DESC?
Was macht die SQL-Funktion COUNT()?
COUNT() zählt die Anzahl der Zeilen (bzw. nicht-leeren Werte in einer Spalte).
Wofür wird SUM() verwendet?
SUM() berechnet die Summe aller Werte in einer Spalte.
Was macht AVG()?
AVG() berechnet den Durchschnitt (arithmetisches Mittel) aller Werte in einer Spalte.
Was gibt MIN() zurück?
MIN() liefert den kleinsten Wert in einer Spalte.
Was macht MAX()?
MAX() liefert den größten Wert in einer Spalte.
Wofür wird GROUP BY in SQL verwendet?
GROUP BY fasst Zeilen mit gleichem Wert in einer oder mehreren Spalten zusammen – wichtig für Aggregatfunktionen.
———-
Was macht die HAVING-Klausel in SQL?
Mit HAVING kannst du das Ergebnis von Gruppierungen (nach GROUP BY) filtern – ähnlich wie WHERE, aber für Gruppen.
——
Was ist ein JOIN in SQL?
Ein JOIN verknüpft mehrere Tabellen, indem er zusammengehörige Datensätze über Schlüssel (meist Primär- und Fremdschlüssel) kombiniert.
Wofür wird der SQL-Befehl UPDATE verwendet?
Mit UPDATE änderst du Werte in bestehenden Datensätzen (Zeilen) einer Tabelle.
Was passiert, wenn man UPDATE ohne WHERE-Klausel schreibt?
Alle Zeilen in der Tabelle werden geändert!
Wie ändert man nur einen bestimmten Datensatz?
Mit einer WHERE-Klausel wählst du gezielt aus, welche Zeilen geändert werden.
Wofür wird der SQL-Befehl DELETE verwendet?
Mit DELETE werden Datensätze (Zeilen) aus einer Tabelle gelöscht.
Wie lautet die allgemeine Syntax für DELETE?
Was passiert, wenn man DELETE ohne WHERE-Klausel verwendet?
Es werden alle Zeilen der Tabelle gelöscht – die Tabelle bleibt leer, aber ihre Struktur bleibt erhalten.
Wie löscht man nur bestimmte Datensätze?
Mit einer WHERE-Klausel wählst du gezielt die zu löschenden Zeilen.
Zuletzt geändertvor 10 Tagen