Technische Universität Chemnitz

Größe: px
Ab Seite anzeigen:

Download "Technische Universität Chemnitz"

Transkript

1 Technische Universität Chemnitz Fakultät für Elektrotechnik und Informationstechnik Lehrstuhl Schaltkreis- und Systementwurf Datenbanken für den Einsatz auf Embedded Linux Hauptseminar Informations- und Kommunikationstechnik Verfasser: Enrico Billich Studiengang: Informations- und Kommunikationstechnik Betreuer: DI Daniel Kriesten

2 Inhaltsverzeichnis 1. EINLEITUNG Motivation Ziele der Arbeit Struktur 4 2. PRÄ-DATENBANK-ÄRA 6 3. MODERNE DATENBANKTHEORIE ANSI-SPARC-Architektur Komponenten eines Datenbanksystems Aufgaben des DBMS 8 4. VERALTETE DATENBANKMODELLE Hierarchisches Datenbankmodell Netzwerkdatenbankmodell RELATIONALES MODELL Entity-Relationship-Modell Relationales Datenbankmodell Beispiele für relationale Datenbanken Apache Derby HSQLDB Firebird SQLite OBJEKTORIENTIERTES MODELL Semantische Datenmodellierung Objektorientiertes Datenbankmodell Beispiele für objektorientierte Datenbanken JDO (Java Data Objects) Datenbanken EyeDB db4o Objektrelationales Datenbankmodell Beispiele für objektrelationale Datenbanken PostgreSQL OpenLink Virtuoso WEITERE DATENBANKMODELLE Deduktive Datenbanken 24 2

3 7.2. Verteilte Datenbanksysteme Eingebettete Datenbanken Beispiele Objectivity/DB db.* (db star) RRDtool ANFORDERUNGEN UND ABSCHLUSSVERGLEICH Anforderungen an Datenbank im InnoProfil Projekt Vergleichskriterien Abschlussvergleich GLOSSAR LITERATUR UND QUELLEN 35 3

4 1. Einleitung 1.1. Motivation Jeder kennt sie, jeder spricht über sie, doch kaum jemand sieht sie, da sie tief im Verborgenen ihre Arbeit verrichten. Datenbanken. Ihre Stellung in jedem Unternehmen, vom Großkonzern bis zum Lagerhaus, ist so herausragend, dass ein Großteil der Arbeitsplätze von ihrem Funktionieren abhängt. Gehen ihre gespeicherten Daten verloren, bräche die Verwaltung des Betriebes zusammen und wesentliche Firmeninformationen, die sich über Jahre ansammelten und ein beachtliches Kapital darstellen, müssten mühsam wieder beschafft werden. Deshalb ist ein Datenbanksystem auch derartig komplex, um solche Katastrophen zu verhindern und trotzdem dem Benutzer einen effektiven Zugriff auf den riesigen Datenberg zu ermöglichen. Dies beweisen sie schon seit den 1960er Jahren und erfreuen sich deshalb überall großer Beliebtheit. Populäre Beispiele sind dabei heutzutage die bedeutendsten Internetseiten der Welt wie Google, Ebay und Wikipedia. Ich wähle dieses Thema, weil Datenbanken mit die wichtigsten Systeme der Informationstechnik darstellen und Erfahrungen mit Datenbanken vermutlich sehr wertvoll für zukünftigere Arbeiten sein können. Ebenso der spezielle Einsatzzweck auf Embedded Systemen repräsentiert einen zusätzlichen Reiz, da Datenbanken für gewöhnlich ihre gesamte Leistungsfähigkeit erst mit entsprechend großen Hardwareressourcen zeigen können, die in einem Embedded System nicht vorhanden sind Ziele der Arbeit Diese Arbeit, die im Rahmen des Hauptseminars Informations- und Kommunikationstechnik angefertigt wurde, beschäftigt sich mit Datenbanken, die sich zur Speicherung von Sensordaten auf dem Embedded System des InnoProfile Projektes eignen. Dazu sollen verschiedene Datenbankmodelle und darauf basierende Datenbanken hinsichtlich ihrer Möglichkeiten und Eigenschaften verglichen werden. Dabei stehen der Ressourcenbedarf und die erbrachten Leistungen im Vordergrund Struktur Das Dokument beginnt mit der Schilderung der Situation bevor es Datenbanken gab. Es werden kurz die Probleme angesprochen, die sich durch das einfache Dateisystem ergaben und Datenbanksysteme notwendig machten. Daran knüpft die moderne Datenbanktheorie an, die in Standardisierungen wie der ANSI- SPARC-Architektur sinnvolle Grundsätze festlegte, wie eine Datenbank aufgebaut sein muss und welche Aufgaben die einzelnen Teile zu übernehmen haben. Es werden zudem die Vorteile von Datenbanken gegenüber Daten in Dateien genannt, die einzelnen Komponenten eines Datenbanksystems erklärt und welche Anforderungen man heute an solche Datenbanken stellt. Bevor es dann zu den modernen Datenbankmodellen kommt, werden aber zunächst noch die veralteten Datenbankkonzepte der ersten Generation erläutert, auch als satzorientierte 4

5 bezeichnet, die aber mittlerweile fast überall von den neueren verdrängt wurden und nur noch ein Nischendasein führen. Der fünfte Teil erklärt zunächst das Entity-Relationship-Modell, um einen fließenden Einstieg in die relationalen Datenbanksysteme zu ermöglichen. Dieses Datenbanksystem wird darauf detailliert erläutert. Es wird gezeigt, wie mit ihm Relationen dargestellt werden und was seine wichtigsten Eigenschaften sind. Aufbauend auf diesen Erkenntnissen, werden ein paar Vertreter dieser Datenbankgattung vorgestellt. Zunächst wird aber nur jede Datenbank mit ihren speziellen Eigenschaften vorgestellt, da erst später zum Ende des Dokuments, ein abschließender Vergleich inklusive Wertung und Empfehlung erfolgen wird. Der sechste Teil widmet sich der neuesten Entwicklung der Datenbanksysteme, dem Objektmodell samt objektorientierten Datenbanken und mit UML auch einer Methode dieses zu beschreiben. Auch die Kombination aus relationalen und objektorientierten Datenbanken, die sogenannten objektrelationalen Datenbanken werden kurz erwähnt. Wie schon bei den relationalen Datenbanken zuvor, werden auch diese erläutert und einige Beispiele genannt. Als vorletztes werden kurz noch weitere Datenbanksysteme betrachtet, die keinem der vorgestellten Datenbankmodelle zugeordnet werden können. Zum Schluss werden die Kriterien erläutert, die für den Einsatz auf dem Embedded System des InnoProfile Projektes wichtig sind. Vor allem sind dies die Funktionalität und der Ressourcenbedarf. Zudem erfolgt eine mögliche Modellierung der Daten im ER-Modell. Am Ende folgen dann die Zusammenfassung und der Vergleich der vorgestellten Datenbanken. Enrico Billich Chemnitz, im Mai

6 2. Prä-Datenbank-Ära Bevor es Datenbanken gab, wurden sämtliche Daten in Dateien gespeichert. Dabei bestand ein gewöhnlicher Datensatz aus verschiedenen Feldern, bei Personendaten z.b. aus Name, Adresse und Telefonnummer. Siehe Abbildung 2-1. Diese Datensätze wurden dann sequentiell hintereinander in eine Datei geschrieben. So war es relativ kompliziert, Beziehungen zwischen den Daten herzustellen oder einfache Anfragen zu tätigen, wie z.b. die Suche nach allen Personen, die in der gleichen Stadt wohnen. Hinzu kam, dass die Art der Speicherung stets proprietär war und man beim programmieren von Software genau wissen musste, wie die Trennzeichen zwischen den Feldern und Datensätzen aussahen, bzw. welche Bedeutung die einzelnen Felder hatten. Wenn man auch nur minimale Änderungen an der Struktur der Daten vornehmen wollte, musste man sowohl die ganze Datei einlesen und neu schreiben, als auch sämtliche Software, die darauf zugreift neu programmieren. Solche Software nannte man dann auch strukturell abhängig von den Dateien. Selbst kleinste Aufgaben wie das Löschen oder Ändern von einzelnen Datensätzen zogen einen enormen Bearbeitungsaufwand für den Computer nach sich. Ein weiters Problem war zudem die Sicherheit, wenn die Daten in einer Textdatei gespeichert wurden. Da reichte mitunter das einfache Öffnen in einem Editor aus und ein Unbefugter kam an wichtige Firmeninformationen. Mustafa Mustermann; Beispielallee 7; 12345; Hypohausen; ; = Datensatz in Datei Abbildung 2-1: Datenspeicherung im Dateisystem All diese Nachteile, vor allem die lange Bearbeitungszeit, führten dazu, dass Daten dann mehrfach in verschiedenen Dateien gespeichert wurden. Dies konnte zwar Geschwindigkeitsvorteile bringen und wird auch heute noch bewusst deswegen angewendet, doch führte dies auch zu unnötigen Redundanzen, welche dann in Inkonsistenzen mündeten, wenn Änderungen (z.b. Adressänderungen) nur in einer Datei vorgenommen wurden. Diese Probleme konnten aber auch dann entstehen, wenn mehrere Personen gleichzeitig an derselben Datei arbeiteten und der eine die Änderungen des anderen überschrieb. Auch fand das Backup der Daten meist manuell in größeren Perioden statt, was Mehraufwand bedeutete und nicht stets 100% Datensicherheit brachte. Mit diesen Problemen konfrontiert, entwickelte man anfangs der 1960er Jahre die ersten Datenbanksysteme, die als eigenständiges Programm die Datenverwaltung übernahmen und den Programmen feste Schnittstellen boten. So konnten viele Nachteile der bisherigen Datenverwaltung beseitigt werden und die zugreifende Software wurde über einen größeren Zeitraum eingesetzt, bevor Anpassungen nötig wurden. 6

7 3. Moderne Datenbanktheorie 3.1. ANSI-SPARC-Architektur Die ANSI-SPARC-Architektur zerlegt das Datenbanksystem in drei Ebenen (Abbildung 3-1). Eine interne Ebene, die sich um die Speicherung der Daten auf dem Hardwaremedium kümmert. Sie bietet der darüber liegenden Schicht Schnittstellen, wodurch sich diese nicht dafür interessieren muss, wie und auf was genau die Daten gespeichert sind. Damit wird eine physische Datenunabhängigkeit erreicht. Sollten nun Änderungen an der Speicherstruktur, z.b. zur Optimierung, vorgenommen werden, muss man die oberen Schichten nicht anpassen. Die mittlere Ebene ist die konzeptuelle. Diese kümmert sich darum, welche Daten gespeichert werden und in welcher Beziehung sie zueinander stehen. Der darüber liegenden Schicht wird dadurch eine logische Datenunabhängigkeit geboten, so dass diese nicht merkt, wenn Elemente der Datenstruktur umbenannt werden. Die externe Ebene schließlich bietet verschiedene Sichten für einzelne Benutzergruppen und Anwendungen auf die gespeicherten Daten, da sich nicht jeder für sämtliche Daten interessiert oder Zugriffsrechte auf sie hat. Außerdem kann man mit ihnen auch die Daten unterschiedlich strukturiert präsentieren (virtuelle/berechnete Struktur der Datenbank, nicht tatsächlich gespeicherte). Externe Ebene Sicht 1 Sicht n Konzeptuelle Ebene Interne Ebene Datenmedium Logische Datenunabhängigkeit Physische Datenunabhängigkeit Abbildung 3-1: ANSI-SPARC-Architektur Heutige Datenbanksysteme gewährleisten zumeist nur die physische Datenunabhängigkeit, da die logische schon rein konzeptuell schwierig zu realisieren ist. Auch nutzen Programme, die auf die Datenbank zugreifen, nur selten die verschiedenen gebotenen Sichten, sondern greifen direkt auf die Datenstruktur (z.b. Tabellen) zu Komponenten eines Datenbanksystems Die Datenbanksysteme, die aus diesem Modell hervor gingen (vor allem die relationalen), gliedern sich in zwei Komponenten (Abbildung 3-2). Die physische Komponente, welche den gesammelten Datenbestand darstellt, ist die Datenbank. In ihr werden alle Daten in einer bestimmten Struktur abhängig vom Datenbankmodell abgespeichert. Die Verwaltung dieser Daten übernimmt das Datenbankmanagementsystem (DBMS). Dieses System ist die 7

8 eigentliche Komponente, mit welcher der Nutzer kommuniziert. Er stellt Anfragen oder Befehle, die dann das DBMS in ausführbaren Code umwandelt und auf die Daten zugreift. Dem gewöhnlichen Nutzer bleibt der direkte Zugang zu den Daten verwehrt, was auch in seinem Sinne sein sollte, da so die Datensicherheit und Integrität gewahrt wird. Datenbanksystem Datenbankmanagementsystem Datenbank Abbildung 3-2: Teile eines Datenbanksystems 3.3. Aufgaben des DBMS In einem Datenbanksystem ist das DBMS die zentrale Verwaltungseinheit. Es übernimmt alle Aufgaben, die man von so einem System erwartet. Diese Aufgaben sind: - Benutzerverwaltung, dies beinhaltet die Kontrolle der Zugriffsrechte, die die berechtigten Benutzer haben, welche Funktionen sie ausführen dürfen und auf welche Daten sie zugreifen können, dies kann durch verschiedene Sichten auf die Daten ermöglicht werden - Mehrbenutzerbetrieb, ermöglicht den Zugriff durch mehrere Benutzer gleichzeitig und stellt sicher, dass nicht ein Nutzer die gerade gemachten Änderungen eines anderen unwissentlich überschreibt (Isolationen der Transaktionen voneinander durch Sperren) - Datensicherung und Wiederherstellung, kümmert sich um die Sicherung der Daten (Backup) gegen Verlust und ermöglicht die Wiederherstellung von Daten nach einem Benutzerfehler (löschen wichtiger Daten), wenn eine Transaktion nicht vollständig ausgeführt werden konnte (Atomarität, ganz oder gar nicht) oder das System während einer Transaktion abstürzt (Dauerhaftigkeit, z.b. durch Pufferspeicher) - Abfragesprache, damit der Nutzer auf die Daten zugreifen kann, z.b. standardisierte Sprachen wie SQL, die einen Zugriff auf verschiedene Datenbanken unterschiedlicher Hersteller bietet, die diesen Standard unterstützen - Schnittstellen für Computerprogramme und Middleware (datenbankspezifische Treiber), um z.b. über C++ auf Daten zugreifen zu können - Datenstruktur, Speicherung der Daten je nach Datenbankmodell (Tabelle, Objekt) und Optimierung der Struktur auf Dateiebene zur schnellen Durchsuchung (B-Baum, Hashtabellen) 8

9 - Datenintegrität, für die automatische Überprüfung von vorgegebenen Regeln (Constraints) zur Erhöhung der Konsistenz, z.b. kann eine Matrikelnummer nicht an mehrere Studenten vergeben werden - Redundanzminderung, indem verhindert wird, dass gleiche Daten mehrfach gespeichert werden müssen - Physische Datenunabhängigkeit, indem dem Benutzer nur das logische Format der Daten gezeigt wird und nicht der physische Datentyp, indem der Wert abgespeichert ist - Datenträgerzugriff und verwaltung, so muss sich der Nutzer nicht um die Art und die Optimierung des Zugriffs auf den Datenträger kümmern - Metadatenverwaltung, zusätzliche Informationen über die gespeicherten Daten, z.b. Tabellennamen Die vier Eigenschaften Atomarität, Konsistenz (consistency), Isoliertheit und Dauerhaftigkeit werden in der Informatik auch kurz ACID genannt und beschreiben Mindestanforderungen für sichere Transaktionen, die von einem Datenbanksystem erwartet werden. Da viele der oben genannten Aufgaben durch das DBMS übernommen werden, muss sich der Benutzer nicht drum kümmern und spart so erheblich an Programmieraufwand. 9

10 4. Veraltete Datenbankmodelle 4.1. Hierarchisches Datenbankmodell Die erste Inkarnation eines Datenbankmodells ist das hierarchische. Die Besonderheit dieses Modells ist, dass es versucht den relevanten Teil der realen Welt durch eine hierarchische Struktur darzustellen. Deshalb werden die Datensätze (Records) in einer Baumstruktur angeordnet, bei der ein Knoten genau einen Vorgänger (Eltern/ Parent) und mehrere Nachfolger (Kind/ Child) besitzt. Der Baum beginnt beim Wurzeldatensatz, der als einziger keinen Vorgänger hat, und verzweigt sich dann über Kinder und Kindeskinder bis zum äußersten Datensatz (Blatt), der keine Kinder mehr besitzt. Abbildung 4-1 stellt dies dar. = Datensatz Wurzel = Eltern-Kind-Beziehung Blatt Blatt Blatt Blatt Blatt Abbildung 4-1: Baumstruktur des Hierarchischen Modells Die Verknüpfungen zwischen den Datensätzen werden Eltern-Kind-Beziehung (Parent-child- Relationships) genannt und stellen eine sinnvolle Beziehung zwischen beiden Datensätzen dar. Mit dieser Struktur sind problemlos 1:1 und 1:N Beziehungen möglich, doch scheitert das Modell an M:N Beziehungen, also wenn ein Kindknoten mehrere Elternknoten besitzt. Dies ist dann nur durch redundante Speicherung der Kindknoten oder virtuelle Beziehungen möglich. Ein ähnliches Problem tut sich auch auf, wenn verschiedene Bäume miteinander verknüpft werden sollen. redundante Datensätze Professor hält Vorlesung 1 Vorlesung 2 Vorlesung 3 hört Student 1 Student 2 Student 3 Student 1 Student 4 Student 2 Student 3 Abbildung 4-2: Beispiel für Hierarchisches Modell 10

11 Das System wurde dann schließlich in den 1980er Jahren verdrängt. Gründe dafür waren das komplizierte Management und die schwierige Implementierung. Auch musste der Anwendungsprogrammierer die genaue Struktur der Daten kennen und alle Elternknoten durchlaufen, bevor er die Daten des gewünschten Kindknoten auslesen konnte. Dies bedingte auch die Umprogrammierung von Software, wenn die Struktur der Datenbank verändert wurde. Die Datenbank erfüllte also nicht die Bedingung nach struktureller Unabhängigkeit. Ein weiteres Problem ergab sich außerdem, wenn Elternknoten gelöscht wurden und somit sämtliche Kinder verloren gingen. Trotzdem werden solche Datenbanken noch heute angewendet und eignen sich vor allem gut für hierarchische Daten, wie sie bei XML anfallen (XML-Datenbanken) Netzwerkdatenbankmodell Das Netzwerkdatenbankmodell, das in den 1970er Jahren eingeführt wurde, stellt eine Erweiterung des hierarchischen Datenbankmodells dar. In diesem sind nun auch M:N Beziehungen erlaubt, also ein Datensatz kann mehrere Vorgänger besitzen, weshalb das Eltern-Kind-Bezeichnungsschema aufgegeben wurde. Professor hält Vorlesung 1 hört Student 2 Student 3 Student 1 Vorlesung 2 Student 4 Vorlesung 3 Abbildung 4-3: Struktur des Netzwerkdatenbankmodells Die Beziehungen zwischen den Datensätzen (Record) nennt man hier Set-Typen. Sie stellen 1:N Beziehungen zwischen einem Besitzer (Owner) und mehreren Mitgliedern (Members) her. Für M:N Beziehungen nimmt man als Mittelsmann einen speziellen Record-Typ (Kett- Record), der jeweils 1:N Beziehungen zu beiden beteiligten Parteien (Owner der Beziehung) unterhält. Trotz dieser Vorteile, behielt dieses Modell wesentliche Nachteile des hierarchischen Modells bei. So musste man zu mindest einen Teil der Struktur (Substruktur) kennen, um den gewünschten Datensatz auslesen zu können. Deshalb waren auch die Programme immer noch strukturabhängig. 11

12 5. Relationales Modell 5.1. Entity-Relationship-Modell Nachdem die bisherigen Datenbankmodelle derartig viele Nachteile bei der Modellierung und Implementierung zeigten und zudem nicht alle geforderten Eigenschaften erfüllen konnten, entwickelte man das neue Modell der relationalen Datenbanken. Um diese übersichtlich modellieren zu können, bedient man sich dem Entity-Relationship-Modell. In diesem werden die Objekte der realen Welt durch Entities repräsentiert und ihre Eigenschaften durch Attribute. Entities erkennt man an der rechteckigen Form in der Grafik und Attribute an der ovalen. Attribute werden mit ungerichteten Kanten mit genau einer Entity verbunden. Die Beziehungen zwischen Entities erscheinen als Rauten im Schema und werden mit allen beteiligten Entities verbunden. Auch sie können Attribute besitzen, die man ihnen ebenfalls mit einer Kante zuordnet. Wegen der Übersicht werden ähnliche Entities zu Entitytypen und Beziehungen zu Beziehungstypen zusammengefasst. Um zu kennzeichnen, wie viele Entities eines Typs an einer Beziehung teilnehmen, schreibt man deren Anzahl an die Kante. Gewöhnlich sind das 1 oder N. Damit sind alle möglichen Beziehungsarten wie 1:1, 1:N, N:1 und M:N beschreibbar. Name Matrikel Nr. Name SWS Studenten N hören M Vorlesungen N M N Vorl. Nr. Note prüfen 1 1 halten Name Professoren Raum Pers. Nr. Abbildung 5-1: Beispiel für Entity-Relationship-Modell Um eine Entity aus der Menge aller Entities ihres Types eindeutig zu identifizieren, weist man einem oder mehreren Attributen eine Schlüsselrolle zu. Sollten keine geeigneten Attribute vorhanden sein, generiert man ein künstliches, z.b. eine laufende Nummer. Dieses Schlüsselattribut wird durch Unterstreichen gekennzeichnet. Es gibt noch eine ganze Menge mehr Verfeinerungen für das Modell, die aber für eine kurze Einführung an dieser Stelle zu weit gehen würden Relationales Datenbankmodell Um aus einem Entity-Relationship-Modell ein relationales Datenbankmodell zu machen, muss man nur die Entities und die Beziehungen samt Attribute in eine Tabellenform bringen. Die Namen der Entities und der Beziehungen stellen dabei die Tabellennamen dar, die 12

13 Attribute die Spalten und die einzelnen Datensätze die Zeilen. Um auch die Beziehungen und die an ihnen beteiligte Entities in der Tabelle eindeutig identifizieren zu können, bedient man sich bei den Schlüsselattributen dieser Entities. Da jetzt sowohl Entities als auch Beziehungen in derselben Tabellenform vorliegen, nennt man beides im Datenbankmodell nur noch Relations. Studenten Matrikelnummer Name Paul Specht Robert Pfeiffer Vorlesungen Vorlesungsnummer Name SWS 443 Mathematik Theoretische Experimentalphysik 2 Hören Matrikelnummer Vorlesungsnummer In dem Beispiel kann man erkennen, dass Paul Specht beide genannten Vorlesungen besucht, während sich der Robert Pfeiffer nur für Physik interessiert. Durch die Verknüpfung der Matrikel- und Vorlesungsnummer ist jede Hören-Relation einzigartig. Beides sind deshalb Schlüssel. Gerade wegen diesem einfachen Schema, konnte man nun auch komplexe Probleme modellieren, die vorher mit den alten Datenbankkonzepten nur schwer realisierbar waren. Erstmals bot das DBMS dem Nutzer eine völlige Trennung von der physischen und strukturellen Form der gespeicherten Daten, so dass sich dieser nur mit der logischen Darstellung beschäftigen musste. Nun konnten nicht nur Spezialisten, sondern auch Laien schnell eine Datenbank aufsetzen und die Vorteile solcher Systeme nutzen. Zudem etablierten sich standardisierte Zugriffssprachen wie SQL (Structured Query Language), die von Datenbanken der meisten Hersteller verstanden wurde. Diese Eigenschaften verhalfen den relationalen Datenbanken schnell zu durchschlagendem Erfolg und sie verdrängten die alten Datenbankmodelle in den 1980er Jahren fast gänzlich. Es gibt aber auch einige Nachteile zu nennen. Bevor relationale Datenbanken den großen Durchbruch erzielten, brauchte man fast 10 Jahren, um von der Theorie zu laufenden Anwendungen zu kommen. Dies war dem hohen Ressourcenverlangen der neuen Datenbanken geschuldet, die auf der alten Hardware deutlich langsamer liefen als ihre hierarchischen Kollegen. Auch täuschte die leichte Handhabung darüber hinweg, dass man sich vor der Implementierung immer noch genaue Gedanken über die Modellierung der realen Sachverhalte machen musste. Eine schlechte Modellierung führte zu schlechten Datenbanken, die dann schließlich die an sie gestellten Aufgaben nicht zur vollsten Zufriedenheit bewerkstelligen konnten. Zudem werden viele Informationen über ein Objekt verstreut über 13

14 viele Relationen gespeichert, die dann erst durch ein Programm mit einer Reihe von Anfragen zusammengesucht werden muss Beispiele für relationale Datenbanken Da relationale Datenbanken die ältesten der modernen Datenbanksysteme sind, gibt es auch von ihnen die meisten, am weitesten entwickelten, mit dem größten Umfang und am häufigsten eingesetzten Vertreter. Die bekanntesten wie Oracle, Microsoft SQL oder MySQL sind aber nicht primär für die vorgesehene Aufgabe entwickelt worden und deshalb nicht so geeignet, wie viele andere, die an dieser Stelle kurz vorgestellt werden Apache Derby Apache Derby ist eine Open Source Datenbank der Apache Software Foundation (ASF), die unter anderem auch mit dem Apache HTTP Server einen der am weitesten verbreiteten Webserver der Welt entwickelt hat. Die Entwicklung von Apache Derby startete vor über zehn Jahren bei der kalifornischen Firma Cloudscape Inc. Nach mehreren Übernahmen landete sie bei IBM, welches die Datenbank als Open Source Software der ASF übereignete. Vorläufigen Höhepunkt erreichte Apache Derby als es von Sun in Java 6 als Java DB aufgenommen wurde. So hat sie bis heute eine weite Verbreitung gefunden und wird von allen drei Unternehmen (Sun, IBM, ASF) unterstützt. Apache Derby ist in Java entwickelt und somit vor allem für Java Programme gedacht, in die sie auch eingebettet werden kann. Nichts desto trotz bietet sie auch einen Client-Server Mode, in dem mehrere Programme sie nutzen können. Es besitzt Schnittstellen für JDBC, ODBC, Open CLI, Perl und PHP. Der Standard SQL92 wird vollständig, die jüngeren Standards SQL99 und SQL2003 teilweise unterstützt. Sie kann unter Apache License Version 2.0 genutzt werden (für kommerzielle oder nichtkommerzielle Projekte einsetzbar). Sie bietet volle ACID Unterstützung. Ihr Footprint beträgt 2MB. Des Weiteren benötigt sie eine Java Laufzeitumgebung, da sie nur in einer Java Virtual Machine läuft. Ansonsten stellt sie keine Ansprüche und ist auf jedem System mit diesen minimalen Voraussetzungen lauffähig. Auf der Homepage findet man eine ausführliche Dokumentation und Anleitung zur Nutzung. Weiterführende Links: Apache Derby Getting Started Features IBM Cloudscape HSQLDB Ist ebenfalls eine in Java geschriebene Open Source Datenbank. Sie ist weit verbreitet und kann auch auf eine lange und bewegte Geschichte zurückblicken. Sie wird in vielen Projekten und Unternehmen eingesetzt. Am bekanntesten ist wohl ihr Einsatz in der Datenbankanwendung Base in OpenOffice. Man kann sie ebenfalls entweder in eine Anwendung einbetten oder im Client-Server Mode betreiben. Im zweiten ist ein Zugriff über den JDBC Treiber möglich. Zudem unterstützt sie große Teile der SQL-Standards (92, 99, 2003). Je nach Version beträgt der Footprint zwischen 100kB und 600kB (je nach Version). 14

15 Sie bietet viele verschiedene Betriebsmodi an, um z.b. vollständig im Arbeitsspeicher zu laufen oder nur lesend auf die Daten im Speicher (CD, ROM) zuzugreifen. Es ist aber auch ein ganz gewöhnlicher Datenbankbetrieb möglich. Größter Nachteil ist wohl die unvollständige ACID Unterstützung, besonders in Bezug auf die Datenintegrität. Die Datenbank wird über die BSD License vertrieben. Für den Betrieb benötigt sie als Java Programm auch eine entsprechende Laufzeitumgebung. Man findet auch viele Quellen, in denen die Datenbank gut dokumentiert ist. Die HSQL Datenbank ist einst aus dem Hypersonic SQL Project entstanden. Ein Alternativer Entwicklungszweig ist die ebenfalls in Java geschriebene Datenbank H2. Es gibt noch wesentlich mehr relationale Java Datenbanken, von denen aber nur noch McKoi und JDataStore (Borland) erwähnenswert sind. Weiterführende Links: Projektseite Wikipedia zu HSQLDB Wikipedia zu H2 Wikipedia zu McKoi JDataStore Liste mit Java Datenbanken Firebird Die größte Bekanntheit erlangte diese Datenbank wohl, als sie vor Jahren mit Mozillas Firefox um den Namen stritt, da dieser damals ebenfalls unter dieser Bezeichnung vertrieben wurde. Es ist heute offensichtlich, wer die Auseinandersetzung gewann. Firebird ist der Open Source Zweig der Closed Source Datenbank InterBase von Borland. Die Lizenz heißt IDPL, eine modifizierte Version der Mozilla Public License 1.1. Es gibt sie sowohl in verschiedenen Server Versionen als auch in einer Embedded Version. An Standards unterstützt sie vollständig SQL92 und SQL99 bzw. teilweise SQL2003. Sie bietet Zugriffsmöglichkeiten über JDBC, ODBC, Delphi, Pascal, Perl, Python,.NET, Java, C++ und PHP. Die gebotenen Funktionen sind enorm vielfältig. Angefangen von klassischen Datenbankaufgaben wie ACID-Konformität und Backupmanagement bis hin zu integrierten Prozeduren. Da sie in C++ geschrieben ist, braucht sie auch keine zusätzliche Laufzeitumgebung. Dafür kann sie aber auch nicht so plattformunabhängig sein wie eine Java oder.net Anwendung. Unter anderem werden Windows, Linux und diverse UNIX Systeme unterstützt. Der Footprint beträgt 1MB bis 2,6MB (je nach Quelle), es werden aber 16MB RAM empfohlen. Die Dokumentation ist selbstverständlich umfangreich und die Entwicklung wird von einer großen Community vorangetrieben. Weiterführende Quellen: Wikipedia über Firebird Homepage SQLite SQLite ist eine sehr kleine, in C geschriebene Open Source Datenbank, die speziell für den Embedded Betrieb gedacht ist. Sie untersteht keiner Lizenz, da sie gemeinfrei verfügbar ist. Zwar bietet sie keinen Client-Server Mode, doch können verschiedene Anwendungen auf die Datenbasis zugreifen, da sie in einem einzigen File gespeichert wird. Jedoch werden keine gleichzeitigen Schreibvorgänge unterstützt, da die Datei bei einem Zugriff blockiert wird. 15

16 Auch der sonstige Funktionsumfang ist eher bescheiden. Dafür ist ihr Footprint einer der kleinsten aller Datenbanken mit 150kB bis 225kB (je nach verwendeten Features) und die Geschwindigkeit hoch. Trotz eingeschränkter Funktionalität erfüllt sie die ACID Anforderungen und unterstützt einen großen Umfang des SQL92 Standards. Sie bietet Schnittstellen für C/C++, Python, PHP und Tcl. Es werden unter anderem Windows, Linux, UNIX und OS X unterstützt. Durch die hohe Verbreitung findet man auch viele nützliche Informationen auf diversen Internetseiten und der Homepage des Projektes. Weiterführende Links: Homepage 16

17 6. Objektorientiertes Modell 6.1. Semantische Datenmodellierung Seit den 1980er Jahren setzt sich in der Softwareindustrie objektorientiertes Programmieren durch, bei dem man Klassen von Objekten bildet, denen dann Attribute und Methoden zugeordnet werden. Diese Klassen können dann wiederum ihre Eigenschaften an neue, speziellere Klassen weiter vererben. Diese Dinge zu modellieren überstieg die Möglichkeiten des Entity-Relationship-Modell. Man benötigte nun also ein neues Modellierungswerkzeug, das nicht nur die Struktur von Objekten und die Beziehungen zwischen ihnen wiedergeben kann, sondern auch die Semantik (Bedeutung) und das Verhalten (Methoden, die die Daten manipulieren) darstellt. Schnell entwickelten sich deshalb unterschiedlichste Produkte, von denen sich aber keines wirklich durchsetzen konnte. Erst als sich ein paar Entwickler auf den gemeinsamen Standard UML (Unified Modeling Language) einigten, entstand ein weit verbreitetes und mittlerweile etabliertes Werkzeug. Student +MatrikelNr : int +Name : string +NameAendern(NeuName : string) : void +Notendurchschnitt() : float 1 0..* Prüfung +Note : float 0..* +Prüfer geprüftvon 0..* 1 +Hörer +Raum : int hören 1..* 0..* +Prüfungsstoff Professor +Umziehen(NeuRaum : int) : void 1 Vorlesungen +VorlesungsNr : int +Name : string +SWS : int +Raum : int +RaumVerlegen(NeuRaum : int) : void * gehaltenvon 1 Angestellter +Name : string +TelefonNr : int +Gehalt() : int Abbildung 6-1: Beispiel für UML Da UML für viele Anwendungsfälle konzipiert wurde, ist sie in ihrer Gesamtheit ziemlich gewaltig und komplex geworden. Deshalb wird an dieser Stelle nur an dem einfachen Beispiel von oben gezeigt, wie man sie einsetzen kann. Zunächst werden aus den Entities Klassen und aus den Beziehungen Assoziationen. Klassen sind Rechtecke, in denen der Name der Klasse, deren Attribute und Methoden stehen. Über das + wird die Sichtbarkeit angezeigt und hinter dem Doppelpunkt steht der Datentyp bzw. Rückgabewert. Die Klasse Student z.b. enthält die Attribute Name und Matrikelnummer. Zudem auch zwei Methoden, um seinen Namen zu ändern und seinen Notendurchschnitt zu berechnen. Eine Assoziation ist eine Linie zwischen 2 Klassen. Je nachdem wie rum man den Pfeil wählt, hängt es ab, aus welcher Richtung man auf die assoziierten Objekte zugreifen kann (z.b. kann man anhand der Vorlesung den Professor ermitteln, der sie hält). Den Teilnehmern kann man zudem auch noch eine Rolle zuweisen. Im Modell ist der Student der Hörer einer Vorlesung. Außerdem gibt man an, wie viele Instanzen einer Klasse an einer Assoziation teilnehmen. Im 17

18 Beispiel muss eine Vorlesung von mindestens einem Studenten besucht werden. Ein Student hingegen kann beliebig viele (auch keine) besuchen. Die erste größere Neuerung ist die Komposition. Damit modelliert man ein Teil eines größeren Ganzen. Das bedeutet, dass eine Klasse exklusiv mit einer anderen verbunden ist. In unserem Fall sind mehrere Prüfungen mit einem Studenten verbunden. Da Prüfungen ohne Studenten nicht existieren könnten, sind diese vom Studenten existenzabhängig. Dies wird durch die ausgefüllte Raute angezeigt. Es gibt aber auch nichtexistenzabhängige Verbindungen, die man Aggregation nennt. Als letztes sei noch ein Beispiel für die Vererbung erwähnt. Mit einem geschlossenen Pfeil wird im Bild gezeigt, das Professoren von der Klasse Angestellter abstammen. Diese erben alle deren Attribute und Methoden und ergänzen diese um eigene Objektorientiertes Datenbankmodell Da es mit der Zeit immer schwieriger wurde die komplexen Strukturen vor dem Speichern und nach dem Lesen auf das relationale Modell umzubrechen (objekt-relational-mapping), um sie in relationalen Datenbanken speichern zu können, entwarf man das objektorientierte Datenbankmodell. Dies ermöglichte das direkte Speichern von Objekten inklusive ihrer Attribute und Methoden. Da jetzt die Daten in einem Datenbankobjekt abgelegt werden, spart man sich das zusammensuchen der Informationen und entlastet die Anwendung (Vermeidung von Segmentierung). Trotz dieser Veränderung konnte man weiter die physische Datenunabhängigkeit und weitere wichtige Datenbankeigenschaften gewährleisten. Ein großer Vorteil bestand nun auch darin, Funktionen, die mit den Daten in der Datenbank arbeiten, direkt innerhalb der Datenbank auszuführen. So spart man das Auslesen und Zurückschreiben der Daten über langsame Kommunikationsverbindungen, da sich die Datenbank oft auf einem entfernten Server befindet. Der Nutzer musste jetzt auch nur die Aufrufstruktur der Methode des Objektes kennen, um dessen Attribute zu manipulieren. So wurde eine Objektkapselung erreicht und der Benutzer sieht nur noch die Operationen. Um auch bei den objektorientierten Datenbanken eine ähnliche Standardisierung zu erreichen wie einst bei den relationalen, formierte sich die ODMG (Object Database Management Group) aus vielen Anbietern von Datenbankprodukten und erstellte ein einheitliches Objektmodell. Dieses ODMG-Modell bietet Schnittstellen für Programmiersprachen wie C++ zur vereinfachten Datenbankanbindung. Zudem wurde die Anfragesprache OQL (Object Query Language) entwickelt, die eines Tages für objektorientierte Datenbanken einen ähnlichen Stellenwert erreichen soll wie SQL bei den relationalen. Anhand des obigen Beispiels soll das ODMG-Modell näher erklärt werden. Darin stellt jedes Objekt eine Instanz eines bestimmten Objekttyps (Klasse) dar. Der Objekttyp dient so zu sagen als Schablone für neue Objekte, die diesem Typ entsprechen. Paul Specht z.b. ist vom Typ Student. Er besitzt einen Namen, eine Matrikelnummer, kann seinen Namen ändern und seinen Notendurchschnitt ermitteln. Zudem besucht er noch Vorlesungen und schreibt Prüfungen. Um ein Objekt eindeutig identifizieren zu können, besitzt jedes einen systemweit einzigartigen Objektidentifikator. Ähnliches gilt für das Fach Mathematik. Dieses ist vom Typ Vorlesung, besitzt eine Vorlesungsnummer, einen Namen, eine SWS-Anzahl, einen Raum und kann verlegt werden. Da nun jedes Objekt so einen Identifikator besitzt, könnte man auf künstliche Schlüssel verzichten, wenn sie in der realen Welt nicht von Bedeutung wären (z.b. Matrikelnummer). 18

19 class Student { attribute int MatrikelNr; attribute string Name; relationship set<vorlesung> hört inverse Vorlesung::Hörer; relationship set<prüfung> wurdegeprüft inverse Prüfung::Prüfling; void NameÄndern(string NeuName); float Notendurchschnitt(); }; class Vorlesung { attribute int VorlesungsNr; attribute string Name; attribute int SWS; attribute int Raum; relationship set<student> Hörer inverse Student::hört; relationship set<prüfung> warinhalt inverse Prüfung::Inhalt; void RaumVerlegen(int NeuRaum); } ; ID1 Student ID3 Vorlesung MatrikelNr: VorlesungsNr: 443 Name: Paul Specht Name: Mathematik hört: {ID3, ID4} SWS: 8 wurdegeprüft: {ID5} Raum: 007 Hörer: {ID1} warinhalt: {ID5} ID2 Student ID4 Vorlesung MatrikelNr: VorlesungsNr: 321 Name: Robert Pfeiffer Name: Theoretische Experimentalphysik hört: {ID4} SWS: 2 wurdegeprüft: {} Raum: 854 Hörer: {ID1, ID2} warinhalt: {} Attribute werden in der Klassendefinition mit dem Schlüsselwort attribute und dem Datentyp deklariert, Beziehungen über realionship. Sollte eine Klasse mehrere Beziehungen eines Typs besitzen können, wird dies über den Mengenkonstruktor set< > realisiert. Mit dem Konstrukt inverse kann man zudem noch die Konsistenz sicherstellen, z.b. damit nicht bei der Vorlesung Studenten als Hörer eingetragen sind, die gar nicht die Vorlesung besuchen. Bei den Instanzen werden die ObjektIDs der an der Beziehung teilnehmenden Instanzen vermerkt. Mengen kann man mit geschweiften Klammern angeben. Wenn an einer Beziehung mehr als zwei Parteien teil nehmen, muss man dies über einen neuen Objekttyp bewirken. class Prüfung { attribute float Note; relationship Student Prüfling inverse Student::wurdeGeprüft; relationship Vorlesung Inhalt inverse Vorlesung::warInhalt; relationship Professor Prüfer inverse Professor::hatGeprüft; }; ID5 Prüfung Note: 2,7 Prüfling: ID1 Inhalt: ID3 Prüfer: Prof1 In der Klasse Prüfung gibt es drei Beziehungen. Eine zum geprüften Studenten, eine zum prüfenden Professor und eine zur Vorlesung, dessen Inhalt Gegenstand der Prüfung war. Die Klasse Professor mit der Instanz Prof1 wird hier nicht noch einmal explizit dargestellt. 19

20 Über die Beschreibung von Methoden sei an dieser Stelle nur der Funktionskopf in der Klasse gezeigt. Er beginnt z.b. bei der Methode NameÄndern mit dem Rückgabedatentyp (void bedeutet kein Rückgabewert), darauf folgt der Funktionsname und in den Klammern alle übergebenen Parameter. Dieses Modell hatte auch einige Nachteile, wobei der erhöhte Ressourcenbedarf für die Verwaltung der Objekte und die komplexere Implementierung nur von untergeordneter Bedeutung waren. Vor allem die fehlende Unterstützung der standardisierten Schnittstellen und Sprachen erforderten oft eine komplette Neuprogrammierung der Programme, wenn man die Datenbank wechselte. Um trotzdem die Vorteile dieses Datenbankmodells unter akzeptablen Bedingungen nutzen zu können, entwickelte man objektrelationale Datenbanken, die Eigenschaften aus beiden Welten vereinten. Heutzutage wurden fast alle bedeutenden relationalen Datenbanken um objektorientierte Fähigkeiten erweitert, weshalb sie nun zu den objektrelationalen Datenbanksystemen zählen Beispiele für objektorientierte Datenbanken JDO (Java Data Objects) Datenbanken JDO ist eine Spezifikation von Sun, die eine einheitliche Schnittstelle beschreibt, mit dessen Hilfe die Java Anwendungen ihre Daten in Datenbanken speichern können. Relationale Datenbanken, die diesen Standard unterstützen, müssen vor der Speicherung und vor der Übergabe beim Auslesen zunächst ein objektrelationales Mapping vornehmen. Objektorientierte Datenbanken kommen ohne dieses Mapping aus und können Java Objekte direkt speichern. Zudem stellen diese Datenbanken auch Schnittstellen nach dem ODMG 3.0 Standard zur Verfügung, damit andere Sprachen wie C++ ebenfalls ähnlich einfach ihre Daten dort ohne Mapping ablegen können. Wikipedia Eine Umsetzung dieser Spezifikation stellt die Orient ODBMS dar. Sie ist Open Source und ist sowohl in einer Client-Server als auch einer Embedded Version verfügbar. Sie unterstützt zusätzlich zu JDO (Java) auch ODMG 3.0 für Zugriffe von C++ Anwendungen und Teile des SQL92 Standards für Datenmanipulationen an den gespeicherten Objekten. Ihr Footprint beträgt mindestens 200kB (Embedded Edition) und benötigt eine Java Laufzeitumgebung. Sie wird unter der Apache Lizenz vertrieben. Homepage Eine kommerzielle Alternative ist die ObjectDB. Auch sie bietet eine Embedded (300$) und eine Client-Server (600$) Version. Die kostenlose Version ist in ihrer Funktionalität eingeschränkt und darf nur für nichtkommerzielle Anwendungen genutzt werden. ObjectDB bietet zwar viele Funktionen (Recovery, Garbage Collector, Remote Management), doch kann man ausschließlich über Java auf sie zugreifen. Ihr Footprint beträgt nur 300kB und sie benötigt eine Java Laufzeitugebung. Homepage In Konkurrenz steht der JDO Standard mit der EJB3 (Enterprise Java Beans 3.0) Spezifikation, da sie ähnliche Funktionalitäten und Performance bietet. 20

21 EyeDB EyeDB ist eine junge Open Source Datenbank, die unter der LGPL vertrieben wird. Sie unterstützt den ODMG 3.0 Standard und die standardisierte Anfragesprache OQL für objektorientierte Datenbanken. Schnittstellen bringt sie für C++ und Java mit. Sie arbeitet im Client-Server und bietet darüber hinaus noch eine Menge der üblichen Datenbankfunktionen (Vererbung, Trigger, ausdrucksstarkes Object Modell, Intgritätsbedingungen, Methoden). Bisher werden Linux und Solaris sowohl auf 32Bit als auch 64Bit Plattformen unterstützt. Ein Footprint oder Hardware Anforderungen sind explizit nicht erwähnt, doch kann man bei der geringen Programmgröße von 500kB bis 2MB ausgehen. Zwar sind die gegebenen Schnittstellen und Funktionen der Datenbank sehr interessant, doch sollte man trotzdem nicht ihr junges Alter (Januar 2006) vergessen, aus dem wohl die geringe Quellenanzahl und die mäßige Dokumentation resultieren. Weiterführende Links: Homepage db4o Dies ist eine objektorientierte Datenbank, die sowohl mit Java als auch mit.net (C#, VB.NET, Managed C++) zusammenarbeitet. Sie wird unter zwei verschiedenen Lizenzen vertrieben. Zum einen unter der GPL für nichtkommerzielle Einsatzzwecke und zum anderen unter einer kostenpflichtigen Lizenz für kommerzielle Produkte. Sie besitzt sowohl einen embedded als auch einen Client-Server Mode, wobei der erstere der primäre ist und der zweite vor allem dem Datenaustausch dient. Neben den vielen Funktionen (ACID, Verschlüsselung, Read Only Modus) ist der größte Vorteil die leichte Benutzbarkeit. Die Syntax ist sehr einfach und der Entwickler wird durch viele Tutorials unterstützt. Der Footprint beträgt nur 600kB. Man benötigt zum Betrieb entweder eine Java oder eine.net Laufzeitumgebung. Statt eine verbreitete standardisierte Anfragesprache wie SQL oder OQL zu verwenden, benutzt sie ihre eigene namens Native Queries (NQ). Je nach Version kostet die kommerzielle Lizenz zwischen 200$ (In-Process) und 1500$ (Client-Server). Mengenrabatt wird ebenfalls gewährt. Weiterführende Links: Produktinformationen Objektrelationales Datenbankmodell Folgende wesentliche Erweiterungen machen objektrelationale Datenbanken aus: - Große Objekte, Datentypen für große Attributwerte wie Multimediadaten - Mengenwertige Attribute, wenn eine Entity mehrere Attribute eines Typs besitzt, z.b. eine Person kann mehrere Adressen oder Telefonnummern besitzen, dann wäre es sinnvoller statt eine bestimmte Anzahl an Adressfeldern in der Tabelle zu reservieren, ein Feld vorzusehen, dass eine beliebige Menge dieser Attribute aufnimmt - Geschachtelte Relationen, sind hilfreich, wenn Attribute wiederum Attribute besitzen, also ein Attribut eine Entity ist, die einer anderen Entity fest zugeordnet ist, 21

22 z.b. besteht ein Fahrrad aus 2 Rädern, diese wiederum aus Speichen, Schlauch und Reifen aufgebaut sind - Typdeklaration, Erweiterung des gegeben Satzes an Typen um eigene, vor allem genutzt um komplexe Objektstrukturen zu deklarieren und in der Datenbank zu speichern - Referenzen, durch Referenzen auf Objekte spart man sich die Verwendung von Fremdschlüsseln zur Herstellung von Beziehungen. Man kann sogar ganz auf manche Beziehungsrelationen verzichten, wenn man Mengen von Referenzen in bestehende Entitys als Attribute ablegt, z.b. könnte ein Student Referenzen auf alle Vorlesungen besitzen, die er besucht. - Objektidentität, werden zum einen für Referenzen benötigt, zum anderen spart man sich das Anlegen von künstlichen Schlüsseln - Pfadausdrücke, werden notwendig bei der Verwendung von Referenzen - Vererbung, Unterrelationen können von einer übergeordneten Oberrelationen bestimmte Eigenschaften erben und um spezifische Eigenschaften erweitern - Operationen, man kann nun auch Daten Operationen zuordnen, die direkt in der Datenbank ausgeführt werden Eigenschaften der objektrelationalen Datenbanken flossen auch in die Standards SQL99 und SQL2003 ein Beispiele für objektrelationale Datenbanken PostgreSQL Eine der ältesten und fortschrittlichsten objektrelationalen Datenbanken, die es gibt. Sie ist Open Source und wird unter der BSD Lizenz vertrieben. Sie ist weitgehend konform mit allen SQL Standards (92 bis 2003) und unterstützt den gesamten Sprachumfang. Auch die ACID Fähigkeiten sind gegenüber vielen anderen Datenbanken außerordentlich gut umgesetzt. Zudem werden typische objektrelationale Funktionen wie Prozeduren innerhalb der Datenbank geboten. Sie bietet Schnittstellen für C/C++, JDBC, ODBC, Java, Tcl, PHP, Perl, Python, Ruby und.net. Lauffähig ist sie unter Windows, Linux und UNIX Systemen. Da PostgreSQL seit über 25 Jahren entwickelt wird, ist der Funktionsumfang gewaltig und konkurrenzlos zu vielen anderen freien Datenbanken. Deshalb dienen Neuerungen in jüngeren Versionen vor allem der Benutzerfreundlichkeit und Geschwindigkeit, um gegen populäre Kontrahenten wie MySQL wieder Boden gut zu machen. Trotz oder gerade wegen dem großen Umfang ist PostgreSQL eher ungeeignet für den Einsatz in Embedded Systemen, da es eine Menge Ressourcen verschlingt. Die Dokumentation spricht von mindestens 25MB Festplattenspeicher und in den Foren ist von 8MB Footprint die Rede, wenn man auf viele Features verzichtet. Sie wird deshalb in der Abschlussbetrachtung nicht berücksichtigt. Weiterführende Links: Wikipedia Homepage 22

23 OpenLink Virtuoso Ist die Open Source Version (GPL) des Virtuoso Universal Server. Die Datenbank ist wie PostgreSQL eine objektrelationale und unterstützt weite Teile des SQL Standards (SQL92, SQL99). Auch ist die Schnittstellenvielfalt mit ODBC, JDBC,.NET und OLE/DB recht groß. Sie ist für viele Plattformen wie Windows, Linux und Unix verfügbar. Zwar ist der gebotene Funktionsumfang nicht so umfangreich wie bei PostgreSQL, dafür ist aber auch der Ressourcenhunger nicht so gewaltig. Mit 10MB Fesplattenspeicher und 2MB Footprint gibt sie sich schon zu frieden. Allerdings auch erst nachdem man möglichst viele Features vor der Installation entfernt hat. Dadurch muss man auf nützliche Extras wie eine einfache Konfigurationsoberfläche verzichten. In den Grundeinstellungen benötigt die Datenbank 500MB bis 800MB. Da diese mühsamen Voreinstellungen sehr lästig sein können und nicht immer zum gewünschten Ergebnis führen, wird auch an dieser Stelle empfohlen, besser auf kleinere Datenbanksysteme auszuweichen. Weiterführende Links: Wikipedia Homepage 23

24 7. Weitere Datenbankmodelle 7.1. Deduktive Datenbanken Eine deduktive Datenbank erweitert eine relationale um eine Deduktionskomponente. Das bedeutet, dass der Datenbank Regeln vorgegeben werden, mit denen sie aus bereits vorhandenen Daten neue Erkenntnisse gewinnen kann. Z.B. wenn man Geschwindigkeit und Zeit misst, kann die Datenbank leicht die zurückgelegte Strecke eines Messobjektes bestimmen. Nachteilig ist jedoch, dass es keine Standards gibt und jede Datenbank ihre eigene Anfragesprache besitzt, was eine hohe Einarbeitungszeit bedeutet. Ebenfalls sind die Hardwareanforderungen hoch, damit die deduktiven Datenbanken ihre besonderen Vorteile ausspielen können. Besonders Anfang der 1990er machten sich viele Universitäten daran zu beweisen, dass das Konzept einer deduktiven Datenbank realisierbar ist und ähnlich leistungsfähig wäre, wie relationale Datenbanken. Da zu der Zeit auch das objektorientierte Modell populär wurde, stellen viele dieser Systeme eine Mischung von beiden Formen dar. Leider haben alle diese Entwicklungen das Stadium einer akademischen Anwendung niemals überschritten und nach wenigen Jahren Arbeit, wurde die Weiterentwicklung eingestellt oder zumindest stark verzögert. Beispielhafte Vertreter wären ConceptBase der RWTH Aachen, bddbddb (Stanford Universität) oder Aditi (Universität von Melbourne). Eine intensive Betrachtung aus dem Jahr 1994 findet man in: Verteilte Datenbanksysteme Trotz aller Vorteile haben zentrale Datenbanken auch diverse Nachteile. Sie können nur eine geringe Anzahl von Anfragen gleichzeitig bearbeiten, die Kommunikationswege können ziemlich lang werden und wenn der Server mit der Datenbank zusammenbricht, ist auch sämtliche Datenverarbeitung lahm gelegt. Deshalb entwickelte man verteilte Datenbanksysteme mit folgenden Vorteilen: - Lastverteilung, wenn die Datenbank auf mehrere Server verteilt ist, können auch die Anfragen der Benutzer auf diese gleichmäßig verteilt werden - Standortnähe, die Teilsysteme können näher an den einzelnen Standorten der Benutzer stehen - auf den Teilsystemen kann man nur die lokal relevanten Daten speichern und greift nur dann in Einzelfällen auf die gesamte Datenbank zu (weniger Ressourcen pro System und Vermeidung der Speicherung von sensiblen Daten auf allen Systemen) - Ausfallsicherheit, wenn ein Teilsystem ausfällt, können andere dessen Aufgabe übernehmen oder es ist zumindest nur ein Standort von der Datenverarbeitung ausgeschlossen und andere können wenigstens noch auf ihre lokalen Daten zugreifen Es gibt aber auch einige neue Nachteile, die entstehen könnten: - Inkonsistenz der Daten, wenn sie in mehreren Teilsystemen gespeichert, aber nicht in allen bei einer Transaktion gleichzeitig verändert werden - Deadlocks, wenn mehrere Nutzer mehrere Teilsysteme gleichzeitig exklusiv nutzen wollen (ähnlich den Speisenden Philosophen ) - Höherer gesamter Ressourcenbedarf 24

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

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

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

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

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

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

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows

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

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

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

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

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

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

SQL Server 2008 Standard und Workgroup Edition

SQL Server 2008 Standard und Workgroup Edition September 2008 Produktgruppe: Server Lizenzmodell: Microsoft Server Server/ Serverlizenz Zugriffslizenz () pro Gerät Zugriffslizenz () pro Nutzer Produktgruppe: Server Lizenzmodell: Microsoft Server Pro

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

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

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

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

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Installation und Inbetriebnahme von SolidWorks

Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis FAKULTÄT FÜR INGENIEURWISSENSCHAFTEN I Prof. Dr.-Ing. Frank Lobeck Installation und Inbetriebnahme von SolidWorks Inhaltsverzeichnis Inhaltsverzeichnis... I 1. Einleitung... 1 2. Installation...

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

Lizenzierung von System Center 2012

Lizenzierung von System Center 2012 Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im

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

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

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

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

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

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

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

1. Einführung. 2. Archivierung alter Datensätze

1. Einführung. 2. Archivierung alter Datensätze 1. Einführung Mit wachsender Datenmenge und je nach Konfiguration, kann orgamax mit der Zeit langsamer werden. Es gibt aber diverse Möglichkeiten, die Software wieder so zu beschleunigen, als würden Sie

Mehr

SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition

SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition Produktgruppe: Server SQL Server 2005 Standard Edition, Enterprise Edition, Workgroup Edition Lizenzmodell:

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung. BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung. BEO GmbH Hennengärtli Endingen Tel.: 0 / 00-0 Fax: 0 / 00- info@beo-software.de www.beo-software.de Sanktionsprüfung

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

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012) Information zum SQL Server: Installieren und deinstallieren (Stand: September 2012) Um pulsmagic nutzen zu können, wird eine SQL-Server-Datenbank benötigt. Im Rahmen der Installation von pulsmagic wird

Mehr

Windows-Sicherheit in 5 Schritten. Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de.

Windows-Sicherheit in 5 Schritten. Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de. Windows-Sicherheit in 5 Schritten Version 1.1 Weitere Texte finden Sie unter www.buerger-cert.de. Inhalt: 1. Schritt: Firewall aktivieren 2. Schritt: Virenscanner einsetzen 3. Schritt: Automatische Updates

Mehr

ER-Modell. Entity-Relationship-Model

ER-Modell. Entity-Relationship-Model + ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).

Mehr

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM Hinweise: - Dies ist eine schrittweise Anleitung um auf den Server der Ag-Kim zuzugreifen. Hierbei können Dateien ähnlich wie bei Dropbox hoch-

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

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

ARCO Software - Anleitung zur Umstellung der MWSt

ARCO Software - Anleitung zur Umstellung der MWSt ARCO Software - Anleitung zur Umstellung der MWSt Wieder einmal beschert uns die Bundesverwaltung auf Ende Jahr mit zusätzlicher Arbeit, statt mit den immer wieder versprochenen Erleichterungen für KMU.

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

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo

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

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

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

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Installation der SAS Foundation Software auf Windows

Installation der SAS Foundation Software auf Windows Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software

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

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

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

Speichern. Speichern unter

Speichern. Speichern unter Speichern Speichern unter Speichern Auf einem PC wird ständig gespeichert. Von der Festplatte in den Arbeitspeicher und zurück Beim Download Beim Kopieren Beim Aufruf eines Programms Beim Löschen Beim

Mehr

Lizenzierung von Windows Server 2012

Lizenzierung von Windows Server 2012 Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Datenübernahme easyjob 3.0 zu easyjob 4.0

Datenübernahme easyjob 3.0 zu easyjob 4.0 Datenübernahme easyjob 3.0 zu easyjob 4.0 Einführung...3 Systemanforderung easyjob 4.0...3 Vorgehensweise zur Umstellung zu easyjob 4.0...4 Installation easyjob 4.0 auf dem Server und Arbeitsstationen...4

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

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule

ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven

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

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee 2 10245 Berlin Tel.:+49(0) 30 2900 8639 Fax.:+49(0) 30 2900 8695 Database Exchange Manager Replication Service- schematische Darstellung Replication Service- allgemeines Replikation von Daten von bzw. in ein SAP-System und einer relationalen DMS-Datenbank Kombination

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

CADEMIA: Einrichtung Ihres Computers unter Windows

CADEMIA: Einrichtung Ihres Computers unter Windows CADEMIA: Einrichtung Ihres Computers unter Windows Stand: 21.02.2015 Java-Plattform: Auf Ihrem Computer muss die Java-Plattform, Standard-Edition der Version 7 (Java SE 7) oder höher installiert sein.

Mehr

1. Einleitung 2. Voraussetzungen 3. Installation 4. Beschreibung 5. Credits. Übersicht:

1. Einleitung 2. Voraussetzungen 3. Installation 4. Beschreibung 5. Credits. Übersicht: 1. Einleitung 2. Voraussetzungen 3. Installation 4. Beschreibung 5. Credits Übersicht: 1. Einleitung *Neu* AFS - CRM Contacter SQL Vielen Dank, dass Sie sich für den Kauf von AFS-CRM Contacter entschieden

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

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie kann ich Dokumente verwalten? Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

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

FTP-Leitfaden RZ. Benutzerleitfaden

FTP-Leitfaden RZ. Benutzerleitfaden FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

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

Lokale Installation von DotNetNuke 4 ohne IIS

Lokale Installation von DotNetNuke 4 ohne IIS Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann hermann@itm-consulting.de 12.12.2006 Agenda Benötigte Komponenten Installation

Mehr

Updatehinweise für die Version forma 5.5.5

Updatehinweise für die Version forma 5.5.5 Updatehinweise für die Version forma 5.5.5 Seit der Version forma 5.5.0 aus 2012 gibt es nur noch eine Office-Version und keine StandAlone-Version mehr. Wenn Sie noch mit der alten Version forma 5.0.x

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

Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen.

Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen. Windows Säubern: Es gibt einige Kardinalstellen, an denen sich auf der Festplatte Müll ansammelt: Um einen Großteil davon zu bereinigen. Internetdateien: Öffnen Sie den Internet Explorer (blaues e ). Öffnen

Mehr

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern Windows XP in fünf Schritten absichern Inhalt: 1. Firewall Aktivierung 2. Anwendung eines Anti-Virus Scanner 3. Aktivierung der automatischen Updates 4. Erstellen eines Backup 5. Setzen von sicheren Passwörtern

Mehr

E-Mail-Inhalte an cobra übergeben

E-Mail-Inhalte an cobra übergeben E-Mail-Inhalte an cobra übergeben Sie bieten ihren potentiellen oder schon bestehenden Kunden über ihre Website die Möglichkeit, per Bestellformular verschiedene Infomaterialien in Papierform abzurufen?

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Handbuch. TMBackup R3

Handbuch. TMBackup R3 Handbuch TMBackup R3 Ersteller: EWERK Medical Care GmbH Erstellungsdatum: 05.06.2013 S. 1 Inhalt 1 Vorwort... 3 2 Installation... 3 2.1 Voraussetzungen... 3 2.2 Installation... 3 3 Einstellungen... 4 3.1

Mehr