Plangenerierung zur Anfrageauswertung in nativen XML-Datenbankverwaltungssystemen

Größe: px
Ab Seite anzeigen:

Download "Plangenerierung zur Anfrageauswertung in nativen XML-Datenbankverwaltungssystemen"

Transkript

1 Technische Universität Kaiserslautern Fachbereich Informatik AG Datenbanken und Informationssysteme Prof. Dr.-Ing. Dr. h. c. Theo Härder Plangenerierung zur Anfrageauswertung in nativen XML-Datenbankverwaltungssystemen Diplomarbeit im Studiengang Angewandte Informatik vorgelegt von Andreas Matthias Weiner Betreuer: Prof. Dr.-Ing. Dr. h. c. Theo Härder Dipl.-Inf. Christian Mathis Tag der Ausgabe: 30. Januar 2007 Tag der Abgabe: 29. Juli 2007

2

3 Ich versichere hiermit, dass ich die vorliegende Diplomarbeit mit dem Thema Plangenerierung zur Anfrageauswertung in nativen XML-Datenbankverwaltungssystemen selbstständig verfasst und keine anderen als die angegebenen Hilfsmittel benutzt habe. Die Stellen, die anderen Werken dem Wortlaut oder dem Sinn nach entnommen wurden, habe ich durch die Angabe der Quelle, auch der benutzten Sekundärliteratur, als Entlehnung kenntlich gemacht. Kaiserslautern, den 22. Juli 2007 Andreas Matthias Weiner

4

5 Danksagung An dieser Stelle möchte ich mich bei allen Menschen ganz herzlich bedanken, die ihren Beitrag zum Gelingen dieser Diplomarbeit geleistet haben. Mein besonderer Dank gebührt Herrn Prof. Dr.-Ing. Dr. h. c. Theo Härder für die Bereitstellung der Räumlichkeiten und der geeigneten Infrastruktur sowie für die Begutachtung dieser Arbeit. Ferner danke ich ganz herzlich Herrn Dipl-Inf. Christian Mathis für die Übernahme des Zweitgutachtens und für die hervorragende Betreuung dieser Arbeit. Ein ganz besonderes Dankeschön gilt meinen Eltern, die mir dieses Studium ermöglicht haben sowie meiner Familie, die mir jederzeit eine moralische Stütze war. Schließlich bedanke ich mich ganz herzlich bei meinem Kommilitonen Herrn Sebastian Bächle für die vielen fachlichen Ratschläge und Diskussionen sowie für die Freundschaft, die sich während des Studiums entwickelt hat.

6

7 Inhaltsverzeichnis Abbildungsverzeichnis v 1 Einleitung Motivation Zielsetzung der Arbeit Die Test-Umgebung Gliederung der Arbeit Anfrageverarbeitung in Datenbanksystemen Grundlagen der Anfrageverarbeitung Die drei Phasen der Anfrageverarbeitung Anfrageanalyse Anfrageoptimierung Anfrageausführung Verfahren zur Plangenerierung Dynamische Programmierung Probabilistische Verfahren zur Plangenerierung Zusammenfassung Grundlagen der XML-Anfragesprache XQuery XML-Grundlagen Der Aufbau eines XML-Dokuments Wohlgeformte und gültige XML-Dokumente Document Type Definition (DTD) und XML Schema Die Anfragesprache XQuery Das XQuery/XPath-Datenmodell Auswertungskontext Pfadausdrücke in XQuery/XPath FLWOR-Ausdrücke in XQuery Anwendungsfälle für XQuery Zusammenfassung Grundlagen der logischen XML-Algebra NAL STJ Einführung in die Natix-Algebra (NAL) Grundlagen der Natix-Algebra Die Operatoren der Natix-Algebra Abbildung von XPath-Ausdrücken auf Operatoren der Natix-Algebra Die logische Algebra NAL STJ Die Operatoren von NAL STJ i

8 ii Inhaltsverzeichnis Einführung des logischen strukturellen Verbundes in die Natix-Algebra Entschachtelung von Algebra-Ausdrücken Regeln zur Anfragerestrukturierung Zusammenfassung Pfadverarbeitungsoperatoren und Indexstrukturen Pfadverarbeitungsoperatoren Structural-Join-Algorithmen Holistic-Twig-Join-Algorithmen Indexstrukturen Pfad-Indexstrukturen Element-Indexstrukturen Text/Attribut-Indexstrukturen Hybrid-Indexstrukturen Zusammenfassung Entwurf eines XML-Anfragegraphmodells Das XAGM-Darstellungsschema Der Tupel-ADT des XML-Anfragegraphmodells Beispiele für Anfragegraphen im XML-Anfragegraphmodell Abbildung von NAL STJ -Ausdrücken auf Operatoren des XAGM Regeln zur Anfragerestrukturierung Fusion von Join-Operatoren Fusion von Join- und Outer-Join-Operatoren Fusion von Select-Operatoren Fusion von Join- und Select-Operatoren Select-Node-Access-Fusion Verschiebung von Prädikaten und Projektionen Verschiebung von Join-Operatoren Regeln zur Anfragetransformation Kommutativität der Join-Operatoren Assoziativität der Join-Operatoren Auflösen eines komplexen Join-Operators Anfrageausführungspläne im XML-Anfragegraphmodell Der Aufbau des Anfrageausführungsplans Abbildung der XAGM-Tupeloperatoren auf entsprechende Planoperatoren Beispiele Beispielhafte Optimierung einer XPath-Anfrage Beispielhafte Optimierung einer XQuery-Anfrage Zusammenfassung Entwurf einer Komponente zur Anfrageauswertung Die Architektur der Anfrageauswertungskomponente Die Rewriter-Komponente Die Aufgaben des Plangenerators Entwurf und Implementierung des Mustererkenners Die Architektur des Mustererkenners Der Ablauf des Mustererkennungsprozesses Implementierung eines Musters Zusammenfassung

9 Inhaltsverzeichnis iii 8 Zusammenfassung und Ausblick 117 A Restrukturierungsregeln 119 B Assoziativitätsregeln für binäre Join-Operatoren 125 B.1 Nur descendant-achsen B.2 Nur child-achsen B.3 Eine descendant-achse und eine child-achse B.4 Eine child-achse und eine descendant-achse Literaturverzeichnis 139

10 iv Inhaltsverzeichnis

11 Abbildungsverzeichnis 1.1 Die Architektur des XML Transaction Coordinator Übersicht der verschiedenen Klassen von Anfragegraphen Die Schritte der Anfrageverarbeitung Regelkreis der Anfragetransformation Suchstrategien für die Plangenerierung XML-Beispieldokument Die Struktur eines Vorwärtsschrittes Die Struktur eines Rückwärtsschrittes Die wichtigsten Achsen in Pfadausdrücken im Überblick Die Struktur eines Prädikats Der Aufbau eines FLWOR-Ausdrucks Die Struktur einer for-klausel Die Struktur einer let-klausel Die Struktur einer where-klausel Die Struktur der order by-klausel Die kanonische Übersetzung eines Pfadausdrucks Beispiel eines Twig-Anfragemusters Auszeichnung eines XML-Dokuments mit der Tripel-Nummerierung Generalisierungshierarchie der Tupeloperatoren des XAGM Übersicht der Datenstrukturen des Tupel-ADT im XAGM Beispiel eines Anfragegraphen im XAGM XAGM-Anfragegraph mit Unteranfrage Abbildung von Dokument- und Knotenzugriffen Abbildung des strukturellen Verbundes Spezialisierung des Join-Operators Ersetzung eines Join-Tupeloperators durch einen Semi-Join-Tupeloperator Beispiel Outer-Join-Operator Korrekte Auswertung von Achsenschritten in return-klauseln Abbildung von einfachen Selektionen Abbildung von Selektionen mit Zugriff auf positionale Prädikate Abbildung der Gruppierung und der Aggregation Die drei Sequenzoperatoren des XML-Anfragegraphmodells Der Aufbau des Sort-Operators Verschmelzung von zwei Join-Operatoren v

12 vi Abbildungsverzeichnis 6.17 Verschmelzung eines Semi-Join-Operators und eines Left-Outer-Join-Operators Verschmelzung eines Left-Outer-Join-Operators und eines Semi-Join-Operators Verschmelzung von zwei Left-Outer-Join-Operatoren Verschmelzung von zwei Select-Operatoren Verschmelzung eines Select- und eines Join-Operators Verschmelzung eines Join- und eines Select-Operators Verschmelzung eines Select- und eines Node-Access-Operators Verschiebung eines Select-Operators Verschiebung eines Join-Operators mit following-achse Vertauschung der Verbund-Partner eines einfachen Join-Operators Beispiel für eine Assoziativitätsregel mit dem Ausgabeknoten A Twig-Anfragemuster Anfragegraph zum Twig-Anfragemuster Anfragegraph nach der Aufspaltung des komplexen Join-Operators Anfragegraph nach der Einführung des Join-Operators mit strukturellem self- Prädikat Anfragegraph nach der Aufspaltung des linken Verbundpartners Anfragegraph nach der Einführung von zwei Join-Operatoren mit strukturellem self-prädikat Generalisierungshierarchie der Planoperatoren Beispiel eines Anfrageausführungsplans Abbildung von Select-Tupeloperatoren auf Select-Planoperatoren Verschiedene Abbildungsvarianten für einen Access-Tupeloperator Abbildung des Group-By-Tupeloperators auf den Group-By-Planoperator Abbildung des Sort-Tupeloperators auf den entsprechenden Planoperator Abbildungen des Sequenz-Tupeloperators auf den Sequenz-Planoperator Übersicht der Auswertungsmethoden für einen binären Join-Planoperator Abbildung eines Join-Tupeloperators auf den entsprechenden Join-Planoperator Abbildung eines Join-Tupeloperators auf einen Access-Planoperator Auswertungsvarianten eines Join-Tupeloperators mit strukturellem self-prädikat Abbildung eines komplexen Outer-Join-Tupeloperators auf zwei Join-Planoperatoren Anfragegraph vor und nach Beginn der Restrukturierungsphase Anfrageausführungspläne in Abhängigkeit von der Verfügbarkeit eines Pfad-Indexes Anfragegraph vor der Restrukturierungsphase Anfragegraph vor und nach der ersten Restrukturierung Restrukturierung des Anfragegraphen Anfrageausführungsplan Architektur der Komponente zur Anfrageauswertung Der Ablauf des Rewriting-Prozesses Die Architektur des Mustererkenners Beispiel-Baum mit zwei Mustern und drei Treffern Ablauf der Mustererkennung Beispiel-Baum und Muster mit zwei Treffern

13 Die Technik von heute ist das Brot von morgen die Wissenschaft von heute ist die Technik von morgen. Kapitel 1 Richard von Weizsäcker ( 1920) Einleitung 1.1 Motivation Die Extensible Markup Language (XML) hat sich seit der ersten W3C Recommendation 1 im Jahre 1998 zu einem De-facto-Standard für die Repräsentation und zum Austausch von strukturierten und semistrukturierten Daten entwickelt. Die Ursprünge dieser Sprache liegen bereits weit zurück. Einer ihrer Vorgänger die Standard Generalized Markup Language (SGML) wurde bereits in den 70er Jahren des vergangenen Jahrhunderts vorgestellt [HM02]. Heute existiert für Geschäftsobjekte nahezu jeder Branche eine standardisierte XML-Repräsentation, die den Datenaustausch zwischen und innerhalb von Unternehmen erleichtern soll. Mit der Einführung von Web Services [ACKM04] und serviceorientierten Architekturen [DJMZ05], bei denen XML-Nachrichten ausgetauscht werden, eröffnet sich ein weiterer Anwendungsbereich der Sprache XML. Viele Anwendungsbereiche benötigen effiziente Verfahren zur Bearbeitung und Verwaltung sowie zur Durchsuchung von XML-Dokumenten. Obwohl XML ursprünglich als Datenaustauschformat gedacht war, wird aus diesem Grund seit einiger Zeit nach Möglichkeiten gesucht, um XML-Dokumente effizient zu speichern und zu verwalten. Relationale Datenbankverwaltungssysteme (RDBVS) bilden seit Jahren eine zuverlässige Basis für die Speicherung und Verwaltung von großen Datenbeständen [HR01, EN04]. Da XML- Dokumente eine Baumstruktur aufweisen, ist deren Speicherung in relationalen Datenbanksystemen nicht ohne Probleme möglich. Deshalb ist gegebenenfalls die Aufteilung des Dokuments auf eine Vielzahl von Tabellen erforderlich. Diese Aufteilung erschwert die Transaktionsisolation in RDBVS in erheblichem Maße [HH07]. Ebenso schwierig gestaltet sich der direkte Zugriff mit Hilfe einer XML-Anfragesprache (vgl. ebd.). Um eine ständige und teuere Übersetzung zwischen dem Relationenmodell auf der einen Seite und der XML-Repräsentation auf der anderen Seite zu vermeiden, werden so genannte native XML- Datenbankverwaltungssysteme (XDBVS) als vielversprechende Alternative vorgeschlagen [HH07]. Diese Systeme bieten den Vorteil, dass sie XML-Dokumente derart speichern können, dass diese ihre hierarchische Struktur beibehalten. Durch die ordnungserhaltende Speicherung erwartet man, dass Anfragen mit einer XML-Anfragesprache wie zum Beispiel XQuery [W3C07c] schneller beantwortet werden können, als dies mit Hilfe eines RDBVS möglich wäre, da hier der Umweg über das Relationenmodell nicht notwendig ist. Im Gegensatz zur Anfrageverarbeitung in relationalen Datenbankverwaltungssystemen gestaltet sich die Anfrageauswertung auf XML-Dokumenten deutlich komplizierter. Die höhere Komplexität hat einerseits ihren Ursprung im XML-Datenmodell und wird andererseits durch die äußerst 1 Vgl. 1

14 2 Kapitel 1. Einleitung komplexe Anfragesprache XQuery bedingt. Die aktuelle Forschung auf diesem Gebiet lässt sich grob in zwei Klassen einteilen: Zum einen gibt es Forschungsvorhaben, die sich mit der Entwicklung von effizienten physischen Pfadverarbeitungsoperatoren (engl. Path Processing Operators) beschäftigen. Als prominente Vertreter dieser Ansätze lassen sich die Structural-Join-Algorithmen von Al-Khalifa et al. [AKJP + 02] und die Holistic-Twig-Join-Algorithmen von Bruno et al. [BKS02] nennen. Auf der anderen Seite existieren viele Ansätze, die sich dem Problem der Anfrageoptimierung von der logischen Seite nähern, indem logische Algebren vorgestellt werden, mit deren Hilfe eine algebraische Optimierung der Anfrage durchgeführt werden kann. Dabei lassen sich baumbasierte Algebren wie zum Beispiel TAX von Jagadish et al. [JLST01] beziehungsweise TLC von Paparizos et al. [PWLJ04] und tupelbasierte Algebren wie zum Beispiel NAL von Brantner et al. [BHKM05] unterscheiden [Mat07b]. Zwischen diesen beiden Forschungsbereichen gibt es derzeit nur sehr wenige Berührungspunkte. Für die erfolgreiche Entwicklung eines kostenbasierten Anfrageoptimierers müssen diese beiden Bereiche aber eng zusammenarbeiten. Erste Ansätze zur Zusammenführung dieser Bereiche wurden von Mathis mit NAL STJ [Mat07b] und von Michiels et al. [MMS07] vorgestellt. Bei der tupelbasierten Algebra NAL STJ wird ein physischer Structural-Join-Operator als logischer Operator in die Algebra eingeführt. Dagegen wird beim Ansatz von Michiels et al. ein physischer Operator zur Verarbeitung von Baummustern (engl. tree pattern) in die logische Algebra integriert. Mit diesen Ansätzen wurde eine Brücke zwischen der logischen und der physischen Ebene der Anfrageverarbeitung geschlagen und der Weg für eine kostenbasierte Optimierung von XQuery/XPath-Anfragen bereitet. Im nächsten Schritt muss dieser Weg weiter gefestigt werden, so dass ein durchgängiger Prozess beschrieben werden kann, beginnend beim Empfang und der Übersetzung der Anfrage, über die kostenbasierte Anfrageoptimierung reichend, bis hin zu einem fertigen Anfrageausführungsplan. 1.2 Zielsetzung der Arbeit In dieser Arbeit werden Konzepte zur Anfrageauswertung in nativen XML-Datenbankverwaltungssystemen untersucht. Das Hauptaugenmerk liegt dabei auf der Plangenerierung. Der Plangenerator bildet eine der Hauptkomponenten eines kostenbasierten Anfrageoptimierers. Dieser bewertet die ihm vorliegenden Anfragepläne anhand von statistischen Informationen und wählt den günstigsten Plan zur Ausführung aus. Dazu wird ein XML-Anfragegraphmodell (XAGM) als neue Interndarstellung einer XQuery/XPath-Anfrage vorgestellt, das die Ideen von Mathis [Mat07b] und Michiels et al. [MMS07] hinsichtlich der Einbettung von physischen Operatoren in die logische Algebra aufgreift und erweitert. Das XAGM bildet die Grundlage für die Optimierungsphase der Anfrageverarbeitung in nativen XML-Datenbankverwaltungssystemen, bei der eine Anfragerestrukturierung und -transformation durchgeführt wird. Für das XAGM sollen eine Reihe von Restrukturierungsregeln definiert werden, die eine algebraische Optimierung der Anfragen unter Berücksichtigung von Implementierungsaspekten wie zum Beispiel der Verfügbarkeit von n-wege-verbund-operatoren ermöglichen. Des Weiteren sollen Regeln zur nicht-algebraischen Optimierung von Anfragegraphen definiert werden, wie zum Beispiel zur Vertauschung der Verbundreihenfolgen. Anschließend soll eine Abbildung der logischen Operatoren des XAGM auf physische Planoperatoren beschrieben werden. 1.3 Die Test-Umgebung An der Technischen Universität Kaiserslautern wird derzeit der XML Transaction Coordinator (XTC) als Prototyp eines nativen XML-Datenbankverwaltungssystems entwickelt [Hau06, HH07].

15 1.3. Die Test-Umgebung 3 Abbildung 1.1: Die Architektur des XML Transaction Coordinator In Abbildung 1.1 ist die Architektur des XTC-Server dargestellt [HH07]. Der Aufbau orientiert sich am Schichtenmodell für datenunabhängige Datenbanksysteme, das von Härder und Reuter vorgeschlagen wurde [HR83a]. Die untersten beiden Schichten werden durch die so genannten File Services und die Propagation Control gebildet. Diese beiden Schichten sind für die Verwaltung des Externspeichers und der Datenbank-Puffer zuständig, dabei werden bewährte und effiziente Verfahren aus dem Bereich der relationalen Datenbanksysteme wiederverwendet [HH07]. Da für die Datenbank-Puffer eine Vielzahl an Verdrängungsstrategien zur Verfügung stehen, kann abhängig von der aktuellen Arbeitslast des Systems ein geeignetes Verfahren ausgewählt werden (vgl. ebd.). Der Transaction Manager ist für die Transaktionsverwaltung zuständig. Er ermöglicht das physiologische Logging von Datenbank-Operationen, um die Wiederherstellung eines konsistenten Systemzustandes nach einem Crash zu gestatten (vgl. ebd.). Die unteren beiden Schichten sind insgesamt für die Sicherstellung der Atomarität und der Dauerhaftigkeit des ACID-Paradigmas [HR83b] zuständig. Im Gegensatz dazu muss die Sicherstellung der Konsistenz und der Isolation auf höheren Ebenen des Schichtenmodells erfolgen. Die dritte Schicht bilden die so genannten Access Services, die für die satzorientierte Verarbeitung zuständig sind. In dieser Schicht befinden sich verschiedene Indexstrukturen wie zum Beispiel der so genannte Dokument-Index oder der Element-Index, die für den effizienten Zugriff auf ein XML-Dokument beziehungsweise auf dessen Element-Knoten zuständig sind [HH07]. In der vierten Schicht des XTC-Server werden Operationen für die knotenorientierte Verarbeitung zur Verfügung gestellt, so dass die fünf DOM-Achsen (parent, previous-sibling, followingsibling, first-child und last-child) zur Navigation verwendet werden können. Auf dieser Ebene befindet sich auch der Lock Manager, der für die Transaktionsisolation zuständig ist und bei einer

16 4 Kapitel 1. Einleitung nebenläufigen Verarbeitung mehrerer Transaktionen einen logischen Einbenutzerbetrieb gewährleistet (vgl. ebd. und [HR01]). Für die vorliegende Arbeit ist die fünfte Schicht des XTC-Server die so genannten XML Processing Services von großem Interesse. In dieser Schicht befindet sich die Komponente zur Auswertung von XQuery/XPath-Anfragen. Der XML-Manager stellt verschiedene Schnittstellen zum Zugriff und zur Verarbeitung von XML-Dokumenten zur Verfügung, wie zum Beispiel SAX, DOM, XPath und XQuery [HH07]. Schließlich können Anwendungsprogramme mit Hilfe der Interface Services über verschiedene Schnittstellen auf XML-Dokumente zugreifen und diese auch teilweise verändern (vgl. ebd.). 1.4 Gliederung der Arbeit Kapitel 2 stellt die Grundlagen der Anfrageverarbeitung in Datenbanksystemen vor. Die dort eingeführten Konzepte (zum Beispiel die Plangenerierung) können sowohl bei der Anfrageverarbeitung in relationalen Datenbankverwaltungssystemen als auch in nativen XML-Datenbankverwaltungssystemen eingesetzt werden. Kapitel 3 beschreibt die Grundlagen der XML-Anfragesprache XQuery. Der erste Teil stellt zunächst das XML-Datenmodell vor und führt grundlegende Begriffe ein, wie zum Beispiel die Wohlgeformtheit eines XML-Dokuments. Danach wird die XML-Anfragesprache XQuery und das zugehörige Datenmodell beschrieben. Abschließend geht Kapitel 3 auf die verschiedenen Anwendungsbereiche von XQuery ein. Kapitel 4 gibt einen Überblick über die logische Natix-Algebra (NAL) und ihre Erweiterung NAL STJ. Im ersten Teil wird beschrieben, wie sich XQuery/XPath-Ausdrücke in eine entsprechende NAL-Repräsentation übersetzen lassen. Der zweite Teil zeigt, wie ein logischer struktureller Verbund in die Natix-Algebra eingeführt werden kann und welche Konsequenzen sich dadurch für die Anfrageverarbeitung ergeben. In Kapitel 5 werden die zwei großen Klassen von physischen Pfadverarbeitungsoperatoren Structural-Join- und Holistic-Twig-Join-Operatoren sowie vier verschiedene Klassen von XML- Indexstrukturen vorgestellt. Aufbauend auf den beiden vorhergehenden Kapiteln 4 und 5 diskutiert Kapitel 6 das XML- Anfragegraphmodell (XAGM) als Vermittler zwischen der logischen und der physischen Ebene der Anfrageverarbeitung. Dazu beschreibt zunächst der erste Teil das XAGM-Datenmodell. Anschließend wird gezeigt, wie sich NAL STJ -Ausdrücke auf eine Folge von XAGM-Operatoren abbilden lassen. Nach der Definition von Regeln zur Restrukturierung von XAGM-Anfragegraphen diskutiert der letzte Teil, wie sich diese mit Hilfe einer Folge von physischen Planoperatoren auswerten lassen. Kapitel 7 skizziert den Aufbau einer Komponente zur Anfrageauswertung für die in Abschnitt 1.3 beschriebene Test-Umgebung. Ferner wird ein generischer Mustererkenner vorgestellt, mit dessen Hilfe sich die verschiedenen Transformationen effizient realisieren lassen, die während der Anfrageverarbeitung durchgeführt werden müssen. Dabei wird die Voraussetzung für die Anwendbarkeit einer Regel deklarativ durch ein Baummuster beschrieben, so dass der Entwickler lediglich die eigentliche Transformation durch geeigneten Programmcode prozedural beschreiben muss. Kapitel 8 fasst den Inhalt dieser Diplomarbeit zusammen und gibt einen Ausblick auf die zukünftige Arbeit in diesem Bereich.

17 Kapitel 2 Plant das Schwierige da, wo es noch leicht ist. Tut das Große da, wo es noch klein ist. Alles Schwere auf Erden beginnt stets als Leichtes. Alles Große auf Erden beginnt stets als Kleines. Laotse (6. Jhd. v. Chr) Anfrageverarbeitung in Datenbanksystemen In diesem Kapitel werden die Grundlagen der Anfrageverarbeitung in Datenbanksystemen vorgestellt. Zunächst beschreibt Abschnitt 2.1 die Konzepte, die sowohl relationale als auch native XML-Datenbanksysteme gemeinsam haben. In Abschnitt 2.2 werden die drei Phasen der Anfrageverarbeitung (Analyse, Optimierung und Codegenerierung) betrachtet. Abschließend beschreibt Abschnitt 2.3 die verschiedenen Verfahren zur Plangenerierung. 2.1 Grundlagen der Anfrageverarbeitung Die Komponente zur Anfrageverarbeitung gehört zu den wichtigsten Bestandteilen moderner Datenbanksysteme, deren Güte unmittelbaren Einfluss auf die Leistungsfähigkeit des gesamten Datenbanksystems hat [JK84, KRB85]. Betrachtet man das von Härder und Reuter vorgeschlagene Schichtenmodell für datenunabhängige Datenbanksysteme [HR83a], so lässt sich die Anfrageverarbeitung der Schicht der logischen Datenstrukturen zuordnen [HR01]. Die Komponente zur Anfrageverarbeitung sieht sich mit komplexen Anfragen im Sinne von Graefe [Gra93] konfrontiert. Darunter versteht man Anfragen, die zur Auswertung einer Vielzahl verschiedener Algorithmen bedürfen und auf sehr großen Datenbeständen ausgewertet werden müssen. Ferner bildet die Anfrageverarbeitung die Brücke zwischen den Anfragesprachen wie zum Beispiel SQL bei relationalen Datenbanksystemen und XQuery/XPath bei nativen XML- Datenbanksystemen und den Schichten unterhalb der logischen Datenstrukturen bis hin zum Dateisystem [Gra93, HR01]. Bei der Anfrageverarbeitung lassen sich grob zwei Aufgaben unterscheiden: Anfrageoptimierung (engl. query optimization) und Anfrageausführung (engl. query execution). Dabei übersetzt der Anfrageoptimierer eine Anfrage in mehreren Schritten in eine Reihe von physischen Planoperatoren, die anschließend von der Komponente zur Anfrageausführung ausgeführt werden. Das Ziel der Anfrageoptimierung ist das Auffinden eines Anfrageausführungsplans (engl. query execution plan), der die wichtigsten Leistungsmaße (zum Beispiel E/A-Aufwand oder Antwortzeit des Systems) minimiert [Gra93]. Eine vollständige Komponente zur Anfrageverarbeitung besteht aus einer Sammlung von Operatoren und Verfahren, die zur Auswertung von komplexen Anfragen herangezogen werden können. Zusammengenommen bilden diese so genannten Planoperatoren die physische Algebra des Datenbanksystems, welche äquivalent zur logischen Algebra ist. Die logische Algebra orientiert sich deutlich stärker am Datenmodell des Datenbanksystems und bestimmt, welche Anfragen damit ausgedrückt werden können. Im Gegensatz dazu ist die physische Algebra systemspezifisch; das 5

18 6 Kapitel 2. Anfrageverarbeitung in Datenbanksystemen bedeutet, dass verschiedene Datenbanksysteme, die sich auf das gleiche Datenmodell stützen, zwar über die gleiche logische Algebra verfügen können, sich aber unterschiedlicher physischer Algebren bedienen können. Ein weiterer wichtiger Unterschied zwischen logischen und physischen Algebren ist die Tatsache, dass Auswertungsalgorithmen nur physischen Operatoren zugeordnet sind, so dass nur für physische Operatoren Kostenfunktionen ermittelt werden können [Gra93]. Bei der Abbildung von logischen auf physische Operatoren lassen sich vier Fälle unterscheiden [Gra93]: Erstens kann ein physischer Operator mehrere logische Operatoren implementieren. Zum Beispiel könnte ein physischer Join-Operator zusätzlich Projektionen und Selektionen unterstützen. Zweitens kann ein physischer Operator nur einen Teil eines logischen Operators implementieren. So deckt ein physischer Operator zur Duplikateliminierung nur die zweite Hälfte eines logischen Projektionsoperators ab. Drittens gibt es physische Operatoren, die nicht in der logischen Algebra existieren. So ist ein Sortierungsoperator in der Relationenalgebra nicht vorhanden, da deren Operatoren auf Mengen arbeiten, auf denen per Definition keine Ordnungsrelation definiert ist. Viertens gibt es Eigenschaften von logischen Operatoren, die für physische Operatoren nur teilweise oder gar nicht gelten. Beispielsweise sind Mengenoperationen wie die Vereinigung oder der Durchschnitt aus Sicht der logischen Algebra vollständig symmetrisch und kommutativ. Aus Implementierungssicht der physischen Algebra werden beide Eingaben aber nicht zwingend gleichbehandelt [Gra93]. Das Ziel der Anfrageverarbeitung ist die Abbildung von logischen auf physische Operatoren. Die Komponente zur Anfrageausführung ist für die Ausführung der physischen Operatoren und für die Kommunikation zwischen diesen Operatoren sowie für die Koordination unter den Operatoren zuständig. Bei der Implementierung von physischen Operatoren lassen sich drei Basis-Funktionen unterscheiden, die jeder Operator zur Verfügung stellt: Zunächst initialisiert die open-funktion den Operator. Anschließend liefert der Operator mittels der next-funktion die Anfrageergebnisse zurück. Nachdem keine Ergebnisse mehr erzeugt werden können, wird der Operator mit Hilfe der close-funktion außer Dienst gestellt [Gra93]. (a) Linkstiefer Anfragegraph (b) Buschiger Anfragegraph (c) Rechtstiefer Anfragegraph Abbildung 2.1: Übersicht der verschiedenen Klassen von Anfragegraphen Da es sich bei Anfragegraphen um Algebra-Ausdrücke handelt, können diese als Bäume dargestellt werden. Dabei lassen sich drei prototypische Formen von Anfragebäumen unterscheiden, die zur Klassifizierung der Anfrageausführungskomponente benutzt werden können [GD87]. In Abbildung 2.1 sind die drei verschiedenen Varianten dargestellt [Gra93]: Linkstiefe Anfragegraphen (engl. left-deep plans) und rechtstiefe Anfragegraphen (engl. right-deep plans) unterscheiden sich grundsätzlich voneinander, da beispielsweise Join-Algorithmen die beiden Eingabeströme auf unterschiedliche Art und Weise verwenden. Zum Beispiel iteriert die äußere Schleife des Nested- Loops-Join-Algorithmus [BE76] über die Eingabe (linkes Kind) und die innere Schleife iteriert über die andere Eingabe. Die Klasse der buschigen Anfragegraphen (engl. bushy plans) umfasst sowohl links- als auch rechtstiefe Anfragegraphen. Der Anfrageoptimierer des ersten relationalen Datenbanksystems System R gestattete nur die Verarbeitung von linkstiefen Bäumen [ABC + 76, Gra93],

19 2.2. Die drei Phasen der Anfrageverarbeitung 7 so dass bei diesem System das Verfahren der dynamischen Programmierung [CLRS01] zur Plangenerierung eingesetzt werden konnte. Zwischen der Verwendung von linkstiefen und buschigen Anfragegraphen besteht ein Spannungsverhältnis zwischen der Einschränkung des Suchraums des Anfrageoptimierers und einer höheren Flexibilität beziehungsweise Effizienz bei einigen Anfragen [Gra93]. 2.2 Die drei Phasen der Anfrageverarbeitung Abbildung 2.2: Die Schritte der Anfrageverarbeitung Nach Mitschang werden während der Anfrageverarbeitung drei Phasen durchlaufen [Mit95]: Analyse, Optimierung und Codegenerierung. Abbildung 2.2 zeigt die einzelnen Schritte der drei Phasen im zeitlichen Verlauf [Mit95] Anfrageanalyse Während der Anfrageanalyse wird zunächst eine lexikalische und syntaktische Analyse durchgeführt. Dabei wird die Anfrage, die als Zeichenkette vorliegt, hinsichtlich der syntaktischen Korrektheit untersucht [Mit95, HR01]. Die semantische Analyse überprüft anschließend, ob alle referenzierten Objekte (zum Beispiel das XML-Dokument, gegen das die Anfrage ausgewertet werden soll) und Attribute vorhanden sind. Außerdem werden die vom Benutzer übergebenen Namen auf

20 8 Kapitel 2. Anfrageverarbeitung in Datenbanksystemen eine interne Namensrepräsentation abgebildet [HR01]. Der nächste Schritt der Analysephase bildet die Zugriffs- und Integritätskontrolle, in der möglichst früh die zur Anfrageauswertung benötigten Zugriffsrechte des Anwenders überprüft werden. Bei der Standardisierung werden die Selektionsprädikate einer Anfrage entweder in die disjunktive oder die konjunktive Normalform überführt [JK84]. Um die Anfrageauswertung zu beschleunigen, werden während der Vereinfachungsphase redundante Ausdrücke in Selektionsprädikaten entfernt. Außerdem können hier bereits nichterfüllbare Prädikate identifiziert werden, so dass die Anfrageauswertung sofort abgebrochen werden kann, wenn festgestellt wird, dass die Anfrage kein Ergebnis liefert [HR01]. Das Ergebnis der Analysephase ist ein Anfragegraph (engl. query graph), der als Eingabe für den Anfrageoptimierer dient [Mit95, HR01] Anfrageoptimierung Bei der Anfrageoptimierung lassen sich zwei Arten von Ansätzen unterscheiden: Top-down- und Bottom-up-Ansätze [JK84]. Im Bereich der relationalen Datenbanksysteme wurden zu Beginn der Forschungsaktivitäten in diesem Bereich Bottom-up-Ansätze verfolgt. Dabei wurden zunächst effiziente Implementierungen wichtiger Operatoren und Auswertungsstrategien für interessante Teilklassen von Anfragen erforscht. Es zeigte sich allerdings sehr schnell, dass dieses Vorgehen Systeme mit unzureichender Leistungsfähigkeit hervorbrachte [JK84]. Aus diesem Grund verfolgt man seit einigen Jahren einen Top-down-Ansatz, der sich in vier Phasen unterteilen lässt [JK84]: 1. Entwicklung einer Interndarstellung, auf die Anfragen leicht abgebildet werden können 2. Anwendung von logischen Transformationen zur Standardisierung, Vereinfachung und Anfragerestrukturierung 3. Abbildung der transformierten Anfrage auf eine Menge von Anfrageausführungsplänen 4. Berechnung der Kosten für jeden Anfrageausführungsplan und Ausführung des günstigsten Anfrageausführungsplans. Ibaraki und Kameda [IK84] haben bereits 1984 gezeigt, dass es sich bei der Anfrageoptimierung um ein NP-vollständiges Problem handelt. Außerdem sind selten zuverlässige statistische Daten über die Datenbanken vorhanden, so dass bei der Anfrageoptimierung auf verschiedene Heuristiken zurückgegriffen werden muss [JK84]. Bedeutende Ansätze zur Anfrageoptimierung [SAC + 79] lassen sich bis zum ersten relationalen Datenbanksystem System R [ABC + 76] zurückverfolgen, welches bereits in den frühen 70er Jahren des vergangenen Jahrhunderts im Almaden-Forschungslabor der Firma IBM entwickelt wurde [Cha98]. Nach erfolgreichem Abschluss der Analysephase (vgl. Abschnitt 2.2.1) könnte aus dem Anfragegraphen ein beliebiger gültiger Anfrageausführungsplan abgeleitet werden. Dieses Vorgehen hat den entscheidenden Nachteil, dass bei diesem Vorgehen oft ungünstige Operatorfolgen entstehen, die insgesamt zu einer ineffizienten Anfrageauswertung führen [HR01]. Aus diesem Grund werden vor der eigentlichen Erzeugung des Anfrageausführungsplans eine Reihe von Transformationen durchgeführt (vgl. ebd.). Währen der Optimierungsphase werden folgende Schritte durchlaufen: Anfragerestrukturierung und Anfragetransformation [Mit95, HR01]. Während der Anfragerestrukturierungsphase wird eine so genannte algebraische Optimierung durchgeführt. Dabei werden eine Reihe von Heuristiken angewendet, um zum Beispiel eine auf logischer Ebene möglichst günstige Operatorreihenfolge oder eine Minimierung der Größe von Zwischenergebnissen zu erreichen. Nachfolgend werden beispielhaft einige Heuristiken zur Anfragerestrukturierung aufgeführt [HR01]:

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

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

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

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

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

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

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

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

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig? Pädagogik Melanie Schewtschenko Eingewöhnung und Übergang in die Kinderkrippe Warum ist die Beteiligung der Eltern so wichtig? Studienarbeit Inhaltsverzeichnis 1. Einleitung.2 2. Warum ist Eingewöhnung

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

Skript Pilotphase em@w für Arbeitsgelegenheiten

Skript Pilotphase em@w für Arbeitsgelegenheiten Die Pilotphase erstreckte sich über sechs Meilensteine im Zeitraum August 2011 bis zur EMAW- Folgeversion 2.06 im August 2013. Zunächst einmal musste ein grundsätzliches Verständnis für das Verfahren geschaffen

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

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

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

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

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

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

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

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

Vorkurs Informatik WiSe 15/16

Vorkurs Informatik WiSe 15/16 Konzepte der Informatik Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 16.10.2015 Technische Universität Braunschweig, IPS Inhaltsverzeichnis Suchen Binärsuche Binäre Suchbäume 16.10.2015 Dr. Werner

Mehr

HTML5. Wie funktioniert HTML5? Tags: Attribute:

HTML5. Wie funktioniert HTML5? Tags: Attribute: HTML5 HTML bedeutet Hypertext Markup Language und liegt aktuell in der fünften Fassung, also HTML5 vor. HTML5 ist eine Auszeichnungssprache mit der Webseiten geschrieben werden. In HTML5 wird festgelegt,

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

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

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

Mehr

Präsentation zum Thema XML Datenaustausch und Integration

Präsentation zum Thema XML Datenaustausch und Integration Sebastian Land Präsentation zum Thema XML Datenaustausch und Integration oder Warum eigentlich XML? Gliederung der Präsentation 1. Erläuterung des Themas 2. Anwendungsbeispiel 3. Situation 1: Homogene

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme.

Favoriten sichern. Sichern der eigenen Favoriten aus dem Webbrowser. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Favoriten sichern Sichern der eigenen Favoriten aus dem Webbrowser zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 20 Inhaltsverzeichnis Einleitung... 3 Mozilla Firefox...

Mehr

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Beschreibung des MAP-Tools

Beschreibung des MAP-Tools 1. Funktionen des MAP-Tool 2. Aufbau des MAP-Tools 3. Arbeiten mit dem MAP-Tool Beschreibung MAP-Tool.doc Erstellt von Thomas Paral 1 Funktionen des MAP-Tool Die Hauptfunktion des MAP-Tools besteht darin,

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

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

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

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK

Informatik-Sommercamp 2012. Mastermind mit dem Android SDK Mastermind mit dem Android SDK Übersicht Einführungen Mastermind und Strategien (Stefan) Eclipse und das ADT Plugin (Jan) GUI-Programmierung (Dominik) Mastermind und Strategien - Übersicht Mastermind Spielregeln

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

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

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

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

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

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

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

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Multicheck Schülerumfrage 2013

Multicheck Schülerumfrage 2013 Multicheck Schülerumfrage 2013 Die gemeinsame Studie von Multicheck und Forschungsinstitut gfs-zürich Sonderauswertung ICT Berufsbildung Schweiz Auswertung der Fragen der ICT Berufsbildung Schweiz Wir

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz

Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Anwendungshandbuch Vorgaben und Erläuterungen zu den XML-Schemata im Bahnstromnetz Version: 1.0 Herausgabedatum: 31.07.2015 Ausgabedatum: 01.11.2015 Autor: DB Energie http://www.dbenergie.de Seite: 1 1.

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

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

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

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung

1 Einleitung. 1.1 Motivation und Zielsetzung der Untersuchung 1 Einleitung 1.1 Motivation und Zielsetzung der Untersuchung Obgleich Tourenplanungsprobleme zu den am häufigsten untersuchten Problemstellungen des Operations Research zählen, konzentriert sich der Großteil

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36 XML und Datenbanken Wintersemester 2003/2004 Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36 Übung: Dienstag, 15:15-16:00 Uhr IFW A36 Dozenten: Dr. Can Türker IFW C47.2 Email: WWW: tuerker@inf.ethz.ch http://www.dbs.ethz.ch/~xml

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

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

WAS finde ich WO im Beipackzettel

WAS finde ich WO im Beipackzettel WAS finde ich WO im Beipackzettel Sie haben eine Frage zu Ihrem? Meist finden Sie die Antwort im Beipackzettel (offiziell "Gebrauchsinformation" genannt). Der Aufbau der Beipackzettel ist von den Behörden

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

Datenstrukturen und Algorithmen

Datenstrukturen und Algorithmen Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Überprüfung der digital signierten E-Rechnung

Überprüfung der digital signierten E-Rechnung Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,

Mehr

Klaus Schild, XML Clearinghouse 2003. Namensräume

Klaus Schild, XML Clearinghouse 2003. Namensräume Namensräume Lernziele Namenskonflikte Warum lösen im World Wide Web einfache Präfixe dieses Problem nicht? Wie lösen globale Namensräume das Problem? Wie werden sie in XML-Dokumenten benutzt? Was sind

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

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

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

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

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

AZK 1- Freistil. Der Dialog Arbeitszeitkonten Grundsätzliches zum Dialog Arbeitszeitkonten AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen

Mehr

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch

Einfache und effiziente Zusammenarbeit in der Cloud. EASY-PM Office Add-Ins Handbuch Einfache und effiziente Zusammenarbeit in der Cloud EASY-PM Office Add-Ins Handbuch Inhaltsverzeichnis 1. Einführung... 3 2. Ribbonmenü... 4 3. Dokument... 5 3.1 Öffnen... 5 3.2 Speichern... 6 3.3 Speichern

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Anlegen eines DLRG Accounts

Anlegen eines DLRG Accounts Anlegen eines DLRG Accounts Seite 1 von 6 Auf der Startseite des Internet Service Centers (https:\\dlrg.de) führt der Link DLRG-Account anlegen zu einer Eingabemaske, mit der sich jedes DLRG-Mitglied genau

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

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5

Systemen im Wandel. Autor: Dr. Gerd Frenzen Coromell GmbH Seite 1 von 5 Das Management von Informations- Systemen im Wandel Die Informations-Technologie (IT) war lange Zeit ausschließlich ein Hilfsmittel, um Arbeitsabläufe zu vereinfachen und Personal einzusparen. Sie hat

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

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

3. GLIEDERUNG. Aufgabe:

3. GLIEDERUNG. Aufgabe: 3. GLIEDERUNG Aufgabe: In der Praxis ist es für einen Ausdruck, der nicht alle Detaildaten enthält, häufig notwendig, Zeilen oder Spalten einer Tabelle auszublenden. Auch eine übersichtlichere Darstellung

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr