welche vorteile bieten datenbanken?
optimerung auf komplexe auswertungen und große datenmengen
gleichzeitiger Datenzugriff möglich
zugriffs- und rechtevergabe
zuverlässigkeit, schutz vor schreibfehlern auch nach absturz
worin unterscheiden sich datenbank, datenbanksystem und datenbankmanagementsystem?
Datenbank: speichert die daten
datenbankmanagementsystem: verwaltet den zugriff und stellt funktionen bereit
datenbanksystem: kombination von dbms und datenbank
was ist die verbreiteste art und weise daten zu organisieren?
relationales datenmodell
was ist ein attribut?
eine spalte in einer tabelle (bspw. kundennummer, anrede oder name)
was ist ein objekt?
ein datensatz, eine zeile (0020, Herr, Schulze, Emil, e-schulze@gmail.com)
was ist eine relation?
gesamte tabelle aus attributen und objekten
welche drei beziehungen unterschiedet man nach ihrer kardinalität?
1:1 Beziehung
1:N Beziehung
N:M Beziehung
nach welchen drei schritten erfolg das eintragen von datensätzen in relationalen datenbanken?
auswahl der gesuchten relationen (tabellen)
Einfügen des Objektes (datensatz) mit entsprechenden Attributen
eindeutige setzung von primärschlüsseln
womit werden beziehungen in einer datenbank abgebildet?
mit fremdschlüsseln
mit welcher abfrage lassen sich daten abfragen?
SELECT
wie ist die SELECT-Funktion aufgebaut?
SELECT (ausgebende Spalten, durch Komma getrennt) FROM (Tabelle, die angefragt wird)
aus welchen elementen besteht ein select statement mindestens?
select, from
womit wird das ende eines select statements markiert?
mit einem semikolon
;
welche optionalen elemente gibt es bei select befehlen?
WHERE
GROUP BY
GROUP BY: HAVING
ORDER BY
wie lässt sich innerhalb einer select funktion definieren, dass alle spalten ausgegeben werden sollen?
SELECT * FROM Tabelle
womit lassen sich doubletten im ergebnis elemenieren?a
DISTINCT Funktion
wie ist die distinct funktion aufgebaut?
SELECT DISTINCT Attribut FROM Tabelle
womit lassen sich ergebnissabfragen innerhalb des select-statements einschränken?
mit dem schlüsselwort WHERE
wie sind SQL-Statements mit WHERE aufgebaut?
SELECT Attribut FROM Tabelle WHERE Bedigung;
welche logischen operatoren gibt es in den auswahlbedingungen?
NOT
OR
AND
welche vergelichsoperatoren gibt es?
=
><
!= (prüft auf ungleichheit)
BETWEEN
LIKE
IS NULL
IS NOT NULL
IN
Wie werden Texte innerhalb von SQL-Statements markiert?
‘text’
nenne einen sql befehl für:
auswahl von name in der tabelle country die nicht auf dem continent america liegen
SELECT name
From country
Where NOT continent = ‘america’;
auswahl eines namen aus der tabelle “country” mit den bedinungen:
continent = europa
und
grundfläche 100% in europa
FROM country
WHERE continent = ‘Europa’ and percentage=100
nenne einen eql befehl für:
ausgabe aller länder die in afrika liegen und deren name mit dem buchstaben M beginnt
SELECT *
Where continent=’africa’ and name LIKE ‘M%’
welcher operator lässt sich verwenden bei einschränkungen auf bestimmte wertebereiche?
Population BETWEEN 1 and 999999
was beschreibt Code LIKE ‘_’
einstelliger wert
was bschreibt code LIKE ‘C__’
beginnt mit c und besteht aus 3 zeichen
was beschreibt:
Name LIKE ‘%A’
wert endet mit A
Name LIKE ‘G%Y’
wert beginnt mit g und endet mit Y
welchen operator nutzt man um Datensätze zu erhalten, dessen werte sicher in einer datenbank vorkommen?
was gilt es beim Operator between zu beachten
je nach datenbanbank management system unterscheidet sich, ob der 2. parameter teil des ergebnisses ist oder nicht
in mysql ist der 1. parameter teil des ergebnisses der 2. nicht
welchen operator nutzt man zur ausgabe des aktuellen kalenderdatums?
CURRENT_DATE
welchen operator nutzt man zur ausgabe des aktuellen zeitstempels?
CURRENT_TIME-STAMP
welcher operator kann zum verbinden von werten zu einer zeichenkette eingesetzt werden?
CONCAT (argument1, …., argumentN)pp
wie lassen sich parameter mit einem separator verbunden werden?
CONCAT_WS(separator, arg1, … argN)
welches schlüsselwort leitet die sortierung des anfrageergebnisses ein?
welche zwei reihenfolgenindikatoren gibt es beim order by operator?
ASC -> aufsteigend
DSC -> absteigend
was ist der standardwert von ORDER BY in bezug auf die ausgabe der reihenfolge, wenn diese nicht näher definiert wird?
keine angaben = defaultwert: aufsteigend
welcher operator wird eingesetzt, um daten zu gruppieren?
bestimme das sql statement für:
die anzahl der länder für jeden kontinent
SELECT Continent,
COUNT (*)
GROUP BY Continent
wie lautet die aggregatsfunktion mit der die anzahl der datensätze gezählt werden können?
Count (*)
welche 5 aggregatsfunktionen gibt es?
SUM (spalte)
AVG (spalte)
MAX (spalte)
MIN (spalte)
was beschreibt der HAVING COUNT (*) operator?
bezieht sich auf die vorab erfolgte gruppierung, sodass nur gruppierungen ausgegeben werden, die die entsprechende bedingung erfolgen
was beschreibt der DISTINCT Befehl?
er sorgt dafür, dass gleiche werte nur einmalig angezeigt werden
somit bereinigt er redundanzen und werte werden jeweils nur einmal angezeigt
welches modell / grafische modellierungssprache wird zum entwerfen von datenbanken eingesetzt?
Entity-Relationship Diagram (ER-Diagramm)
welche drei notationsformen unterscheidet man??
chen notation
martin notation (krähenfußnotation)
uml-klassendiagramm
welche drei beziehungstypen gibt es?
a.) 1:1 Beziehungen
b.) 1:n beziehungen
C.) n:n beziehungen
was ist die optionalität?
möglichkeit einer optionalen beziehung, damit ist dauch das explizite weglassen möglich
welche bedingungen müssen für die erste normalform erfüllt sein?
alle attribute müssen atomare Wwerte enthalten
jeder datensatz muss eindeutig über einen primärschlüssel identifizierbar sein
welche bedingungen müssen für die zweite normalform erfüllt sein?
jedes nichtschlüsselattribut ist immer abhängig vom gesamten zusammengesetzten primärschlussel und nicht nur von einem teil des schlüssels
welche bedigungen müssen für die dritte normalform erfüllt sein?
jedes nicht-schlüsselattribut hängt direkt vom schlüsselattribut ab
welche 7 aktivitäten umfasst der entwurfsprozess für datenbanken?
Entitäten identifizieren
Beziehungen festlegen
Primärschlüssel festlegen
Umwandlung in physikalisches Datenmodell
Attribute festlegen und normalisieren
Konsistenzbedingungen festlegen
Transaktionen formulieren
welche zwei abbildungen innerhalb von datenmodellen unterscheidet man?
konzeptionelles datenmodell
physikalisches datenmodell
was ist ein konzeptionelles datenmodell?
fachliches datenmodell
enthält alle relevanten entitäten sowie deren beziehungen und attribute
gleicht einem netzwerk
was ist ein physikalisches datenmodell?
datenmodell welches alle einschränkungen und eigenschaften relationaler datenbanken berücksichtigt
was ist eine entität?
Eine Entität ist eine eigenständige Einheit, z. B. ein Geschäftsobjekt, die unter anderen gleichartigen Einheiten eindeutig identifiziert werden kann.
Jeder in der Datenbank gespeicherte Datensatz ist eine Entität.
welche aktivitäten gibt es im entwurfsprozess für datenbanken?
konsistenzbedingungen festlegen
transaktionen formulieren
was ist das requirement engineering?
RE ist das systematische Vorgehen beim Spezifizieren und Verwalten von Anforderungen an ein System, ein Produkt oder eine Software.
welche vorteile bietet eine single-table-strategie?
sehr schnell lesender und schreibender zugriff
es reicht ein sql-statement zum lesen / schreiben
effizienter zugriff auf beziehungen zwischen klassen und vererbungshierachie
welche nachteile bietet eine single-table strategie?
je komplexer die vererbungshierachie ist, desto größer wird die tabelle
sehr viele-NULL-Elemente -> speicherplatz probleme und performanceverlust
welche vorteile bietet die joined-subclass-table strategie?
strategie mit den geringsten redundanzen
einfaches hinzufügen von weiteren unterklassen
daten aus oberklassen können leicht geladen werden
welche nachteile bietet die joined-subclass-table strategie?
langsamste abbildung von vererbungen
zum lesen / schreiben müssen
was sind die vorteile von Table-per-Class-Strategien?
effiziente zugriffe bei bekannten klassennamen
einfaches hinzufügen von klassen
was sind die nachteile von table-per-clas strategien?
beziehungen innerhalb von objekten mit unterschiedlichen klassen sind schwer umzusetzen
unterklassen müssen bekannt sein
auswertungen über die gesamte oberklassen benötigen eine vielzahl von sql-befehlen, da die objekte über verschiedene unterklassen verteilt sind
womit werden zeichenketten mit immer genau “n” zeichen Länge festgelegt?
CHAR(n)
CHARACTER(n)
womit werden zeichenketten mit variablen zeichen jedoch beschränkter länge (max n zeichen) definiert?
VARCHAR(n)
CHARACTER VARYING(n)
Welcher Zahlenwert empfiehlt sich für ganze zahlen ?
INTEGER
welcher zahlenwert empfiehlt sich für dezimalzahlen und wie ist der sql befehl aufgebaut?
DECIMAL(n,m)
n=stellen insgesamt
m=stellen hinter dem komma
welcher befehl wird für gleitkommazahlen, 32 bit genutzt?
REAL
welche drei sql-datentypen gibt es für datumstypen?
DATE, TIME, TIMESTAMP
wie werden binärtypen mit variabler länge häufig in dbms genannt?
BLOB
wie lassen sich binärtypen speichern?
VARBINARY(n)
wie lassen sich boolsche werte speichern?
BOOLEAN
was sind boolsche werte?
Ein Boolescher Wert (auch Boolesche Konstante) ist entweder das logische WAHR (1) oder FALSCH (0) oder eine Referenz auf eine Zelle, die einen Booleschen Wert enthält oder deren Ergebnis das logische WAHR oder FALSCH ist. Ein Boolescher Wert ist im Allgemeinen das Ergebnis der Berechnung eines Booleschen Ausdrucks.
wie könnte ein sql-statement aussehen, mit dem folgende tabelle angelegt wird:
tabellen name: Kunde
Spalten: KundeID, Name, Vorname, KundeNR
CREATE TABLE Kunde (
KundeID INTEGER,
Name VARCHAR(500),
Vorname VARCHAR(500),
KundenNR VARCHAR(500)
)
wie lautet der allgemeine aufbau des CREATE-Befehls?
CREATE TABLE “Name der Tabelle” (
Spaltendefinition,
Primärschlüsseldefinition,
[Integritätsregeln,]
[Fremdschlüsseldefinition,]
[Festlegung von Bedingungen zu Spalten]
welches element zur spaltendefinition verbietet null-werte (+beispiel)
NOT NULL
KundeID INTEGER NOT NULL
welches schlüsselwort dient zur definition des primärschlüssels?
PRIMARY KEY
mit welchem schlüsselwort der spaltendefinition lässt sich ein noch nicht vergebener und damit eindeutiger wert erzeugen?
AUTO_INCREMENT
mit welchem schlüsselwort werden fremschlüssel definiert?
FOREIGN KEY
wie lautet die vollständige zeile innerhalb eines SQL-Befehls zur definition eines fremdschlüssels
FOREIGN KEY (Fremdschlüsselspalte) REFERENCES “Tabelle”(Fremdschlüsselspalte)
FOREIGN KEY (KundeID) REFERENCES Kunde(KundeID)
aus welchen drei aspekte besteht ein sql-befehl für eine verbundmenge?
spalten der ergebnistabelle definieren
zusammenführung
Verbundkriterium
wie kann ein sql befehl nach folgendem schema aussehen:
SELECT X,Y,Z
FROM Tabelle Y INNER JOIN Tabelle X
On Attribut1.TabelleY=Attribut1.TabelleX
welche zwei Verbundtypen des INNER JOIN gibt es?
INNER JOIN ON(Tabelle1.Spalte=Tabelle2.Spalte)
INNER JOIN USING(SPALTE)
welche mengenoperationen gibt es?
filtern, gruppieren, sortieren
wie lautet das schlüsselwort für die duplikatfreie vereinigungsmenge?
UNION
wie lässt sich ein VIEW Erstellen?
CREATE VIEW “Name des VIEWS” AS
SELECTBEFEHL…
welche zwei arten von views gibt es?
schreibbaren VIEW
Read Only VIEW
welcher befehl wird genutzt um neue datensätze in eine relationale datenbank einzufügen?
INSERT
wie lautet das allgemeine schema um neue datensätze einzufügen?
INSERT INTO tabelle (spalte1, …, spalteN) VALUES (wert1, …, wertN);
wie lassen sich attribute automatisch durch das DBMS erzeugen?
welche zwei statements gibt es zum ändern von datensätzen?
UPDATE
DELETE
wie lautet das schema zur aktualisierung von daten?
UPDATE tabelle
SET spalte1=wert1, spalte2=wert2,…., spalteN=wertN
Where Auwahlbedingung;
wie lautet das schema zum löschen von daten?
DELETE FROM tabelle
WHERE Bedingung;
womit können tabellen geändert werden?
ALTER TABLE
mit welchen zwei elementen von ALTER TABLE lassen sich tabellenspalten modifizieren?
ADD -> einfügen von spalten
DROP -> löschen von spaltne
welche 4 eigenschaften haben transaktionen?
ACID
Atomicity - Atomarität, eine transaktion wird nur vollständig oder gar nicht ausgeführt, sie ist nicht teilbar
Consistency - Konsistenz, eine transaktion erhält die konsistenz einer datenbank
Isolation - transaktionen beeinflussen sich nicht gegenseitig
Durability - dauerhaftigkeit, nach dem abschluss einer transaktion sin ddie änderunge daerhaft in der datenbank
wie latet das schema einer transaktion?
START TRANSACTION;
SQL-Statement1;
…
SQL_StatementN;
Commit;
welche zwei abschlüsse gibt es für START TRANSACTION?
COMMIT - Änderungen werden ausgeführt
ROLLBACK - Änderungen werden rckgängig gemacht
welche vier isolationsphänomene untescheidet man?
Lost Update
Dirty Read
Non-repeatable Read
Phantom Read
was beschreibt das lost-update-phänomen?
bezeichnet änderungen die durch das nebenläufige ausführen von transaktionen auftreten
änderungen werden durch gleichzeitige transaktionen direkt überschrieben
was beschreibt das dirty-read-phänomen?
bezeichnet den effekt, dass änderungen gelesen werden, noch bevor diese durch ein COMMIT gespeichert werden
daten werden gefunden, obwohl sie bspw. durch rollback nicht mehr da sind
was beschreibt das non-repeatable read phänomen?
mehrmaliges lesen von daten liefert unterschiedliche ergebnisse zurück
was beschreibt das phantom-read phänomen?
unterschiedliche ergebnisse beim lesen der selben tabelle durch das einfügen oder löschen von datensätzen
welche vier isolationslevel lassen sich unterschieden?
read uncommitted
read committed
repeatable read
serialize
was beschreibt das isolationslevel “read Uncommitted”?
niedrigstes isolationslevel, bei dem auch nicht durch vommit bestätigte änderungen gelesen werden können
lässt alle phänomene zu
was beschreibt das isolationslevel “read committed”?
zweit-niedrigstes isolationslevel, erlaubt das lesen nur von bereits durch commit bestätigten daten, verhinder jedoch keine inkonsistenz bei mehrfachem lesen
lässt weiterhin non-repeatable read und phantom read zu
was beschreibt das isolationslevel “repeatable read”?
zweit-höchstes isolationslevel, stellt sicher, dass beim emhrfachen lesen des gleichen datensatzes die gleichen daten zur verfügung stehen
lässt weiterhin phantom read zu
was beschreibt das isolationslevel “serialize”?
stellt sicher, dass beim mehrfachen lesen innerhalb einer transaktion jeweils immer die gleichen datenmenge zur verfügung steht
verhindert alle isolationsphänomene
was wird unter dem begriff nosql zusammengefasst?
neuartige Datenbanksysteme
mit denen die anforderungen von schnell wachsenden internetanwendungen wie hohe verfügbarkeit, einfache skalierung und die verarbeitung großer datenmengen gezielt adressiert werden
welche alternative bedeutung gibt es für nosql?
not only sql
welche alternativen datenmodelle zum relationalen datenmodell gibt es?
wide column stores
key-value-system
documents Stores
Graphdatenbanken
was ist mit horizontaler skalierbarkeit gemeint?
das ändern der kapazitäten durch hinzu- oder abschalten eines weiteren dbms bei laufendem betrieb der anwendung
was entsteht zwangsläufig durch ein horizontal skaliertes dbms?
es entsteht ein verteiltes datenbanksystem bei dem die gesamtheit aller daten auf mehreren einzelnen dbms gespeichert ist
was kennzeichnet eine nosql datenbank häufig in bezug auf das konsistenzmodell?
es liegt meist ein anderes zugrunde
also nicht ACID sondern eventually consistent oder BASE
was bedeutet das konsistenzmodell “eventually consistent?
der datenbestand dafür für kurze zeit inkonsistent sein, muss jedoch nach einer gewissen zeit ohne weitere änderungen am datenbestand wieder einen konsistenten zustand erreichen
was sind key-value-systeme?
es beschreibt ein prinzip zur datenorganisation welches aus nur zwei spalten besteht, dem Key und dem Value
der value kann dabei auch selbst eine liste oder mengen bzw. komplexe werte sein
was beschreiben wide column stores?
daten werden zwar in tabellen, jedoch anders als in relationalen datenbanken spaltenweise statt zeilenweise physikalisch gespeichert
welche dbms basieren auf der spaltenorientierung?
hBase
Cassandra
Amazaon SimpleDB
was ist document stores?
speichern strukturierten text wie beispielsweise:
xml
json
dient zum austausch von nachrichten an technischen systemschnittstellen
was sind graphdatenbanken?
nutzen graphen als die grundlegende datenstruktur zur organisation
netzwerkartige struktur
was ist eine traversierung?
sinngemäß: durchquerung
was sind beispiele für document stores?
couchDB
MongoDB
was sind beispiele für graphdatenbanken
AllegroGraph
Neo4j
was sind entitätsmengen?
entitäten mit gleichen eigenschaften werden zu entitätsmengen zusammengefasst. alle in einer tabelle gespeicherten datensätze bilden also eine eintitätsmenge
womit lassen sich beziehungen im ER-Modellen vergleichen?
mit beziehungen in uml-klassendiagrammen
wie wird die martin-notation noch genannt?
krähenfußnotation
was bezeichnet der begriff datenbankmanagementsystem DBMS?
Systeme, die zur Verwendung von relationalen Datenbanken eingesetzt werden
was bezeichnet ein Attribut in einer relationalen Datenbank?
eine Spalte
was dürfen primärschlüssel niemals sein?
den Wert NULL
was bedeutet Kardinalität in SQL?
Die Kardinalität wird oft verwendet, um die Beziehung zwischen zwei Tabellen in einer Datenbank zu beschreiben
1:1
1:N
N:1
was sind verbundkriterien?
beziehen sich auf Join-Klauseln
legen fest, wie tabellen miteinander verknüpft werden sollen
Möglichkeiten
INNER JOIN tabelle WHERE Tabelle1.Spalte1 = Tabelle2.Spalte2;
INNER JOIN tabelle on Tabelle1.Spalte1 = Tabelle2.Spalte2;
wofür werden befehle der data definition language eingesetzt?
zur erstellung und änderung des datenschemas
was sind rekursive beziehungen?
referenzieren über einen fremdschlüssel auf die gleiche tabelle (verweis innerhalb einer tabelle)
wie lautet der sql-befehl zur ermittlung des baujahres des ältesten autos?
SELECT MIN( Baujahr )
FROM PKW;
Zuletzt geändertvor einem Jahr