CoboCards App FAQ & Wünsche Feedback
Sprache: Deutsch Sprache
Kostenlos registrieren  Login

Hol' Dir diese Lernkarten, lerne & bestehe Prüfungen. Kostenlos! Auch auf iPhone/Android!

E-Mail eingeben: und Kartensatz kostenlos importieren.  
Und Los!
Alle Oberthemen / Datenbanken / Datenbanken

[3] Datenbanken Gesamt (61 Karten)

Sag Danke
1
Kartenlink
0
Vorteile von Datenbanken
1. Redundanz wird gesenkt
2. Inkonsistenz wird vermieden
3. Daten sind teilbar
4. Förderung von Standarts
5. Verbesserter Datenschutz
6. Daten Integrität
7. Zuschnitt der Daten auf Anforderungen des Unternehmens
2
Kartenlink
0
Was ist ein lokales Attribut?
Attribut, dass:
- nur in einer Tabelle vorkommt
- und dort nicht Schlüsselattribut ist
3
Kartenlink
0
Was ist ein globales Attribut?
ist in mind. einer Tabelle Schlüsselattribut
4
Kartenlink
0
Was ist eine Transaktion?
  • an Integritätsregeln gebundene Folge von Datenbankoperationen
  • → ACID-Prinzip
5
Kartenlink
0
Was ist das Ziel von Transaktionen?
  • konfliktfreies Arbeiten für mehrere Benutzer
  • Änderungen dürfen nach außen erst sichtbar werden, wenn Integritätsbedingungen respektiert sind
6
Kartenlink
0
Nenne die 3 Abstraktionsebenen (Sichten) eines Datenbanksystems und deren Ziele!
1. Konzeptionelle Datensicht:
- logische Gesamtsicht aller Daten
- Ankerpunkt des DB-Entwurfs
- Ziel: stabiler Bezugspunkt

2. interne Datensicht:
- pysische Datenorganisation, tatsächliche Speicherung der Daten
- Zugriffspfade
- Ziel: Festlegung für Benutzergemeinschaft, Zugriffshäufigkeiten

3. externe Datensicht:
- Benutzerschnittstelle
- logische Sichten einzelner Benutzergruppen auf Teile der DB
- Zugriffsschutz
7
Kartenlink
0
Wie lautet die 1. Normalform?
Jedes Attribut ist elementar
Tabelle hat eine feste Breite
8
Kartenlink
0
Nennen Sie die Probleme bei redundanten Tabellen! (Mutationsanomalien)
1. Änderungsanomalie:
Ändert Lieferant seinen Name, muss er in allen Tupeln verändert werden

2. Löschanomalie:
Werden alle Zeilen mit Bestellungen eines Lieferanten gelöscht, geht auch Info über Lieferanten verloren

3. Einfügeanomalie
Solange ein Lieferant keine Bestellung gemacht hat, ist er nicht in Tabelle
9
Kartenlink
0
Erklären Sie funktionale Abhängigkeit!
Wo ist der Unterschied zu voll-funktional?
B heißt funktional abhängig wenn in jedem Tupel in dem A vorkommt der selbe Wert für B existiert.
(A→B)

Voll-funktional:
B hängt von allen Elementen von A ab, nicht nur von einem Teil.
→ bei Verbundsschlüsseln
10
Kartenlink
0
Was ist eine transitive Abhängigkeit?
X→Z und Y→Z, dann X→Z
11
Kartenlink
0
Wie heißt die 2. Normalform?
  • ist in 1. NF
  • jedes Nicht-Schlüssel Attribut hängt vom gesamten Schlüssel ab
  • → volle funktionale Abhängigkeit
12
Kartenlink
0
Wie lautet die 3. Normalform?
  • muss in 2. NF sein
  • keine Abhängigkeiten zwischen Nichtschlüsselattributen
  • z.B. PLZ und Ort → PLZ wird Primärschlüssel in neuer Tabelle)
13
Kartenlink
0
Wie heißt die 3. NF?
- ist in 2. NF
- keine Abhängigkeit zwischen Nicht-Schlüssel Attributen
14
Kartenlink
0
Nenne die 4. NF!
-alle Tabellen in 3. NF
- nur noch lokale und globale Attribute
15
Kartenlink
0
Wie geht man beim Normalisieren vor?
1. funktionale Abhängigkeiten
2. voll funktionale Abhängigkeiten
3. transitive Abhängigkeiten
4. nur noch lokale und globale Attribute

-->  alle Probleme beim Löschen und Entfernen entfernen
16
Kartenlink
0
Wie ist der Primärschlüssel definiert?
- jedes nicht-Schlüssel Attribut ist vom Schlüssel funktional abhängig
- bei Verbundschlüssel ist kein Schlüsselattribut von den anderen Schlüsselattributen abhängig
17
Kartenlink
0
Nenne 3 unteschiedliche DB-Modelle und deren Eigenschaften!
1. Hierarchisches Modell: 1:N, sequentiell

2. Netzwerk Modell: N:N, Adressverweise

3. Relationales Modell: N:N, gemeinsame Attribute (Primär/Fremdschlüssel)
18
Kartenlink
0
Was bedeutet ACID und warum brauch eine Transaktion dieses Prinzip?
Atomicity: ganz oder gar nicht
Einheit für Rücksetzbarkeit nicht abgeschlossener Transaktionen

Consistency: Überführung DB von konsistentem Zustand in einen anderen
Einheit zur Konsistenzerhaltung

Isolation: verhindert, dass sich nebenläufige Transaktionen gegenseitig beeinflussen
Einheit für Serialisierbarkeit

Durability: Daten werden nur nach dem erfolgreichen Abschluss einer Transaktion garantiert dauerhaft in der Datenbank gespeichert
Einheit für Wiederherstellbarkeit

→ garantiert jedem Anwender konsistente Datenbestände; bei zwischenzeitlicher Inkonsistenz ist diese nach außenhin unsichtbar und wird bei einem Fehler rückgängig gemacht.
19
Kartenlink
0
Was ist Serialisierbarkeit?
  • konkurrierende Zugriffe auf dieselben Datenobjekte müssen serialisiert werden
  • → unabhängiges Arbeiten verschiedener Anwender
20
Kartenlink
0
Wie läuft eine Transaktion ab?
Before-Image-Zustand BOT

                                    bei Abbruch: Rollback to BOT


-
After-Image-Zustand EOT
21
Kartenlink
0
Was ist ein serieller Ablauf?
Ein Ablauf heißt seriell, wenn alle Schritte einer Transaktion
vollständig ausgeführt werden, ehe die der nächsten Transaktion
beginnen
22
Kartenlink
0
Wann stehen Transaktionen im Konflikt?

Zwei Aktionen in einem Ablauf stehen in Konflikt, wenn die folgenden 3 Punkte zutreffen:
(1) sie gehören zu unterschiedlichen Transaktionen
(2) sie greifen auf dasselbe Datenobjekt zu
(3) mindestens einer der Aktionen ist write
23
Kartenlink
0
Was ist der Präzedenzgraph?
Kriterium für Serialisierbarkeit
→ Transaktionen sind serialisierbar, wenn Präzedenzgraphen keine Zyklen aufweisen

Der Präzedenzgraph zu einem Ablauf S ist ein gerichteter Graph
GS mit
(1) den Knoten T1,T2, . . . für jede Transaktion Ti
in S
(2) den Kanten Ti → Tj falls Ti und Tj konfligierende Aktionen
haben, bei denen die Aktion in Ti vor der in Tj
in S vorkommt.
24
Kartenlink
0
Wozu dient der Präzedenzgraph?
Hat der Präzedenzgraph keinen Zyklus, ist ein Ablauf S serialisierbar,
25
Kartenlink
0
Was ist 2PL (2-Phasen-Sperrprotokoll)?
  • alle Sperraktionen in der Transaktion werden vor der ersten Freigabeaktion ausgeführt
  • Transaktion darf nach erstem UNLOCK kein LOCK mehr verlangenVerhinderung zyklischer Abhängigkeiten


26
Kartenlink
0
Was ist S2PL, und welche Vorteile/Nachteile gibt es?
S2PL: Strict-2-Phase-Locking
Eine Transaktion folgt dem strikten 2PL, wenn sie dem 2PL folgt
und alle Sperren en bloc am Ende der Transaktion freigibt.

-dynamischer Ablauf
- weniger Wartezeiten

ABER Gefahr von Verklemmung (Deadlock)
27
Kartenlink
0
Was ist C2PL? Vor-Nachteile
Conservative 2-Phase-Locking
  • vor der Transaktion werden alle Daten gesperrt, auf die in der Transaktion zugegriffen werden
  • Vorteil: Transaktion beginnt erst, wenn alle Datensätze verfügbar sind → keine Deadlocks
  • Nachteil: höhere Wartezeit
28
Kartenlink
0
Was ist der WFG- Algorithmus (Wait-for-graph)?
  • Analyse des Wartegraphs, um gegenseitige Behinderungen zu erfassen
  • zeigt, wie Transaktionen auf andere warten


→ Zyklus im WFG: Deadlock
29
Kartenlink
0
Was macht das optimistische Verfahren bei Verklemmungen?
  • nimmt Konflikte in Kauf, setzt keine Sperren
  • Konfliktbehebung durch Zurücksetzen der auslösenden Transaktion vor erfolgreichem Abschluss
  • wenn Transaktion in Validierungsphase kommt, wird Serialisierbarkeit geprüft


30
Kartenlink
0
Was sind Vor- und Nachteile von optimistischen Verfahren für Synchronisationsmechanismen?
  • Vorteil: verkürzte Wartezeiten, hoher Grad an Parallelität
  • Nachteile: nur bis 10% Kollisionen "gut" (danach ist Rücksetzungszeit größer als die gesparte Wartezeit), Gefahr des "Verhungerns" von Transaktionen
31
Kartenlink
0
Zusammenhang Dateiorganisation und Dateizugriff
Speicherung/Zugriff physikalisch fortlaufen Logisch fortlaufen wahlfrei direkt
Sequenziell + + +-  +-
Indiziert/ indexsequentiell - + + +
relativ (direkte oder Indirekte Adressierung)  - +- ++
32
Kartenlink
0
Nenne 5 Kriterien zur Beurteilung von Dateiorganisation- und zugriff
1. Speicherplatz
2. Zugriffszeit
3. Neue Datensätze
4. Re-Organisationsnotwendigkeit
5. Zusammenhang zwischen Ordnungsbegriff und logischer Adresse
33
Kartenlink
0
Was macht das pessimistische Verfahren bei Verklemmungen und was ist ein Beispiel?
  • verhindert im Vorfeld, dass Konflikte bei parallel laufenden Transaktionen entstehen können
  • → Gewährleistung der Serialisierbarkeit


→ 2PL (S2PL, C2PL)
34
Kartenlink
0
Was sind Vor- und Nachteile des pessimistischen Verfahrens bei Synchronisationsmechanismen?
  • Vorteil: meist nur wenig Rücksetzungen
  • Nachteil: evtl. lange Wartezeiten
35
Kartenlink
0
Wie heißen die 2 Phasen die beim 2PL ablaufen und was passiert in diesen?
Wachstumsphase: Sperren aller notwendigen Datensätzen werden verhängt

Schrumpfungsphase: Sperren werden aufgehoben
36
Kartenlink
0
Welche Phasen gibt es bei optimistischen Verfahren?
  • Lesephase: Lesen der Objekte, Speicherung und Verarbeitung
  • Validierungsphase: Überprüfung auf Konfliktfreiheit, evtl. Zurückstellung
  • Schreibphase: Einbringung Änderungen in DB
37
Kartenlink
0
Es soll eine Datenbank Personalverwaltung in MySQL angelegt werden, die folgende Tabelle enthält:

Mitarbeiter (PersNr (Primärschlüssel), Name, Gruppe, Eintrittsdatum, Gehalt)

Geben Sie die für die Erstellung der Datenbank und der Tabelle notwendigen SQL-Befehle an. Überlegen Sie sich dabei sinnvolle Datentypen für die Attribute der Tabelle Mitarbeiter.
1. Schritt: Datenbank anlegen
CREATE DATABASE Personalverwaltung;

2. Schritt: Die Datenbank Personalverwaltung aufrufen
USE Personalverwaltung;

3. Schritt: Die Tabelle Mitarbeiter anlegen
CREATE TABLE Mitarbeiter(PersNr INT UNSIGNED NOT NULL,
Name VARCHAR(20) NOT NULL,
Gruppe VARCHAR(3),
Eintrittsdatum DATE,
Gehalt FLOAT(8,2),
PRIMARY KEY(PersNr));
38
Kartenlink
0
Wie kann eine Spalte eingefügt/gelöscht werden?
Alter table table_name ADD
column_name datatype;

Alter table table_name DROP
column_name;
39
Kartenlink
0
Wie kann ein Primärschlüssel eingefügt werden?
Alter table table_name
Add Primary key(column_name);

Alter table table_name
Add Foreign Key (column_name)
References table_name2(column_name2);
40
Kartenlink
0
Die Tabelle aus Aufgabe 1 soll nun mit 10 Datensätzen gefüllt werden, die in Form einer EXCEL-Liste vorliegen.

Beschreiben Sie möglichst genau (z.B. durch Angabe in SQL-Syntax) fünf Vorgehensweisen, wie die Daten in die Tabelle geschrieben werden können.
1. Möglichkeit – Eingabe von Hand per INSERT – Anweisung
INSERT INTO Mitarbeiter VALUES (20,’Maier’,’Ang’,’2008-12-12’,2800);

2. Möglichkeit – Direktes Auslesen der Datei
  • Liste aus Excel als Textdatei importieren
  • auf korrekte Formatierung achten (Textfelder und Datumsangaben)
  • LOAD DATA LOCAL INFILE ’/home/BA_Stuttgart/Kausur2013/Daten.txt’ INTO TABLE Mitarbeiter;

3. Möglichkeit – Verwenden einer GUI, Eingabe von Hand (z.B. mit MySQL Workbench)

4. Möglichkeit – Übertragen per ODBC
  • Daten aus Excel/Access per ODBC in neue Tabelle der DB schreiben
  • dann mit INSERT-Anweisung Daten aus dieser Tabelle in DB einfügen

5. Möglichkeit - Übertragen mit select ... into
SELECT *
INTO newtable
FROM table1;
41
Kartenlink
0
Wie können Datensätze aus einer Tabelle in eine andere eingefügt werden?
SELECT ...
INTO Tabellenname
FROM ...
42
Kartenlink
0
Wie können Daten aus einer Tabelle gelöscht werden?
DELETE
FROM Tabellenname
[WHERE Bedingung];
43
Kartenlink
0
Wie kann eine Tabelle gelöscht werden?
DROP TABLE Tabellenname;
44
Kartenlink
0
Wie können Daten mit INSERT INTO in eine neue Tabelle geschrieben werden?
INSERT INTO Tabellenname(Spalte1, Spalte2)
SELECT Spalte3, Spalte4
FROM Tabellenname2
45
Kartenlink
0
Wie können alle Datensätze aus einer Tabelle gelesen werden?
SELECT  * FROM tabellenname;
46
Kartenlink
0
Wie funktioniert eine Unterabfrage?
SELECT ...
FROM ...
WHERE Spaltenname =
     (SELECT Funktionsaufruf
     FROM Tabellenname
     [WHERE Bedingung]);
47
Kartenlink
0
Wie lautet der Operator bei einer Unterabfrage mit mehr als einem Ergebnis?
[NOT] IN
48
Kartenlink
0
Wann wird der EXISTS-Operator angewandt?
bei Unterabfragen!
49
Kartenlink
0
Wie wird eine Tabelle aktualisiert?
UPDATE Tabellenname
SET Spaltenname = ...
[WHERE ...];
50
Kartenlink
0
Wie können Datensätze geordnet werden?
ORDER BY [ASC | DESC];
51
Kartenlink
0
Wie kann nach Datensätzen in einem Intervall gesucht werden?
BETWEEN
52
Kartenlink
0
Wie wird nach z.B. einem Nachname gesucht, der mit S anfängt?
LIKE "S*";
53
Kartenlink
0
Sie wollen eine Kundentabelle aus einem deutschen ERP-System in ein amerikanisches ERP-System exportieren.
Überlegen Sie sich in Stichworten, welche Schwierigkeiten dabei auftreten können.
1. Ein Problem kann die Darstellung von Umlauten sein, insbesondere auch dann, wenn diese in Tabellen- oder Spaltenbezeichnungen verwendet wurden. Dies sollte allgemein vermieden werden.

2. Allgemein werden Datumsangaben unterschiedlich dargestellt.

3. Bestimmte Datenformate, z.B. für die Aufnahme von Postleitzahlen, können unterschiedlich sein.

4. Steuertabellen bzw. Angaben müssen angepasst werden.

5. Zahlungs-, Liefer- und Versandkonditionen müssen übersetzt bzw. angepasst werden.
54
Kartenlink
0
Was sind Stored Procedures?
Ähnlich wie Funktionen, aber im Gegensatz zu Funktionen muss es keinen Rückgabewert geben.
55
Kartenlink
0
Was ist referentielle Integrität?
  • Prüfung, ob in Datensätzen der Detailtabelle gültige Primärschlüssel der Mastertabellen benutzt werden
  • Aktualisierungsweitergabe/Löschweitergabe an Detailtabelle
56
Kartenlink
0
Wie sieht der Quellcode einer Stored Procedure aus?
CREATE PROCEDURE simpleproc(OUT param1 INT)
BEGIN
Select count (*) INTO param1 FROM actor;
END;

Aufruf:
CALL simpleproc (@x);
57
Kartenlink
0
Wie greift man von JAVA aus auf Stored Procedures zu?
1.Aufruf ankündigen
2.Ausgabeparameter registrieren
3.Eingabeparameter setzen
4.Prozedur ausführen
5.Ergebnis verarbeiten
58
Kartenlink
0
Wie codiert man eine Funktion in SQL? Wie wird sie aufgerufen/gelöscht?
CREATE FUNCTION Hallo (S CHAR(20))
     RETURNS CHAR(30)
RETURN Case
WHEN current_time<’12:00’
then concat (’Guten Morgen’, S)
WHEN current_time<’18:00’
then concat(’Guten Tag’, S)
ELSE concat (’Guten Abend’,S)
END;

Aufruf: select Hallo(’Chuck’);
Löschen: Drop function [if exists] Hallo;
59
Kartenlink
0
Beschreibe einen Datenbankzugriff von Java.
  • 1. JDBC-Treiber installieren, Classpath setzen
  • 2. Treiber laden
  • import java.sql.*;String dbDRV="com.mysql.jdbc.driver";Class.forName(dbDrv);
  • 3. Verbindung zum DBMS aufbauen und DB auswählen
  • String dbURL="jdbc:mysql:localhost/kino";Connection cn=DriverManager.getConnection(dbUrl, User, Pwd);
  • 4. Statement vereinbaren
  • Statement st=cn.createStatement();
  • 5. Abfrage senden
  • Result rs=st.executeQuery("select * from " + dbTbl);
  • 6. Abfrageergebnis verarbeiten
  • ResultSetMetaData rsmd=rs.getMetaData();
  • 7. Verbindung zur DB schließen
  • rs.close();
60
Kartenlink
0
Wie kann in der Tabelle actor 'Hans' als Vorname an die Stelle 500 gesetzt werden?
(Lösung mit Java)
st.executeUpdate("update actor set first_name='Hans' where actor_id=500;");
61
Kartenlink
0
Wie können alle Datensätze aus der Tabelle actor gelesen werden?
(Lösung mit Java)
ResultSet rs=st.executeQuery("select * from actor");
Kartensatzinfo:
Autor: @destructive_influen...
Oberthema: Datenbanken
Thema: Datenbanken
Veröffentlicht: 27.04.2016
 
Schlagwörter Karten:
Alle Karten (61)
keine Schlagwörter
Missbrauch melden

Abbrechen
E-Mail

Passwort

Login    

Passwort vergessen?
Deutsch  English