Datenbanken Flashcards

1
Q

Welche Vorteile hat es, eine zentrale Datenbank und ein zentrales Datenbanksystem zu nutzen?

A
  • inkonsistenz wird vermieden
  • redunanz wird vermieden
  • Daten nach logischem internen Zusammenhng gespeichert
  • Datenschutz (Nutzer sieht mit seiner „View“ nur das, was er sehen soll/darf)
  • Datenintegrität kann effizientet erhalten werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist das Grundprinzip der Datenspeicherung mit DB und DBMS?

A

Die Daten werden den logischen Zusammenhängen der Daten nach gespeichert und nicht mach den jeweiligen Amforderungen eines Programms.
Falls sich somit eine Anwendung ändert, muss nicht die ganze DB geändert werden, sondern nur die View auf die Datenbank.

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

Welche drei Ebenen gibt es in der Datenbankarchitektur?

A
  • Externe Sicht
  • Logische/konzeptionelle Sicht
  • Interne Sicht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was ist die Ebene der Externen Sicht bei der Datenbankarchitektur?

A

So stellt sich die DB den Nutzer dar

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

Was ist die Ebene der logischen/konzeptionellen Sicht bei der Datenbankarchitektur?

A

Beschreibung der logischen Zusammenhänge und Abhängigkeiten der Daten – Relationale Modell, ER-Modell

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

Was ist die Ebene der internen Sicht bei der Datenbankarchitektur?

A

Realisierung der Daten auf einer Computeranlage

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

Was ist der unterschied zwischen einem Entity und einem Entity-Typen?

A
  • Entitiy = konkretes Objekt der Realität
  • Entity-Type = einne Klasse von einzelnen Entities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was können Attribute in einer Datenbankkonzeption alles sein?

A
  • atomar, nur ein Wert haben
  • mehrere Werte haben
  • aus mehreren Attributen zusammengesetzt sein
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie stellt man die Differenz in der Relationenalgebra dar?

A

Die Differenz R \ S zweier Relationen R und S ist die Menge aller Tupel, die in R aber nicht gleichzeitig in S enthalten sind.

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

Wie stellt man das kartesische Produkt in der Relationenalgebra dar?

A

R x S

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

Wie stellt man die Selektion in der Relationenalgebra dar? Was ist dessen Pendant in der SQL-Sprache?

A

WHERE

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

Wie stellt man die Projektion in der Relationenalgebra dar? Was ist dessen Pendant in der SQL-Sprache?

A

SELECT [what] FROM [which]

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

Was ist der Join (natürlicher Verbund) und wie schreibt man ihn in der Relationenalgebra?

A

Es wird das kartesische Produkt zweier Relationen gebildet und dann die Tupel, wo ein gleichnamiges Attribut nicht den gleichen Wert hat, aus diesem Verbund rausgenommen.

R |>

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

Was ist der Join (Theta-Verbund) und wie schreibt man ihn in der Relationenalgebra?

A

Wie der natürliche Verbund, nur, dass man selber eine Bedingung vorgibt, welches Attribut als Sortierregel genutzt werden soll.

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

Erkläre bei welcher Komplexitität einer Beziehung, welches Attribut den Schlüssel bei der Beziehungsrelation bildet

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

Wie kann man die Relationen zusammenfassen, wenn E1 und E2 in einer 1:n oder 1:1 Beziehung B1 stehen und E2 obligatorisch teilnimmt?

A

E2 und B1 können zu einem Schema verbunden werden.

Schlüssel bleibt der Schlüssel von E2 alleine

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

Wie kann man die Relationen einer 1:1 Beziehung zusammenfassen, wenn beide obligatorisch beteiligt sind?

A

Zu einem Schema

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

Was sind Gründe für die Normalisierung?

A
  • die Vermeidung unerwünschter Anomalien beim Einfügen, Löschen und Verändern, die zu einer Inkonsistenz der Daten führen
  • die Vermeidung von überflüssiger Information (Redundanz)
  • der Zwang zum systematischen Entwurf der Datenbank
  • die bessere Übersichtlichkeit für Benutzer und Programmierer.
19
Q

Wann ist eine Relation in der 1. Normalform?

A

Eine Relation befindet sich in der ersten Normalform, wenn an allen Kreuzungspunkten von Zeilen und Spalten nur atomare Werte auftreten.

Ein Datensatz muss durch den Primärschlüssel eindeutig identifizierbar sein.

20
Q

Wann befindet sich eine Relation in der 2. Normalform?

A

Eine Relation befindet sich in der 2. Normalform, wenn sie sich in der ersten befindet und jedes Nicht-Schlüssel-Attribut funktional abhängig ist vom Gesamtschlüssel, nicht dagegen von Schlüsselteilen.

Ferner sollte jede Tabelle nur Daten aus einem Objektbereich beinhalten.

21
Q

Wann befindet sich eine Relation in der 3. Normalform?

A

Eine Relation befindet sich in der 3. Normalform, wenn sie sich in der 1. und 2. Normalform befindet und keine funktionalen Abhängigkeiten zwischen Nicht-Schlüssel- Attributen existieren. Anders ausgedrückt: Die Relation darf keine transitiven Abhängigkeiten aufweisen.

22
Q

Wie deklaeriert man mit SQL einen zusammengesetzen und einzelnen Primärschlüssel und einen Fremdschlüssel?

A

Während der Tabellenerzeugung

  • einzelner Primärschlüssel:
    • attributname DATENTYP Primary Key
  • zusammengesetzter Primäschlüssel:
    • attributname1 DATENTYP Primary Key
    • attributname2 Datentyp unique
  • Fremdschlüssel:
    • attributname1 DATENTYP references Tabellenname (Primärschlüssel)
23
Q

Wie lässt man beliebige Zeichen in der SQL Sprache ersetzen?

A

Mit einem Unterstrich

Bsp.:

Me_ers

24
Q

Wie lässt man beliebige Zeichenketten in der SQL Sprache ersetzen?

A

Mit einem Prozentzeichen

Bsp.:

Sp%

25
Q

Wie schafft man es, dass keine doppelten Werte beiner SQL Abfrage rauskommen?

A

SELECT DISTINCT atrr FROM rel

26
Q

Wie ändert man eine Tabelle in SQL?

A

ALTER TABLE tabellenname …;

27
Q

Wie fügt man neue Attribute zu einer Tabelle hinzu in SQL?

A

ALTER TABLE tabellenname ADD attributname DATENTYP;

28
Q

Wie löscht man Attribute aus einer Tabelle in SQL?

A

ALTER TABLE tabellenname DROP COLUMN attribut;

29
Q

Wie kann man Attribute eine Tabelle in SQL ändern?

A

ALTER TABLE tabellenname MODIFY COLUMN attribut NEUERDATENTYP;

30
Q

Wie fügt man Daten zu einer Tabelle hinzu in SQL?

A

INSERT INTO tabellenname(a1,a2,a3) VALUES(v1,v2,v3);

31
Q

Wie änder man Attributswerte in SQL?

A

UPDATE tabellenname SET attribut = neuerwert

32
Q

Wie löscht man Tupel aus einer Tabelle in SQL?

A

DELETE FROM tabellenname …;

33
Q

Wie sortiert man eine Ausgabe in SQL?

A

SELECT [spalten] FROM [tabellen] ORDER BY attribut asc/desc;

34
Q

Wie Gruppiert man Datensätze in SQL?

A

SELECT SUM/AVG/COUNT(spalte), [spalten] FROM [tabellen] GROUP BY(attribut)

35
Q

Wie bildet man das kartesische Produkt in SQL?

A

SELECT * FROM T1 CROSS JOIN T2;

36
Q

Wann liegt eine Redundanz vor?

A

Wenn Daten mehrmals gespeichert werden. Sie können weggelassen werden, ohne dass Informationen verloren gehen.

37
Q

Was sind Anomalien?

A

Probleme und Fehler, die bei der Operation auf den Datensätzen einer Datenbank entstehen können.

38
Q

Welche Arten von Anomalien gibt es?

A
  • Einfüge-
  • Lösch- und
  • Änderungsanomalien
39
Q

Was sind Inkonsistenzen?

A

Widersprüche in einem Datenbestand einer Datenbank. Können durch Anomalien hervorgerufen werden.

Bspw.: Jemand änder etwas durch eine Operation, vergisst aber, das gleiche auch woanders zu ändern, wenn etwas an zwei Orten gespeichert wird -> Inkonsistenz durch Änderungsanomalie

40
Q

Wie vereinigt man zwei Relationen mit den gleichen Attributen in SQL?

A

Mit UNION:

SELECT * FROM rel1

UNION

SELECT * FROM rel2;

41
Q

Wie wird “ungleich” in SQL angegeben?

A

<>

42
Q

Wie gibt man den Operator in SQL, dass ein Werte zwischen einem Start- und Endwert liegen soll, an?

A

BETWEEN,

WHERE var BETWEEN x AND y

43
Q

Wie gibt man mehrere genaue Werte gleichzeitig als Vergleichsoperator ind SQL an?

A

mit IN,

WHERE var IN (x, y);