Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung

Größe: px
Ab Seite anzeigen:

Download "Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung"

Transkript

1 Einführung in Datenbanken - XML - Philipp Cimiano AG Semantische Datenbanken und Wissensverarbeitung 1

2 XML XML steht für die extensible Markup Language (XML) XML ist eine sogenannte Markup-Sprache (wie HTML und SGML) und wurde entwickelt, um zusätzlich zum eigentlichen Inhalt eines Dokumentes Meta-Informationen zu speichern. 2

3 Markup-Sprachen Die meisten Markup-Sprachen verwenden Tags: <tag> Das ist ein Text </tag> Das ist der Fall in: XML (Extensible Markup Language) HTML (Hypertext-Markup Language) SGML (Standard Generalized Markup Language) 3

4 Beispiel HTML <html> <head> <title>webseite zur Vorlesung Datenbanken (WS09/10)</title> </head> <body> <p align="left > <h1> Vorlesung Datenbanken (WS09/10) <br> Universität Bielefeld<br> Prof. Philipp Cimiano</h1> Zeit: Donnerstags, 14:00-16:00 <br> Raum: H3<br> <br> Die erste Vorlesung findet am statt. <br> <font color="#990000"> Die Prüfung findet am 19. Februar 2010 um 10:00 statt! </font> 4

5 Unterschiede zwischen XML und HTML HTML hat ein festes (Tag-) Vokabular, während wir in XML beliebige Tags definieren und verwenden können. XML wird vorwiegend für den Datenaustausch eingesetzt; dafür ist HTML nicht geeignet. HTML ist eine Formattierungssprache 5

6 Beispiel für ein XML Dokument zur Datenrepräsentation 6 <bank> <account> <account_number> A-101 </account_number> <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> <account> <account_number> A-102 </account_number> <branch_name> Brighton </branch_name> <balance> 900 </balance> </account> (...) </bank>

7 Datenaustausch In vielen Anwendungen möchten verschiedene Parteien Daten austauschen. Daten in einer Datenbank können schlecht ausgetauscht werden. Austausch in Form von Daten in Textform ist fehleranfällig. 7

8 XML für den Datenaustausch Folgende Eigenschaften machen XML geeignet als Sprache für den Datenaustausch: Selbsterklärend: Tags dokumentieren die Bedeutung der Daten Flexibilität: die Struktur eines XML-Dokumentes ist flexibel, es können z.b. zusätzliche Tags eingeführt werden ohne dass das Dokument korrumpiert ist. Die Gegenseite muss andererseits nicht alle Tags verarbeiten können. Die Tags können also auch einfach ignoriert werden. Komplexität: XML erlaubt beliebig komplexe Strukturen durch Einbettung: verschiedene Relationen können z.b. in ein Dokument gepackt werden. Standard: XML ist weitgehend akzeptiert als Standard für den Datenaustausch und es gibt genügend Tool-Unterstützung. 8

9 Bemerkungen zu XML Die Parteien, die Informationen austauschen wollen, müssen sich natürlich auf bestimmte Tags und ihre Bedeutung einigen. Die Repräsentation in XML ist nicht immer kompakt da die Attributnamen öfters wiederholt werden müssen. Genauso wie SQL der de facto -Standard für die Datenabfrage ist, ist XML der de facto -Standard für den Datenaustausch. 9

10 Struktur eines XML Dokumentes: Elemente Ein XML Dokument besteht aus sogenannten Elementen. Ein Element ist im Wesentlichenein Paar eines öffnenden und schließenden Tags zusammen mit dem beinhalteten Text. Das folgende ist z.b. ein Element: <account_number> A-101 </account_number> 10

11 Struktur eines XML Dokumentes: Attribute XML erlaubt auch die Spezifikation von Attributen. Attribute werden als Name/Wert-Paare innerhalb von Tags angegeben: <Tag A_Name= Wert > <Text> </Tag> 11

12 Beispiel für Attribute Beispiel: wir können Attribute nutzen um den Kontotyp anzugeben: <account account_number= A-101 > <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> 12

13 Namespaces in XML Ein weiterer wichtiger Bestandteil von XML sind die sogenannten Namensräume (engl. Namespaces). Namespaces sind eindeutige Identifier, die als Prefix von Tag-Bezeichnern zu verstehen sind und damit Tags eindeutig machen. Sie identifizieren z.b. eine Organisation. Das verhindert z.b. dass andere Parteien Tags mit gleichem Namen aber ganz anderer Bedeutung verwenden. Die Namensräume werden in dem Wurzel-Element des XML-Dokumentes eingeführt. 13

14 Verwendung von Namensräumen in unserem Beispiel 14 <bank xmlns:bank= > <bank:account> <bank:account_number> A-101 </bank:account_number> <bank:branch_name> Downtown </bank:branch_name> <bank:balance> 500 </bank:balance> </bank:account> <bank:account> <bank:account_number> A-102 </bank:account_number> <bank:branch_name> Brighton </bank:branch_name> <bank:balance> 900 </bank:balance> </bank:account> (...) </bank>

15 XML Document Schemas Datenbanken haben meistens ein festes Schema mit Beschränkungen hinsichtlich der Datentypen der gespeicherten Information. XML Dokumente können ohne ein bestimmtes Schema erzeugt werden. Diese Flexibilität von XML ist in vielen Fällen von Vorteil. In anderen Fällen möchte man die Struktur der Dokumente näher beschreiben, besonders wenn XML Dokumente automatisch verarbeitet werden sollen. 15

16 XML Document Schemas Es gibt im Wesentlichen zwei Formate um das Schema eines XML Dokumentes zu definieren: Document Type Definition (DTD) XML Schema Wir besprechen im Folgenden die beiden Ansätze. 16

17 Document Type Definition (DTD) Die sogenannte Document Type Definition (DTD) ist ein optionaler Bestandteil eines XML Dokumentes. Eine DTD definiert im Wesentlichen die gültigen Elemente, Attribute und Subelemente eines XML Dokuments. 17

18 DTD am Beispiel <!DOCTYPE bank [ ] > <!ELEMENT bank ((account customer depositor)+) > <!ELEMENT account (account_number branch_name balance)> <!ELEMENT customer (customer_name customer_street customer_city)> <!ELEMENT depositor (customer_name account_number)> <!ELEMENT account_number (#PCDATA)> <!ELEMENT branch_name (#PCDATA)> <!ELEMENT balance (#PCDATA) > <!ELEMENT customer_name (#PCDATA)> <!ELEMENT customer_street (#PCDATA)> <!ELEMENT customer_city (#PCDATA)> 18

19 DTD am Beispiel <!DOCTYPE bank [ <!ELEMENT bank ((account customer depositor)+) > bank ist ein Element mit beliebig vielen (+) aber mindestens einem der folgenden Subelemente: account, customer oder depositor. Es wird also eine ähnliche Syntax verwendet wie wir sievon regulären Ausdrücken her kennen: steht für oder + steht für ein oder beliebig viele 19

20 DTD am Beispiel <!DOCTYPE bank [... <!ELEMENT account (account_number branch_name balance)> account ist ein Element mit den folgenden Subelementen (in genau der Reihenfolge): account_number, branch_name und balance. 20

21 DTD am Beispiel <!DOCTYPE bank [... <!ELEMENT customer (customer_name customer_street customer_city)> <!ELEMENT depositor (customer_name account_number)> customer und depositor sind änhlich zu account definiert. 21

22 DTD am Beispiel 22 <!DOCTYPE bank [... <!ELEMENT account_number (#PCDATA)> <!ELEMENT branch_name (#PCDATA)> <!ELEMENT balance (#PCDATA) > <!ELEMENT customer_name (#PCDATA)> <!ELEMENT customer_street (#PCDATA)> <!ELEMENT customer_city (#PCDATA)> Die obigen Elemente sind definiert als Typ #PCDATA (Parsed Character Data). Das ist der DTD Datentyp für Strings.

23 Definition von Attributen in der DTD Attribute eines Elementes werden in Form einer Attributliste definiert (ATTLIST). Die Syntax ist wie folgt: <! ATTLIST (<Element> <Attribute> <Type> (<Default- Value> #REQUIRED) )+> 23

24 Datentypen für Attribute Folgende Datentypen für Attribute sind in einer DTD erlaubt: CDATA: Attributwert enthält im wesentlichen Buchstaben und Ziffern (character data) ID: spezifiziert einen eindeutigen Wert (vergleichbar zu einem Schlüssel in rel. Datenbanken) IDREF: Fremdschlüssel auf einen Wert, der als Wert eines Attributs vom Type ID in einem anderen Element auftaucht. IDREFS: wie IDREF, erlaubt aber eine Liste von Fremdschlüsseln 24

25 Beispiel ID und IDREF <!ELEMENT account (branch_name balance)> <!ATTLIST account account_number ID #REQUIRED > owners IDREFS #REQUIRED 25

26 Probleme mit DTDs DTDs erlauben also die Spezifikation eines Schemas. Es gibt aber folgende Probleme mit DTDs: Textelemente (#PCDATA) oder Attribute (CDATA) können nicht näher typisiert werden. Bei Verwendung von ID und IDREF können wir nicht angeben, auf welchen Typ von Element sich der Verweis beziehen soll. In unserem Beispiel könnten wir von Account aus tatsächlich die ID von anderen Konten referenzieren. Das ist natürlich so nicht gewollt. Wir können keine beliebigen Kardinalitäten definieren. Um solche Probleme zu lösen wurde XML Schema eingeführt. 26

27 XML Schema XML Schemas werden im Gegensatz zu DTDs in XML selbst beschrieben. Dafür verwendet XML Schema den Namensraum: 27 XML Schema definiert auch einige Basis-Datentypen, wie z.b. string, integer, decimal (Zahl mit Nachkommastellen), date, boolean. Elemente mit Subelementen oder mit Attributen müssen in XML Schema als komplexe Datentypen definiert werden (complextype)

28 Beispiel XML Schema <xs:schma xmlns:xs= > <xs:element name= account > (...) <xs:complextype> <xs:sequence> <xs:element name= account number type= xs:string > <xs:element name= branch_name type= xs:string > <xs:element name= balance type= xs:decimal > </xs:sequence> </xs:complextype> </xs:schema> 28

29 minoccurs and maxoccurs Wir können auch Kardinalitäten mit XML Schema spezifizieren: <xs:complextype name= BankType > <xs:sequence> <xs:element ref= account minoccurs= 0, maxoccurs= unbounded > <xs:element ref= customer minoccurs= 0, maxoccurs= unbounded > <xs:element ref= depositor minoccurs= 0, maxoccurs= unbounded > </xs:sequence> </xs:complextype> 29

30 Definition von Schlüsseln Wir definieren account_number als Schlüssel von account wie folgt: <xs:key name= accountkey > <xs:selector xpath= /bank/account > <xs:field xpath= account_number > </xs:key> 30

31 Definition von Fremdschlüsselverweisen Wir definieren Element account_number im Element depositor als Fremdschlüsselverweis auf account wie folgt: <xs:keyref name= depositoraccountfkey refer= accountkey > <xs:selector xpath= /bank/depositor > <xs:field xpath= account_number > </xs:key> D.h. der Schlüssel accountkey muss natürlich vorher erzeugt werden (Folie 30). 31

32 Manipulation und Anfrage von XML Dokumenten Document Object Model (DOM) XPath XQuery XSLT 32

33 Document Object Model Das sogenannte Document Object Model (DOM) stellt uns eine Datenstruktur zur Verfügung, um XML Dokumente als Baum zu travesieren. Das DOM basiert im Wesentlichen auf Knoten. Knoten können sein: Elemente Texte (zwischen Element-Tags) Attribute usw. 33

34 Methoden auf Node; In Java wird ein Knoten im DOM Modell durch folgendes Interface realisiert: org.w3c.dom.node Dieses Interface hat die folgenden wichtigen Methoden: getchildnodes(): NodeList getnodetype(): short getnodename(): String getnodevalue(): String 34

35 Definition der Methoden getnodename, getnodetype und getnodevalue 35

36 DOM Tree für unser Beispiel bank Value=null account... #text Value= account_number branch_name balance #text #text #text Value= A-101 Value= Downtown Value=

37 DOM Tree in Java DocumentBuilderFactory domfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = domfactory.newdocumentbuilder(); Document doc = builder.parse("/users/cimiano/documents/teaching/databases/ data/accounts.xml"); // doc enthält dann das DOM Modell 37

38 Traversierung des DOM Trees; Wir können z.b. das Wurzelelement zurückliefern lassen: Node root = doc.getdocumentelement(); Wir können alle Element eines bestimmten Typs zurückliefern lassen: NodeList nodes = doc.getelementsbytagname("account"); Wir können uns alle Kinder eines Knotens zurückliefern lassen: NodeList children = node.getchildnodes(); 38

39 Übungen Schauen sie sich die folgenden Programme auf der Webseite an: DOMTreeOutput.java: Ausgabe des DOM Trees für unser Beispiel accounts.xml XMLQuery.java: Rückgabe aller Kontonummern durch Verwendung des DOM Trees (und XPath). Sie brauchen zur Ausführung dieser Programme den Xerces Parser: 39

40 XPath Wir können auch bestimmte Fragmente (Knoten) eines XML Baums mit Hilfe von Pfadausdrücken adressieren: Ein Pfadausdruck ist eine Sequenz von Elementen oder Attributen, getrennt durch /. 40 In unserem Beispiel können wir z.b. alle Elemente <balance> </balance> durch folgenden Ausdruck adressieren: /bank/account/balance. Wichtig: beim Auswerten eines Pfadausdrucks werden immer Knoten zurückgeliefert.

41 XPath (Beispiel) 41 Pfadausdrücke werden von links nach rechts evaluiert. Jeder Teilausdruck gibt eine geordnete Liste von Knoten zurück. Der Pfadausdruck /bank/account/account_number liefert folgendes zurück: <account_number> A-101 </account_number> <account_number> A-102 </account_number> <account_number> A-215 </account_number> <account_number> A-305 </account_number> <account_number> A-201 </account_number> <account_number> A-222 </account_number> <account_number> A-217 </account_number>

42 Xpath (Beispiel) Wir können natürlich auch direkt den Text adressieren, mit folgendem Pfadausdruck: /bank/account/account_number/text() Das Ergebnis ist dann: A-101 A-102 A-215 A-305 A-201 A-222 A

43 XPath in Java Um alle Kontonummern in accounts.xml mit Hilfe von XPath zu erhalten können wir wie folgt vorgehen: DocumentBuilderFactory domfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = domfactory.newdocumentbuilder(); Document doc = builder.parse("/users/cimiano/documents/teaching/databases/data/accounts.xml"); Document document = builder.parse( accounts.xml"); 43 XPath xpath = XPathFactory.newInstance().newXPath(); XPathExpression expr = xpath.compile("/bank//account_number/text()"); Object result = expr.evaluate(document, XPathConstants.NODESET); nodes = (NodeList) result; for (int i = 0; i < nodes.getlength(); i++) { System.out.println(nodes.item(i).getNodeValue()); } // siehe XMLQuery.java auf der Webseite

44 Xpath (Beispiel) Wir können auch bestimmte Bedingung einführen (ähnlich zu SELECT in der rel. Algebra und WHERE in SQL): /bank/account/[balance > 500]/balance/Text() Ergebnis: A-215 A-201 A-222 A

45 XPath In einem XPath Ausdruck kann man auch Knoten überspringen, z.b. /bank//account_number Liefert für unser Beispiel das selbe Ergebnis wie /bank/account/account_number 45

46 XQuery Für XML gibt es auch eine Anfragesprache ähnlich zu SQL. Diese Anfragesprache nennt sich XQuery und ist vom World Wide Web Consortium (W3C) standardisiert. Im W3C Jargon nennt man so ein Standard eine W3C Recommendation ( Die zu unserem ersten Pfadausdruck äquivalente XQuery- Anfrage sieht wie folgt aus: for $x in /bank/account/account_number return <account_number> {$x} </account_number> 46

47 Bemerkungen zu XQuery Eine XQuery Anfrage muss natürlich auch immer eine Liste von Knoten zurückliefern. Bei der Rückgabe müssen wir Ausdrücke, die ausgewertet werden sollen, in geschweifte Klammern einbetten. 47

48 Andere Konstrukte in XQuery Select in XML Attribute Ordnung Ausgabe des Unterbaums Joins 48

49 Select in XML Auch in XML können wir einen select durchführen, um z.b. nur die Knoten zu erhalten, die eine bestimmte Eigenschaft erfüllen. Bsp: wir selektieren alle Konten mit einem Saldo von über 400 Euro: for $x in /bank/account where $x/balance > 400 return <account_number> {$x/account_number}</account_number> 49

50 Attribute Wir können auch den Inhalt von gewissen Attributen selektieren. Nehmen wir an, die Kontonummer sei als ein Attribut des Elementes <account> modelliert: for $x in /bank/account return <account_number> </account_number> 50

51 Ordnung Wir können mit XQuery Ergebnisse auch anordnen: for $c in /bank/customer order by $c/customer_name return <customer> {$c/customer_name} </customer> 51

52 Ausgabe von Teilbäumen Wir können auch einfach den gesamten Teilbaum unter einem Element ausgeben: for $c in /bank/customer order by $c/customer_name return <customer> {$c/*} </customer> 52

53 Joins in XML Nehmen wir an, wir hätten ein Dokument mit Informationen zu Konten (<account>), Kunden (<customer>) und der Verbindung zwischen Kunden und Konten. Wir können einen Join wie folgt angeben in XQuery: for $a in /bank/account, $c in /bank/customer, $d in /bank/ depositor where $a/account_number = $d/account_number and $c/customer_name = $d/customer_name return <cust_acct> {$c $a} </cust_acct> 53

54 XSLT Die XML Stylesheet Language (XSL) war eigentlich als eine Sprache konzipiert, um XML Dokumente zu transformieren, z.b. in andere XML Dokumente oder in HTML. XSLT ist aber so mächtig, dass es im Prinzip auch als Anfragesprache für XML genutzt werden kann. XSL beinhaltet einen generischen Mechanismus, um XML Dokumente in andere Dokumente zu transformieren. Diesen Mechanismus nennen wir XSLT (XSL Transformations). 54

55 XSLT In XSLT können wir Schablonen (Templates) definieren, die zu bestimmten Teilen eines Dokumentes passen. Bsp: <xsl:template match= /bank/account > <xsl:value-of-select= customer_name > </xsl:template> Diese Schablone selektiert alle Element vom Typ Konto und gibt dann den Kundennamen (customer_name) aus (ohne Tags). 55

56 XSLT 56 Wichtig: Die Teile eines XML Dokumentes, die nicht zu einer definierten Schablone passen werden einfach so ausgegeben. Wenn wir das verhindern wollen, dann müssen wir eine Dummy -Schablone einführen, die auf alle Elemente passt und nichts ausgibt. Wir erweitern unser Beispiel also wie folgt: <xsl:template match= /bank/account > <xsl:value-of-select= customer_name > </xsl:template> <xsl:template match= */ >

57 XSLT Wichtig: jedes Element welches sich nicht im XSLT namespace befindet, wird genau so ausgegeben. z.b. <xsl:template match= /bank/account > <account> <xsl:value-of-select= account_number > </account> </xsl:template> <xsl:template match = * /> 57

58 Rekursion in XSLT 58 XML-Dokumente stellen im Wesentlichen einen Baum dar. Dementsprechend wollen wir mit XSL rekursiv Baumstrukturen aufbauen. Um das zu erreichen müssen wir unsere Schablonen rekursiv anwenden, um einen Baum aufzubauen. Das geht mit dem Konstrukt <xsl:applytemplates>. <xsl:template match= /bank > <accounts> <xsl:apply-templates> </account> </xsl:tempate>

59 Speicherung von XML Daten Wir wollen natürlich XML Dokumente auch persistent irgendwo speichern, um sie Anfragen zu können. Was für Möglichkeiten haben wir da? Speicherung als Dateien (Da haben wir die gleichen Nachteile wie in der ersten Vorlesung besprochen!) Speicherung in einer relationalen Datenbank Speicherung in einer nativen XML Datenbank 59

60 Speicherung von XML Daten in einer relationalen Datenbank Hier unterscheiden wir drei Möglichkeiten: 1. Speicherung als String 2. Explizite Repräsentation als Baum 3. Abbildung auf relationales Schema 4. Native Speicherung 60

61 Speicherung als String Hier gibt es folgende Alternativen: 1. Wir können das gesamte XML-Dokument als einen String in einem Tupel darstellen. 2. Wir können die Teilbäume der obersten Elemente als String darstellen. Allgemein ist die Speicherung als String suboptimal. Denn wir verlieren Struktur. Außerdem gibt es kein Schema und die Daten können nicht sinnvoll angefragt werden. 61

62 Speicherung als Baum Wir können auch explizit die Baumstruktur eines XML Dokumentes speichern in einer relationalen Datenbank. Dafür können wir z.b. folgende zwei Relationen verwenden: nodes(id,type,label,value) child(child_id,parent_id) 62

63 Beispiel Repräsentation als Baum <bank> <account> <account_number> A-101 </account_number> <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> <account> <account_number> A-102 </account_number> <branch_name> Brighton </branch_name> <balance> 900 </balance> </account> (...) </bank> Nodes: (bank_1, elem, bank,null) (account_1, elem, account,null) (account_number_1, elem, account_number,null) (text_1, #text, #text, A-101 )... Child: (bank_1,null) (account_1,bank_1) (account_number_1,account_1) (text_1,account_number_1) 63

64 Vorteile/Nachteile der Baumrepräsentation Vorteile: es können formale Anfragen ausgewertet werden (z.b. SQL) Nachteile: Die Anfragen können relativ komplex werden Es müssen sehr viele Joins ausgewertet werden. 64

65 Abbildung auf relationales Schema Wir erzeugen eine Relation für jedes Element und die entsprechenden Unterelemente: Für jedes Attribut führen wir ein Extra-Attribut (Spalte in einer Tabelle) ein. Wenn das Unterelement einfach ist (d.h. keine Attribute oder Unterelemente hat), dann führen wir ebenfalls ein Extra-Attribut (Spalte in der Tabelle) für jedes Unterelement ein. Wenn das Unterelement komplex ist, dann führen wir explizite IDs für jedes Unterelement ein und fahren mit den Unterelementen fort. 65

66 Beispiel für Abbildung auf ein relationales Schema <bank> <account> <account_number> A-101 </account_number> <branch_name> Downtown </branch_name> <balance> 500 </balance> </account> <account> <account_number> A-102 </account_number> <branch_name> Brighton </branch_name> <balance> 900 </balance> </account> (...) </bank> Bank (Account_ID): (A_101) (A_102) Account (Account_ID,Acc_Num,Branch,Balance) (A_101, A-101, Downtown,500) (A-102, A-102, Brighton, 900 ) 66

67 Native Speicherung Einige DBMS unterstützen mittlerweile einen Datentypen xml. Sie speichern XML Daten dann nicht relational ab, sondern verwenden eigens dafür vorhergesehene Datenstrukturen. Solche DMBS unterstützen auch XQuery direkt ohne Umweg über SQL. Einige DBMS erlauben auch die Kombination von relationalen mit XML Daten sowie das Schachteln von Anfragen, z.b. von XML Anfragen innerhalb von SQL Queries. 67

XML Schema vs. Relax NG

XML Schema vs. Relax NG XML Schema vs. Relax NG p. 1/2 XML Schema vs. Relax NG Semistrukturierten Daten 1 Präsentation der Gruppe 2 XML Schema vs. Relax NG p. 2/2 Wozu XML Schema? W3C Empfehlung zur Definition von XML-Dokumentstrukturen

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

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

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

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

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

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

Datenaustauschformate. Datenaustauschformate - FLV

Datenaustauschformate. Datenaustauschformate - FLV Datenaustauschformate FLV-Dateien CSV-Dateien XML-Dateien Excel-Dateien Access- Backupdateien Günter M. Goetz 108 Datenaustauschformate - FLV Fixed Length Values Repräsentation einer Tabelle als 'Flat-File'

Mehr

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de. Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object

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

IT-Zertifikat: Daten- und Metadatenstandards

IT-Zertifikat: Daten- und Metadatenstandards IT-Zertifikat: Daten- und Metadatenstandards DTD - Document Type Definition / Dokumenttypdefinition Das (bislang) Wichtigste auf einen Blick Externe DTD einbinden:

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

3. Das Relationale Datenmodell

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

Mehr

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

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

Barrierefreie Webseiten erstellen mit TYPO3

Barrierefreie Webseiten erstellen mit TYPO3 Barrierefreie Webseiten erstellen mit TYPO3 Alternativtexte Für jedes Nicht-Text-Element ist ein äquivalenter Text bereitzustellen. Dies gilt insbesondere für Bilder. In der Liste der HTML 4-Attribute

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

1 Software Engineering 1

1 Software Engineering 1 1 Software Engineering 1 XML 1.1 XML Extensible Markup Language Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdaten Wird für den Datenaustausch/Speicherung benutzt

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden nicht

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

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

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

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

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

WEBSEITEN ENTWICKELN MIT ASP.NET

WEBSEITEN ENTWICKELN MIT ASP.NET jamal BAYDAOUI WEBSEITEN ENTWICKELN MIT ASP.NET EINE EINFÜHRUNG MIT UMFANGREICHEM BEISPIELPROJEKT ALLE CODES IN VISUAL BASIC UND C# 3.2 Installation 11 Bild 3.2 Der Webplattform-Installer Bild 3.3 IDE-Startbildschirm

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

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

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

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

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

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB Jörg Liedtke, Oracle Consulting Vortrag zum Praxis-Seminar B bei der KIS-Fachtagung 2007, Ludwigshafen Agenda

Mehr

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

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

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Was meinen die Leute eigentlich mit: Grexit?

Was meinen die Leute eigentlich mit: Grexit? Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?

Mehr

Übungsaufgaben zu XML:

Übungsaufgaben zu XML: Übungsaufgaben zu XML: Aufgabe 1 Allgemeine Fragen zu XML: (Benutzen Sie zum Lösen der Aufgaben die Online-Hilfen, welche wir erwähnt haben.) a) Was ist eine DTD? DTD steht für Document Type Definition.

Mehr

368 4 Algorithmen und Datenstrukturen

368 4 Algorithmen und Datenstrukturen Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist

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

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

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

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

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten Transformation von XML-Dokumenten Lernziele Warum kann es sinnvoll sein XML-Dokumente zu transformieren? Wie funktioniert XSLT (Extensible Stylesheet Language Transformations)? Was ist XPath? Was sind

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079) XML Verarbeitung mit einer in Haskell eingebetteten DSL Manuel Ohlendorf (xi2079) 2.0.200 Manuel Ohlendorf Übersicht 1 2 Einführung Datenstruktur Verarbeitung Vergleich mit anderen Verfahren Fazit 2 Übersicht

Mehr

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de

2004-2006, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de XML und Java Rainer Schmidberger Rainer.Schmidberger@informatik.uni-stuttgart.de Was ist XML? Müller Hans Ulmenweg 22 70565

Mehr

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back

XML Grundlagen. Andreas Rottmann,Sebastian Riedl. 27. August 2002. Quit Full Screen Previous Page Next Page GoTo Page Go Forward Go Back XML Grundlagen Andreas Rottmann,Sebastian Riedl 27. August 2002 Rottmann, Riedl: XML Grundlagen 1 Überblick Hintergründe und Geschichte Aufbau von XML-Dokumenten DTD Schemata Erweiterungen XML APIs Rottmann,

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

XML-Austauschformat für Sicherheitsdatenblätter

XML-Austauschformat für Sicherheitsdatenblätter XML-Austauschformat für Sicherheitsdatenblätter Version 2.0 / 15. Dezember 2008 www.edas.org 1 XML-Austauschformat für Sicherheitsdatenblätter Der Austausch der Sicherheitsdatenblätter erfolgt als XML-Datei.

Mehr

Online-Publishing mit HTML und CSS für Einsteigerinnen

Online-Publishing mit HTML und CSS für Einsteigerinnen mit HTML und CSS für Einsteigerinnen Dipl.-Math. Eva Dyllong Universität Duisburg Dipl.-Math. Maria Oelinger spirito GmbH IF MYT 07-2002 Web-Technologien Überblick HTML und CSS, XML und DTD, JavaScript

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

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren: 4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie

Mehr

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10

Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10 Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

Erstellen einer PostScript-Datei unter Windows XP

Erstellen einer PostScript-Datei unter Windows XP Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee Mathias Heilig email: mathias.heilig@gmx.de Inhalt XSL Übersicht XSL im XML- Umfeld XSLT XPath XSL- FO Was können wir mit XSLT heute machen? Formatierungsprozess XSLT im XML- Formatierungsprozess Transformation

Mehr

Ressourcen-Beschreibung im Semantic Web

Ressourcen-Beschreibung im Semantic Web Ressourcen-Beschreibung im Semantic Web Cristina Vertan Inhaltsübersicht Wie sollen die Ressourcen für Semantic Web annotiert werden? Was ist und wie funktioniert RDF? Wie kodiert man RDF-Statements in

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

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

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

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

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

Mehr

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

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

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

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF

RDF und RDF Schema. Einführung in die Problematik Von HTML über XML zu RDF RDF und RDF Schema Einführung in die Problematik Von HTML über XML zu RDF Kirsten Albrecht Roland Illig Probleme des HTML-basierten

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

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Webseite in XML Kurzeinführung

Webseite in XML Kurzeinführung Webseite in XML Kurzeinführung 1. Entwicklung... 1 2. Erste Webpage in XML... 2 2.1 Erstes Beispiel... 2 2.2 Tags definieren... 4 2.3 Kommentare in XML... 5 2.4 XML mittels CSS im Browser ansehen... 5

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Design anpassen eine kurze Einführung

Design anpassen eine kurze Einführung Design anpassen eine kurze Einführung Das gesamte Layout von Papoo basiert auf modernen CSS Layouts die vollständig ohne Layout Tabellen funktionieren. Um schnell vorhandene Designs anpassen zu können

Mehr

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

2. XML 2.1 XML 1.0 und XML Schema. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit XML- und Webservice- Sicherheit 2. XML 2.1 XML 1.0 und XML Schema Gliederung 1. XML 1.0 2. XML Namespaces: URI, URL und URN 3. XML Schema Literatur: A. Tanenbaum, Computer Networks. E. R. Harold and W.

Mehr

4 Aufzählungen und Listen erstellen

4 Aufzählungen und Listen erstellen 4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer

Mehr

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen Das können wir Ihnen versprechen: An der neuen Taskleiste in Windows 7 werden Sie sehr viel Freude haben. Denn diese sorgt

Mehr

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu. Kosten für ein Girokonto vergleichen 1. Was passt? Ordnen Sie zu. a. die Buchung, -en b. die Auszahlung, -en c. der Dauerauftrag, - e d. die Überweisung, -en e. die Filiale, -n f. der Kontoauszug, - e

Mehr

Einrichten eines HBCI- Zugangs mit Bank X 5.1

Einrichten eines HBCI- Zugangs mit Bank X 5.1 Einrichten eines HBCI- Zugangs mit Bank X 5.1 am Beispiel der Comdirect-Bank Rufen Sie in Bank X als erstes den Menüpunkt Ablage/Neue Kontenmappe auf. Sollten Sie bereits eine Kontenmappe in Bank X verwenden

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

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

! " # $ " % & 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

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

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

SS 2010. Björn Berezowski B.Sc. Marco Münch B.Sc. Michael Roth B.Sc. Repetitorium PG 1. Übungsblatt. 1 Übung - Probeklausur SS 2010 Typ Prof.

SS 2010. Björn Berezowski B.Sc. Marco Münch B.Sc. Michael Roth B.Sc. Repetitorium PG 1. Übungsblatt. 1 Übung - Probeklausur SS 2010 Typ Prof. SS 2010 Björn Berezowski B.Sc. Marco Münch B.Sc. Michael Roth B.Sc. Repetitorium PG 1 Übungsblatt 1 Übung - Probeklausur SS 2010 Typ Prof.Humm Aufgabe : Bank-Verwaltungs-System In dieser Klausur werden

Mehr

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023

Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Übungsblatt 3: Algorithmen in Java & Grammatiken

Übungsblatt 3: Algorithmen in Java & Grammatiken Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015

Mehr

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

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

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

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

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

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