Grundlagen der Datenbanken und Softwareentwicklung

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/86

flashcard set

Earn XP

Description and Tags

Vokabel-Lernkarten basierend auf der Vorlesung zu Datenbanken, SQL, Programmiergrundlagen und Software-Engineering-Modellen.

Last updated 9:43 PM on 8/12/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

87 Terms

1
New cards

Warum ist Excel keine Datenbank

Excel ist nicht mehrbenutzerfähig, trennt Daten und Anwendung nicht strikt und vermeidet Redundanzen nicht automatisch.

2
New cards

Anforderungen an eine Datenbank

Mehrbenutzer-Fähigkeit, Strukturierung, kontrollierte Redundanz, Datenunabhängigkeit, Datenintegrität und zeitliche Permanenz.

3
New cards

Was ist ein Tupel

Eine einzelne Zeile in einer Tabelle, die als Datensatz inhaltlich zusammengehörige Informationen fasst.

4
New cards

Was ist ein Attribut in einer Datenbank

Eine Spaltenüberschrift der Tabelle, der ein spezifischer Datentyp zugeordnet ist und die eine Eigenschaft beschreibt.

5
New cards

Welche Datenbankmodelle gibt es

Wichtige Modelle sind relationale, hierarchische, netzwerkartige, objektorientierte und NoSQL-Datenbankmodelle.

6
New cards

Was kennzeichnet ein relationales Datenmodell

Strukturierung der Daten in Tabellen (Relationen), die über Primär- sowie Fremdschlüssel verknüpft sind.

7
New cards

Wozu dient ein Primärschlüssel

Dient der absolut eindeutigen Identifikation eines einzelnen Datensatzes (Tupel) innerhalb einer Tabelle.

8
New cards

Welche Anforderung gilt immer an einen Primärschlüssel

Ein Primärschlüssel darf sich während seiner gesamten Lebenszeit nach Möglichkeit niemals ändern.

9
New cards

Ziel der Normalisierung

Die konsequente Vermeidung von Redundanzen und Verhinderung von Inkonsistenzen bei Datenänderungen.

10
New cards

Was ist ein Fremdschlüssel

Ein Attribut in einer Tabelle, das auf den Primärschlüssel einer anderen Tabelle referenziert, um Beziehungen abzubilden.

11
New cards

Wie werden m:nm:n-Beziehungen abgebildet

Durch eine zusätzliche Verbindungstabelle, welche die Fremdschlüssel beider beteiligter Tabellen enthält.

12
New cards

Was ist eine Transaktion in Datenbanken

Eine unteilbare Folge von Operationen, die eine Datenbank von einem konsistenten in einen neuen konsistenten Zustand überführt.

13
New cards

Wie lauten die Transaktionsschritte

Start der Transaktion durch „Begin“

Bestätigung durch „Commit“

Abbruch und Rückruf durch „Rollback“

<p>Start der Transaktion durch „Begin“</p><p>Bestätigung durch „Commit“</p><p>Abbruch und Rückruf durch „Rollback“</p>
14
New cards

ACID-Prinzip

Atomicity (Atomarität), Consistency (Konsistenz), Isolation (Isolation) und Durability (Dauerhaftigkeit).

15
New cards

Wo ist das ACID Prinzip besonders wichtig

  • Gleichzeitige Platzreservierung für Züge aus vielen Ticketschaltern

  • Statistische Datenbankoperationen

  • Überschneidende Konto-Operationen einer Bank


16
New cards

Was hat Rollback mit ACID zu tun

Änderungen müssen nicht durch das Programm Rückgängig gemacht werden, der Konsistente Zustand wird automatisch wieder hergestellt

17
New cards

CAP-Theorem

Consistency (Konsistenz), Availability (Verfügbarkeit) und Partition Tolerance (Ausfalltoleranz).

18
New cards

CAP-Theorem für NoSQL

In verteilten Systemen können immer nur maximal zwei der drei Eigenschaften (Konsistenz, Verfügbarkeit, Ausfalltoleranz) garantiert werden.

19
New cards

Was bedeutet Fragmentierung

Die logische Aufteilung von Daten in kleinere Einheiten, entweder vertikal (Spalten) oder horizontal (Zeilen) in verteilten Datenbanken.

<p>Die logische Aufteilung von Daten in kleinere Einheiten, entweder vertikal (Spalten) oder horizontal (Zeilen) in verteilten Datenbanken.</p>
20
New cards

Was ist eine Allokation

Die physische Verteilung und Zuweisung von Datenfragmenten an verschiedene Speicherknoten oder Standorte.

<p>Die physische Verteilung und Zuweisung von Datenfragmenten an verschiedene Speicherknoten oder Standorte.</p>
21
New cards

Anforderungen an Verteilte DBS


  • Lokale Autonomie

    • Lokale Daten werden unabhängig von anderen Standorten verwaltet

  • Unabhängigkeit von zentralen Systemfunktionen

  • Hohe Verfügbarkeit

    • Systemfehler dürfen nur Teile des Systems lahmlegen

  • Physischer Standort der Daten sollte für Nutzer verborgen bleiben

  • Verteilte Anfrageverarbeitung

    • Anfragen müssen Zugriff auf mehrere Standorte gleichzeitig haben

  • Verteilte Transaktionsverarbeitung

    • Transaktionseigenschaften müssen an allen Standorten eingehalten werden


22
New cards

Definition von Big Data

Mit "Big Data" werden große Mengen an Daten bezeichnet, die u.a. aus Bereichen wie Internet und Mobilfunk, Finanzindustrie, Energiewirtschaft, Gesundheitswesen und Verkehr und aus Quellen wie intelligenten Agenten, sozialen Medien, Kredit- und Kundenkarten, Smart-Metering-Systemen, Assistenzgeräten, Überwachungskameras sowie Flug- und Fahrzeugen stammen und die mit speziellen Lösungen gespeichert, verarbeitet und ausgewertet werden.

23
New cards

Mögliche Big Data Quellen


  • Text (Fließtext, Textsammlung)

  • Grafik (Stadtplan, Landkarte, 3D Grafik)

  • Bild (Foto, Satellitenbild, Röntgenbild)

  • Audio (Sprache, Musik, Geräusche)

  • Video (Film, Animation Telekonferenz)


<ul><li><p>Text (Fließtext, Textsammlung)</p></li><li><p>Grafik (Stadtplan, Landkarte, 3D Grafik)</p></li><li><p>Bild (Foto, Satellitenbild, Röntgenbild)</p></li><li><p>Audio (Sprache, Musik, Geräusche)</p></li><li><p>Video (Film, Animation Telekonferenz)</p></li></ul><p></p>
24
New cards

Die 55 Vs von Big Data

Volume (Menge), Velocity (Geschwindigkeit), Variety (Vielfalt), Veracity (Wahrhaftigkeit) und Value (Wert).

25
New cards

Big Data vs. Relationale Datenbanken

Relationale Systeme sind zu starr für unstrukturierte Daten und lassen sich nicht einfach und kosteneffizient horizontal skalieren.

26
New cards

Warum eignet sich NoSQL für Big Data


  • Das Datenbankmodell ist nicht relational

  • Mindestens 3 V‘s werden erfüllt: Volume, Velocity, Variety

  • Unterliegt keinem fixen Datenbankschema

  • Unterstützt Datenreplikation

  • Konsistenz zumindest verzögert gewährleistet


27
New cards

Vor- und Nachteile von No SQL

Vorteile:

  • Best Practices

  • Vielfalt an Produkten

  • Flexible Datenmodelle

  • Hohe Performance & Fehlerresistenz

Nachteile:

  • Fehlende Standards / Sprachen

  • Einsetzbarkeit häufig unklar

  • Fehlende Verfügbarkeit von Experten

  • Mangelhafte Dokumentation


<p>Vorteile:</p><ul><li><p>Best Practices </p></li><li><p>Vielfalt an Produkten </p></li><li><p>Flexible Datenmodelle </p></li><li><p>Hohe Performance &amp; Fehlerresistenz </p></li></ul><p>Nachteile:</p><ul><li><p>Fehlende Standards / Sprachen</p></li><li><p>Einsetzbarkeit häufig unklar</p></li><li><p>Fehlende Verfügbarkeit von Experten</p></li><li><p>Mangelhafte Dokumentation</p></li></ul><p></p>
28
New cards

Was ist Polyglotte Persistenz

bezeichnet den Einsatz verschiedener Datenbanken für verschiedene Anforderungen

29
New cards

Bsp. für Polygotte Persistenz


Einkaufskorb = Key/Value Datenbank

Bestelldienst = Document Store

Kunden- & Konten Mgt = Relationelle Datenbank

Business Analytics = InMemory Datenbank

Social Media = Graphdatenbank

<p>Einkaufskorb = Key/Value Datenbank</p><p>Bestelldienst = Document Store</p><p>Kunden- &amp; Konten Mgt = Relationelle Datenbank</p><p>Business Analytics = InMemory Datenbank</p><p>Social Media = Graphdatenbank</p>
30
New cards

Was versteht man unter Datenmodellierung

Ein Datenmodell ist ein Abbild des jeweiligen Weltausschnitts, das mit den Mitteln und gemäß den Regeln des jeweiligen datenbanktheoretischen Ansatzes realisiert wurde und das mit Hilfe eines Datenbanksystems in eine Datenbank umgesetzt wird

31
New cards

Zusammenhang ERM und relationale Datenbank

Das ERM wird durch feste Transformationsregeln in Tabellen und Relationen der Datenbank überführt.

32
New cards

Entity-Relationship-Modell (ERM)

In der betrieblichen Datenverarbeitung häufig (bes. zur konzeptionellen Datenmodellierung; konzeptionelles Datenmodell) angewendetes Modell zur formalisierten Darstellung der Datensicht auf einen Ausschnitt der realen Welt. Konstruktionselemente sind das Objekt (Entity) und die Beziehung (Relationship) ... Wesentlicher Vorteil des Entity-Relationship-Modells ist die Möglichkeit der grafischen Darstellung von Sachverhalten: In einem Entity- Relationship-Diagramm werden Objekte durch Rechtecke und Beziehungen durch Rauten repräsentiert.

33
New cards

Grafische Grundelemente eines ERM

Rechtecke für Entitäten, Ellipsen für Attribute und Rauten für Relationen.

34
New cards

Was sind Attribute und -ausprägungen

Attribute: Identifizieren und beschreiben die zu erfassenden Objekte

Attributsausprägungen: konkreter Wert eines Attributs (Bsp.: Silber, Mayer, 600)

35
New cards

Relationstyp vs. Relation

Der Relationstyp verknüpft 2 oder mehr Entitäten (Raute).

Die Relation ist die konkrete Verknüpfung zwischen Entitäten, Attributen und Relationstypen.

36
New cards

Was geben Kardinalitäten an

Das exakte Mengenverhältnis, mit dem Entitäten an einer Beziehung beteiligt sein können (z.B. 1:11:1, 1:n1:n, m:nm:n).

37
New cards

Funktion eines identifizierendes Attributes

Macht eine Entität absolut eindeutig und wird in Diagrammen als Primärschlüssel unterstrichen.

38
New cards

Was ist Generalisierung

Das Zusammenfassen gleichartiger Subtypen zu einem allgemeineren Supertyp mit allen gemeinsamen Attributen.

39
New cards

Was ist Spezialisierung

Die Unterteilung eines bestehenden Supertyps in spezifischere Subtypen zur feineren Unterscheidung.

40
New cards

Wichtige Datentypen


  • INTEGER → ganze Zahl

  • NUMERIC(n,m) → Festkommazahl mit n Stellen, davon m Nachkommastellen

  • VARCHAR(n) → Zeichenkette (Buchstaben und Zahlen) mit variabler Länger aber maximal n Zeichen

  • DECIMAL(p,s) → Gesamtanzahl der Ziffern = Präzision, s Nachkommastellen

  • DATE → Datum ohne Zeitangabe

  • TIME → Zeitangabe

  • BOOLEAN → boolesche Variable (kann die Werte true oder false annehmen)


41
New cards

Warum nutzt man Datentypumwandlung (CAST)

  • Inkompatible Datentypen vergleichen

  • Rechenoperationen ermöglichen

  • Datenformate vereinheitlichen

  • Fehler bei Abfragen vermeiden


42
New cards

Wann nutzt man Datentypumwandlung (CAST)

  • Datumsberechnung (Date)

  • Rechnen mit Zahlen (Int)

  • Finanzdaten (Decimal)

  • Textausgabe (Varchar)

  • Logische Abfragen (Boolean)


<ul><li><p>Datumsberechnung (Date)</p></li><li><p>Rechnen mit Zahlen (Int)</p></li><li><p>Finanzdaten (Decimal)</p></li><li><p>Textausgabe (Varchar)</p></li><li><p>Logische Abfragen (Boolean)</p></li></ul><p></p>
43
New cards

Datenmanipulation durch Data Manipulation Language

umfasst Befehle zum Abfragen und Ändern von Daten (SELECT, INSERT, UPDATE, DELETE).

44
New cards

SQL Datentypen

Wichtige Typen sind INTEGER (Ganzzahl), NUMERIC (Festkomma), VARCHAR (Zeichenkette), DATE (Datum) und BOOLEAN (Wahrheitswert).

45
New cards

Select und *

Auswahl von Attributen aus einem Datensatz; mit * wird die gesamte Tabelle ausgewählt

46
New cards

From

Gibt an, Aus welcher Tabelle die Daten ausgelesen werden sollen (Bsp.: FROM Studentenverwaltung)

47
New cards

Where

Filtert Datensätze (Zeilen) nach einer bestimmten Bedingung

48
New cards

INSERT INTO „Tabellenname“ (Spalte 1, Spalte 2; …) & Value

Befehl zum Einfügen neuer Datensätze in die Datenbank.

&

Fügt die konkreten Werte in die Tabelle ein

49
New cards

UPDATE „Tabellenname“ & SET „Spalte“ = Wert [Where „Bedingung“]

Befehl zum Verändern bestehender Datensätze

&

Bestimmt die Spalte und den neuen Wert, der dort eingetragen werden soll

50
New cards

DELETE FROM

  • Befehl zum gezielten Löschen von Datensätzen (ganze Zeile) unter Verwendung einer WHERE-Bedingung

  • Ohne Bedingung → alle Datensätze löschen


51
New cards

CAST

Wandelt einen Datentypen in einen anderen um z. B. Text → Zahl

52
New cards

TRIM

Entfernt Leerzeichen vor und nach einem Text

53
New cards

Count

(Select Count (*)

From „Tabelle“

[Where „Bedingung“])

Zählt die Anzahl an Datensätzen, die die Filterbedingung erfüllen (liefert nur eine Zahl)

54
New cards

COALESCE

Gibt den ersten nicht NULL-Wert aus einer Liste zurück

55
New cards

LIKE Aussagentyp für WHERE-Klausel

Wird für Mustersuchen verwendet,

  • „_“ ersetzt eine unbekannte Stelle/Zeichen

  • „%“ beliebige Zahl unbekannter Stellen

  • Können beliebig oft verwendet werden

z.B. WHERE Nachname LIKE 'B%' für Nachnamen, die mit B beginnen.

56
New cards

ORDER BY Erweiterung ASC & DESC

Klausel zum Sortieren von Datensätzen in einer SQL-Abfrage. Entweder Aufsteigend oder Absteigend

57
New cards

SELECT Erweiterung DISTINCT

Schlüsselwort zur Verhinderung der Mehrfachausgabe identischer Datensätze → liefert nur unterschiedliche

58
New cards

LIMIT

Beschränkt die Anzahl ausgegebener Zeilen

59
New cards

GROUP BY

Fasst Zeilen mit gleichen Werten in ausgewählten Spalten zusammen, um Aggregatfunktionen darauf anzuwenden.

60
New cards

HAVING

Filtert die durch GROUP BY gebildeten Gruppen nach Aggregation (Count, Sum)

Bsp.:

GROUP BY customer_id

HAVING SUM (order_amount) > 400

61
New cards

COUNT(*)

Aggregatfunktion zur Ermittlung der genauen Anzahl der Zeilen, die einem Suchkriterium entsprechen → Zählt Anzahl der Datensätze

62
New cards

Boolsche Operatoren

  • AND (und)

  • OR (oder)

  • NOT (nicht)

  • XOR (entweder oder)


63
New cards

Operatoren

  • BETWEEN (prüft ob ein Wert innerhalb eines Bereiches liegt)

  • IS NULL / IS NOT NULL (prüft, ob ein Feld keinen oder einen Wert hat)


64
New cards

Verbinden von Tabellen (Joins)

Nennung beider Tabellen in der FROM-Klausel und Gleichsetzen von Primär- und Fremdschlüssel in der WHERE-Klausel.

65
New cards

Was ist PL/SQL

Eine proprietäre Programmiersprache von Oracle, die SQL um prozedurale Konstrukte wie Schleifen und Verzweigungen erweitert.

66
New cards

Struktur eines PL/SQL-Blocks

  • Besteht aus DECLARE (Deklaration: Definition von Variablen und Konstanten)

  • BEGIN (Ausführung: Eigentliches Programm)

  • EXCEPTION (Fehlerbehandlung)

  • END; (Abschluss).


67
New cards

Schleifenarten in PL/SQL

  • LOOP Schleife

  • WHILE Schleife

  • FOR Schleife

  • REVERSE-FOR Schleife

  • CURSOR-FOR Schleife


68
New cards

Elementare Datentypen in C++

int (Ganze Zahlen), float/double (Gleitkomma), bool (Wahrheitswerte), char (Zeichen) und string (Zeichenkette).

69
New cards

Deklaration vs. Initialisierung in C++

Die Deklaration legt Name und Datentyp fest; die Initialisierung weist der Variablen ihren ersten Wert zu.

70
New cards

Schleifenarten in C++


  • For

  • While

  • Do-While


71
New cards

Was sind Kopfgesteuerte und Fußgesteuerte Schleifen in C++

  • Kopfgesteuerte Schleifen werden nur durchlaufen, wenn Anfangsbedingung erfüllt ist.

  • Fußgesteuerte Schleifen führen die Schleife einmal aus und überprüfen danach erst die Bedingung


72
New cards

Wozu dienen Datenstrukturen

Daten strukturiert zu speichern und gezielt auf diese zuzugreifen (Bsp.: Arrays, Vektoren, Klassen)

73
New cards

Array vs. Vektor in C++

Ein Array hat eine unveränderliche feste Größe; ein Vektor kann hingegen dynamisch wachsen.

74
New cards

Vector Befehle


  • push_back()

  • pop_back()

  • size()

  • begin() / end()


75
New cards

Funktionen in C++

Codeabschnitt, der nur ausgeführt wird, wenn er explizit aufgerufen wird. (Spart Code und Dopplungen → muss nur einmal geschrieben werden)

Bei Void keine Ausgabe; bei int, char,…: Ausgabe über return

76
New cards

Objektorientiertes Paradigma

Programmieransatz, der zusammengehörige Daten (Attribute) und Operationen (Methoden) in Objekten kapselt.

77
New cards

Klasse

Ein benutzerdefinierter Datentyp, der als Schablone oder Bauplan für die Erzeugung konkreter Objekte dient.

78
New cards

Objekt

Eine konkrete, zur Laufzeit existierende Instanz, die nach dem Bauplan einer Klasse erzeugt wurde.

79
New cards

Wissenstreppe nach North

Hierarchie der Wertschöpfung: Zeichen -> Daten -> Information -> Wissen -> Handeln -> Kompetenz -> Wettbewerbsfähigkeit.

80
New cards

KDD vs. Data Mining

KDD ist der vollständige Prozess der Wissensentdeckung; Data Mining ist der Teilschritt der Mustererkennung.

81
New cards

Wasserfallmodell

Entwicklungsmodell mit streng sequenziellen Phasen, bei dem jede Phase erst nach Abschluss der vorherigen beginnt.

82
New cards

V-Modell

Verbindet konstruktive Entwurfsphasen auf der linken Seite direkt mit überprüfenden Testphasen auf der rechten Seite.

83
New cards

Statische vs. Dynamische Tests

Statische Tests prüfen Code ohne Ausführung (z.B. Reviews); dynamische Tests führen die Software real aus.

84
New cards

Funktionale vs. Nicht-funktionale Anforderungen

Funktionale beschreiben WAS das System tun soll; nicht-funktionale beschreiben WIE qualitativ (z.B. Performance) es arbeiten soll.

85
New cards

Vision (Scrum)

Vom Product Owner vorgegebene Ziele, die die Priorisierung der Aufgaben erleichtern.

86
New cards

Bestandteile eines Sprints

Sprint Planning, Daily Scrums, Entwicklungsarbeit und das fertige Produkt-Inkrement.

87
New cards

Relativität von Hardware und Software

Trotz Softwarefokus ist Hardware oft kaufentscheidend und in absoluten Zahlen häufig profitabler als reine Software.