DB2 Kapitel 5+6 Flashcards

1
Q

Was ist der Bedarf für Datenbanken?

A

Viele Anwendungen müssen Daten dauerhaft speichern

Oft strukturierte Daten und Wunsch nach Suchmöglichkeit

Speichern von Dateien auf Festplatte reicht deshalb nicht

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

Was ist eine Entität?

A

Zu speichernde Objekt-Art

vlg. Klassen bei objektorientierter Programmierung

Abbildung auf Tabelle in DB

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

Was ist ein Schema?

A

Struktur der Daten (Attribute) einer Entität (DB Tabelle)

Jeweils Paar aus Name + Datentyp

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

Was ist eine Relation?

A

Beziehung zwischen Entitäten

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

Was ist vertikale Skalierung?

A

Leistungsfähigere Hardware.

Problem: Irgendwann Grenze erreicht, Single Point of Failure

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

Was ist horizontale Skalierung?

A

Viele Standard Rechner (relativ billig)

Ziele: Redundanz(Ausfallsicherheit), Aufteilung der Daten

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

Was besagt das CAP Theorem?

A

Vertikale Skalierung -> verteiltes System

Consistency (Gleichheit der Daten in allen Knoten)

Availability (Alle Anfragen werden mit akzeptabler Reaktionszeit beantwortet)

Partition Tolerance (System antwortet auch bei Ausfall von Kommunikationsbeziehungen oder Knoten auf Anfragen)

Es können nie alle 3 gleichzeitig in einem verteilten System garantiert werden
(Consistency reicht es, wenn es nach einer gewissen Zeitspanne erreicht ist und nicht sofort)

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

Wofür stehen die BASE Eigenschaften?

A

Basically Available (Meiste Zeit verfügbar)

Soft State (DB muss nicht sofort nach Datenänderung konsistent sein, Kopien der Daten auf versch. Rechnern müssen nicht sofort identisch sein)

Evetually Consistent(DB erreicht Konsistenz zu einem späteren Zeitpunkt)

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

Was definiert eine NoSQL DB?

A

Datenmodell nicht relational
System sind auf vertikale und horizontale Skalierbarkeit ausgelegt
System ist schemafrei
System unterstützt Datenreplikation
System bietet einfache API
System hat meist anderes Konsistenzmodell als relationale Datenbanken (BASE statt ACID)

Optional Open Source

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

Was für NoSQL DBs gibt es?

A

Key/Value Datenbanken

Dokumentorientierte DB

Spaltenorientierte DB (Zeilenweises Abspeichern)

Graphdatenbanken

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

Welche Begriffe in MongoDB gibt es?

A

Database (Datenbank)

Collection (DB Tabelle)

Dokument (Tabellenzeile)

Field (Tabellenspalte)

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

MongoDB Befehle: DB auswählen, DB anzeigen, alle vorhandenen DBs anzeigen mit min.1 Collection

A

DB auswählen:
use database_name

DB anzeigen:
db

Alle DBs:

show dbs

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

MongoDB Collection anlegen und alle vorhandenen Anzeigen

A

Collection anlegen:
db.createCollection(“collection_name)

Anzeigen aller Collections:
show collections

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

MongoDB: Dokument in Collection einfügen

A

db.collection_name.insert(document)

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

MongoDB: Anzeigen aller Dokumente einer Collection

A

db.collection_name.find()

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

MongoDB: Abfragen mit Gleichheit/Ungleichheit

A

Gleichheit:
db.collection_name.find( {key:value} ).pretty()

Ungleichheit:
db.collection_name.find( {key: {$ne:value}} ).pretty()

17
Q

MongoDB: Abfragen Kleiner bzw. kleiner gleich

A

Kleiner:
db.collection_name.find( {key: {$lt:value }} ).pretty()

KleinerGleich:
db.collecition_name.find( {key: {$lte:value}} ).pretty()

18
Q

MongoDB: Abfragen größer und größer gleich

A

Größer:
db.collection_name.find( {key: {$gt:value}} ).pretty()

GrößerGleich:
db.collection_name.find({key:{$gte:value}} ).pretty()

19
Q

MongoDB: Bedingung mit Und verknüpfen

A

db.collection_name.find( { $and: [ {key1: value1},

{key2:value2}] } ).pretty()

20
Q

MongoDB Bedingung mit Oder verknüpfen

A

db.collection_name.find( { $or: [ { key1:value1},

{key2:value2}] }).pretty()

21
Q

Wie kann ein Programmierer SQL Injection verhindern?

A

Anzeigen detaillierter Fehlermeldungen

Es gibt keine prepared statements

Applikation & SQL sind nicht getrennt