Datenbanken Flashcards

1
Q

Was sind die vier Schritte zur Implementierung einer Datenbank?

A

Anforderungsanalyse
Konzeptionelle Modellierung
Logische Modellierung
Implementierung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist ein Schlüssel?

A

ein Spalte mit eindeutigen Werten für jede Zeile in einer Tabelle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was sind Kardinalitäten?

A

1:N, n:m, 1:1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist ein Primärschlüssel? Was ist ein Fremdschlüssel?

A

Primärschlüssel: ausgewählter Schlüssel, der jede Zeile eineindeutig definiert und nicht null sein darf
Fremdschlüssel: Primärschlüssel aus einer Relation mit einer anderen Tabelle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was ist ein Join?

A

Ein Join verknüpft Tabellen:
Innerjoin: nur Datensätze, wo Übereinstimmungen in beiden Tabellen sind
Right/Left Join: alle Datensätze aus einer Tabelle verglichen mit der anderen
Full Join: alle Datensätze auch wenn keine Übereinstimmung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind die Normalformen?

A

Niveaus, die dazu dienen, die Struktur von Datenbanken zu optimieren und Redundanzen zu optimieren

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist vertikale und horizontale Skalierung?

A

Vertikale: mehr Ram und CPU
Horizontale: weitere Server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was macht der konzeptionelle Modellierungsschritt prinzipiell?

A

Der konzeptionelle Modellierungsschritt entwickelt abstrakte Modelle, identifiziert Schlüsselkonzepte und ihre Beziehungen, legt Attribute fest und erstellt visuelle Darstellungen, um eine klare Vorstellung von der Struktur und den Funktionen eines Systems zu schaffen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was sind die wesentlichen Elemente von E/R Diagrammen?

A

Entität: Ein Objekt oder eine Klasse, z.B. “Kunde” oder “Produkt”.

Attribut: Eigenschaften oder Merkmale von Entitäten, z.B. “Name” oder “Alter” eines Kunden.

Beziehung: Verbindung zwischen Entitäten, um anzuzeigen, wie sie miteinander verbunden sind, z.B. “hat” oder “bestellt”.

Primärschlüssel (Primary Key): Ein eindeutiges Attribut oder eine Kombination von Attributen, die jede Entität eindeutig identifizieren, z.B. Kundennummer.

Fremdschlüssel (Foreign Key): Ein Attribut in einer Entität, das auf den Primärschlüssel einer anderen Entität verweist, um Beziehungen zwischen ihnen herzustellen.

Kardinalität: Gibt an, wie viele Entitäten in einer Beziehung beteiligt sind und wie oft sie auftreten können, z.B. “eins zu eins” oder “eins zu viele”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist Rekursion im Kontext von Datenbanken?

A

Wenn eine Tabelle sich selbst referenziert in einer anderen Spalte - es gibt eine Tabelle mit einer Mitarbeiter ID und eine Vorgesetzten Spalte wo die Mitarbeiter ID des Vorgesetzen drin steht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was sind schwache Entitätstypen und was ist deren Schlüssel?

A

eine Schwache Identität kann nur existieren, wenn eine dazugehörige starke Entität existiert z.B. in einer Firma Mitarbeiter und deren dazugehörige Kinder. Es gibt keine Kinder, die keinem Mitarbeiter zugeordnet werden

Schlüssel ist der Primärschlüssel der starken Entität

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist der Unterschied zwischen Generalisierung und Aggregation?

A

Generalisierung ist eine allgemeine Tabelle der andere zugeordnet werden können um etwas zu spezifizieren z.B. Mitarbeiter und externe/ehemalige

Aggregation ist ein ist-teil-von bei dem die Übergeordnete aus den anderen besteht und diese zusammen das Übergeordnete ergeben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Wie unterscheidet sich die Chen Notation von min/max? Wie lese ich die beiden Notationen?

A

Es sind zwei Möglichkeiten zur Darstellung eines Entity Relationship Diagramms

Die Chen Notation gibt die Kardinalitäten an

Die Min/Max gibt zusätzlich noch einen Min und Max Wert an

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wozu braucht man mehrstellige Beziehungstypen?

A

Vermeidung von Redundanzen z.B. in einer Schule können Schüler und Lehrer einer Klasse zugeordnet werden - dadurch könnten der Kursname und der Lehrername redundant gespeichert werden

Darstellung von Netzwerken & komplexen Beziehungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was ist der Unterschied zwischen einem konzeptionellen und einem logischen Datenbankmodell?

A

der Konzeptionelle hat nur die Beziehungen zwischen den Tabellen und die einzelnen Attribute

der logische die einzelnen Datentypen, Optimierungen und die konkrete Umsetzung in einem DBS der Wahl

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie würde eine 1:n binäre Beziehung in das relationale Modell überführt werden? Was unterscheidet
die Umsetzung zu einer binären n:m Beziehung?

A

in einem relationalen Modell braucht es noch einen Fremdschlüssel auf der N Seite

bei einer n:m Beziehung gibt es eine “Zwischentabelle” mit zwei Fremdschlüsseln

17
Q

Was ist der Unterschied zwischen Ausprägung und Relationsschema?

A

Eine Ausprägung ist eine konkrete Instanz von Daten in einer Datenbank, während ein Relationenschema die strukturellen Details der Datenbanktabelle definiert, unabhängig von den spezifischen Daten.

18
Q

Wie können schwache Entitätstypen umgesetzt werden?

A

In dem ein Fremdschlüssel aus dem starken Entitätstyp gesetzt wird und dieser in Kombination mit einer “eigenen” ID den Primärschlüssel bildet

19
Q

Was macht ein Left Join?

A

fügt zwei Tabellen zusammen

alle Werte der “linken Tabelle” und alle Werte der Rechten Tabelle, die mit der linken übereinstimmen

20
Q

Was ist eine funktionale Abhängigkeit und was hat das mit dem Schlüsselkonzept zu tun?

A

funktionale Abhängigkeit ist, wenn die Werte einer Spalte direkt den Werten einer anderen Spalte zugeordnet werden können

alle Werte einer Tabelle sollten funktional vom Primärschlüssel abhängig sein

21
Q

Was sind die Kriterien der Normalformen 1 bis 3 inklusive Boyce Codd (BCNF)

A
  1. Normalform: nur atomare Werte; i

n einer Spalte nur Werte des gleichen Datentyps
2. Normalform: Jedes Nicht-Schlüsselattribut ist voll funktional vom Primärschlüssel abhängig.
Bei zusammengesetzten Primärschlüsseln müssen die Nicht-Schlüsselattribute von der gesamten Zusammensetzung abhängig sein.

  1. Normalform:
    Jedes Nicht-Schlüsselattribut ist voll funktional vom Primärschlüssel abhängig.
    Bei zusammengesetzten Primärschlüsseln müssen die Nicht-Schlüsselattribute von der gesamten Zusammensetzung abhängig sein.
  2. Normalform:
    Jedes Nicht-Schlüsselattribut sollte direkt vom Primärschlüssel abhängig sein.
    BCNF wurde entwickelt, um bestimmte Anomalien zu verhindern, die in der 3. Normalform auftreten können, indem es sicherstellt, dass in einer Tabelle jedes Nicht-Schlüsselattribut nur von einem Superkey (einschließlich des Primärschlüssels) voll funktional abhängig ist.
22
Q

Was sind die Kriterien der Normalformen 1?

A
  1. Normalform: nur atomare Werte;
    also nicht Vor- und Nachname in gleicher Spalte
23
Q

Was sind die Kriterien der Normalformen 2?

A
  1. Normalform: Alle Attribute sind voll funktional vom Primärschlüssel abhängig

bei zusammengesetzten Primärschlüsseln müssen die alle Attribute von der Kombination vollständig abhängig sein

24
Q

Was sind die Kriterien der Normalformen 3?

A
  1. Normalform:
    Kein Nicht-Schlüsselattribut sollte von einem anderen Nicht-Schlüsselattribut transitiv abhängig sein.

Heißt: z.B. Tabelle MitarbeiterID Ortsname PLZ müsste aufgeteilt werden in

MitarbeiterID PLZ & PLZ Ortsname, weil der Ortsname von der PLZ abhängig ist

25
Q

Was sind die Kriterien der Boyce Codd Normalform?

A

Jedes Nicht-Schlüsselattribut sollte direkt vom Primärschlüssel abhängig sein.

Wenn es ein zusammengesetzter Schlüssel ist und ein Attribut nur von einem Wert direkt abhängig ist kann es zu Anomalien kommen

26
Q

Was bedeutet Verbundtreue (Verlustlosigkeit) und Abhängigkeitsbewahrung im Kontext von Zerlegungen?

A

Verbundtreue: wenn eine Tabelle getrennt werden kann und ohne Verlust durch einen Verbund (Join zb) wieder zusammengefügt werden kann

Abhängigkeitsbewahrung: wenn alle funktionalen Abhängigkeiten nach “Aufspaltung” immer noch gelten

27
Q

Was ist ACID im Datenbankkontext?

A

atomic: Eine Transaktion wird als eine atomare Einheit behandelt, entweder wird sie vollständig ausgeführt oder überhaupt nicht.

consistent: Eine Transaktion bringt die Datenbank von einem konsistenten Zustand in einen anderen.

isolation: Transaktionen werden so behandelt, als ob sie in Isolation ausgeführt werden, unabhängig von anderen Transaktionen.

durability: Nach dem Abschluss einer Transaktion bleibt der Zustand dauerhaft erhalten, auch wenn es zu einem Systemausfall kommt.

28
Q

Welche vier NoSQL Datenbanktypen kennst du?

A

Dokumentenorientiert: für komplexe Datenstrukturen und Anwendungen mit vielen Schreib- und Lesevorgängen

Key-Value-Stores: geringe Komplexität, sehr schnell

Graphdatenbanken: optimiert für Analyse - gut geeignet für Social Media, Empfehlungsnetzwerke etc.

Spaltenorientiert: optimiert für Lesevorgänge, Datenanalysen und horizontale Skalierbarkeit