Web & Datenbanken Flashcards

(15 cards)

1
Q

Was ist eine RESTful API?

A

Web-Service nach REST-Prinzipien
Nutzt HTTP-Methoden (GET, POST, PUT, DELETE) für Ressourcen (URLs)
Kommunikation ist zustandslos, Daten meist als JSON
Klare Schnittstelle, weit verbreitet für Webservices

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

Wofür stehen die HTTP-Methoden GET, POST, PUT, DELETE und wann werden sie verwendet?

A

GET:
Liest Ressource (z. B. GET /users/1), keine Änderung, idempotent
POST:
Erstellt neue Ressource oder Aktion (z. B. POST /orders), nicht idempotent
PUT:
Aktualisiert/ersetzt Ressource komplett (z. B. PUT /users/10), idempotent
DELETE:
Löscht Ressource (z. B. DELETE /posts/5), idempotent
Bezug zu CRUD:
GET = Read, POST = Create, PUT/PATCH = Update, DELETE = Delete

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

Was ist eine HTTP-Statuscode und was bedeuten zum Beispiel 200, 404 und 500?

A

HTTP-Statuscode:
Dreistellige Zahl im Response, signalisiert Ergebnis der Anfrage
Beispiele:
200 OK: Anfrage erfolgreich
404 Not Found: Ressource nicht gefunden
500 Internal Server Error: Serverfehler
Klassen:
1xx (Info), 2xx (Erfolg), 3xx (Weiterleitung), 4xx (Clientfehler), 5xx (Serverfehler)

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

Was ist der Unterschied zwischen HTTP und HTTPS?

A

HTTP:
Überträgt Daten unverschlüsselt (Port 80)
HTTPS:
Verschlüsselte Version mit TLS/SSL (Port 443), schützt Daten vor Mitlesen/Manipulation
Erkennbar am https:// und Schloss-Symbol im Browser

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

Was ist JSON und wie sieht ein typisches JSON-Objekt aus?

A

JSON:
Textbasiertes Datenformat aus Schlüssel-Wert-Paaren, Arrays, verschachtelten Objekten
Häufig für Datenaustausch bei Web-APIs verwendet
Beispiel:
{
“name”: “Alice”,
}

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

Was passiert technisch, wenn man im Browser eine URL eingibt (z.B. http://example.com) – vom DNS bis zur Seitendarstellung, grob skizziert?

A

DNS-Auflösung: Domain → IP
TCP-Verbindung zum Server (ggf. TLS/HTTPS)
Browser sendet HTTP-Request
Server antwortet mit HTTP-Response (HTML usw.)
Browser lädt Ressourcen (CSS, JS, Bilder)
HTML wird geparst, Seite gerendert und angezeigt

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

Was ist eine relationale Datenbank?

A

Organisiert Daten in Tabellen (Zeilen & Spalten)
Tabellen sind über Schlüssel (Primär-, Fremdschlüssel) miteinander verknüpft
Unterstützt SQL, ACID-Eigenschaften und Integritätsregeln
Beispiele: MySQL, PostgreSQL, Oracle, SQL Server

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

Was bedeutet SQL und wofür wird es verwendet?

A

Standard-Sprache für relationale Datenbanken
Dient zum Erstellen, Abfragen, Ändern und Löschen von Daten (CRUD)
Beispiele: SELECT, INSERT, UPDATE, DELETE
Unterstützt Joins, Aggregationen, Sortierung usw.
Deklarativ – man beschreibt, was man möchte, nicht wie

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

Was ist eine Primärschlüssel in einer Tabelle und warum ist er wichtig?

A

Spalte(n), die jeden Datensatz eindeutig identifizieren (unique, nicht NULL)
Ermöglicht schnelle Suche und stellt Eindeutigkeit sicher
Basis für Beziehungen (Fremdschlüssel verweisen darauf)
Wichtig für Integrität und Verknüpfung von Tabellen

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

Was ist ein Fremdschlüssel?

A

Spalte(n), die auf Primärschlüssel einer anderen Tabelle verweisen
Stellt Beziehungen zwischen Tabellen her (z. B. orders.customer_id → customers.id)
Sichert referentielle Integrität (nur gültige Verweise erlaubt)
Ermöglicht Joins und Cascading-Optionen

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

Was macht der SQL-Befehl SELECT * FROM products WHERE price > 100 ORDER BY name LIMIT 5;?

A

Gibt maximal 5 Produkte mit Preis über 100 aus
Sortiert alphabetisch nach Name
Zeigt alle Spalten dieser Produkte

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

Was versteht man unter SQL-Injection und wie kann man sich dagegen schützen?

A

SQL-Injection:
Angreifer schleust manipulierten SQL-Code über unsichere Eingaben ein
Kann Daten auslesen, löschen oder Kontrolle übernehmen
Schutz:
Parametrisierte Queries / Prepared Statements verwenden
Eingaben validieren
ORMs oder Query-Builder nutzen
Minimale DB-Berechtigungen vergeben

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

Was bedeuten die ACID-Eigenschaften einer Datenbanktransaktion?

A

Atomicity: Alles-oder-nichts, Transaktion ist unteilbar
Consistency: Daten bleiben konsistent, Integritätsregeln werden eingehalten
Isolation: Transaktionen beeinflussen sich nicht gegenseitig (je nach Isolationslevel)
Durability: Nach Commit bleiben Änderungen dauerhaft gespeichert

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

Was ist Normalisierung in der Datenbankmodellierung und warum ist sie wichtig?

A

Prozess zur Aufteilung von Daten in Tabellen, um Redundanzen und Anomalien zu vermeiden
Mehrere Normalformen (1NF, 2NF, 3NF…), jeweils strengere Regeln
Ziel: Jedes Faktum nur einmal speichern, saubere Datenstruktur
Verhindert Update-, Insert- und Delete-Anomalien

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

JOIN

A

Kombiniert Zeilen aus 2 Tabellen

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