{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Prüfungskern\nWelche Denkkette solltest du bei Datenbank-Theorieaufgaben anwenden?","answer":"Fachliche Aufgaben werden schrittweise übersetzt:\n\n1. **Fachanforderung verstehen**\n2. **Miniwelt abgrenzen**\n3. **Entitytypen, Relationshiptypen, Attribute und Schlüssel bestimmen**\n4. **Kardinalitäten in beide Richtungen prüfen**\n5. **Relationales Schema ableiten**\n6. **Normalisierung und Integrität prüfen**\n7. **Fachfrage als Relationenalgebra oder SQL-Grundstruktur formulieren**\n\nPrüfungsfalle: Nicht direkt vom Fachtext zu Tabellen springen.","tags":["pruefung","ueberblick"],"source":"Zusammenfassung §1; Skript Folien 1-5","external_id":"db-theorie-001"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Daten, Information, Wissen\nWie unterscheiden sich Daten, Information und Wissen?","answer":"- **Daten:** formalisierte Rohwerte ohne zwingenden Kontext, z. B. `37`.\n- **Information:** Daten mit Bedeutung/Kontext, z. B. `37 °C Temperatur`.\n- **Wissen:** vernetzte Informationen plus Handlungsregel, z. B. `Bei 37 °C muss der Server gekühlt werden`.\n\nKernidee: Bedeutung entsteht durch Kontext, nicht durch Speicherung allein.","tags":["grundbegriffe"],"source":"Zusammenfassung §2.1; Skript Folien 7-9","external_id":"db-theorie-002"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Datenbank vs. Datenbanksystem\nWas ist der Unterschied zwischen Datenbank und Datenbanksystem?","answer":"- **Datenbank:** organisierte Sammlung logisch zusammenhängender Daten inklusive Beschreibung/Metadaten.\n- **Datenbanksystem:** Software zur applikationsunabhängigen Beschreibung, Speicherung, Verwaltung und Abfrage dieser Daten.\n\nEin Datenbanksystem enthält eine Speicherungs- und eine Verwaltungskomponente. Die Verwaltungskomponente stellt Abfrage-/Manipulationssprache sowie Zugriffs- und Rechteverwaltung bereit.","tags":["grundbegriffe","dbms"],"source":"Zusammenfassung §2.1; Skript Folie 10","external_id":"db-theorie-003"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Eigenschaften von Information\nWelche Eigenschaften unterscheiden Information von materiellen Gütern?","answer":"Information ist:\n\n- durch Daten darstellbar\n- algorithmisch verarbeitbar\n- beliebig kombinierbar\n- kopierbar ohne echtes Original\n- nicht an einen fixen Träger gebunden\n- potenziell vage oder qualitätsabhängig\n- fachlich alternd, aber nicht physikalisch alternd\n\nPrüfungsbezug: Datenqualität, Integrität, Kontext und Zugriffsschutz sind genauso wichtig wie Speicherung.","tags":["grundbegriffe"],"source":"Zusammenfassung §2.3; Skript Folie 12","external_id":"db-theorie-004"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Datenarten\nWie unterscheiden sich strukturierte, halbstrukturierte und unstrukturierte Daten?","answer":"| Datenart | Beschreibung | Beispiel |\n|---|---|---|\n| Strukturiert | Explizites Schema mit Attributen und Datentypen | Kundentabelle, Excel |\n| Halbstrukturiert | Erkennbare Struktur, aber nicht streng tabellarisch | JSON, XML |\n| Unstrukturiert | Kein festes fachliches Schema | Bilder, Videos, E-Mails |\n\nPrüfungsfalle: Halbstrukturierte Daten bedeuten nicht automatisch NoSQL.","tags":["grundbegriffe","datenarten"],"source":"Zusammenfassung §2.2; Skript Folie 8","external_id":"db-theorie-005"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relationale Datenbanken\nWelche Kerneigenschaften haben relationale Datenbanken?","answer":"Relationale Datenbanken haben typischerweise:\n\n- Tabellenmodell: Daten und Beziehungen werden als Relationen dargestellt\n- fixes Schema mit Tabellen, Attributen, Datentypen und Schlüsseln\n- SQL für Definition, Abfrage und Manipulation\n- hohe Datenunabhängigkeit zwischen Daten und Anwendungen\n- Mehrbenutzerbetrieb, Datenschutz und Datensicherheit\n- Integritäts- und Konsistenzmechanismen\n\nNoSQL-Systeme erfüllen diese Eigenschaften bewusst nur teilweise.","tags":["relationales-modell"],"source":"Zusammenfassung §3.1; Skript Folie 15","external_id":"db-theorie-006"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relation, Tupel, Attribut\nWas bedeuten Relation, Tupel und Attribut?","answer":"- **Relation:** Tabelle mit eindeutigem Namen.\n- **Tupel:** Zeile einer Relation; zwei Tupel dürfen nicht vollständig identisch sein.\n- **Attribut:** Spalte einer Relation; beschreibt eine Eigenschaft der Tupel.\n\nWichtig: Die Reihenfolge von Tupeln und Attributen ist im Relationenmodell grundsätzlich irrelevant.","tags":["relationales-modell"],"source":"Zusammenfassung §3.1; Skript Folie 17","external_id":"db-theorie-007"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Domäne\nWas ist eine Domäne im relationalen Modell?","answer":"Eine **Domäne** ist der zulässige Wertebereich eines Attributs. Sie umfasst typischerweise:\n\n- Datentyp\n- minimale und maximale Werte\n- Formatierung\n- Zulässigkeit von `NULL`\n- Integritätsregeln\n\nBeispiel Temperatur: Datentyp Zahl, Wertebereich `-50 °C` bis `+60 °C`, Format `0,1 °C`, ggf. `NULL` erlaubt.","tags":["relationales-modell","integritaet"],"source":"Zusammenfassung §3.1; Skript Folie 18","external_id":"db-theorie-008"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Identifikationsschlüssel\nWelche zwei Eigenschaften muss ein Schlüssel erfüllen?","answer":"Ein Identifikationsschlüssel muss erfüllen:\n\n1. **Eindeutigkeit:** Jeder Schlüsselwert identifiziert genau ein Tupel.\n2. **Minimalität:** Bei zusammengesetzten Schlüsseln darf kein Attribut entfernbar sein, ohne Eindeutigkeit zu verlieren.\n\nPrüfungsfalle: Eindeutig ist nicht automatisch minimal.","tags":["schluessel","relationales-modell"],"source":"Zusammenfassung §3.3; Skript Folie 19","external_id":"db-theorie-009"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Schlüsselattribute\nWas sind Schlüsselattribute und Nichtschlüsselattribute?","answer":"- **Schlüsselattribute:** Attribute, die Bestandteil eines Schlüssels sind.\n- **Nichtschlüsselattribute:** alle anderen Attribute einer Relation.\n\nDiese Unterscheidung ist besonders wichtig bei der Normalisierung:\n\n- 2NF prüft Abhängigkeiten von Nichtschlüsselattributen vom gesamten Schlüssel.\n- 3NF prüft Abhängigkeiten zwischen Nichtschlüsselattributen.","tags":["schluessel","normalisierung"],"source":"Zusammenfassung §3.3 und §8.3; Skript Folien 19, 79-82","external_id":"db-theorie-010"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# SQL als Sprache\nWarum gilt SQL als deklarative und mengenorientierte Sprache?","answer":"SQL ist **deklarativ**, weil die Abfrage beschreibt, **was** geliefert werden soll, nicht **wie** das DBMS intern suchen muss.\n\nSQL ist **mengenorientiert**, weil Abfragen auf Mengen von Datensätzen wirken und wieder Mengen bzw. Tabellen zurückgeben.\n\nPrüfungsfalle: Nicht prozedurale Einzelschritte formulieren, wenn eine deskriptive Anfrage gefragt ist.","tags":["sql","relationales-modell"],"source":"Zusammenfassung §3.1 und §12.3; Skript Folien 20, 151-152","external_id":"db-theorie-011"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Big Data 6 V\nWelche 6 V motivieren NoSQL- und Big-Data-Architekturen?","answer":"Die Folien nennen:\n\n- **Volume:** Menge an Daten\n- **Velocity:** Geschwindigkeit der Erzeugung und Verarbeitung\n- **Variety:** unterschiedliche Datentypen und Quellen\n- **Veracity:** Richtigkeit/Echtheit\n- **Validity:** Aussagekraft und Qualität\n- **Value:** wirtschaftlicher Wert\n\nKernidee: Nicht nur Datenmenge, sondern auch Struktur, Geschwindigkeit und Qualität treiben Datenbankentscheidungen.","tags":["nosql","big-data"],"source":"Zusammenfassung §4; Skript Folien 21-22","external_id":"db-theorie-012"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# NoSQL\nWas bedeutet NoSQL im Skript?","answer":"NoSQL bezeichnet nicht-relationale Ansätze, bei denen mindestens eine Bedingung erfüllt ist:\n\n- Speicherung erfolgt nicht in Tabellen.\n- Datenbanksprache ist nicht SQL.\n\nTypische Eigenschaften: flexibles Schema, horizontale Skalierung, Replikation, Unterstützung großer und heterogener Datenbestände.\n\nPrüfungsfalle: NoSQL heißt nicht automatisch besser, sondern anders priorisiert.","tags":["nosql"],"source":"Zusammenfassung §4; Skript Folie 23","external_id":"db-theorie-013"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# CAP-Bezug bei NoSQL\nWarum ist Konsistenz bei NoSQL-Systemen oft anders gewichtet?","answer":"In verteilten Systemen stehen Konsistenz, Verfügbarkeit und Partitionstoleranz in Spannung. Wenn hohe Verfügbarkeit und Ausfalltoleranz wichtiger sind, wird Konsistenz häufig nur verzögert erreicht.\n\nIm Skript wird das als **weak consistency** bzw. später im Kontext verteilter Systeme als eventual-consistency-Denken erwähnt.\n\nPrüfungsfalle: Verteilte Skalierung ist nicht kostenlos.","tags":["nosql","konsistenz"],"source":"Zusammenfassung §4; Skript Folie 23","external_id":"db-theorie-014"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Key-Value Store\nWie funktioniert ein Key-Value Store?","answer":"Ein Key-Value Store speichert Daten als **Schlüssel-Wert-Paare**.\n\nStark bei:\n\n- sehr schnellen einfachen Lookups\n- Sessions\n- Warenkörben\n- Caches\n\nSchwach bei:\n\n- komplexen Beziehungen\n- Joins\n- ausdrucksstarken fachlichen Abfragen","tags":["nosql","key-value"],"source":"Zusammenfassung §4; Skript Folie 24","external_id":"db-theorie-015"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Document Store\nWas ist die Grundidee einer Dokumentendatenbank?","answer":"Document Stores speichern zusammengehörige Informationen als geschlossene Dokumente, häufig in JSON oder BSON.\n\nEigenschaften:\n\n- flexible Dokumentstruktur\n- verschachtelte Objekte möglich\n- Dokument als fachliche Einheit\n- Abfragen z. B. über MongoDB Query Language\n\nPrüfungsfalle: Dokumente ersetzen nicht automatisch saubere Modellierung; Beziehungen und Integrität bleiben zu prüfen.","tags":["nosql","document-store"],"source":"Zusammenfassung §4; Skript Folien 24-26","external_id":"db-theorie-016"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Graphdatenbank\nWofür sind Graphdatenbanken besonders geeignet?","answer":"Graphdatenbanken modellieren Daten als **Knoten**, **Kanten** und **Eigenschaften**.\n\nSie sind stark bei:\n\n- sozialen Netzwerken\n- Empfehlungen\n- Wissensgraphen\n- komplexen Beziehungsgeflechten\n\nUnterschied zu relationalen DB: Beziehungen sind eigenständige, indexierte Datensätze und nicht nur Fremdschlüsselreferenzen.","tags":["nosql","graphdatenbank"],"source":"Zusammenfassung §4; Skript Folien 24-28","external_id":"db-theorie-017"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# SQL vs. NoSQL\nWann passt relational, wann NoSQL?","answer":"- **Relational:** strukturierte Daten, klares Schema, Integrität, Joins, Transaktionen, konsistente Geschäftsprozesse.\n- **Key-Value:** einfache schnelle Schlüsselzugriffe.\n- **Document Store:** flexible semi-strukturierte Dokumente.\n- **Graphdatenbank:** stark vernetzte Daten und Beziehungsauswertung.\n\nPrüfungstechnik: Entscheidung immer mit Datenform, Zugriffsmuster, Beziehungen, Integritätsbedarf und Skalierung begründen.","tags":["nosql","vergleich","pruefung"],"source":"Zusammenfassung §4; Skript Folie 28","external_id":"db-theorie-018"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Datenbankentwurf\nWelche Phasen durchläuft der Datenbankentwurf?","answer":"Typische Kette:\n\n1. **Anforderungsanalyse**\n2. **Konzeptioneller Entwurf**\n3. **Logischer Entwurf**\n4. **Physischer Entwurf**\n5. **Implementierung/Betrieb**\n\nKlausurpunkt: Im konzeptionellen Entwurf werden Fachanforderungen modelliert, noch keine konkreten Tabellen optimiert.","tags":["datenbankentwurf","erm"],"source":"Zusammenfassung §5.1; Skript Folie 30","external_id":"db-theorie-019"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Konzeptueller Entwurf\nWas wird im konzeptuellen Datenbankentwurf erfasst?","answer":"Im konzeptuellen Entwurf werden funktionale und informationelle Anforderungen aus Use Cases analysiert.\n\nWichtig:\n\n- Fachdomäne verstehen\n- relevante Miniwelt abgrenzen\n- Daten und Beziehungen modellieren\n- Implementierungsdetails ausblenden\n- aktuelle und vorhersehbare zukünftige Use Cases berücksichtigen\n\nDas ERM ist dafür ein zentrales Werkzeug.","tags":["datenbankentwurf","erm"],"source":"Zusammenfassung §5.2; Skript Folie 31","external_id":"db-theorie-020"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Datenmodell vs. Datenbankschema\nWie unterscheiden sich Datenmodell und Datenbankschema?","answer":"- **Datenmodell:** formale Art, Daten und Beziehungen zu beschreiben, z. B. relationales Modell oder ERM.\n- **Datenbankschema:** konkrete Struktur einer bestimmten Datenbasis, z. B. Tabellen, Attribute, Schlüssel und Constraints.\n\nMerksatz: Modell ist die Sprache, Schema ist der konkrete Satz in dieser Sprache.","tags":["datenbankentwurf","schema"],"source":"Zusammenfassung §5.2; Skript Folie 32","external_id":"db-theorie-021"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# ERM\nWarum wird das Entity-Relationship-Modell verwendet?","answer":"Das ERM ist ein semantisches Datenmodell zur abstrakten Modellierung konzeptueller Schemata.\n\nVorteile:\n\n- weit verbreitet\n- grafische Repräsentation als visuelle Sprache\n- für Fachabteilungen verständlich\n- erleichtert Diskussion über die Miniwelt\n- kann in relationale, Graph- oder Dokumentmodelle überführt werden\n\nPrüfungsfalle: ERM ist konzeptionell, nicht schon physische Datenbankstruktur.","tags":["erm"],"source":"Zusammenfassung §5.3; Skript Folie 34","external_id":"db-theorie-022"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Miniwelt\nWas bedeutet Miniwelt in der ER-Modellierung?","answer":"Die Miniwelt ist der für die Aufgabe relevante Ausschnitt der Realität.\n\nSie begrenzt:\n\n- welche Objekte betrachtet werden\n- welche Beziehungen relevant sind\n- welche Attribute modelliert werden\n- welche fachlichen Regeln gelten\n\nKlausurhinweis: Nicht die ganze Realität modellieren, sondern den fachlich geforderten Ausschnitt.","tags":["erm","datenbankentwurf"],"source":"Zusammenfassung §5.2-5.3; Skript Folien 35-37","external_id":"db-theorie-023"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Entity und Entitytyp\nWas ist der Unterschied zwischen Entity und Entitytyp?","answer":"- **Entity:** konkretes abgrenzbares Objekt der Miniwelt, z. B. ein konkreter Lieferant.\n- **Entitytyp:** Abstraktion gleichartiger Entities, z. B. `Lieferant`, `Artikel`, `Bestellung`.\n\nPrüfungstechnik: Konkrete Beispiele sind Entities; Klassen gleichartiger Objekte sind Entitytypen.","tags":["erm","entity"],"source":"Zusammenfassung §5.3; Skript Folie 39","external_id":"db-theorie-024"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Attribute und Attributwerte\nWas beschreiben Attribute im ERM?","answer":"Attribute beschreiben Eigenschaften eines Entitytyps oder Relationshiptyps.\n\nBeispiel `Lieferant`:\n\n- `LieferantenNr`\n- `Name`\n- `Adresse`\n\nEin **Attributwert** ist die konkrete Ausprägung, z. B. `LSG Sky Chefs` als Wert des Attributs `Name`.","tags":["erm","attribute"],"source":"Zusammenfassung §5.3; Skript Folie 39","external_id":"db-theorie-025"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relationship und Relationshiptyp\nWie unterscheiden sich Relationship und Relationshiptyp?","answer":"- **Relationship:** konkrete Beziehung zwischen konkreten Entities, z. B. `LSG Sky Chefs liefert Cola Dose 0,33l`.\n- **Relationshiptyp:** Abstraktion gleichartiger Beziehungen, z. B. `Lieferant liefert Artikel`.\n\nWichtig: Auch Relationshiptypen können eigene Attribute besitzen, z. B. `Liefermenge`.","tags":["erm","relationships"],"source":"Zusammenfassung §5.3; Skript Folie 41","external_id":"db-theorie-026"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Spezielle Attribute\nWas sind zusammengesetzte Attribute und Mehrfachattribute?","answer":"- **Zusammengesetztes Attribut:** kann sinnvoll in Folgeattribute zerlegt werden, z. B. Adresse in Straße, PLZ und Ort.\n- **Mehrfachattribut:** kann mehrere Werte für ein Entity haben, z. B. mehrere Telefonnummern.\n\nRelationaler Bezug: Mehrfachattribute führen oft zu eigenen Tabellen, weil Felder atomar sein müssen.","tags":["erm","attribute","normalisierung"],"source":"Zusammenfassung §5.4; Skript Folie 40","external_id":"db-theorie-027"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Schlüssel im ERM\nWie wird ein Schlüssel im ERM verstanden?","answer":"Ein Schlüssel ist eine minimale Attributmenge, deren Werte ein Entity eindeutig innerhalb seines Entitytyps identifizieren.\n\nGibt es mehrere mögliche Schlüssel, heißen sie **Schlüsselkandidaten**. Einer davon wird ausgewählt.\n\nIn ER-Diagrammen werden Schlüsselattribute häufig unterstrichen. In der Praxis werden oft künstliche Schlüssel wie `KundenNr` oder `ArtikelNr` eingeführt.","tags":["erm","schluessel"],"source":"Zusammenfassung §5.3; Skript Folie 42","external_id":"db-theorie-028"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Assoziation\nWarum muss eine Beziehung im ERM in beide Richtungen gelesen werden?","answer":"Ein Beziehungstyp enthält zwei gerichtete Teilfragen.\n\nBeispiel `Lieferant liefert Artikel`:\n\n- Wie viele Artikel kann ein Lieferant liefern?\n- Von wie vielen Lieferanten kann ein Artikel geliefert werden?\n\nNur beide Richtungen zusammen ergeben die korrekte Kardinalität.","tags":["erm","kardinalitaet"],"source":"Zusammenfassung §6.1; Skript Folien 45-46","external_id":"db-theorie-029"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Kardinalitäten\nWas bedeuten 1:1, 1:n und n:m?","answer":"| Kardinalität | Bedeutung | Beispiel |\n|---|---|---|\n| 1:1 | Ein Entity steht höchstens mit einem Entity des anderen Typs in Beziehung | Ehepartner bezogen auf einen Zeitpunkt |\n| 1:n | Ein Entity der 1-Seite kann viele der n-Seite haben | Schulklasse hat Schüler |\n| n:m | Viele Entities auf beiden Seiten können verbunden sein | Lieferant liefert Artikel |\n\nPrüfung: Immer beide Richtungen fachlich begründen.","tags":["erm","kardinalitaet"],"source":"Zusammenfassung §6.1; Skript Folien 47-50","external_id":"db-theorie-030"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# MC-Kardinalität\nWas präzisiert die MC-Kardinalität?","answer":"MC-Kardinalitäten ergänzen die Frage, ob Beziehungen optional oder verpflichtend sind:\n\n- **1:** genau eine Entität\n- **c:** keine oder eine Entität\n- **m:** eine oder mehrere Entitäten\n- **mc:** keine, eine oder mehrere Entitäten\n\nKlausurpunkt: Klassische 1/n-Notation zeigt Maximalitäten, MC-Notation zeigt zusätzlich Optionalität und Pflicht.","tags":["erm","kardinalitaet"],"source":"Zusammenfassung §6.2; Skript Folie 51","external_id":"db-theorie-031"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Parallele und rekursive Beziehungen\nWas sind parallele und rekursive Beziehungen?","answer":"- **Parallele Beziehungen:** Zwischen denselben Entitytypen bestehen mehrere fachlich verschiedene Relationshiptypen, z. B. `arbeitet an` und `leitet`.\n- **Rekursive Beziehung:** Ein Entitytyp steht mit sich selbst in Beziehung, oft mit Rollen, z. B. Mitarbeiter führt Mitarbeiter.\n\nPrüfungsfrage: Sind die Rollen und Bedeutungen sauber benannt?","tags":["erm","relationships"],"source":"Zusammenfassung §6.3; Skript Folie 52","external_id":"db-theorie-032"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# ERM aus Fachtext\nWie gehst du vor, wenn du aus einer Anforderung ein ERM erstellen sollst?","answer":"1. Nomen als mögliche Entitytypen markieren.\n2. Verben als mögliche Relationshiptypen markieren.\n3. Attribute und Schlüssel ergänzen.\n4. Kardinalitäten in beide Richtungen fragen.\n5. Fehlende Informationen als Annahmen kennzeichnen.\n6. Prüfen, ob Beziehungen binär, rekursiv, parallel oder ternär sind.\n\nPrüfungsfalle: Nomen/Verben sind Heuristiken, keine Garantie.","tags":["erm","pruefung"],"source":"Zusammenfassung §6.3; Skript Folien 53-57","external_id":"db-theorie-033"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Ternäre Beziehung\nWann brauchst du eine ternäre Beziehung?","answer":"Eine ternäre Beziehung verbindet genau drei Entitytypen gleichzeitig.\n\nSie ist nötig, wenn die fachliche Aussage nur durch die gleichzeitige Betrachtung aller drei Entitäten vollständig ist.\n\nBeispiel: `Pilot fliegt mit Flugzeug auf Flugroute`. Die Information besteht aus Pilot, Flugzeug und Flugroute zusammen.","tags":["erm","ternaere-beziehung"],"source":"Zusammenfassung §6.4; Skript Folien 58-62","external_id":"db-theorie-034"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Connection Trap\nWas ist eine Connection Trap bei ternären Beziehungen?","answer":"Eine Connection Trap entsteht, wenn eine eigentlich ternäre Beziehung fälschlich in mehrere binäre Beziehungen zerlegt wird.\n\nFolge: Semantische Information geht verloren.\n\nBeispiel:\n\n- Pilot - Flugzeug sagt nicht, auf welcher Flugroute.\n- Pilot - Flugroute sagt nicht, mit welchem Flugzeug.\n- Flugroute - Flugzeug sagt nicht, welcher Pilot.\n\nNur die ternäre Beziehung beantwortet alles zusammen.","tags":["erm","ternaere-beziehung","pruefungsfalle"],"source":"Zusammenfassung §6.4; Skript Folien 58-60","external_id":"db-theorie-035"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Kardinalitäten ternärer Beziehungen\nWie ermittelst du Kardinalitäten bei ternären Beziehungen?","answer":"Man fixiert jeweils zwei Entities und fragt, wie viele Entities des dritten Typs dazu gehören können.\n\nBeispiel `Pilot`, `Flugzeug`, `Flugroute`:\n\n- Fixiere Pilot + Flugzeug: Wie viele Flugrouten?\n- Fixiere Flugzeug + Flugroute: Wie viele Piloten?\n- Fixiere Pilot + Flugroute: Wie viele Flugzeuge?\n\nSo entsteht z. B. eine Notation wie `n:m:1`.","tags":["erm","kardinalitaet","ternaere-beziehung"],"source":"Zusammenfassung §6.4; Skript Folien 61-62","external_id":"db-theorie-036"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Generalisierung\nWas bedeuten Generalisierung und Spezialisierung?","answer":"- **Generalisierung:** Mehrere Subentitytypen werden zu einem Superentitytyp zusammengefasst.\n- **Spezialisierung:** Ein Superentitytyp wird in Subentitytypen unterteilt.\n\nBeispiel: Oberstufenschüler und Mittelstufenschüler sind Spezialisierungen von Schüler.\n\nSubtypen erben Attribute des Supertyps und können eigene Attribute ergänzen.","tags":["erm","generalisierung"],"source":"Zusammenfassung §7; Skript Folie 64","external_id":"db-theorie-037"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Generalisierungsfälle\nWie unterscheiden sich überlappend, vollständig und disjunkt?","answer":"- **Überlappend:** Eine Entität kann mehreren Subtypen angehören.\n- **Vollständig:** Jede Entität des Supertyps gehört mindestens einem Subtyp an.\n- **Disjunkt:** Eine Entität darf höchstens einem Subtyp angehören.\n- **Disjunkt-vollständig:** Jede Entität gehört genau einem Subtyp an.\n\nPrüfungsfalle: Disjunktheit und Vollständigkeit sind zwei verschiedene Fragen.","tags":["erm","generalisierung"],"source":"Zusammenfassung §7; Skript Folien 65-68","external_id":"db-theorie-038"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Logischer Entwurf\nWelche zwei Punkte sind beim Übergang vom ERM zur relationalen Datenbank zentral?","answer":"Beim logischen Entwurf sind zwei Punkte besonders wichtig:\n\n1. **Normalisierung:** Redundanz und Anomalien vermeiden.\n2. **Abbildungsregeln:** Entitytypen und Relationshiptypen korrekt als Tabellen darstellen.\n\nPrüfungsfalle: Ein gutes ERM ist noch kein fertiges relationales Schema.","tags":["schema","normalisierung"],"source":"Zusammenfassung §8-9; Skript Folie 70","external_id":"db-theorie-039"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relation formal\nWie wird eine Relation formal beschrieben?","answer":"Eine Relation `R` ist eine Teilmenge aus dem kartesischen Produkt der Domänen:\n\n`R ⊆ D1 × D2 × ... × Dn`\n\nEin Tupel ist eine konkrete Ausprägung:\n\n`r = (d1, d2, ..., dn)`\n\nBedeutung: Jedes Tupel enthält für jedes Attribut einen Wert aus der passenden Domäne.","tags":["relationales-modell","mathematik"],"source":"Zusammenfassung §3.2; Skript Folie 70","external_id":"db-theorie-040"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Normalisierung\nWas ist das Ziel der Normalisierung?","answer":"Normalisierung strukturiert Tabellen so, dass:\n\n- Redundanzen reduziert werden\n- Einfüge-, Lösch- und Änderungsanomalien vermieden werden\n- Daten logisch zusammenhängend in kleinere Relationen zerlegt werden\n- funktionale Abhängigkeiten klar abgebildet werden\n\nMerksatz: Redundanz → Anomaliegefahr → Normalisierung.","tags":["normalisierung"],"source":"Zusammenfassung §8.1; Skript Folie 72","external_id":"db-theorie-041"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Redundanz\nWann ist Information in einer Tabelle redundant?","answer":"Information ist redundant, wenn einzelne Werte mehrfach gespeichert sind und ohne Informationsverlust aus anderen Daten ableitbar oder wiederholbar wären.\n\nBeispiel: Derselbe Studiengangname steht bei mehreren Studierenden mehrfach in der Tabelle.\n\nProblem: Redundanz erhöht die Gefahr von Inkonsistenzen und Anomalien.","tags":["normalisierung","anomalien"],"source":"Zusammenfassung §8.2; Skript Folie 73","external_id":"db-theorie-042"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Einfügeanomalie\nWas ist eine Einfügeanomalie?","answer":"Eine Einfügeanomalie liegt vor, wenn Daten nicht eingefügt werden können, weil andere eigentlich unabhängige Informationen fehlen.\n\nBeispiel: Ein neuer Studiengang kann nicht eingefügt werden, ohne sofort einen Studierenden mit MatNr zuzuordnen.\n\nUrsache: Mehrere Sachverhalte wurden in einer Tabelle vermischt.","tags":["normalisierung","anomalien"],"source":"Zusammenfassung §8.2; Skript Folie 74","external_id":"db-theorie-043"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Löschanomalie\nWas ist eine Löschanomalie?","answer":"Eine Löschanomalie entsteht, wenn beim Löschen eines Datensatzes mehr Information verloren geht als beabsichtigt.\n\nBeispiel: Werden alle Studierenden eines Studiengangs gelöscht, gehen auch die Informationen über den Studiengang verloren.\n\nPrüfungsfalle: Löschen betrifft nicht nur die Zeile, sondern alle darin vermischten Sachverhalte.","tags":["normalisierung","anomalien"],"source":"Zusammenfassung §8.2; Skript Folie 75","external_id":"db-theorie-044"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Änderungsanomalie\nWas ist eine Änderungsanomalie?","answer":"Eine Änderungsanomalie liegt vor, wenn dieselbe Information redundant an mehreren Stellen geändert werden muss.\n\nBeispiel: Der Studiengangname `Data Science und KI` steht in mehreren Zeilen. Wird er umbenannt, muss jede Vorkommensstelle angepasst werden.\n\nRisiko: Wird eine Stelle vergessen, wird die Datenbank inkonsistent.","tags":["normalisierung","anomalien"],"source":"Zusammenfassung §8.2; Skript Folie 76","external_id":"db-theorie-045"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Unnormalisierte Form\nWann ist eine Relation unnormalisiert?","answer":"Eine Relation ist unnormalisiert, wenn an einem Schnittpunkt von Zeile und Spalte mehrere Werte stehen oder Wiederholungsgruppen vorkommen.\n\nBeispiel aus dem Mietwagenfall: Ein Mieter hat in einer Zeile mehrere Mietwagen mit mehreren Werten.\n\nPrüfungsfalle: Listen in einer Zelle verletzen die Atomarität.","tags":["normalisierung","1nf"],"source":"Zusammenfassung §8.3; Skript Folie 77","external_id":"db-theorie-046"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# 1. Normalform\nWann ist eine Relation in 1NF?","answer":"Eine Relation ist in der **1. Normalform**, wenn alle Attribute atomare Werte enthalten.\n\nVorgehen:\n\n- Wiederholungsgruppen auflösen\n- eigene Tupel für wiederholte Werte erzeugen\n- Schlüssel ggf. erweitern\n\nIm Mietwagenbeispiel identifizieren danach `MNR` und `WNR` gemeinsam einen Mietvorgang.\n\nPrüfungsfalle: 1NF kann Redundanz zunächst erhöhen.","tags":["normalisierung","1nf"],"source":"Zusammenfassung §8.3; Skript Folie 78","external_id":"db-theorie-047"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# 2. Normalform\nWann ist eine Relation in 2NF?","answer":"Eine Relation ist in der **2. Normalform**, wenn sie in 1NF ist und jedes Nichtschlüsselattribut vom gesamten Schlüssel voll funktional abhängt.\n\nRelevant ist das vor allem bei zusammengesetzten Schlüsseln.\n\nPrüfungsfalle: Hat der Primärschlüssel nur ein Attribut, ist eine 1NF-Relation automatisch in 2NF.","tags":["normalisierung","2nf"],"source":"Zusammenfassung §8.3; Skript Folien 79-80","external_id":"db-theorie-048"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# 2NF-Zerlegung\nWie zerlegst du eine Relation, die nicht in 2NF ist?","answer":"Wenn Nichtschlüsselattribute nur von einem Teil eines zusammengesetzten Schlüssels abhängen:\n\n1. Attribute mit ihrem Teilschlüssel in eigene Tabelle auslagern.\n2. Beziehungstabelle mit zusammengesetztem Schlüssel behalten.\n3. Primärschlüssel und Fremdschlüssel definieren.\n\nBeispiel: `MNR → MNA, BR` und `WNR → FT, BJ, VS, MS` werden ausgelagert.","tags":["normalisierung","2nf"],"source":"Zusammenfassung §8.4; Skript Folien 80-81","external_id":"db-theorie-049"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# 3. Normalform\nWann ist eine Relation in 3NF?","answer":"Eine Relation ist in der **3. Normalform**, wenn sie in 2NF ist und keine transitiven Abhängigkeiten zwischen Nichtschlüsselattributen bestehen.\n\nAnders gesagt: Aus keinem Nichtschlüsselattribut darf ein anderes Nichtschlüsselattribut folgen.\n\nBeispiel: Wenn `FT → MS`, dann gehört der Mietsatz in eine eigene Tabelle mit `FT` als Schlüssel.","tags":["normalisierung","3nf"],"source":"Zusammenfassung §8.3-8.4; Skript Folien 82-83","external_id":"db-theorie-050"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Transitive Abhängigkeit\nWas ist eine transitive Abhängigkeit?","answer":"Eine transitive Abhängigkeit liegt vor, wenn ein Nichtschlüsselattribut von einem anderen Nichtschlüsselattribut abhängt, das wiederum vom Primärschlüssel abhängt.\n\nSchema:\n\n`Schlüssel → Nichtschlüsselattribut A → Nichtschlüsselattribut B`\n\nFür 3NF müssen solche Abhängigkeiten in eigene Tabellen ausgelagert werden.","tags":["normalisierung","3nf","funktionale-abhaengigkeit"],"source":"Zusammenfassung §8.3; Skript Folie 82","external_id":"db-theorie-051"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Normalisierung: Vorteile\nWelche Vorteile hat Normalisierung?","answer":"Normalisierung bietet:\n\n- weniger Redundanz\n- geringere Inkonsistenzgefahr\n- bessere Datenintegrität\n- einfachere Pflege einzelner Sachverhalte\n- weniger Einfüge-, Lösch- und Änderungsanomalien\n\nBesonders geeignet für transaktionsorientierte Systeme wie Buchungssysteme, Online-Shops oder Banking.","tags":["normalisierung"],"source":"Zusammenfassung §8.5; Skript Folien 84-86","external_id":"db-theorie-052"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Normalisierung: Nachteile\nWelche Nachteile kann starke Normalisierung haben?","answer":"Nachteile:\n\n- mehr Tabellen\n- komplexere SQL-Abfragen\n- mehr Joins\n- mögliche Performancekosten bei großen Datenmengen\n- höherer Design- und Administrationsaufwand\n\nFür Analyse, Reporting, Data Warehouses und Big Data kann teilweise Denormalisierung sinnvoll sein.","tags":["normalisierung","denormalisierung"],"source":"Zusammenfassung §8.5; Skript Folien 85-86","external_id":"db-theorie-053"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relationales Datenbankschema\nWas enthält ein relationales Datenbankschema?","answer":"Ein relationales Datenbankschema enthält die Datenbankbeschreibung:\n\n- Tabellen\n- Attribute\n- Datentypen\n- Primärschlüssel\n- Fremdschlüssel\n- Integritätsbedingungen/Constraints\n\nEs entsteht im logischen Entwurf durch Überführung des ERM in relationale Strukturen.","tags":["schema","logischer-entwurf"],"source":"Zusammenfassung §9.1; Skript Folien 88-90","external_id":"db-theorie-054"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Fremdschlüssel\nWas ist ein Fremdschlüssel?","answer":"Ein Fremdschlüssel ist ein Attribut in einer Detailtabelle, dessen Werte auf Primärschlüsselwerte einer Mastertabelle verweisen.\n\nWichtig:\n\n- Name muss nicht identisch sein.\n- Wertebereich/Domäne muss passen.\n- Eine Tabelle kann mehrere Fremdschlüssel haben.\n- Bei rekursiven Beziehungen kann eine Tabelle Master und Detail zugleich sein.","tags":["schema","schluessel","integritaet"],"source":"Zusammenfassung §9.1; Skript Folie 90","external_id":"db-theorie-055"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Abbildungsregel Entitytyp\nWie wird ein Entitytyp in das relationale Modell überführt?","answer":"Jeder Entitytyp wird zu einer Tabelle.\n\nRegeln:\n\n- Attribute des Entitytyps werden zu Spalten.\n- Schlüssel des Entitytyps wird Primärschlüssel.\n- Tabellenname entspricht meist dem Entitytyp.\n\nBeispiel: `Lieferant(LNr, Name, Adresse)` und `Artikel(ANr, Bezeichnung, Preis)`.","tags":["schema","abbildungsregeln"],"source":"Zusammenfassung §9.2; Skript Folie 92","external_id":"db-theorie-056"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Abbildungsregel 1:1\nWie wird eine 1:1-Beziehung relational abgebildet?","answer":"Bei einer 1:1-Beziehung gibt es zwei typische Möglichkeiten:\n\n1. Primärschlüssel der einen Tabelle als Fremdschlüssel in die andere aufnehmen.\n2. Tabellen zusammenführen, wenn fachlich sinnvoll.\n\nPrüfungsfalle: Optionalität beachten. Der Fremdschlüssel liegt oft auf der optionalen oder abhängigen Seite.","tags":["schema","abbildungsregeln","kardinalitaet"],"source":"Zusammenfassung §9.2; Skript Folie 93","external_id":"db-theorie-057"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Abbildungsregel 1:n\nWie wird eine 1:n-Beziehung relational abgebildet?","answer":"Der Primärschlüssel der 1-Seite wird als Fremdschlüssel in die Tabelle der n-Seite übernommen.\n\nBeispiel:\n\n- `Klasse(KlasseNr, Klassenlehrer, Raum)`\n- `Schueler(SchuelerNr, Name, KlasseNr)`\n\n`KlasseNr` in `Schueler` verweist auf `Klasse.KlasseNr`.","tags":["schema","abbildungsregeln","kardinalitaet"],"source":"Zusammenfassung §9.2; Skript Folie 94","external_id":"db-theorie-058"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Abbildungsregel n:m\nWie wird eine n:m-Beziehung relational abgebildet?","answer":"Eine n:m-Beziehung wird zu einer neuen Beziehungstabelle.\n\nDiese enthält:\n\n- Primärschlüssel der ersten Entität als Fremdschlüssel\n- Primärschlüssel der zweiten Entität als Fremdschlüssel\n- ggf. Attribute der Beziehung\n\nBeispiel: `Lieferung(LNr, ANr, Liefermenge)`.\n\nPrüfungsfalle: n:m nicht direkt als Fremdschlüssel in einer der beiden Entitytabellen abbilden.","tags":["schema","abbildungsregeln","kardinalitaet"],"source":"Zusammenfassung §9.2; Skript Folie 95","external_id":"db-theorie-059"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Integritätsregeln\nWelche Integritätsarten behandelt das Skript?","answer":"Wichtige Integritätsarten:\n\n- **Domain-Integrität:** gültige Werte in Attributen\n- **Entity-Integrität:** eindeutige Identifikation jeder Zeile\n- **Referentielle Integrität:** gültige Beziehungen zwischen Tabellen\n- **Benutzerdefinierte Integrität:** zusätzliche fachliche Regeln\n\nConstraints sichern zulässige Datenzustände.","tags":["integritaet"],"source":"Zusammenfassung §10.1; Skript Folie 97","external_id":"db-theorie-060"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Domain-Integrität\nWas stellt Domain-Integrität sicher?","answer":"Domain-Integrität stellt sicher, dass Attributwerte gültig, konsistent und sinnvoll sind.\n\nTypische Mittel:\n\n- Datentypen, z. B. `INT`, `VARCHAR`, `DATE`\n- Wertebereiche über `CHECK`\n- Pflichtfelder über `NOT NULL`\n- Standardwerte über `DEFAULT`\n- Formatregeln\n\nBeispiel: `CHECK (Alter >= 18)`.","tags":["integritaet","constraints"],"source":"Zusammenfassung §10.1; Skript Folien 99-101","external_id":"db-theorie-061"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Entity-Integrität\nWas besagt Entity-Integrität?","answer":"Entity-Integrität besagt, dass jede Zeile eindeutig identifizierbar sein muss.\n\nRegeln:\n\n- Jede Relation besitzt einen Primärschlüssel.\n- Primärschlüsselwerte sind eindeutig.\n- Primärschlüsselattribute dürfen nicht `NULL` sein.\n\nPrüfungsfalle: `NULL` im Primärschlüssel verletzt Entity-Integrität.","tags":["integritaet","schluessel"],"source":"Zusammenfassung §10.1; Skript Folie 102","external_id":"db-theorie-062"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Referentielle Integrität\nWas stellt referentielle Integrität sicher?","answer":"Referentielle Integrität stellt sicher, dass Fremdschlüsselwerte auf existierende Primärschlüsselwerte verweisen oder `NULL` sind, wenn fachlich und domänenseitig erlaubt.\n\nBeispiel: `Schueler.KlasseNr` muss in `Klasse.KlasseNr` existieren.\n\nSonst entstehen verwaiste Detaildatensätze.","tags":["integritaet","fremdschluessel"],"source":"Zusammenfassung §10.1; Skript Folie 103","external_id":"db-theorie-063"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Referenzaktionen\nWas bedeuten RESTRICT, CASCADE und SET NULL?","answer":"- **RESTRICT / NO ACTION:** Änderung oder Löschung wird verhindert, wenn abhängige Datensätze existieren.\n- **CASCADE:** Änderung oder Löschung wird auf abhängige Datensätze übertragen.\n- **SET NULL:** Fremdschlüssel abhängiger Datensätze wird auf `NULL` gesetzt.\n\nPrüfungsfalle: `SET NULL` passt nur, wenn die Fremdschlüsselspalte `NULL` erlauben darf.","tags":["integritaet","constraints"],"source":"Zusammenfassung §10.2; Skript Folien 104-106","external_id":"db-theorie-064"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Benutzerdefinierte Integrität\nWas ist benutzerdefinierte Integrität?","answer":"Benutzerdefinierte Integrität umfasst fachliche Regeln, die nicht vollständig durch Standardconstraints abgedeckt sind.\n\nBeispiele:\n\n- Kunde muss für bestimmte Produkte mindestens 18 sein.\n- Rabatt darf nur für bestimmte Kundengruppen gelten.\n\nUmsetzung häufig in Anwendung, Triggern oder prozeduralen Constraints.\n\nRisiko: Nur garantiert, wenn der betreffende Mechanismus wirklich verwendet wird.","tags":["integritaet","fachregeln"],"source":"Zusammenfassung §10.1; Skript Folien 97-98","external_id":"db-theorie-065"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Konsistenz vs. Integrität\nWie unterscheiden sich Konsistenz und Integrität?","answer":"- **Integrität:** Regeln und Mechanismen, die zulässige Datenzustände sichern.\n- **Konsistenz:** Zustand der Datenbank, wenn diese Regeln eingehalten sind.\n\nMerksatz: Integrität ist die Ursache, Konsistenz das Ergebnis.\n\nPrüfungsfalle: Begriffe nicht synonym verwenden.","tags":["integritaet","konsistenz"],"source":"Zusammenfassung §10.3; Skript Folien 108-109","external_id":"db-theorie-066"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# ACID-Konsistenz\nWas bedeutet Konsistenz im ACID-Modell?","answer":"Im ACID-Modell bedeutet Konsistenz: Eine Transaktion muss die Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand überführen.\n\nSie darf keine Integritätsbedingungen verletzen.\n\nBezug:\n\n- **A** Atomicity\n- **C** Consistency\n- **I** Isolation\n- **D** Durability","tags":["konsistenz","transaktionen"],"source":"Zusammenfassung §10.3; Skript Folie 108","external_id":"db-theorie-067"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relationenalgebra\nWarum ist Relationenalgebra wichtig?","answer":"Relationenalgebra ist die formale Grundlage relationaler Abfragen.\n\nSie hilft, Fachfragen präzise in Datenbankabfragen zu übersetzen:\n\n`Domänenwissen → Relationenalgebra → formale Struktur → SQL → Ergebnisrelation`\n\nWichtig: Jede Operation liefert wieder eine Relation und kann weiterverwendet werden.","tags":["relationenalgebra"],"source":"Zusammenfassung §11.1; Skript Folien 111-112","external_id":"db-theorie-068"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Operatorarten\nWelche drei Operatorarten umfasst die Relationenalgebra im Skript?","answer":"Die Folien unterscheiden:\n\n1. **Relationenoperatoren:** Projektion, Selektion, Join, kartesisches Produkt\n2. **Mengenoperatoren:** Vereinigung, Durchschnitt, Differenz, symmetrische Differenz\n3. **Logische Operatoren:** AND, OR, NOT, XOR\n\nRelationenoperatoren manipulieren Tabellenstruktur oder Tupelauswahl, Mengenoperatoren kombinieren Relationen, logische Operatoren formulieren Bedingungen.","tags":["relationenalgebra","operatoren"],"source":"Zusammenfassung §11.1; Skript Folien 112-114","external_id":"db-theorie-069"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Projektion\nWas macht die Projektion?","answer":"Die Projektion `π` wählt bestimmte Attribute bzw. Spalten einer Relation aus.\n\nBeispiel:\n\n`π_Name, Stadt(Kunden)`\n\nliefert nur die Attribute `Name` und `Stadt`.\n\nWichtig: Doppelte Tupel werden in der relationalen Algebra entfernt.\n\nPrüfungsfalle: Projektion filtert Spalten, nicht Zeilen.","tags":["relationenalgebra","projektion"],"source":"Zusammenfassung §11.2; Skript Folie 115","external_id":"db-theorie-070"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Selektion\nWas macht die Selektion?","answer":"Die Selektion `σ` filtert Tupel bzw. Zeilen anhand einer Bedingung.\n\nBeispiel:\n\n`σ_Stadt='Berlin'(Kunden)`\n\nliefert Kunden, deren Stadt Berlin ist.\n\nDie Ergebnisrelation hat dasselbe Schema wie die Ausgangsrelation, aber weniger Tupel.\n\nPrüfungsfalle: Selektion ist nicht dasselbe wie SQL-`SELECT`.","tags":["relationenalgebra","selektion"],"source":"Zusammenfassung §11.2; Skript Folien 116-117","external_id":"db-theorie-071"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Join\nWas macht ein Join in der Relationenalgebra?","answer":"Ein Join kombiniert zwei Relationen zu einer neuen Relation, indem Tupel anhand eines Join-Prädikats verbunden werden.\n\nBeispiel:\n\n`Kunden ⋈_Kunden.K_ID=Bestellungen.K_ID Bestellungen`\n\nEin Join ist konzeptionell ein kartesisches Produkt plus Selektion.\n\nHäufig basiert das Join-Prädikat auf Primärschlüssel-Fremdschlüssel-Beziehungen.","tags":["relationenalgebra","join"],"source":"Zusammenfassung §11.2; Skript Folien 118-119","external_id":"db-theorie-072"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Kartesisches Produkt\nWas ist das kartesische Produkt zweier Relationen?","answer":"Das kartesische Produkt `A × B` kombiniert jedes Tupel aus `A` mit jedem Tupel aus `B`.\n\nHat `A` `n` Tupel und `B` `m` Tupel, enthält das Ergebnis `n × m` Tupel.\n\nPrüfungsfalle: Ohne sinnvolle Selektionsbedingung entstehen schnell sehr große und fachlich unsinnige Ergebnismengen.","tags":["relationenalgebra","kartesisches-produkt"],"source":"Zusammenfassung §11.2; Skript Folie 120","external_id":"db-theorie-073"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Reihenfolge von Relationenoperatoren\nWie gehst du bei verschachtelten relationalen Ausdrücken vor?","answer":"Es gibt keine universelle natürliche Lesereihenfolge wie bei einfachen Rechenregeln.\n\nKlausurtechnik:\n\n- Klammern beachten\n- von innen nach außen arbeiten\n- bei gleicher Ebene links nach rechts lesen\n- Zwischenergebnisse als Relationen verstehen\n\nMerksatz: Jede Operation erzeugt eine neue Relation, die weiterverarbeitet werden kann.","tags":["relationenalgebra","pruefung"],"source":"Zusammenfassung §11.2; Skript Folie 114","external_id":"db-theorie-074"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Vereinigung\nWas macht die Vereinigung zweier Relationen?","answer":"Die Vereinigung `A ∪ B` enthält alle Tupel, die in `A` oder `B` vorkommen.\n\nVoraussetzung: Relationen müssen schema-kompatibel sein.\n\nDuplikate werden eliminiert.\n\nBeispiel:\n\n`π_Stadt(Kunden) ∪ π_Stadt(Lieferungen)`","tags":["relationenalgebra","mengenoperatoren"],"source":"Zusammenfassung §11.3; Skript Folien 123-125","external_id":"db-theorie-075"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Durchschnitt\nWas macht der Durchschnitt zweier Relationen?","answer":"Der Durchschnitt `A ∩ B` enthält nur Tupel, die sowohl in `A` als auch in `B` vorkommen.\n\nVoraussetzung: Relationen müssen schema-kompatibel sein.\n\nBeispiel:\n\n`π_Stadt(Kunden) ∩ π_Stadt(Lieferungen)`\n\nBusinessfrage: In welchen Städten haben wir sowohl Kunden als auch Lieferungen?","tags":["relationenalgebra","mengenoperatoren"],"source":"Zusammenfassung §11.3; Skript Folien 126-127","external_id":"db-theorie-076"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Differenz\nWas macht die Differenz zweier Relationen?","answer":"Die Differenz `A \\ B` enthält Tupel, die in `A`, aber nicht in `B` vorkommen.\n\nVoraussetzung: Relationen müssen schema-kompatibel sein.\n\nBeispiel:\n\n`π_Stadt(Kunden) \\ π_Stadt(Lieferungen)`\n\nBusinessfrage: In welchen Städten haben wir Kunden, aber keine Lieferungen?","tags":["relationenalgebra","mengenoperatoren"],"source":"Zusammenfassung §11.3; Skript Folien 128-129","external_id":"db-theorie-077"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Symmetrische Differenz\nWie hängt XOR mit Mengen zusammen?","answer":"Das logische XOR entspricht bei Mengen der symmetrischen Differenz:\n\n`A ⊕ B = (A \\ B) ∪ (B \\ A) = (A ∪ B) \\ (A ∩ B)`\n\nBedeutung: Elemente, die in genau einer der beiden Mengen liegen, aber nicht in beiden.","tags":["relationenalgebra","xor","mengenoperatoren"],"source":"Zusammenfassung §11.3; Skript Folie 130","external_id":"db-theorie-078"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Logische Operatoren\nWas bedeuten AND, OR, NOT und XOR?","answer":"- **AND / ∧:** alle Bedingungen müssen wahr sein.\n- **OR / ∨:** mindestens eine Bedingung muss wahr sein.\n- **NOT / ¬:** Bedingung wird negiert.\n- **XOR / ⊕:** genau eine Bedingung ist wahr, aber nicht beide.\n\nIn der Relationenalgebra werden sie vor allem in Selektionsbedingungen verwendet.","tags":["relationenalgebra","logik"],"source":"Zusammenfassung §11.4; Skript Folien 133-137","external_id":"db-theorie-079"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Prioritätsregel\nWelche Priorität gilt für logische Operatoren im Skript?","answer":"Die Priorität lautet:\n\n1. Klammern\n2. NOT\n3. AND\n4. OR\n5. XOR\n\nPrüfungsfalle: `A ∪ B ∩ C` wird ohne Klammern nicht wie `(A ∪ B) ∩ C` gelesen, sondern zuerst wird `B ∩ C` gebildet.","tags":["relationenalgebra","logik","pruefungsfalle"],"source":"Zusammenfassung §12.1; Skript Folien 133, 144-145","external_id":"db-theorie-080"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Drei-Mengen-XOR\nWie lautet die im Skript behandelte Idee von A XOR B XOR C?","answer":"Für drei Mengen werden die Bereiche ausgewählt, in denen eine ungerade Anzahl von Bedingungen erfüllt ist:\n\n`A ⊕ B ⊕ C = (A ∩ B^c ∩ C^c) ∪ (A^c ∩ B ∩ C^c) ∪ (A^c ∩ B^c ∩ C) ∪ (A ∩ B ∩ C)`\n\nIm Marketingbeispiel entspricht das genau einer Eigenschaft oder allen drei Eigenschaften.","tags":["relationenalgebra","xor","venn"],"source":"Zusammenfassung §11.5; Skript Folien 138-140","external_id":"db-theorie-081"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Distributivgesetz\nWelche Distributivgesetze sind wichtig?","answer":"Wichtige Mengenformen:\n\n- `A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)`\n- `A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)`\n\nPrüfungsbezug: Algebraisch äquivalente Ausdrücke können fachlich unterschiedlich formuliert werden. Klammern helfen, die Zielgruppe sauber zu beschreiben.","tags":["relationenalgebra","rechenregeln"],"source":"Zusammenfassung §12.2; Skript Folien 146-147","external_id":"db-theorie-082"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# De Morgan\nWie lauten die De-Morgan-Regeln?","answer":"Für Mengen:\n\n- `(A ∪ B)^c = A^c ∩ B^c`\n- `(A ∩ B)^c = A^c ∪ B^c`\n\nLogische Lesart:\n\n- Nicht (A oder B) heißt: nicht A und nicht B.\n- Nicht (A und B) heißt: nicht A oder nicht B.\n\nPrüfungsfalle: Das Negieren von zusammengesetzten Bedingungen dreht OR und AND.","tags":["relationenalgebra","rechenregeln","logik"],"source":"Zusammenfassung §12.2; Skript Folien 148-149","external_id":"db-theorie-083"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# SQL als deskriptive Sprache\nWarum ist SQL deskriptiv?","answer":"SQL beschreibt das gewünschte Ergebnis und die Bedingungen, nicht den technischen Suchweg.\n\nBeispiel:\n\n```sql\nSELECT Name\nFROM Mitarbeitende\nWHERE Ort = 'Liestal';\n```\n\nDie Datenbank-Engine entscheidet, wie der Zugriff effizient ausgeführt wird.\n\nPrüfungsfalle: SQL nicht wie eine Schleife oder prozedurales Programm erklären.","tags":["sql","deskriptiv"],"source":"Zusammenfassung §12.3; Skript Folien 151-152","external_id":"db-theorie-084"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Fachfrage in Relationenalgebra\nWie übersetzt du eine Fachfrage in relationale Algebra?","answer":"Vorgehen:\n\n1. Benötigte Relationen identifizieren.\n2. Falls mehrere Tabellen nötig sind: Join-Bedingung formulieren.\n3. Zeilenbedingungen als Selektion `σ` formulieren.\n4. Gewünschte Attribute als Projektion `π` formulieren.\n5. Klammern setzen.\n\nBeispiel:\n\n`π_Name(σ_Stadt='Berlin' ∧ Alter>30(Kunden ⋈_Kunden.K_ID=Bestellungen.K_ID Bestellungen))`","tags":["relationenalgebra","sql","pruefung"],"source":"Zusammenfassung §12.3; Skript Folien 111, 151-155","external_id":"db-theorie-085"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Häufige Prüfungsfallen\nWelche typischen Fehler solltest du vermeiden?","answer":"Typische Fehler:\n\n- Daten, Information und Wissen vermischen.\n- JSON automatisch als NoSQL begründen.\n- Kardinalitäten nur in eine Richtung lesen.\n- Ternäre Beziehungen in falsche binäre Beziehungen zerlegen.\n- Minimalität von Schlüsseln vergessen.\n- 1NF, 2NF und 3NF vermischen.\n- Fremdschlüssel auf die falsche Seite setzen.\n- Integrität und Konsistenz synonym verwenden.\n- Projektion und Selektion verwechseln.\n- Logische Ausdrücke ohne Klammern interpretieren.","tags":["pruefung","pruefungsfalle"],"source":"Zusammenfassung §13; gesamtes Skript","external_id":"db-theorie-086"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Fachtext prüfen\nWelche Fragen stellst du, bevor du ein ERM zeichnest?","answer":"Vor dem Zeichnen klärst du:\n\n- Welche Objekte sind fachlich relevant?\n- Welche Objekte sind nur Attribute anderer Objekte?\n- Welche Beziehungen sind eigenständige Sachverhalte?\n- Gibt es Beziehungsattribute?\n- Sind Beziehungen optional oder verpflichtend?\n- Müssen Kardinalitäten in beide Richtungen präzisiert werden?\n- Fehlen Informationen, die als Annahme markiert werden müssen?\n\nPrüfungspunkt: Erst Fachlogik sichern, dann Diagramm zeichnen.","tags":["erm","pruefung","modellierung"],"source":"Zusammenfassung §5-6; Skript Folien 31-57","external_id":"db-theorie-087"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Entitytyp oder Attribut?\nWann modellierst du etwas als Entitytyp statt als Attribut?","answer":"Als Entitytyp modellierst du einen Begriff eher, wenn er:\n\n- eigene Attribute besitzt\n- mehrfach referenziert wird\n- eigene Beziehungen zu anderen Entitytypen hat\n- unabhängig existieren kann\n- im System gesucht, verwaltet oder historisiert wird\n\nAls Attribut reicht er eher, wenn er nur eine einfache Eigenschaft eines anderen Objekts ist.\n\nBeispiel: `Adresse` kann Attribut sein; bei mehreren Lieferadressen mit eigenen Regeln kann sie Entitytyp werden.","tags":["erm","modellierung","attribute"],"source":"Zusammenfassung §5.3-5.4; Skript Folien 39-43","external_id":"db-theorie-088"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Relationshipattribut\nWann bekommt eine Beziehung ein eigenes Attribut?","answer":"Eine Beziehung bekommt ein Attribut, wenn die Eigenschaft nicht sinnvoll zu genau einem beteiligten Entity gehört, sondern zur Kombination der Entities.\n\nBeispiel `Lieferant liefert Artikel`:\n\n- `Liefermenge` beschreibt nicht nur den Lieferanten.\n- `Liefermenge` beschreibt nicht nur den Artikel.\n- Sie beschreibt die konkrete Beziehung Lieferant-Artikel.\n\nBei n:m-Abbildung landet dieses Attribut in der Beziehungstabelle.","tags":["erm","relationships","abbildungsregeln"],"source":"Zusammenfassung §5.3 und §9.2; Skript Folien 41, 95","external_id":"db-theorie-089"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Optionalität\nWarum reicht 1:n oft nicht aus?","answer":"`1:n` beschreibt primär die maximale Anzahl, nicht sauber die Pflichtteilnahme.\n\nOffene Fragen:\n\n- Muss jedes Entity der n-Seite genau einem Entity der 1-Seite zugeordnet sein?\n- Darf ein Entity ohne Beziehung existieren?\n- Muss auf der n-Seite mindestens ein Partner existieren?\n\nDafür ist die MC-Notation hilfreich: `1`, `c`, `m`, `mc`.","tags":["erm","kardinalitaet","mc-notation"],"source":"Zusammenfassung §6.1-6.2; Skript Folien 47-51","external_id":"db-theorie-090"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Kardinalität begründen\nWie formulierst du eine gute Kardinalitätsbegründung?","answer":"Eine gute Begründung nennt beide Richtungen.\n\nBeispiel `Schulklasse - Schüler`:\n\n- Ein Schüler gehört genau einer Schulklasse an.\n- Einer Schulklasse können viele Schüler angehören.\n\nDaraus folgt eine 1:n-Beziehung.\n\nPrüfungsfalle: Nur `Klasse hat viele Schüler` reicht nicht, weil die Gegenrichtung fehlt.","tags":["erm","kardinalitaet","pruefung"],"source":"Zusammenfassung §6.1; Skript Folien 45-50","external_id":"db-theorie-091"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# 1:1 kritisch prüfen\nWarum sind 1:1-Beziehungen selten und prüfungsanfällig?","answer":"1:1-Beziehungen sind selten, weil viele scheinbare 1:1-Beziehungen zeit-, rechts- oder fachkontextabhängig sind.\n\nPrüfe:\n\n- Gilt die Beziehung wirklich immer?\n- Gilt sie nur zu einem Zeitpunkt?\n- Ist eine Seite optional?\n- Wäre Zusammenlegung sinnvoller?\n- Gibt es historische Mehrfachzuordnungen?\n\nBeispiel aus dem Skript: Ehemodellierung ist nicht für alle Länder und Zeiträume allgemein gültig.","tags":["erm","kardinalitaet","pruefungsfalle"],"source":"Zusammenfassung §6.1; Skript Folie 50","external_id":"db-theorie-092"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# n:m erkennen\nWoran erkennst du eine n:m-Beziehung?","answer":"Eine n:m-Beziehung liegt vor, wenn auf beiden Seiten mehrere Zuordnungen möglich sind.\n\nDiagnosefragen:\n\n- Kann ein Lieferant viele Artikel liefern? Ja.\n- Kann ein Artikel von vielen Lieferanten geliefert werden? Ja.\n\nDann entsteht n:m.\n\nRelationale Folge: eigene Beziehungstabelle mit beiden Fremdschlüsseln und möglichen Beziehungsattributen.","tags":["erm","kardinalitaet","abbildungsregeln"],"source":"Zusammenfassung §6.1 und §9.2; Skript Folien 48, 95","external_id":"db-theorie-093"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Ternär vs. drei binäre Beziehungen\nWelche Kontrollfrage verhindert eine Connection Trap?","answer":"Frage: Kann ich aus den binären Beziehungen die ursprüngliche dreifache Aussage eindeutig rekonstruieren?\n\nWenn nein, brauche ich eine ternäre Beziehung.\n\nBeispiel:\n\n- Pilot-Flugzeug\n- Pilot-Flugroute\n- Flugroute-Flugzeug\n\nDiese drei Beziehungen sagen nicht eindeutig, welcher Pilot mit welchem Flugzeug welche Flugroute fliegt.","tags":["erm","ternaere-beziehung","pruefungsfalle"],"source":"Zusammenfassung §6.4; Skript Folien 58-60","external_id":"db-theorie-094"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Generalisierung prüfen\nWelche zwei unabhängigen Fragen stellst du bei Generalisierung?","answer":"Bei einer Generalisierung prüfst du getrennt:\n\n1. **Disjunktheit:** Darf eine Entität mehreren Subtypen angehören?\n2. **Vollständigkeit:** Muss jede Entität des Supertyps mindestens einem Subtyp angehören?\n\nKombinationen:\n\n- überlappend / nicht vollständig\n- überlappend / vollständig\n- disjunkt / nicht vollständig\n- disjunkt / vollständig","tags":["erm","generalisierung","pruefung"],"source":"Zusammenfassung §7; Skript Folien 65-68","external_id":"db-theorie-095"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Normalisierung Diagnose\nWelche Diagnosefragen führen dich durch 1NF, 2NF und 3NF?","answer":"- **1NF:** Gibt es Wiederholungsgruppen oder mehrere Werte in einer Zelle?\n- **2NF:** Gibt es einen zusammengesetzten Schlüssel und Attribute, die nur von einem Teil davon abhängen?\n- **3NF:** Gibt es Nichtschlüsselattribute, die andere Nichtschlüsselattribute bestimmen?\n\nDiese Reihenfolge ist wichtig. Du prüfst nicht 3NF, bevor 1NF und 2NF sauber sind.","tags":["normalisierung","pruefung"],"source":"Zusammenfassung §8.3-8.4; Skript Folien 77-83","external_id":"db-theorie-096"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Funktionale Abhängigkeit\nWas bedeutet funktionale Abhängigkeit praktisch?","answer":"Eine funktionale Abhängigkeit `A → B` bedeutet: Der Wert von `A` bestimmt eindeutig den Wert von `B`.\n\nBeispiel:\n\n- `MNR → MNA, BR`: Mieter-Nr bestimmt Name und Branche.\n- `WNR → FT, BJ, VS`: Wagen-Nr bestimmt Fahrzeugdaten.\n\nNormalisierung nutzt solche Abhängigkeiten, um Tabellen korrekt zu zerlegen.","tags":["normalisierung","funktionale-abhaengigkeit"],"source":"Zusammenfassung §8.4; Skript Folien 79-83","external_id":"db-theorie-097"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Schlüssel erweitern bei 1NF\nWarum muss nach dem Auflösen von Wiederholungsgruppen manchmal der Schlüssel erweitert werden?","answer":"Wenn aus einer Zeile mehrere Tupel entstehen, identifiziert der alte Schlüssel oft nicht mehr eindeutig.\n\nIm Mietwagenbeispiel:\n\n- Vorher: `MNR` identifiziert den Mieter.\n- Nach 1NF: Ein Mieter kann mehrere Wagen mieten.\n- Eindeutig wird der Mietvorgang erst durch `MNR + WNR`.\n\nPrüfungsfalle: Atomarität herstellen, aber neuen Schlüssel vergessen.","tags":["normalisierung","1nf","schluessel"],"source":"Zusammenfassung §8.3; Skript Folien 77-78","external_id":"db-theorie-098"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Verlustfreie Zerlegung\nWas muss bei einer Normalisierungszerlegung erhalten bleiben?","answer":"Eine sinnvolle Zerlegung soll:\n\n- Informationen nicht verlieren\n- über Schlüssel/Fremdschlüssel rekonstruierbar sein\n- Redundanzen reduzieren\n- Anomalien vermeiden\n- fachliche Abhängigkeiten korrekt abbilden\n\nIm Skript wird die Rekonstruktion über Primärschlüssel-Fremdschlüssel-Beziehungen betont.","tags":["normalisierung","schema"],"source":"Zusammenfassung §8.4; Skript Folien 80-83","external_id":"db-theorie-099"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Beziehungstabelle vs. Entitytabelle\nWas gehört in eine Beziehungstabelle?","answer":"Eine Beziehungstabelle enthält typischerweise:\n\n- Fremdschlüssel auf die beteiligten Entitytabellen\n- häufig zusammengesetzten Primärschlüssel aus diesen Fremdschlüsseln\n- Attribute der Beziehung\n\nBeispiel:\n\n`Lieferung(LNr, ANr, Liefermenge)`\n\n`Liefermenge` gehört zur Beziehung, nicht allein zu `Lieferant` oder `Artikel`.","tags":["schema","abbildungsregeln","relationships"],"source":"Zusammenfassung §9.2; Skript Folie 95","external_id":"db-theorie-100"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Fremdschlüsselrichtung\nWie merkst du dir die Richtung bei 1:n-Abbildungen?","answer":"Merksatz: Der Fremdschlüssel wandert auf die **n-Seite**.\n\nWarum?\n\nJedes Tupel auf der n-Seite verweist auf sein zugehöriges Tupel der 1-Seite.\n\nBeispiel:\n\n- Eine Klasse hat viele Schüler.\n- Jeder Schüler gehört zu einer Klasse.\n- Also steht `KlasseNr` in `Schueler`.\n\nPrüfungsfalle: Fremdschlüssel in die 1-Seite setzen.","tags":["schema","fremdschluessel","kardinalitaet"],"source":"Zusammenfassung §9.2; Skript Folie 94","external_id":"db-theorie-101"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Domain-Integrität vs. referentielle Integrität\nWie unterscheidest du beide am Beispiel `KlasseNr`?","answer":"Bei `Schueler.KlasseNr`:\n\n- **Domain-Integrität:** Der Wert hat den richtigen Typ und das richtige Format, z. B. Text wie `1a`.\n- **Referentielle Integrität:** Der Wert existiert tatsächlich in `Klasse.KlasseNr`.\n\nEin Wert kann formal passend sein und trotzdem referentiell ungültig, z. B. `2a`, wenn es diese Klasse nicht gibt.","tags":["integritaet","domain-integritaet","referentielle-integritaet"],"source":"Zusammenfassung §10.1; Skript Folien 99-103","external_id":"db-theorie-102"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# CHECK vs. NOT NULL\nWelche Integritätsprobleme lösen `CHECK` und `NOT NULL`?","answer":"- **`NOT NULL`:** verhindert fehlende Werte in Pflichtfeldern.\n- **`CHECK`:** beschränkt zulässige Werte durch eine Bedingung.\n\nBeispiele:\n\n- `Name NOT NULL`\n- `CHECK (Alter >= 18)`\n\nPrüfungsfalle: `NOT NULL` sagt nichts darüber, ob ein Wert fachlich plausibel ist. Dafür brauchst du zusätzliche Regeln wie `CHECK`.","tags":["integritaet","constraints"],"source":"Zusammenfassung §10.1; Skript Folien 99-101","external_id":"db-theorie-103"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# CASCADE Risiko\nWarum ist `CASCADE` fachlich riskant?","answer":"`CASCADE` überträgt Lösch- oder Änderungsoperationen automatisch auf abhängige Datensätze.\n\nDas ist praktisch, kann aber fachlich gefährlich sein:\n\n- Beim Löschen eines Masters verschwinden Detaildaten automatisch.\n- Historische oder prüfungsrelevante Informationen können verloren gehen.\n- Die Regel muss zur Fachdomäne passen.\n\nPrüfung: Referenzaktionen immer begründen, nicht nur aufzählen.","tags":["integritaet","constraints","pruefungsfalle"],"source":"Zusammenfassung §10.2; Skript Folien 104-106","external_id":"db-theorie-104"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Projektionsfalle SQL\nWarum führt SQL-`SELECT` leicht zu einer Begriffsverwechslung?","answer":"In SQL heißt die Klausel `SELECT`, aber in der relationalen Algebra entspricht das Auswählen von Spalten der **Projektion** `π`.\n\nDie **Selektion** `σ` filtert Zeilen anhand einer Bedingung und entspricht eher `WHERE`.\n\nMerksatz:\n\n- Projektion = Spalten\n- Selektion = Zeilen","tags":["relationenalgebra","sql","pruefungsfalle"],"source":"Zusammenfassung §11.2; Skript Folien 115-117","external_id":"db-theorie-105"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Schema-Kompatibilität\nWas bedeutet schema-kompatibel bei Mengenoperatoren?","answer":"Mengenoperatoren wie `∪`, `∩` und `\\` setzen voraus, dass die Relationen vergleichbar sind.\n\nDas heißt:\n\n- gleiche Anzahl von Attributen\n- kompatible Datentypen bzw. Domänen\n- fachlich gleiche Bedeutung der verglichenen Spalten\n\nBeispiel: `π_Stadt(Kunden)` und `π_Stadt(Lieferungen)` sind kompatibel, weil beide Stadtwerte liefern.","tags":["relationenalgebra","mengenoperatoren"],"source":"Zusammenfassung §11.3; Skript Folie 123","external_id":"db-theorie-106"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Join als Produkt plus Selektion\nWarum kann ein Join als kartesisches Produkt plus Selektion verstanden werden?","answer":"Zuerst bildet das kartesische Produkt alle möglichen Tupelkombinationen zweier Relationen.\n\nDanach filtert eine Selektion nur die Kombinationen heraus, die die Join-Bedingung erfüllen.\n\nKurz:\n\n`R ⋈_Bedingung S` entspricht `σ_Bedingung(R × S)`\n\nPraktisch optimiert das DBMS diesen Ablauf, aber formal ist die Idee wichtig.","tags":["relationenalgebra","join","kartesisches-produkt"],"source":"Zusammenfassung §11.2; Skript Folie 118","external_id":"db-theorie-107"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Komplementnotation\nWelche Zeichen können für NOT bzw. Komplement vorkommen?","answer":"Im Skript kommen unterschiedliche Schreibweisen vor:\n\n- Logik: `¬A`\n- Mengen: `A^c`\n- Mengen: `Ā`\n\nBedeutung jeweils: nicht A bzw. außerhalb von A.\n\nPrüfungsfalle: Bei De Morgan genau auf Klammern und den Wechsel von `∪` zu `∩` achten.","tags":["relationenalgebra","logik","rechenregeln"],"source":"Zusammenfassung §11.4 und §12.2; Skript Folien 136, 144, 148-149","external_id":"db-theorie-108"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Fachanforderung zu Algebra\nWie liest du einen algebraischen Ausdruck als Fachanforderung?","answer":"Arbeite von innen nach außen:\n\n1. Welche Relationen werden verbunden?\n2. Welche Tupel werden gefiltert?\n3. Welche Attribute bleiben übrig?\n4. Welche Mengenoperationen verändern die Zielgruppe?\n\nBeispiel:\n\n`π_Name(σ_Stadt='Berlin'(Kunden))`\n\nliest sich als: Gib die Namen der Kunden aus, die in Berlin wohnen.","tags":["relationenalgebra","pruefung"],"source":"Zusammenfassung §11-12; Skript Folien 111-152","external_id":"db-theorie-109"}
{"semester":"Semester 4","subject":"Datenbanken - Theorie","deck":"Semester 4","question":"# Klammern in Zielgruppenlogik\nWarum sind Klammern in Marketing-/Zielgruppenaufgaben wichtig?","answer":"Klammern ändern die fachliche Bedeutung.\n\nBeispiel:\n\n- `A ∩ (B ∪ C)`: A und zusätzlich B oder C.\n- `(A ∩ B) ∪ C`: entweder A und B oder unabhängig davon C.\n\nOhne Klammern gelten Prioritätsregeln, die oft nicht der natürlichsprachlichen Absicht entsprechen.\n\nPrüfung: Bei Zielgruppen immer explizit klammern.","tags":["relationenalgebra","logik","pruefungsfalle"],"source":"Zusammenfassung §12.1-12.2; Skript Folien 145-149","external_id":"db-theorie-110"}
