close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

1.) Was ist eine Datenbank? - WINFOR

EinbettenHerunterladen
1.) Was ist eine Datenbank?
Def.: Eine Datenbank ist eine integrierte Ansammlung von Daten, die allen Benutzer eines
Anwendungs-bereichs als gemeinsame Basis aktueller Informationen dient. Die Daten sind
entsprechenden ihren “natürlichen“ Zusammenhängen strukturiert, so dass für jede – auch
ungeplant – Anwendung in der für sie benötigten Weise auf die Daten zugegriffen werden kann.
Folgende Gesichtspunkte kennzeichnen zusätzlich eine Datenbank:
1.) Die Daten in der Datenbank enthalten alle wesentlichen Informationen über das
Unternehmen bzw. über einen Anwendungsbereich.
2.) Die Daten sind integriert.
3.) Verschiedene, im allgemeinen viele, Benutzer arbeiten mit denselben Daten, die in der
Datenbank zusammengefasst sind.
“A database system is basically just a computerized record-keeping system... with four major
components: data, hardware, software and users.“ (C. J. Date)
Eine Datenbank ist eine Sammlung von persistenten (dauerhaft gespeicherten, aber
veränderbaren) Daten die von verschiedenen Anwendungssystemen genutzt werden (kann).
Eine Datenbank bildet in irgendeiner Weise Beziehungen ab.
Daten sind gegebene Fakten. In der Mathematik wird dies “wahre Proposition“ genannt. Daraus
folgt: Eine Datenbank ist eine Sammlung von wahren Propositionen.
Daraus folgt, dass eine Datenbank ein logisches System sein muss.
Zweck: effiziente, rechnergestützte Organisation, Erzeugung, Manipulation und Verwaltung großer
Datenmengen.
2.) Was ist ein Datenbankmanagementsystem?
Abbildung 1: DBMS (Vereinfachte Darstellung)
Quelle : http://cyro.cs-territories.com
Ein Datenbanksystem besteht aus einer oder auch mehreren Datenbank(en) und dem Datenbankmanagementsystem (DBMS).
Das DBMS
➢
wird unter Kontrolle des Betriebssystems (OS) ausgeführt und befindet sich während der
Arbeit am Datenbanksystem im Hauptspeichers des Rechners.
➢
bildet also die “Schnittstelle“ zwischen den Usern und der Datenbank an sich.
➢
ist “reentrant“: Es kann von vielen Benutzern gleichzeitig genutzt werden, ohne physisch
mehrmals vorhanden zu sein.
➢
ist eine systemnahe Software.
➢
muss Rechte verwalten können (Zugriffs-, Lese,- Schreibrechte, Sperren von Usern usw.)
und den Datenschutz / Datensicherheit gewährleisten
➢
muss Möglichkeiten zur flexiblen Auswertung der Datenbank geben
➢
muss möglichst schnell und effizient mit mehreren Benutzern gleichzeitig arbeiten. Dabei ist
die Redundanzfreiheit zu beachten.
➢
muss Datenunabhängigkeit gewährleisten (z. B. von Applikationen, Plattformen, zwischen
logischer und physischer Schicht)
➢
muss die Datenintegrität sichern (Vollständigkeit, Korrektheit, Widerspruchsfreiheit usw.)
➢
stellt verschiedene Sprachen zu Verfügung, die den drei Schichten (interne, konzeptionelle
und externe Schicht bzw. synonym auch Sicht genannt) zugeordnet sind und eine
Kommunikation ermöglichen:

DSDL (Data Storage Description Language) ↔ Interne Sicht

DDL (Data Description Language) ↔ Konzeptionelle Sicht

QL (Query Language) / DML (Data Manipulation Language) ↔ Externe Sicht
3.) Wie unterscheiden sich folgende Begriffe:
a) Modell und Implementierung
Ein Modell ist ein Vorbild. Es soll der Nachahmung dienen, oder es ist ein
detailtreuer Nachbau eines realen Gegenstands.
Es wird anfangs ein Datenmodell auf der konzeptuellen Ebene erstellt, das den gesamten
unternehmerischen Ablauf, der von dem neuen Datenbanksystem “betroffen“ sein wird,
abbildet. Für diese Erstellung ist der sog. Datenadministrator (DA) zuständig, der den
Gesamtablauf von Prozessen und dafür benötigten Daten kennt. Dadurch werden für das
Datenbanksystem wichitge Rahmenbedingungen geschaffen.
Es ist im Grunde kein technisches Know-How des DA nötig.
Implementierung ist dann die physische Umsetzung von den im Modell
festgelegten Strukturen und (Arbeits-)Abläufen in das Datenbanksystem.
Diese technische Verwirklichung wird vom Datenbankadminstrator (DBA) übernommen.
Er ist ein IT-Fachmann mit erforderlichen Fachkenntnissen (z. B. Programmieren,
Hardwarespezifikationen usw.)
b) Variable und Wert
Eine Variable ist eine Größe, die verschiedene Werte annehmen kann. Sie ist
also in ihrer Größe veränderlich oder variabel. Variablen werden auch Platzhalter oder
Unbekannte genannt.
Werte (values) sind “individuelle Konstanten“, d. h. sie besitzen eine
bestimmte – wie der Name bereits sagt – Wert. Dieser Wert ist nicht veränderbar,
ansonsten würde ein neuer Wert entstehen.
Diese Werte können sehr komplexe Formen annehmen: z. B. geometrische Punkte, XMLDokumente, Listen, Fingerabdrücke usw.
Dabei ist allerdings zu beachten, dass beide – Variablen und Werte – typengebunden sind,
d. h. sie haben genau einen Typen (z. B. INTEGER, CHAR usw), der sich auch nicht
mehr ändern kann.
c) Client und Server
Das allgemeinste Konzept der verteilten Verarbeitung is das Client-Server-Modell (nach
dem Downsizing-Prinzip). Es gelten folgende Merkmale:
➢
Einzelne Rechner fungieren als Server, die Dienstleistungen zur Verfügung stellen.
➢
Diese Leistungen werden von den Kunden (Clients) abgerufen.
➢
Unter Server versteht man nicht nur die Hardware, sondern auch die Software, die
oft die eigentliche Leistung bereit stellt.
➢
Clients können unterschiedlich leistungsfähig sein (Fat Client, Thin Client).
➢
möglichst auf Intranetebene (d. h. unternehmensweit)
➢
Verarbeitung und Verteilung des PDD-Modells (Präsentation – Prozess –
Datenhaltung) kann stark variieren (zentral ↔ dezentral).
Der Server hat (fast) immer das DBMS zentral verwaltet (auf der eigenen Peripherie).
4.) Was bedeutet “postrelational“?
Zeittafel der Datenbanksysteme
1. Generation
50er Jahre
Filesystem auf Band
2. Generation
60er Jahre
Filesystem auf Platte
3. Generation
70er Jahre
Prärelationale Systeme
(Netzwerk-, hierarchische
Systeme)
4. Generation
80er Jahre
Relationale Systeme
5. Generation
90er Jahre
Postrelationale Systeme
(objektbasierte Systeme)
Nach VOSSEN – Datenbankmodelle, 1999
Postrelationale Generattion
Dabei ist der zentrale Ansatz die Berücksichtigung von modernen Programmiersprachen
(Objektorientierte Programmierung). Dabei lässt sich unterteilen in:
•
objektorientierte Datenbanksysteme
•
objektrelationale Datenbanksysteme
Der Vorteil liegt hierbei auf der Erweiterung und Anpassung durch Integration von neuen
Entwicklungen (z. B. objektorientierten Sprachen wie JAVA usw.).
Sie arbeiten nicht auf der Grundlage der Normalisierungsformen (wie das relationale Modell).
Dadurch erlauben sie die Definition von komplexen Attributen.
weitere Entwicklungen:
•
Zeitorientierte (temporale) Datenbanken
•
Aktive Datenbanken
•
Multimediadatenbanken
•
Text-Retrieval-Systeme
•
Transrelationale Datenbanksysteme
5.) Welche Größe hat die größte Ihnen bekannte Datenbank?
Als Beispiel so hier nur folgender Onlineartikel von www.silikon.de vom Nov. 2005 dienen:
Hamburg besitzt Deutschlands größte Datenbank auf Linux
15.11.2005
Die Hansestadt Hamburg darf jetzt behaupten, die größte Linux-basierte
Datenbank hierzulande zu nutzen
Jülich hat zwar den größten, respektive stärksten Supercomputer in Deutschland - doch die
Hansestadt Hamburg darf jetzt behaupten, die größte Linux-basierte Datenbank hierzulande zu
nutzen. Dafür sorgen die Arbeiten des World Data Center Climate (WDCC) und des Deutschen
Klimarechenzentrums. Beide zusammen haben sich mit der neuen Datenbank so zukunftssicher wie
möglich gemacht.
Die Datenbank mit 220 Terabyte an Volumen ist damit, wie es heißt, "sogar doppelt so groß wie die
Datenbank einer bekannten Internet-Suchmaschine". Die Datenbank soll den aktuellen
Wissensstand der Klimaforschung über Zustand und zu erwartende Veränderungen des Klimas
widerspiegeln. Das heißt, dass jetzt schon 115 Terabyte für neue Simulationsdaten verbucht sind.
Diese fließen in den 2007er UN-Bericht des 'Zwischenstaatlichen Ausschusses für Klimawandel der
Vereinten Nationen' ein. Schlappe 24.500 DVDs wären dafür vonnöten. Da die Daten des Klimas
gespeichert werden müssen, ist diese Masse aber nachvollziehbar.
Gebaut und installiert wurde der Datengigant von der japanischen Firma NEC am DKRZ. Dabei
kam ein vom Bund mit rund 35 Millionen Euro geförderter Vektorsupercomputer zum Einsatz. Er
führt bis zu 1,5 Billionen Rechenoperationen pro Sekunde aus und speichert die Rechenergebnisse
mit bis zu 450 MByte pro Sekunde auf Festplatten.
Am DKRZ werden dafür Festplatten mit einer Gesamtspeicherkapazität von 100 Terabyte
verwendet. Darüber hinaus gehender Speicherplatzbedarf wird mit Magnetbändern abgedeckt, die
insgesamt mehr als 6 Petabyte fassen. Mehrere schnelle NEC TX7 Datenserver mit Intels
'Itanium2'-Prozessoren sollen dabei wie Protokollanten fungieren. Das heißt, dass sie immer
kontrollieren, welche Daten wo auf den Festplatten und Bändern gespeichert sind. Die
Modellergebnisse sind in einer relationalen Datenbank von Oracle abgelegt, die unter Linux läuft.
Weltweit sollen die Forscher auf diese Daten zugreifen können.
6.) Was ist ein Datenmodell?
“A data model is an abstract, self-contained, logical definition of the objects, operators and so forth,
that together constitute the abstract machine with which users interact. The objects allow us to
model the structure of data. The operators to model is behaviour.“ (C. J. Date)
→ im Sinne einer Programmiersprache, die für zahlreiche Probleme genutzt werden
kann.
“A data model is a model of the persistent data of some particular enterprise.“ (C. J. Date)
→ im Sinne einer spezifischen Anwendung, die für ein bestimmtes Probleme genutzt
wird.
Das Datenmodell (auch semantisches Datenmodell) beschreibt die logische Struktur der Daten auf
der konzeptionellen Ebene. Die Darstellung eines solchen Modells wird oft graphisch aufgezeigt (z.
B. ERM, ORM usw.). Diese Modell wird dann in ein Datenbankmodell überführt.
Datenbankmodell
Grundlage für die Strukturierung der Daten und ihrer Beziehungen zueinander ist das
Datenbankmodell, das durch den DBMS-Hersteller festgelegt wird. Je nach Datenbankmodell muss
das Datenmodell an bestimmte Strukturierungsmöglichkeiten angepasst werden (Was ist hier
anders?):
•
•
•
•
hierarchisch: Die Datenobjekte stehen in verdrahteten Eltern-Kind Beziehungen zueinander.
netzwerkartig: Die Datenobjekte werden miteinander in Netzen verdrahtet.
relational: Die Datenobjekte stehen in flachen Tabellen, Beziehungen ergeben sich aus
Werten der Tabellenspalten.
objektorientiert: Die Datenobjekte werden miteinander verdrahtet, sind gegebenenfalls
miteinander verwandt und können vom System immer eindeutig identifiziert werden.
Es existiert eine Vielzahl von Misch- und Nebenformen, wie zum Beispiel das objektrelationale
Modell.“
(QUELLE: www.wikipedia.de)
7.) Auf welchen Hardwareplattformen existieren Datenbanksysteme?
8.) Was ist eine Transaktion?
Eine Transaktion ist in der Informatik eine feste Abfolge von Operationen, die nur komplett oder
gar nicht durchgeführt wird. Sie wird als logische Einheit betrachtet. Diese werden von sog.
Transaktionssystemen verarbeitet. Die einzelnen Operationen werden zerlegt, verarbeitet und
letzlich wieder zusammengeführt. Diesen Vorgang nennt man Historie.
Bezogen auf das Datenbanksystem arbeiten immer mehrere User gleichzeitig mit der Datenbank
(Mehrbenutzersystem). Beispielsweise durch eine Aktualisierung der Daten, entsteht eine o. g.
Folge von Operationen (hier: Read- und Write- Befehlen) - eine Transaktion.
Dabei können Konflikte entstehen (z. B. bei gleichzeitigem Versuch eine Datei zu aktualisieren).
Eine weitere Aufgabe des DBMS ist es, solche Konflikte zu vermeiden. Dafür bedient sich das
DBMS des sog. Transaktionsmanagers der durch “Scheduling“ oder “Concurrency Control“
eingreift.
Eine Transaktion kann in vier Teile zerlegt werden:
•
Beginn der Transaktion (Beginn of Transaction)
•
Ausführung (Commit)
•
Recover-Funktion (Rollback)
•
Ende der Transaktion (End of Transaction)
Einfaches Beispiel:
BEGINN OF TRANSACTION:
Aktualisiere Konto A;
Aktualisiere Konto B;
War alles in Ordnung?
JA → COMMIT;
Nein → ROLLBACK;
END OF TRANSACTION;
9.) Was bedeutet der folgende Ausdruck:
“the log is the database“
Jede Datenbank verfügt über eine sog. LOG-Datei. Hier werden alle Datenwerte sämtlicher
Transaktionen so gespeichert, dass sie rückgängig zu machen sind. Dabei werde sowohl neue als
auch alte Werte gesichert (“before and after image“). In diesem Zusammenhang sind Funktionen
wie redo oder undo wichtig.
“the log is the database, and the database is just an optimized path to the most recent log file“
Querverweis: Temporale Datenbanken
http://www.craigsmullins.com/dbta_049.htm
Document
Kategorie
Internet
Seitenansichten
7
Dateigröße
185 KB
Tags
1/--Seiten
melden