Objektrelationale Datenbanken

Größe: px
Ab Seite anzeigen:

Download "Objektrelationale Datenbanken"

Transkript

1 Schriftliche Ausarbeitung zum Thema: Objektrelationale Datenbanken im Rahmen des Proseminars Objektorientierte Datenbanken, an der GH-Siegen, WS 1999/2000 von Tobias Fries, Hery L. Ramanoarisoa, Thouraya Ben Kali, Markus Paltian

2 Übersicht 1. Motivation des objektrelationalen Datenbankkonzeptes Allgemeine Anforderungen an Datenbanksysteme Nachteile relationaler und objektorientierter Datenbanksysteme Nachteile relationaler Datenbanksysteme Nachteile objektorientierter Datenbanksysteme Resultierende Anforderungen für objektrelationale Datenbanksysteme Merkmale objektrelationaler Datenbanksysteme Erweiterung relationaler Datenbanksysteme um abstrakte Typen Objektorientierte Erweiterungen Beispiele Strukturen und Mengen Hierarchien und Erbungsmechanismen Der neue Standard für objektrelationale Datenbanken SQL: Vergleich unterschiedlicher Produkte Informix Universal Server Oracle IBM DB Fazit Literatur

3 1. Motivation des objektrelationalen Datenbankkonzeptes Obwohl mit den relationalen Datenbanken ausgereifte, leistungsfähige und theoretisch untermauerte Systeme vorliegen, ist der alleinige Einsatz des relationalen Datenbankkonzeptes in vielen Anwendungsfällen nicht befriedigend, da die Existenz von nur einfachen Datentypen Modellierungen komplexer Aufgabenstellungen nicht unterstützt. Objektorientierte Datenbanken sind zwar genau hierzu zu in der Lage, können aber nicht ohne weiteres Datenbestände aus den älteren relationalen Systemen übernehmen. Außerdem stellen objektorientierte Datenbanken keinen vollständigen Ersatz für relationale Datenbanken dar, da sie in den klassischen Anwendung für relationale Systeme, also Verwaltung großer, einfach strukturierte Datenbestände, gegenüber diesen Systemen konzeptionell im Nachteil sind. Objektrelationale Datenbanksysteme wurden entwickelt um die Vorteile des objektorientierten und des relationalen Konzeptes zu vereinen und dabei deren jeweilige Nachteile auszuschalten Allgemeine Anforderungen an Datenbanksysteme Datenbanken dienen zur strukturierten und effizienten Speicherung und Verwaltung von Daten in Anwendungsfällen, bei denen das einfache Speichern von Daten über ein Dateisystem nicht mehr ausreichend ist. Die in einer Datenbank zu speichernden Daten werden durch ein Datenmodell definiert, indem deren Struktur, Operationen auf diesen Daten und Konsistenzregeln festgelegt werden. Die Daten in der Datenbank können nur über das Datenbank-Management-System (DBMS) eingefügt, gelesen, geändert oder gelöscht werden. Das DBMS ist ein Softwaresystem, dass die einheitliche Beschreibung und sichere Bearbeitung einer Datenbank ermöglicht. Es erfüllt unter anderem die folgenden Anforderungen: Das DBMS sorgt für Physische Datentunabhängigkeit: Änderungen an den hardwaremäßigen Speicherstrukturen und Zugriffspfaden sind für Anwenderprogramme und Queries unsichtbar, verändern also weder die logische, noch die externen Sichten Das DBMS sorgt für Logische Datentunabhängigkeit: Änderungen an der logischen Sicht (an den Typendefinitionen, Datenbankschemata) sind für Applikationen und Queries unsichtbar, diese arbeiten nur mit externen Sichten Das DBMS garantiert Korrektheit der Daten (Einhaltung der definierten Konsistenzregeln) Das DBMS garantiert Datensicherheit, d.h. Korrektheit bei fehlerhaftem Ablauf einzelner Anwendungen und Systemabsturz 3

4 Das DBMS garantiert Korrektheit im Mehrbenutzerbetrieb (concurrency control) Das DBMS bietet feinkörnige Zugriffskontrolle. Das DBMS sorgt für Redundanzvermeidung bzw. minimierung: Gleiche Daten werden möglichst nicht mehrfach abgespeichert. Dadurch wird nicht nur Einsparung von Speicherplatz erreicht, sondern auch die Aktualisierung der Daten wesentlich vereinfacht Das DBMS unterstützt spontane Anfragestellung (ad-hoc Queries). Anfragen werden vom System optimiert 1.2. Nachteile relationaler und objektorientierter Datenbanksysteme Die im letzten Abschnitt erwähnten Anforderungen an Datenbanksysteme werden, mit Ausnahme des fehlenden Sichtenkonzeptes bei objektorientierten Systemen, grundsätzlich von relationalen sowie objektorientierte Implementierungen erfüllt. Nichtsdestotrotz hat jeder Datenbanktyp, abhängig von der Beschaffenheit der Datenbankanwendung, seine individuelle Vor- und Nachteile. Allgemeingültig, also für beliebige Aufgabenstellungen gleichermaßen, kann keines der beiden Konzepte empfohlen werden. Vielmehr muss abhängig von der Datenbankanwendung entschieden werden, welchem der Beiden im speziellen Falle der Vorzug zu geben ist. Um diesen Umstand zu verdeutlichen, findet sich im folgenden eine Zusammenstellung der wichtigsten und schwerwiegensten Nachteile der jeweiligen Konzept Nachteile relationaler Datenbanksysteme Die grundlegende Einschränkung relationaler Datenbanken ist Tatsache, dass diese von Hause aus nur einfache Datentypen anbieten und darüber hinaus nicht die Neudefinition von benutzerdefinierten Datentypen gestatten. Allein die Fähigkeit zum Umgang mit komplexen Datentypen würde den Datenbankentwurf in viele Fällen vereinfachen. Für komplexe Aufgabenstellung hat sich die objektorientierte Modellierung durchgesetzt. Objektorientierte Konzepte werden aber von relationalen Datenbanken in keiner Weise unterstützt, wodurch der Datenbankentwurf in solch einem Fall extrem umständlich wird. Ist ein solches komplexes, objektorientiertes Modell einmal in das Relationenschema umgesetzt worden, so können selten alle Attribute eines Objektes aus dem Ausgangmodell in einer Tabelle untergebracht werden. Vielmehr ist es notwendig ein Objekt auf mehrere Tabellen aufzuteilen. Sollen in solch einem Fall durch eine Anfrage alle Attribute dieses Objektes ermittelt werden, so sind hierzu explizite Join-Operationen notwendig. Für komplexe Aufgabenstellungen bei denen objektorientierte Modellierung angebracht ist wird also nicht nur der Datenbankentwurf kompli- 4

5 zierter, sondern in vielen Fällen müssen auch die späteren Anfragen an die Datenbank umständlicher formuliert werden. Relationale Datenbanken kennen keine Objektidentität. Dieses Merkmal objektorientierter Datenbanken und Programmiersprachen erlaubt die Identifizierung eines Objektes selbst dann, wenn all seine Attribute in ihrem ursprünglichen Wert verändert worden sind. Wird ein Objekt in einem Tupel einer relationalen Tabelle gespeichert, so verliert es seine Identität, also die Möglichkeit es von außen eindeutig zu identifizieren sobald sein Primärschlüssel geändert wird. Von einer rein relationalen Datenbank wird auch Persistenz durch Erreichbarkeit nicht unterstützt. Bei diesem Persistenzkonzept werden alle Objekte in die Datenbank aufgenommen, die von einem bereits gespeicherten Objekt referenziert werden. Da auf diese Weise das Persistenzmerkmal von Objekt zu Objekt weitergegeben wird, ist z.b. das Abspeichern oder Löschen einer kompletten Listen mit nur einer Operation auf dem Listenkopf möglich. Bei relationalen Datenbanken muss man hierzu explizit jedes Element Speichern oder Löschen. Ein weiteres Manko ist die geringe Mächtigkeit von SQL, der Datenbankprogrammiersprache relationaler Systeme. Anspruchsvolle Berechnungen lassen sich besser oder ausschließlich in einer externe Programmiersprache verwirklichen. Auch ist es nicht möglich benutzerdefinierte Prozeduren oder Funktionen in SQL zu erstellen. Muss im Anwendungsfall auf eine externe Programmiersprache ausgewichen werden, so kommt es beim Datenaustausch zwischen Datenbank und externer Programmiersprache zum sogenannten Impedance Mismatch. Dieser Begriff beschreibt den Umstand das die Typsysteme von Datenbank und Programmiersprache sich unterscheiden. So muss das externes Programm dafür sorgen, dass die von der Datenbank gelieferten Daten in das Typsystem der Programmiersprache umgesetzt werden. Umgekehrt müssen die, in die Datenbank zu transferierenden, Daten zuvor in einen Datenbankkonformen Typen konvertiert werden. Dieser zusätzliche Programmieraufwand ist nicht nur zeitraubend, sondern zudem eine unerwünschte mögliche Fehlerquelle. Abschließend nochmals eine Auflistungen der größten Schwächen relationaler Systeme: keine komplexen Typen keine Objektorientierung keine Objektidentität, Primärschlüssel müssen durch Programmierer geeignet gewählt werden keine Persistenz durch Erreichbarkeit SQL als Programmiersprache nicht mächtig genug, keine benutzerdefinierbaren Prozeduren Impedance Mismatch: Typen von SQL und externen Programmiersprachen passen nicht zueinander und müssen ineinander konvertiert werden 5

6 Nachteile objektorientierter Datenbanksysteme Trotz der im letzten Abschnitt beschriebenen Nachteile stellen relationale Datenbanksysteme derzeit die weit verbreitetste Technologie dar. Für die Datenbestände, die hier gepflegt werden, ist es für den Fall, dass die relationale Technologie nicht mehr als ausreichend erachtet wird, wünschenswert, dass sie mit möglichst geringem Aufwand auf das neue Datenbanksystem zu portieren sind. Aufgrund der grundlegenden Unterschiede zwischen relationalen und objektorientierten Systemen ist die Migration von Erstem zu Zweitem keineswegs ohne weiteres zu erledigen. Bei Anwendungsfällen, in denen sich die relationale Datenbanktechnologie bewährt hat, also vor allem beim Verwalten großer, einfach aufgebauter Daten, ist zwar prinzipiell der Einsatz von objektorientierten Systemen möglich, allerdings nicht sonderlich empfehlenswert. In diesen Fällen nämlich, sind objektorientierte Datenbanksysteme in der Regel erhebliche langsamer. Ein Grund hiefür ist die gesteigerte Komplexität objektorientierter Datenbankprogrammiersprachen, die eine datenbankinterne Optimierungen von Lese- und Schreibzugriffen erschwert. Ein weiterer Nachteil, der mit der Komplexität und Leistungsfähigkeit objektorientierter Datenbankprogrammiersprachen zusammenhängt, ist die erhöhte Fehleranfälligkeit die diese Komplexität mit sich bringt. Je einfacher und überschaubarer eine Programmiersprache desto geringer ist nämlich auch die Wahrscheinlichkeit von Programmierfehlern, welche den Datenbestand einer Datenbank eventuell verfälschen könnten. Den objektorientierten Datenbanken fehlt das theoretische Fundament ihrer relationalen Verwandten, welche mathematisch mit Hilfe der Relationenalgebra eindeutig beschrieben werden können. Auch sind relationale Datenbankprodukte in der Regel ausgereifter, schließlich existieren diese Produkte seit Beginn der achtziger Jahre, während objektorientierte Datenbanken erst in den Neunzigern, einhergehend mit der Etablierung objektorientierter Entwurfs und Programmiermethoden, entstanden sind. Ein Rollenkonzept ist bei objektorientierten Datenbanken zwar vorhanden, allerdings in bestimmten Fällen recht aufwendig nur durch Mehrfacherbung zu realisieren. Im Detail wird dieser Punkt in Kapitel 3 mit einem Beispiel veranschaulicht. Allgemein kann gesagt werden, dass je mehr Rollen ein Objekt annehmen kann, desto umständlicher ist das objektorientierte Rollenkonzept. In Kapitel 1.1. wurde als grundlegende Anforderung an Datenbanksysteme die Datenunabhängigkeit genannt. Objektorientierte Datenbanksysteme besitzen allerdings weder ein Sichtenkonzept, welches logische Datenunabhängigkeit ermöglichen würde, noch implementieren sie externe Datenunabhängigkeit. Vielmehr wird die konzeptuelle Ebene, die Objektstrukturen, nahezu eins zu eins auf die verwendeten Massenspeichermedien ausgelagert. Das Fehlen von Datenunabhängikeit äußert sich bei nachträglichen Änderungen an konzeptueller oder physischer Ebene, und führt in diesen Fällen zu einem Mehraufwand, beispielsweise zum Anpassen bereits bestehender Applikationen an neue Datentypen, der bei bestehender Datenunabhängigkeit nicht erbracht werden muss. 6

7 Zusammenfassen weist ein objektorientiertes Datenbanksystem also folgende Schwachpunkt auf: Migration relationaler Datenbestände in objektorientierte Datenbanken nicht ohne weiteres möglich Performanznachteil bei großen, einfach strukturierten Datenbeständen Höhere Anfälligkeit für Programmierfehler, da Datenbanksprache komplexer keine theoretische Untermauerung, nicht so ausgereift wie relationale Systeme Rollenkonzept in bestimmten Fällen umständlich Keine Datenunabhängigkeit, da kein Drei-Ebenen Konzept 1.3. Resultierende Anforderungen für objektrelationale Datenbanksysteme Relationale Datenbanksysteme stellen heute eine etablierten Technologie dar, die in vielen Bereichen der Datenverarbeitung erfolgreich eingesetzt wird. Ein Großteil aller Geschäfts- und Prozessdaten ist in relationalen Datenbanken abgelegt. Die von den Systemen angebotenen Datentypen und Anfragesprachen sind für die typischen Standard-Datenbankanwendungen ausreichend. Nicht-Standard-Datenbankanwendungen stellen neue Anforderungen an Datenbanksysteme wie den Umgang mit komplex strukturierten Multimedia Daten. In einem Städteinformationssystem müssen beispielsweise Anfahrtspläne, Photographien und mit Bildern angereicherte Dokumente ebenso wie Audiodaten und Videos verwaltet werden. Aufgrund der anwendungsspezifischen Anforderungen an neue Datentypen, wäre eine herstellerseitige Ergänzung der vordefinierten Datentypen um neue Typen unzureichend. Es sollte vielmehr jedem Entwickler möglich sein, das Datenbanksystem seinen Bedürfnissen entsprechend mit neuen Datentypen und Funktionen zu erweitern. Somit werden die Anforderungen an ein neues Datenbankkonzept offenbar: Es sollte, um problemlose Übernahme vorhandener Datenbestände zu ermöglichen, auf der konventionellen relationalen Technologie aufsetzen und diese durch objektorientierte Erweiterungen ergänzen. Hierfür wäre eine objektorientierte Erweiterung des SQL-Standards wünschenswert, der erlaubt das Datenbanksystem mit neuen Typen, Funktionen und Regeln zu erweitern, ohne allerdings die Komplexität der Sprache ausufern zulassen. Genau dieser Gedanke wird von objektrelationalen Datenbanksystemen verfolgt. Ausgangspunkte für die aktuellen objektrelationalen Datenbankprodukte sind die etablierten relationalen Systemen, die die Hersteller nun um objektorientierte Konzepte erweitern, um die erwähnten Einschränkungen relationaler Systeme auszuschalten. Da mit SQL:1999 erst seit kurzem ein wohldefinierter Standard für objektrelationale Funktionalität besteht, ist die Implementierung objektrelationeller Merkmale in den verschiedenen Produkten auch unterschiedlich weit fortgeschritten. Welche Merkmale dies im einzelnen sind und welchen Funktionsumfang eine Datenbank mitbringen muss, um sich objektrelational nennen zu dürfen, soll im folgenden Kapitel behandelt werden. 7

8 2. Merkmale objektrelationaler Datenbanksysteme Das objektrelationale Konzept ist relativ neu, es ist durch Integration bekannter Ansätze und durch logische Weiterentwicklung entstanden. Seit vielen Jahren hat man immer wieder versucht das relationale Datenbankmodell zu erweitern, weil die Umstellung relationaler Datenbestände auf das strikte objektorientierte Konzept sehr umständlich bleibt. Bevor man aber auf das objektrelationale Modell gekommen ist, sind schon viele Neuerungen und Forschungen gemacht worden. Daraus sind neue Konzepte entstanden. Alle Konzepte sind unter dem Begriff Postrelationales Datenbanksystem zu verstehen. Der Name Postrelational soll an die unternommene Erweiterung des relationalen Modells erinnern. Zu den am häufigsten realisierten Konzepten zählen: Erweiterte, vordefinierte und benutzerdefinierte Datentypen Funktionen und Methoden Typkonstruktkoren Objektidentität Referenzen Die Basis für diese Systeme ist jeweils das Relationenmodell. Unterscheiden kann man Systeme dieser Entwicklungsrichtung wieder nach: Relationalen Datenbanksystemen mit strukturellen Erweiterungen Relationalen Datenbanksystemen mit Verhaltensmäßigen Erweiterungen Relationalen Datenbanksystemen mit einem ADT-Konzept, wobei die ADTs gleichermaßen Struktur und Verhalten definieren Relationalen Datenbanksystemen, die innerhalb des Relationenmodells relativ weitgehend ein objektorientiertes Datenbankmodell verwirklichen Wann ist ein System aber nun objektrelational? Um diese Frage zu beantworten betrachten wir zunächst die Klassifikationsmatrix von Stonebraker wie sie in [2] wiedergegeben wird: Demnach ist das Unterscheidungsmerkmal zwischen relationalen und objektrelationalen Datenbanken allein die Unterstützung komplexer Datentypen. In der Praxis müsste man aber dadurch viele postrelationale Systeme, die die Objektorientierung nicht verwirklichen als objektrelational bezeichnen. Zwischen objektrelationalen und objektorientierten Datenbanken trennt man nach 8

9 Stonebraker anhand der Existenz von Abfragesprachen. Aber auch reine objektorientierte Produkte, in [2] werden POET und O2 angegeben, besitzen mittlerweile Anfragesprachen. Mit Stonebraker muss man diese also ebenfalls als objektrelational bezeichnen, obwohl sie keine relationalen Anteile haben. Demnach ist der Ansatz von Stonebraker nicht mehr anwendbar und es müssen andere Kriterien verwendet werden um über die Objektrelationalität eines Systems zu entscheiden. Heuer verwendet hierfür in [2] eine geeigneteren Weg der spezifischere Eigenschaften von Datenbanken berücksichtigt. Objektrelational soll hier zuerst einmal heißen, daß das relationale Modell vollständig unterstützt wird. Begriffe wie Entitätstypen, Attribute, Tupel, Primärschlüssel und Fremdschlüssel, Projektion, Selektion und Verbindung von Tabellen gehören hier nach wie vor zum Grundvokabular. Das objektrelationale Model versucht darüber hinaus ein Datenbankmodell zu erschaffen das mit einige OO-Konzepten in der Form einer Tabelle" charakterisiert werden kann. Persistente Daten werden schon längst mit einer Tabelle verarbeitet, hinzugekommen ist nun die Fähigkeit, das Felder der Tabelle strukturierte Daten bzw. abstrakte Datentypen einnehmen können sollen. Außerdem sollen aus dem objektorientierten Konzept Merkmale wie Vererbungsprinzipen und Methodenüberschreibung (Overriding) integriert sein. Die folgende Tabelle veranschaulicht die Kriterien zur Klassifikation von Datenbanken nach Heuer, wobei die zu Beginn des Kapitel angesprochene Klasse von postrelationalen Datenbaken hier in zwei Kategorien eingeteilt wird: Demzufolge stellen Datenbanken die nur den Kriterien der linke Tabelle erfüllen, lediglich eine Erweiterung des relationalen Modells um abstrakte Datentypen dar, ohne objektorientierte Konzepte zu implementieren. Daher können sie auch nur als erweitert relational bezeichnet werden. Damit eine Datenbank als objektrelational eingestuft werden kann, müssen die Kriterien in der rechts stehenden Tabelle erfüllt sein. Hauptkriterium für Objektrelationalität ist also hiernach das Vorhandensein von Vererbungsmechanismen zur Methoden- und Strukturvererbung. Nachdem somit festgelegt ist, was unter objektrelationalen Datenbanken zu verstehen ist, erfolgt in den zwei nächsten Unterkapiteln nun eine Erläuterung der hier zur Unterscheidung aufgeführten Merkmale. 9

10 2.1. Erweiterung relationaler Datenbanksysteme um abstrakte Datentypen Damit relationale Datenbanksysteme mit abstrakten Datentypen umgehen können benötigen sie die folgenden Erweiterungen: komplexe, benutzerdefinierbare Datentypen Funktionen, Methoden Typenkonstruktoren Unter komplexen Datentypen versteht man Typen wie Struktur und Menge. Benutzerdefinierbare Datentypen resultieren aus der Kombination der internen Datentypen der Datenbank. Funktionen konnten bisher in Standard-SQL nicht erzeugt werden. Dieses, in herkömmlichen Programmiersprachen schon lange bekannte Konzept zur Programmstrukturierung und Wiederverwendung von Quellcode, kann somit auch in Datenbanken Verwendung finden. Angewandt wird es z. B. für benutzerdefinierbare Operationen in Anfragen. Hauptelement der Erweiterung um abstrakte Datentypen ist die Einführung von Methoden. Dabei handelt es sich um mit bestimmet Datentypen assoziierte Funktionen. In der Praxis werden Methoden verwand um zu Typen dazugehörigen Zugriffs- und Verarbeitungsfunktionen zu definieren. Neben den klassischen einfachen Typen wie Integer mit den Funktionen Addition und Subtraktion kann man nun auch neue Datentypen wie beispielsweise Bild mit den Funktionen Bildanzeigen definieren. Jeder benutzerdefinierte Typ besitzt einen Konstruktor gleichen Namens, mit dem Objekte bzw. Instanzen dieses Typs erzeugt werden können. Durch Aufruf eines Konstruktors wird jedoch nicht nur eine Instanz eines Typen erzeugt, sondern der Konstruktor kann darüber hinaus als benutzerdefinierbare Methode angesehen werden, die bei jeder Erzeugung einer Instanz des Typen aufgerufen wird. Aufgrund dieser Eigenschaft werden Konstruktoren z. B. für die Zuweisung von Initialwerten verwendet. Mit den hier erläuterten Merkmalen erweiterter relationaler Datenbanken ist es also möglich abstrakt Datentypen zu implementieren. Die Unterstützung abstrakter Datentypen ist attraktiv, weil Methoden als Operationen assoziiert mit diesen neuen Datentypen benutzt werden können um Datenmengen z. B. zu indexieren, zu speichern und Anfragen, die auf diese Datentypen basieren, zu realisieren Objektorientierte Erweiterungen Wie bereits erwähnt ist das wichtigste Merkmal von objektrelationalen Datenbanken die Vererbung. Hierbei handelt es sich um ein grundlegendes objektorientierten Konzeptes, welches vor allem dann von Vorteil ist, wenn aus Entity-Relationship-Modellen, Datenbankschemata entwickelt werden sollen. Mit herkömmlichen relationalen Datenbanken kann so etwas nämlich nicht direkt implementiert werden. Mit Vererbung kann man aus einem gebildeten Basistyp wie Per- 10

11 son verschiedene Typen beispielweise Techniker, Manager oder Mitarbeiter ableiten. Die abgeleiteten Typen erben alle Eigenschaften von Person, können aber auch erweiterte spezifische Attribute zugewiesen bekommen, die nur für den Untertyp gelten. Diese Form von Vererbung, also das Vererben von Attributen von Basisklassen an Unterklassen, wird auch Strukturvererbung genannt. Eine Unterklasse erbt aber auch alle Methoden von der darüber liegenden Klasse. Soll eine Methode in einer Unterklasse aber nachträglich gegenüber einer geerbten Methode aus einer Basisklasse verändert werden, so wird dieser Vorgang als Overriding oder Überschreiben bezeichnet. Im objektorientierten Konzept exsistiert lediglich Vererbung auf der Ebene von Typen, die dort Klassen genannt werden. Eine auf Basis dieser Vererbung erzeugte Hierarchie wird Typenhierarchie genannt. Objektrelationale Systeme kennen weitergehend auch Vererbung auf Tabellenebene, bei der eine Tabelle erstellt werden kann, indem sie Attribute einer bereits bestehenden Tabelle übernimmt. Eine solche Tabellenhierarchie wird auch als Relationenhierarchie bezeichnet. Eine weiteres nützliches Merkmal, dass die objektrelationalen von den objektorientierten Datenbanken übernommen haben ist die Objektidentität. Zu jedem Objekt wird automatisch ein systemweit eindeutiger Identifikator erzeugt (OID), der z.b. zur Modellierung von Beziehungen durch Referenzen herangezogen werden kann. Dieser Identifikator bleibt während der Lebenszeit des Objekts unverändert. Wie bereits angedeutet können mit dem OID Referenzen erzeugt werden. Eine Referenz gleicht dem Speichern eines Fremdschlüssels in einer Tabelle und dient dazu auf ein Objekt oder auf ein Tupel in einer Tabelle zu zeigen. Beziehungen können durch Referenzen aber natürlicher dargestellt werden, als durch künstlich eingeführte Fremdschlüsselattribute. Sobald Referenzen vorhanden sind kann zwischen verschiedenen Objekten bzw. Tupeln direkt navigiert werden. Somit werden komplexe Abfragen, die im relationalen Modell Joins über mehrere Tabellen erfordern, u.u. erheblich vereinfacht, wenn die Beziehung durch Referenzen modelliert wird (weniger Tabellen in der from-klausel, besser lesbare Anfragebedingungen). 11

12 3. Beispiele Um ein Eindruck davon zu bekommen wie sich die geschilderten Eigenschaften objektrelationaler Datenbanken letztlich in der Praxis auswirken betrachten wir in diesem Kapitel einige Beispiele die aus [3] mit leichten Abwandlungen entnommen wurden. Der in den Beispielprogrammen verwendete Code entspricht dem Vorschlag eines erweiterten SQL wie er in [3] verwendet wird Strukturen und Mengen Die grundlegendste Erweiterung über die objkektreltionale Datenbanken im Gegensatz zu den relationalen Datenbanken verfügen, ist die Möglichkeit Tabellen mit Attributen zu erstellen, die nicht von einem atomaren Typ wie Ganzzahl (integer) oder ASCII-Zeichen (char) sind. Statt dessen können die Attribute einer Tabelle komplexe Typen wie Menge eines bestimmten Typs (setof) haben oder strukturiert sein, also aus anderen Typen zusammengesetzt sein. Durch diese Eigenschaft ist es sehr viel einfacher von einer gegebene mittels Datenbank zu erfassenden Situation zu einer korrespondierenden Tabelle zu kommen. Ein mögliches Beispiel ist ein einfache Datenbankanwendung für die Verwaltung von Büchern. In einer Tabelle sollen Titel, Autor (bei mehreren Verfassern alle Autoren), Datum (unterteilt in Tag, Monat, Jahr) und eine Stichwortliste gespeichert werden. Dank komplexer Attribute ist das Ganze kein Problem: man kann den intuitiven Ansatz wählen welcher wohl bei den Meisten folgendermaßen aussehen würde: Titel Autoren Datum Stichwortliste Reich und Schön {Crawford, Schiffer} 12, Februar, 2000 {schminken, lächeln} Dick und Doof {Laurel, Hardy} 1, April, 1930 {boing, peng} Hierbei trennen die Kommata in der Spalte Datum die einzelnen Untertypen von einander ab (also ist das Attribut Datum strukturiert) und die geschweiften Klammern symbolisieren Mengen (daraus folgt Autoren und Stichwortliste sind Mengen von Zeichenketten). In objektrelationalem SQL wird diese Tabelle dann so erstellt: create type MyString char varying create type MyDate ( Tag integer, Monat char(10), Jahr integer ) create type Buch ( Titel MyString, Autoren setof(mystring), Datum MyDate, Stichworte setof(mystring) ) create table Buchverwaltung of type Buch 12

13 Mit der ersten Anweisung wird der Typ MyString als eine Zeichenkette mit unbestimmter Länge definiert. Mit der zweiten Anweisung wird der Typ MyDate definiert, und zwar als Struktur mit den Elementen Tag(vom Typ Integer), Monat (Zeichenkette aus maximal 10 Zeichen) und Jahr(ebenfalls Integer). Mit der dritten Anweisung wird letztlich der Typ der Tabelle, also im Sprachgebrauch relationaler Datenbanken das Schema, festgelegt. In der letzten Anweisung wird eine Tabelle des Typs Buch in der Datenbank angelegt. Die Hiermit erstellten Datentypen werden im Metaschema der Datenbank gespeichert und stehen damit allen weiteren auf dieser Datenbank aufsetzenden Applikationen zur Verfügung. Wollte man die zugrundeliegende Aufgabenstellung mittels einer herkömmlichen relationalen Datenbank lösen, so könnte man versucht sein die obigen Daten ebenfalls in einer einzigen Tabelle anzulegen. Dies würde allerdings zu folgendem schaurigen Ergebnis führen: Titel Autoren Tag Monat Jahr Stichworte Reich und Schön Crawford 12 Februar 2000 schminken Reich und Schön Crawford 12 Februar 2000 lächeln Reich und Schön Schiffer 12 Februar 2000 schminken Reich und Schön Schiffer 12 Februar 2000 lächeln Dick und Doof Laurel 1 April 1930 boing Dick und Doof Laurel 1 April 1930 peng Dick und Doof Hardy 1 April 1930 boing Dick und Doof Hardy 1 April 1930 peng Da in einer relationalen Datenbank ein Attribut kein Mengentyp seien kann, kann in den Spalten Autoren und Stichworte nur ein Datenelement gespeichert werden. Somit müssen neue Zeilen erzeugt werden um alle möglichen Kombinationen von Autoren und Stichworte zu speichern. Außerdem wird die Anzahl der Spalten dadurch erhöht, daß keine strukturierten Typen erlaubt sind also für jedes Element von Datum eine eigene Spalte notwendig wird. Die hier auftretenden Redundanzen können dadurch vermieden werden das man die Daten in mehrere Tabellen speichert: Titel Autoren Reich und Schön Crawford Reich und Schön Schiffer Dick und Doof Laurel Dick und Doof Hardy Titel Stichworte Reich und Schön schminken Reich und Schön lächeln Dick und Doof boing Dick und Doof peng Titel Tag Monat Jahr Reich und Schön 12 Februar 2000 Dick und Doof 1 April

14 Der Nachteil dieser Lösung ist ebenfalls offensichtlich: Der Entwurf der Datenbankschemata ist komplizierter geworden und die direkte Beziehung von Objekt (Buch) zum sie beschreibenden Tupel in der Tabelle der Datenbank ist verloren gegangen. Für jedes Buch existieren mehrere Tupel die es beschreiben Hierarchien und Erbungsmechanismen Die grundlegenden Vorteile Objektorientierter Programmiersprachen und Datenbanken sind die Unterstützung von Wiederverwendung bereits erstellten Quellcodes und die Vereinfachung der Modellbildung. Letzteres äußert sich z. B. darin, daß ein zur Objektmodellierung erzeugtes E-R Diagramm ohne weiteres als Datentyp in einer objektorientierten (Datenbank-) Programmiersprache erzeugt werden kann. Eine notwendige Voraussetzung für diese Erleichterung der Objektmodellierung ist die Existenz von Erbungsmechanismen bei der Erzeugung benutzerdefinierter Datentypen. Im Zusammenhang mit der Objektorientierung wird ein Datentyp oder Attribut auch als Klasse bezeichnet. Durch Erben entsteht aus einer Oberklasse eine Unterklasse. Die Unterklasse besitzt alle Eigenschaften der Oberklasse, und kann um weitere Eigenschaften ergänzt werden. Durch Erbungsmechanismen entstehen also Klassenhierarchien. Objektrelationale Datenbanken unterstützen das Erben auf zweierlei Weise. Die klassische Variante funktioniert folgendermaßen: create type Person ( Name MyString, GeburtsDatum MyDate ) create type Fotomodell ( Gehalt integer, Haarfarbe MyString ) under Person create type Schauspieler ( Gehalt integer, Oscars integer ) under Person create type Sportler ( Gehalt integer, ZigarettenProTag integer ) under Person create table BayernMuenchen of type Sportler In diesem Beispiel werden wie aus objektorientierten Programmiersprachen bekannt aus der O- berklasse Person die Unterklassen Fotomodell, Schauspieler und Sportler abgeleitet. In der letzten Anweisung wird in der Datenbank eine Tabelle vom Typ Sportler angelegt. Ein Beispiel für eine solche Tabelle wäre dann: Name GeburtsDatum Gehalt ZigaretteProTag Oliver Kahn 4, April, Mario Basler 5, April,

15 Bei dem Versuch eine Klassenhierarchie in einer erweiterten relationalen Datenbank (eine Datenbank sie zwar erweiterte Typen wie Menge und Struktur kennt aber keine Erbung anbietet) zu speichern, ist man dagegen genötigt zwei Tabellen anzulegen und diese dann mittels Primärschlüssel zu verketten: Name GeburtsDatum Oliver Kahn 4, April, 1969 Mario Basler 5, April, 1969 Name Gehalt ZigaretteProTag Oliver Kahn Mario Basler Neben dem höheren Modellierungsaufwand und dem Verlust der eindeutigen Beziehung zwischen realem Objekt und Tupel in der, die Objektklasse modellierenden, Tabelle, muss man sich bei einer solchen Lösung auch selber um die Wahrung von Datenkonsistenzen bemühen. Durch löschen des Tupels ( Mario Basler, (5, April, 1969) ) in der 1.Tabelle des vorangegangenen Beispiels muss auch, und zwar durch die Datenbankanwendung, sichergestellt werden, daß das Tupel (Mario Basler, , 126) aus der 2.Tabelle gelöscht wird. Eine weitergehende Beschreibung der Probleme, die sich beim Abbilden objektorientierter Daten auf ein rein relationale System ergeben, ist in [4] zu finden. Die bereits angekündigte zweite Art und Weise in der objektrelationale Datenbanken das Erben unterstützen, ist das Erben auf Relationen- oder Tabellenebene. Hierbei wird nicht aus einem bereits bestehenden Datentyp, bzw. objektorientiert gesprochen, aus einer bestehende Klasse ein Unterklasse erzeugt, sondern es wird eine exsistierende Tabelle als Vorlage für eine neue Tabelle benutzt. Wie beim Erben auf Klassenebene besitzt die neu entstandene Tabelle alle Eigenschaften der Vorlagentabelle. Dieses Merkmal objektrelationaler Datenbanken ist ein Vorteil gegenüber objektorientierten Systemen, da hierdurch Mehrfacherbung vermieden und Klassenhierarchien vereinacht werden können. In einem objektorientierten System würde man aufsetzend auf die bereits definierten Klassen Fotomodell, Schauspieler, Sportler eine Klasse für Personen die Schauspieler und Fotomodell sind eine gesonderte Klasse FotomodellSchauspieler erstellen die durch Mehrfacherbung aus Schauspieler und Fotomodell entstanden wäre. Exsistierten darüber hinaus Personen die sowohl Sportler als auch Schauspieler oder Sportler und Fotomodell oder Sportler, Fotomodel und Schauspieler sind, so müsste man die Klassen SportlerFotomodell, SportlerSchauspieler, SportlerFotomodellSchauspieler erstellen. In einer objektrelationalen Datenbank löst man solch eine Konstellation dagegen durch das Erben auf Tabellenebene. Die sich durch Erbung auf dieser Ebene ergebenden Hierarchien sind die in Kapitel 2 angesprochenen Relationen- oder Tabellenhierarchien. In objektrelationalem SQL drückt man Erben auf Tabellenebene dadurch aus, dass man nach der create table Konstruktion keinen Typ, sondern eine bereits bestehende Tabelle mittels des Schlüsselwortes under, als Basistabelle angibt. Bei Verwendung dieser Variante des Erbens sieht das vorangegangene Beispiel folgendermaßen aus: 15

16 create type Person ( Name MyString, GeburtsDatum MyDate ) create table Taugenichtse of type Person create table Fotomodelle ( Gehalt integer, Haarfarbe MyString ) under Taugenichtse create table Schauspieler ( Gehalt integer, Oscars integer ) under Taugenichtse create table Sportler ( Gehalt integer, ZigarettenProTag integer ) under Taugenichtse Statt der vorher notwendigen sieben Tabellen, werden nun nur noch vier benötigt. Eine Person die zugleich Sportler, Schauspieler und Fotomodell ist wird nun in allen vier Tabelle geführt. Damit in den Tabellen Fotomodelle, Schauspieler und Sportler nicht redundant die Attribute der Tabelle Taugenichtse aufführen, werden datenbankintern in den durch Erbung entstandenen Tabellen nur die Primärschlüssel der vererbenden Tabelle gespeichert. Bei Bedarf werden durch eine internen Join die anderen Attribute ermittelt. Für den Fall das Mehrfacherbung ausdrücklich erwünscht ist, wird angestrebt diese in objektrelationalen Systemen ebenfalls zu ermöglichen. Der derzeitige Standard:SQL1999 sieht Mehrfacherbung zwar nicht vor, doch ist dies Gegenstand der derzeitigen Entwicklung: Für den angestrebten zukünftigen Standard SQL:2000 ist Mehrfacherbung eingeplant. 16

17 4. Der neue Standard für objektrelationale Datenbanken SQL:1999 Der lange Zeit unter dem Namen SQL3 entwickelte Standard für objektrelationale Datenbanksprachen ist in 1999 unter dem Namen SQL:1999 verabschiedet worden. Wie im vorangegangenen Kapitel erwähnt, fehlt diesem vor allem noch die Möglichkeit zur Mehrfacherbung, welche erst mit SQL:2000 angestrebt wird. Der Aufbau des SQL:1999-Standards besteht wie folgt aus 9 Teilen: 1. Framework: Dieser Teil beschreibt den Aufbau des Standards 2. Foundation: Die Foundation ist der eigentliche Kern des Standards 3. SQL / CLI: Das Call Level Interface des SQL:1999 Standards 4. SQL / PSM: Dies sind die sog. Persistent Storage Modules 5. SQL / Bindings 6. SQL / Transaction 7. SQL / Temporal 8. SQL / MED: Das Management externer Daten 9. SQL / OLB: Das Object Language Binding, was auch dem SQLJ entspricht Die Neuerungen gegenüber den alten SQL Standards beziehen sich unter anderem auf die neuen vordefinierten Datentypen. Es existieren jetzt u. a. : ein Boolean Typ Large Objects wie Binary Large Objects (BLOB) und Character Large Objects (CLOB), mit denen man nun auch Bild- oder sogar ganze Textdateien im DBS und nicht wie vorher in separaten Dateien verwalten kann Ebenso wurde das Typsystem um die Möglichkeit, der Definition von User-Defined-Types (UDT) unter Verwendung von vordefinierten Typen, konstruierten Typen und vorher definierten User-Defined-Types erweitert. Dieses Erweiterbare Typsystem stellt eine signifikante Verbesserung der Modellierungsfähigkeiten dar. 17

18 Es wurden zahlreiche weitere Fähigkeiten hinzugefügt, wie z.b.: Trigger Rekursion (Rekursive Anfragen) Verbesserte Möglichkeiten, Daten über Sichten (Joins) zu verändern Sprachkonstrukte (Blöcke, Schleifen, Verzweigungen usw.) Verweise über Referenzdatentypen Tabellen-Hierarchien Schema-Evolution bei UDT's und UDF's Komplexe Tabellenstrukturen (Spalten für satz- und arrayartige Werte) Anbindung der neuartigen Datenobjekte an Wirtssprachen (z.b. an Java) Ebenfalls umfasst SQL:1999 eine Erweiterung der Standardbibliotheken um : Typen und Routinen für die Volltextsuche Typen und Routinen für geographische Informationssysteme (GIS) 18

19 5. Vergleich unterschiedlicher Produkte In diesem Kapitel werden unterschiedliche Datenbankprodukte von verschiedenen Herstellern unter die Lupe genommen. Es findet ein Vergleich der Produkte statt und weiterhin wird versucht die Produkte hinsichtlich ihrer objektrelationalen Eigenschaften zu klassifizieren Informix Universal Server Als erstes soll nun der Informix Universal Server genauer betrachtet werden. Der Informix Universal Server stellt ein Beispiel für eine objektrelationale Datenbank dar, die aus Teilen von dem aus dem Postgres weiterentwickeltem Illustra besteht (früher: Miro, Mirage bzw. UniSQL). Informix Universal Server gehört zu der Gruppe der erweiterbaren oder offenen Datenbanksysteme, wie z.b. auch DB2 und Oracle 8. Diese erlauben es neue Datentypen mit ihren Funktionen unter Bewahrung der Kapselung zu definieren und diese auf der internen Ebene zu verankern. Diese Technik wird bei Illustra bzw. Informix Universal Server Data Blades, bei DB2 Database Extenders und bei Oracle 8 Data Cartridges genannt. Die Datenbanksysteme DB2 V2 und Oracle werden zwar aus werbungstechnischen Gründen als objektrelationale Datenbankmanagementsysteme bezeichnet, sind eigentlich jedoch nur eine Vorstufe. Sie zählen zu den objektrelationalen Datenbankmanagementsystemen mit abstrakten Datentypen, da ihnen das Vorhandensein einer Typhierarchie und die Möglichkeiten zur Vererbung von Strukturen und Methoden fehlt, im Gegensatz zu Informix Universal Server, der die Vererbung und die Typhierarchie beherrscht. Da der aktuelle SQL:1999 Standard in 1999 verabschiedet wurde sind bei den Heute verfügbaren objektrelationalen Datenbankmanagementsystemen noch diverse Abweichungen zu erkennen. Das sogenannte CALL-Statement von Informix Universal Server ist im Gegensatz zu dem von DB2/MVS 4.1, DB2/ und DB2 Common Server 2.1 eingesetzten CALL-Statements noch nicht SQL:1999 konform. Bei dem Informix Universal Server umschließt die Erweiterbarkeit über Data Blades (welche von Illustra übernommen wurden) folgende Punkte: benutzerdefinierte Datentypen benutzerdefinierte Routinen benutzerdefinierte Zugriffspfade (Indexstrukturen) 19

20 Weiterhin enthält der Informix Universal Server die bisherigen insgesamt ca. 30 Data Blade Modules, z.b.: Time Series Web Image Text 2D/3D Spatial... Viele SQL:1999-Features wurden bereits integriert, die Kollektionstypen sind umfassender als in SQL:1999 vorgeschrieben und es existieren schon explizite ROW-Typen Oracle 8 Bei Oracle 8 wird die Erweiterbarkeit über Data Cartridges, die jedoch weniger eng integriert wurden als die von Informix Universal Server bekannten Data Blades, unterstützt. Die Erweiterbarkeit umschließt folgende Punkte: benutzerdefinierte Typen benutzerdefinierte Arrays (einfach) geschachtelte Tabellen, die auf typisierte Tabellen (Objekt-Tabellen) und maximal eine Schachtelungsstufe beschränkt sind. Der Zugriff erfolgt über den THE-Operator (flattened subquery). In Oracle 8 ist jedoch noch keine Vererbung möglich und auch keine Typhierarchie IBM DB2 IBM's DB2 bietet eine Mischung aus relationalen und objektorientierten Eigenschaften, bleibt im Kern jedoch relational. Durch diese nach außen hin als Zwitter erscheinende Datenbank ist es möglich, sowohl die auf dem alten relationalen Datenbankmodell basierenden Anwendungen, wie auch die neuen mit objektorientierten Features ausgestatteten Applikationen zu benutzen. 20

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Carl-Christian Kanne. Einführung in Datenbanken p.1/513 Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme Informationssysteme Informationssysteme WS 2002/03 Prof. Dr. Rainer Manthey Institut für Informatik III Universität Bonn 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 DB und/oder IS: terminologischer

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

Schritt 1 - Registrierung und Anmeldung

Schritt 1 - Registrierung und Anmeldung Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Einkaufslisten verwalten. Tipps & Tricks

Einkaufslisten verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Grundlegende Informationen 3 1.2 Einkaufslisten erstellen 4 1.3 Artikel zu einer bestehenden Einkaufsliste hinzufügen 9 1.4 Mit einer Einkaufslisten einkaufen 12 1.4.1 Alle

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010. FHNW, Services, ICT Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender 2010 FHNW, Services, ICT Windisch, März 2013 Berechtigungen im Kalender 1 1 Gruppen 3 1.1 Die Gruppe/der Benutzer Standard

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Kapitel 10 Aktive DBMS

Kapitel 10 Aktive DBMS Kapitel 10 Aktive DBMS 10 Aktive DBMS 10 Aktive DBMS...1 10.1 Einführung und Definition...2 10.2 Funktionsprinzip: ADBMS und ECA-Modell...4 10.3 Potentiale und Vorteile ADBMS...5 10.4 Aktive Elemente einer

Mehr

GFAhnen Datensicherung und Datenaustausch

GFAhnen Datensicherung und Datenaustausch GFAhnen Datensicherung und Datenaustausch In dieser Anleitung wird das Daten Sicheren, das Daten Wiederherstellen und der Datenaustausch zwischen 2 Rechner beschrieben. Eine regelmäßige Datensicherung

Mehr

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger Grundlegendes Oracle9i PostgreSQL Prevayler Memory mywms bietet umfangreiche Konfigurationsmöglichkeiten um die Daten dauerhaft zu speichern.

Mehr

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken Profilbezogene informatische Bildung in den Klassenstufen 9 und 10 Schwerpunktthema Robby Buttke Fachberater für Informatik RSA Chemnitz Fachliche Einordnung Phasen relationaler Modellierung Fachlichkeit

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Kleines Handbuch zur Fotogalerie der Pixel AG

Kleines Handbuch zur Fotogalerie der Pixel AG 1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Handbuch zum Excel Formular Editor

Handbuch zum Excel Formular Editor Handbuch zum Excel Formular Editor Mit diesem Programm können Sie die Zellen von ihrer Excel Datei automatisch befüllen lassen. Die Daten können aus der Coffee Datenbank, oder einer weiteren Excel Datendatei

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

FlowFact Alle Versionen

FlowFact Alle Versionen Training FlowFact Alle Versionen Stand: 29.09.2005 Rechnung schreiben Einführung Wie Sie inzwischen wissen, können die unterschiedlichsten Daten über verknüpfte Fenster miteinander verbunden werden. Für

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

3 Windows als Storage-Zentrale

3 Windows als Storage-Zentrale 3 Windows als Storage-Zentrale Windows als zentrale Datenspeichereinheit punktet gegenüber anderen Lösungen vor allem bei der Integration in vorhandene Unternehmensnetze sowie bei der Administration. Dabei

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing Fassade Objektbasiertes Strukturmuster C. Restorff & M. Rohlfing Übersicht Motivation Anwendbarkeit Struktur Teilnehmer Interaktion Konsequenz Implementierung Beispiel Bekannte Verwendung Verwandte Muster

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Einführung. Kapitel 1 2 / 508

Einführung. Kapitel 1 2 / 508 Kapitel 1 Einführung 2 / 508 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern und Verwalten von Daten. Warum kein herkömmliches Dateisystem verwenden? Ausfallsicherheit und Skalierbarkeit

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Installation von Updates

Installation von Updates Installation von Updates In unregelmässigen Abständen erscheinen Aktualisierungen zu WinCard Pro, entweder weil kleinere Verbesserungen realisiert bzw. Fehler der bestehenden Version behoben wurden (neues

Mehr

SQL objektorientiert

SQL objektorientiert Dušan Petković SQL objektorientiert An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Vorwort 11 Teil 1: Einführung 15

Mehr

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten

1. Einschränkung für Mac-User ohne Office 365. 2. Dokumente hochladen, teilen und bearbeiten 1. Einschränkung für Mac-User ohne Office 365 Mac-User ohne Office 365 müssen die Dateien herunterladen; sie können die Dateien nicht direkt öffnen und bearbeiten. Wenn die Datei heruntergeladen wurde,

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet. 1 TimeTrack! TimeTrack! Ist ein Softwareprodukt von The Project Group, welches der Erfassung von Ist- Aufwänden von Projekten dient. Voraussetzung hierfür ist allerdings, dass das Projekt vorher mit Microsoft

Mehr

Benutzeranleitung Superadmin Tool

Benutzeranleitung Superadmin Tool Benutzeranleitung Inhalt 1 Einleitung & Voraussetzungen... 2 2 Aufruf des... 3 3 Konto für neuen Benutzer erstellen... 3 4 Services einem Konto hinzufügen... 5 5 Benutzer über neues Konto informieren...

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Bedienungsanleitung für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof Matthias Haasler Version 0.4 Webadministrator, email: webadmin@rundkirche.de Inhaltsverzeichnis 1 Einführung

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt Objektorientierter Software-Entwurf Grundlagen 1 1 Einordnung der Veranstaltung Analyse Design Implementierung Slide 1 Informationssystemanalyse Objektorientierter Software-Entwurf Frühe Phasen durch Informationssystemanalyse

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr