Kapitel 7 SQL/XML. Teil des SQL-Standards Standards SQL:2003. Part-Standard. ISO/IEC 9075-n:2003. Multi-Part

Größe: px
Ab Seite anzeigen:

Download "Kapitel 7 SQL/XML. Teil des SQL-Standards Standards SQL:2003. Part-Standard. ISO/IEC 9075-n:2003. Multi-Part"

Transkript

1 Kapitel 7 SQL/XML Teil des SQL-Standards Standards SQL:2003 Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery Multi-Part Part-Standard ISO/IEC 9075-n:2003 Part 1: SQL/Framework (92 Seiten) Part 2: SQL/Foundation (1310 Seiten) Part 3: SQL/CLI (Call( Call-Level Interface; 414 Seiten) Part 4: SQL/PSM (Persistent Stored Modules); 182 Seiten) Part 9: SQL/MED (Management of External Data; 504 Seiten) Part 10: SQL/OLB (Object( Language Bindings; 382 Seiten) Part 11: SQL/Schemata (Information and Definition Schemata; 284 Seiten) Part 13: SQL/JRT (Java Routines und Types; ; 212 Seiten) Part 14: SQL/XML (XML( XML-related Specifications; ; 154 Seiten) 7-2

2 SQL / XML Stellt neuen Datentyp XML mit darauf operierenden Funktionen bereit Definiert Abbildungen zwischen SQL und XML XML-Dokumente Speicherung von XML-Dokumenten in der Datenbank als Wert des XML-Datentyps SQL XQuery Generierung von XML-Dokumenten mittels SQL/XML- Funktionen SQL-Datenbank XML-Datentyp 7-3 Basisdatentyp XML ermöglicht Speicherung von XML-Werten in Tabellenspalten XML-Werte Werte: XML-Dokument (mit oder ohne Prolog) XML-Element Wald von XML-Elementen XML-Werte sind nicht vergleichbar keine Ordnungsrelation Standard-SQL unterstützt benutzerdefinierte Ordnungen Benutzer muss Ordnung explizit definieren, falls XML-Werte in Vergleichsprädikaten einer SQL-Anfrage vorkommen sollen können XML-Funktionen (später im Detail präsentiert sentiert) erzeugen XML-Werte aus SQL-Daten und anderen XML-Werten ermöglichen Zugriff auf Informationen in gespeicherten XML-Werten ID Autorennamen 123 <Autoren>Jim Beam</Autoren> 234 <Autoren>Johnny Walker</Autoren> 872 <Autoren>Jack, Jim Beam</Autoren> 7-4

3 Abbildung zwischen SQL und XML Abbildung von der SQL-Datenbank auf XML SQL-Zeichenmengen auf XML-Unicode (implementierungsabhängig) SQL-Identifiers auf XML-Names SQL-Datentypen auf XML-Schema-Datentypen SQL-Werte auf XML-Werte SQL-Tabellen auf XML-Dokumente und XML-Schema-Dokumente SQL-Schemata auf XML-Dokumente und XML-Schema-Dokumente SQL-Kataloge auf XML-Dokumente und XML-Schema-Dokumente Abbildung von XML auf die SQL-Datenbank XML-Unicode auf SQL-Zeichenmengen (implementierungsabhängig) XML-Names auf SQL-Identifiers 7-5 Abbildung zw.. SQL-Identifiers und XML-Names Bei regulären ren SQL-Identifiers erfolgt eine 1:1-Abbildung XML-Name wird vollständig in Grossbuchstaben notiert, z.b. Mitarbeiter <MITARBEITER> </MITARBEITER> Nicht jeder SQL-Identifier ist ein gültiger XML-Name, :, &, etc. Ungültige SQL-Identifier werden in "Escape-Notation" dargestellt, d.h. auf eine Sequenz von Hexits beginnend mit "_x" und endend mit "_" abgebildet Beispiele: Ω Gehalt:FY2000 Home_Town Abbildung ist reversibel _x03a9_ (the Unicode value) Gehalt_x003A_FY2000 Work_x0040_ home Home_x005F_ Town 7-6

4 Der sqlxml-namensraum (1) Zusammenspiel der Namensräume XMLSchema und SQLXML zur Definition der SQL-Basisdatentypen und Typkonstruktoren in XML ermöglicht Abbildung konstruierter und benutzerdefinierter SQL-Datentypen XML-zentrische Abbildung von SQL-Datentypen auf XML-Schema Schema-Typen Semantik des SQL-Datentyps wird mit Hilfe von Annotationen so exakt wie möglich in XML definiert: length maxlength characterset collation precision scale minexponent maxexponent userprecision leadingprecision maxelements final catalogname schemaname domainname typename mappedtype mappedelementtype Annotationen sind XML-Attribute 7-7 Der sqlxml-namensraum (2) <?xml version= "1.0"?> <xsd:schema xmlns:xsd= " targetnamespace= " xmlns:sqlxml=" <xsd:documentation> This document contains the definitions and annotations as defined in ISO/IEC :2003 (SQL/XML). </xsd:documentation> <xsd:simpletype name= "kindkeyword"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="predefined"/> <xsd:enumeration value="domain"/> <xsd:enumeration value="row"/> <xsd:enumeration value="array"/> <xsd:enumeration value="multiset"/> <xsd:enumeration value="distinct"/> </xsd:restriction> </xsd:simpletype> 7-8

5 Der sqlxml-namensraum (3) <xsd:simpletype name="typekeyword"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="char"/> <xsd:enumeration value="varchar"/> <xsd:enumeration value="clob"/> <xsd:enumeration value="blob"/> <xsd:enumeration value="numeric"/> <xsd:enumeration value="decimal"/> <xsd:enumeration value="integer"/> <xsd:enumeration value="smallint"/> <xsd:enumeration value="bigint"/> <xsd:enumeration value="float"/> <xsd:enumeration value="real"/> <xsd:enumeration value="double PRECISION"/> <xsd:enumeration value="boolean"/> <xsd:enumeration value="date"/> <xsd:enumeration value="time"/> <xsd:enumeration value="timestamp"/> <xsd:enumeration value="interval YEAR"/> <xsd:enumeration value="interval MONTH"/> <xsd:enumeration value="interval DAY"/> <xsd:enumeration value="interval HOUR"/> <xsd:enumeration value="interval MINUTE"/> <xsd:enumeration value="interval SECOND"/> </xsd:restriction> </xsd:simpletype> 7-9 Der sqlxml-namensraum (4) <xsd:element name="sqltype"> <xsd:complextype> <xsd:sequence> <xsd:element name="name"type="fieldtype" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="kind"type="sqlxml:kindkeyword"/> <xsd:attribute name="name"type="sqlxml:typekeyword" use="optional"/> <xsd:attribute name="length"type="xsd:integer" use="optional"/> <xsd:attribute name="maxlength"type="xsd:integer" use="optional"/> <xsd:attribute name="characterset"type="xsd:string" use="optional"/> <xsd:attribute name="collation"type="xsd:string" use="optional"/> <xsd:attribute name="precision"type="xsd:integer" use="optional"/> <xsd:attribute name="scale"type="xsd:integer" use="optional"/> <xsd:attribute name="minexponent"type="xsd:integer" use="optional"/> <xsd:attribute name="maxexponent"type="xsd:integer" use="optional"/> <xsd:attribute name="userprecision"type="xsd:integer" use="optional"/> <xsd:attribute name="leadingprecision"type="xsd:integer" use="optional"/> <xsd:attribute name="maxelements"type="xsd:integer" use="optional"/> <xsd:attribute name="catalogname"type="xsd:string" use="optional"/> <xsd:attribute name="schemaname"type="xsd:string" use="optional"/> <xsd:attribute name="domainname"type="xsd:string" use="optional"/> <xsd:attribute name="typename"type="xsd:string" use="optional"/> <xsd:attribute name="mappedtype"type="xsd:string" use="optional"/> <xsd:attribute name="mappedelementtype"type="xsd:string" use="optional"/> <xsd:attribute name="final"type="xsd:boolean" use="optional"/> </xsd:complextype> </xsd:element> 7-10

6 Der sqlxml-namensraum (5) <xsd:simpletype name="objecttype"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="catalog"/> <xsd:enumeration value="schema"/> <xsd:enumeration value="base TABLE"/> <xsd:enumeration value="viewed TABLE"/> <xsd:enumeration value="character SET"/> <xsd:enumeration value="collation"/> </xsd:restriction> </xsd:simpletype> <xsd:complextype name="fieldtype"> <xsd:attribute name="name"type="xsd:string"/> <xsd:attribute name="mappedtype"type="xsd:string"/> </xsd:complextype> <xsd:element name="sqlname"> <xsd:complextype> <xsd:attribute name="type"type="sqlxml:objecttype" use="required"/> <xsd:attribute name="catalogname"type="xsd:string"/> <xsd:attribute name="schemaname"type="xsd:string"/> <xsd:attribute name="localname"type="xsd:string"/> </xsd:complextype> <xsd:element name="sqlname"> </xsd:schema> 7-11 Abbildung von SQL-Basisdatentypen (1) CHARACTER CHARACTER(20) CHARACTER SET LATIN1 COLLATION DEUTSCH <xsd:simpletype name="char_20"> <sqlxml:sqltype kind="predefined" name="char" length="20" charactersetname="latin1" collation="deutsch"/> <xsd:restriction base="xsd:string"> <xsd:length value="20"/> </xsd:restriction> </xsd:simpletype> Exakte Typbeschreibung basierend auf den Datentypen bzw. Typkonstruktoren aus SQLXML Abbildung auf Datentypen des XML-Schema 7-12

7 Abbildung von SQL-Basisdatentypen (2) NUMERIC NUMERIC(12,2) wobei die Implementierung 13 Stellen nutzt <xsd:simpletype name="numeric_12_2"> <sqlxml:sqltype kind="predefined" name="numeric" userprecision="12" scale="2"/> <xsd:restriction base="xsd:numeric"> <xsd:length value="13"/> <xsd:scale value="2"/> </xsd:restriction> </xsd:simpletype> Für die verschiedenen SQL-Datentypen sind unterschiedliche Attribute vorgesehen, z.b. Präzision und Nachkommenstellenanzahl bei numerischen Datentypen 7-13 Abbildung von SQL-Basisdatentypen (3) SMALLINT wobei die Implementierung 16-Bits nutzt <xsd:simpletype name="smallint"> <sqlxml:sqltype kind="predefined" name="smallint"/> <xsd:restriction base="xsd:smallint"> <xsd:maxinclusive value="32767"/> <xsd: mininclusive value="-32768"/> </xsd:restriction> </xsd:simpletype> DATE hat anders als in XML keinen TIME- Part; letzterer ist daher durch die Angabe von Mustern auszuschliessen <xsd:simpletype name="date"> <sqlxml:sqltype kind="predefined" name="date"/> <xsd:restriction base="xsd:date"> <xsd:pattern value= "\p{nd}{4}-\p{nd}{2}-\p{nd}{2}"/> </xsd:restriction> </xsd:simpletype> 7-14

8 Grobe Zusammenfassung: Abbildung von SQL-Basisdatentypen SQL BOOLEAN CHAR VARCHAR, CLOB BLOB SMALLINT, INT, BIGINT NUMERIC, DECIMAL FLOAT DOUBLE DATE TIME TIMESTAMP INTERVAL XML-Schema Schema-Typ xsd:boolean xsd:string xsd:string xsd:base64binary xsd:integer xsd:decimal xsd:float xsd:double xsd:date xsd:time xsd:datetime xsd:duration Einschränkung xsd:length xsd:maxlength xsd:maxlength xsd:mininclusive, xsd:maxinclusive xsd:precision, xsd:scale xsd:pattern xsd:pattern xsd:pattern xsd:pattern 7-15 Abbildung von SQL-Wertebereichen CREATE DOMAIN ETH.DBS.Jobs CHAR(4) CHECK(VALUE IN ('Prof', 'Assi', 'Hiwi')); <xsd:simpletype name="domain.eth.dbs.jobs"> <sqlxml:sqltype kind="domain" catalogname="eth" schemaname="dbs" typename="jobs" mappedtype="char_4"/> <xsd:restriction base="char_4"> <xsd:enumeration value="prof"/> <xsd:enumeration value="assi"/> <xsd:enumeration value="hiwi"/> </xsd:restriction> </xsd:simpletype> 7-16

9 Abbildung von SQL-Tupeltypen ROW(Vorname VARCHAR(25), Nachname VARCHAR(35)) <xsd:complextype name="row.name"> <sqlxml:sqltype kind="row"> <sqlxml:field name="vorname" mappedtype="varchar_25"/> <sqlxml:field name="nachname" mappedtype="varchar_35"/> </sqlxml:sqltype> <xsd:sequence> <xsd:element name="vorname" type="varchar_25"/> <xsd:element name="nachname" type="varchar_35"/> </xsd:sequence> </xsd:complextype> 7-17 Abbildung von SQL-Arraytypen DECIMAL(12,2) ARRAY[10] <xsd:complextype name="array.decimal_12_2"> <sqlxml:sqltype kind="array" maxelements="10"/> mappedelementtype="numeric_12_2"/> <xsd:sequence> <xsd:element name="element" minoccurs="0" maxoccurs="10" type="numeric_12_2"> </xsd:element> </xsd:sequence> </xsd:complextype> 7-18

10 Abbildung von SQL-Multimengentypen CHARACTER(20) MULTISET <xsd:complextype name="multiset.char_20"> <sqlxml:sqltype kind="multiset" mappedelementtype="char_20"/> <xsd:sequence> <xsd:element name="element" minoccurs="0" maxoccurs="unbounded" type="char_20"> </xsd:element> </xsd:sequence> </xsd:complextype> 7-19 Abbildung von SQL-Distinct Distinct-Typen CREATE TYPE ETH.DBS.Franken AS NUMERIC(12,2) FINAL <xsd:simpletype name="udt.eth.dbs.franken"> <sqlxml:sqltype kind="distinct" catalogname="eth" schemaname="dbs" typename="franken" mappedtype="numeric_12_2" final="true"/> <xsd:restriction base="numeric_12_2"/> </simpletype> 7-20

11 Abbildung von SQL-Werten auf XML-Werte Durch die Abbildung der Datentypen bestimmt Kleinere Ausnahmen bei numerische Datentypen Dezimalpunkt entfällt, wenn keine Nachkommastellen vorhanden sind Abbildung von speziellen Zeichen (<, &, etc.) eines Strings < < Zusammenspiel der Namensräume XML-Schema und SQLXML zur Definition der SQL-Basisdatentypen und Typkonstruktoren in XML ermöglicht Abbildung konstruierter und benutzerdefinierter SQL-Datentypen 7-21 Abbildung von SQL-Tabellen CREATE TABLE Mitarbeiter ( Name CHAR(20), Gehalt NUMERIC(12, 2) ); Name Joe Jim Gehalt Abbildung von SQL-Tabellenspalten auf XML-Elemente Abbildung von Tabellenzeilen auf <row>- XML-Elemente <MITARBEITER> <row> <NAME>Joe</NAME> <GEHALT>2000</GEHALT> </row> <row> <NAME>Jim</NAME> <GEHALT>3500</GEHALT> </row> </MITARBEITER> <xsd:complextype name="row.mitarbeiter"> <xsd:sequence> <xsd:element name="name" type="char_20"/> <xsd:element name="gehalt" type="numeric_12_2"/> </xsd:sequence> </xsd:complextype> <xsd:complextype name="table.mitarbeiter"> <sqlxml:sqlname type="base TABLE" localname="mitarbeiter"/> <xsd:sequence> <xsd:element name="row" type="row.mitarbeiter"/> </xsd:sequence> </xsd:complextype> <xsd:element name="mitarbeiter" type= "TABLE.MITARBEITER"/> 7-22

12 XMLGEN XML-Funktionen generiert ein XML-Dokument mittels einer Anfrage in XQuery XMLELEMENT erzeugt ein XML-Element aus einer Werteliste XMLATTRIBUTES erzeugt XML-Attribute XMLFOREST erzeugt aus beliebigen Werten einen Wald von XML-Elementen XMLCONCAT konkateniert mehrere XML-Elemente zu einem Wald XMLAGG aggregriert die XML-Elemente einer Gruppe 7-23 XMLGEN (1) XMLGEN(<XQuery-Konstruktor>[, <XMLGEN-Variable>...] ) <XMLGEN-Variable> := <Wertausdruck>[AS <Variablenname>] erzeugt einen XML-Wert aus einer Anfrage gemäss XQuery 1.0 Beispiel: Mitarbeiter Name Joe Jim Gehalt SELECT XMLGEN('<Mitarbeiter Name="{$Name}"> <Gehalt>{12*$Gehalt}</Gehalt> </Mitarbeiter>') AS Angestellte XMLGEN ermöglicht XML-Sichten auf SQL-Daten Angestellte <Mitarbeiter Name="Joe"> <Gehalt>24000</Gehalt> </Mitarbeiter> <Mitarbeiter Name="Jim"> <Gehalt>42000</Gehalt> </Mitarbeiter> 7-24

13 XMLGEN (2) CREATE TABLE Berichte (ID INTEGER, Inhalt XML); Berichte ID Inhalt 123 <Bericht>... <Autor>Jim Beam</Autor> <Titel>Beam Dir einen Whisky</Titel>... <Datum> </Datum> </Bericht> 234 <Bericht><Autor>Johnny Walker</Autor><Datum> </Datum> <Titel>Whisky, Walking and Talking</Titel>... </Bericht> 872 <Bericht> <Titel>Great Single Malts</Titel>... <Autor>Jack</Autor> <Autor>Jim Beam</Autor> <Datum> </Datum> </Bericht> SELECT ID, XMLGEN('FOR $a IN $Inhalt//Autor RETURN <Autoren>{$a/text()}</Autoren>') AS Autorennamen FROM Berichte; XMLGEN ermöglicht XML-Sichten auf XML-Werten ID Autorennamen 123 <Autoren>Jim Beam</Autoren> 234 <Autoren>Johnny Walker</Autoren> 872 <Autoren>Jack</Autoren> <Autoren>Jim Beam</Autoren> 7-25 XMLELEMENT XMLELEMENT(NAME <Elementname> [, XMLATTRIBUTES(<XML-Attributliste>)] [, <Wertausdrucksliste>]) <XML-Attribut> := <Wertausdruck> [AS <Attributname>] erzeugt ein XML-Element Elementinhalt Umbenennung des Attributnamens Beispiel: Mitarbeiter Name Joe Jim Gehalt SELECT XMLELEMENT(NAME "Mitarbeiter", XMLATTRIBUTES(Gehalt), Name) AS Element Element <Mitarbeiter GEHALT="2000">Joe</Mitarbeiter> <Mitarbeiter GEHALT="3500">Jim</Mitarbeiter> 7-26

14 XMLFOREST XMLFOREST(<XML-Forest-Elementliste>) <XML-Forest-Element>:=<Wertausdruck> [AS <Elementname>] erzeugt einen Wald von XML-Elementen mit optionalen Attributen Beispiel: Mitarbeiter Name Joe Jim Gehalt SELECT XMLFOREST(Name, XMLELEMENT(NAME "Euro", 12*Gehalt) AS Einkommen) AS Mitarbeitergehalt Mitarbeitergehalt <NAME>Joe</NAME> <Einkommen> <Euro>24000</Euro> </Einkommen> <NAME>Jim</NAME> < Einkommen> <Euro>42000</Euro> </Einkommen> 7-27 XMLCONCAT XMLCONCAT(<XML-Wertausdrucksliste>) konkateniert XML-Elemente zu einem Wald Beispiel: Mitarbeiter Name Joe Jim Gehalt SELECT XMLCONCAT( XMLELEMENT(NAME "Name", Name), XMLELEMENT(NAME "Euro", 12*Gehalt)) AS Mitarbeitergehalt Mitarbeitergehalt <Name>Joe</Name> <Euro>24000</Euro> <Name>Jim</Name> <Euro>42000</Euro> 7-28

15 XMLAGG XMLAGG(<XML-Wertausdruck>[ORDER BY, <Sortierausdrucksliste>] ) aggregiert die XML-Elemente einer Gruppe Beispiel: Mitarbeiter Name Gehalt Joe Jim Jim 5000 SELECT Name, XMLAGG( XMLELEMENT(NAME "Gehalt", Gehalt)) AS Einkommen FROM Mitarbeiter GROUP BY Name; Name Joe Jim Einkommen <Gehalt>2000</Gehalt> <Gehalt>3500</Gehalt> <Gehalt>5000</Gehalt> 7-29 XMLGEN vs. XMLELEMENT, XMLFOREST, XMLCONCAT SELECT XMLELEMENT(NAME "Mitarbeiter", XMLATTRIBUTES(Gehalt), Name) SELECT XMLGEN('<Mitarbeiter GEHALT="{$Gehalt}"> {$Name/data()} </Mitarbeiter>') SELECT XMLFOREST(Name, XMLELEMENT(NAME "Euro, 12*Gehalt) AS Einkommen) SELECT XMLGEN('<NAME>{$Name}</NAME> <Einkommen> <Euro>{12*$Gehalt}</Euro> </Einkommen>') SELECT XMLCONCAT( XMLELEMENT(NAME "Name", Name), XMLELEMENT(NAME "Euro", 12*Gehalt)) SELECT XMLGEN('<Name>{$Name}</Name> <Euro>{12*$Gehalt}</Euro>') XMLELEMENT, XMLFOREST, XMLCONCAT sind syntaktischer Zucker für einige e Spezialfälle von XMLGEN 7-30

16 XMLEXISTS (nicht mehr im Draft von SQL:2003 enthalten) XMLEXISTS XMLEXISTS(<XML-Wertausdruck>, <XQuery-Ausdruck> [, <Namensraum>]) ergibt True,, wenn die Anfrage auf dem XML-Wert ein nicht-leeres Ergebnis liefert Beispiel: Berichte ID Inhalt 123 <Bericht>... <Autor>Jim Beam</Autor> <Titel>Beam Dir einen Whisky</Titel>... <Datum> </Datum> </Bericht> 234 <Bericht><Autor>Johnny Walker</Autor><Datum> </Datum> <Titel>Whisky, Walking and Talking</Titel>... </Bericht> 872 <Bericht> <Titel>Great Single Malts</Titel>... <Autor>Jack</Autor> <Autor>Jim Beam</Autor> <Datum> </Datum> </Bericht> SELECT ID ID FROM Berichte WHERE XMLEXISTS(Inhalt, '//Autor["Jack"]'); 872 Obige Anfrage ist wie folgt mit XMLGEN formulierbar: SELECT ID FROM Berichte WHERE EXISTS(XMLGEN('{$Inhalt//Autor["Jack"]}')); 7-31 XMLEXTRACT (nicht mehr im Draft von SQL:2003 enthalten) XMLEXTRACT XMLEXTRACT(<XML-Wertausdruck>, <XPath-Ausdruck>) extrahiert einen durch eine XPath-Anfrage definierten Ausschnitt des XML- Wertes Beispiel: SELECT ID, XMLEXTRACT(Inhalt, '//Titel') AS Berichttitel FROM Berichte; ID Berichttitel 123 <Titel>Beam Dir einen Whisky</Titel> 234 <Titel>Whisky, Walking and Talking</Titel> 872 <Titêl>Great Single Malts</Titel> Obige Anfrage ist wie folgt mit XMLGEN formulierbar: SELECT ID, XMLGEN('{$Inhalt//Titel}') AS Berichttitel FROM Berichte; 7-32

17 Ausblick Normierung ist noch nicht vollständig abgeschlossen In der Diskussion für zukünftige Versionen sind unter anderem Funktionen zum Erzeugen von SQL-Daten aus XML-Dokumenten Updates auf XML-Dokumenten Volltextsuche auf XML-Dokumenten Details zu SQL/XML in Can Türker: SQL:1999 & SQL:2003 Objektrelationales SQL, SQLJ & SQL/XML, dpunkt-verlag Verlag,, Heidelberg,

Kapitel 7 SQL/XML. Teil des zukünftigen Datenbankstandards SQL:2003. Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery

Kapitel 7 SQL/XML. Teil des zukünftigen Datenbankstandards SQL:2003. Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery Kapitel 7 SQL/XML Teil des zukünftigen Datenbankstandards SQL:2003 Der Basisdatentyp XML Abbildung zwischen SQL und XML SQL und XQuery Multi-Part Part-Standard ISO/IEC 9075-n:200 n:200x Part 1: SQL/Framework

Mehr

SQL/XML Aktueller Stand der Standardisierung

SQL/XML Aktueller Stand der Standardisierung SQL/XML Aktueller Stand der Standardisierung Rüdiger Eisele IBCPartner GmbH Stuntzstraße 65 81677 München Tel: 089/92401181 Fax: 089/92401182 Internet: EISELE@SOFTEISCONS.DE EISELE@IBCPARTNER.DE Rüdiger

Mehr

Der Standard SQL/XML

Der Standard SQL/XML Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Prof. H.-J. Schek, Dr. C. Türker, T. Grabs XML und Datenbanken WS 2003 Übung 10

Mehr

XML-Schema Datentypen

XML-Schema Datentypen Datentypen Data Types Simple Types Complex Types User-derived Built-in Atomic (restriction) Non-atomic (list, union) Primitive Derived WT:III-1 XML Schema Reference Lettmann 2014 Datentypen anytype anysimpletype

Mehr

Deklaration standalone="yes" Quelle:

Deklaration standalone=yes Quelle: Wohlgeformtes XML-Dokument 1. Zu jedem Start-Tag existiert genau ein Ende-Tag 2. Bei leeren Elementen können diese zusammenfallen 3. Korrekte Elementschachtelung, d.h. keine Überlappung 4. Genau ein Wurzelelement

Mehr

Abbildung von Datenbanken auf XML

Abbildung von Datenbanken auf XML Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Übung 8 XML und Datenbanken WS 04/05 Institut für Informationssysteme Dr.C.Türker Beispiellösung Abbildung von Datenbanken

Mehr

XML in Oracle 12c. Wolfgang Nast

XML in Oracle 12c. Wolfgang Nast XML in Oracle 12c Wolfgang Nast Agenda Vorstellung der Möglichkeiten Klassisch XDB Beispiel XML Schema Umsetzung klassisch Umsetzung XDB Zusammenfassung 2 XML in Oracle 12c Im Überblick Technologie-orientiert

Mehr

Kapitel 6: SQL und XML

Kapitel 6: SQL und XML 6. SQL und XML Seite 1 Kapitel 6: SQL und XML Wie können die Inhalte einer Datenbank als XML-Dokumente exportiert werden (Publizieren von XML? Wie können die Inhalte eines XML-Dokumentes in eine Datenbank

Mehr

Validating XML Parser. Application. XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei. XML-Schema oder DTD

Validating XML Parser. Application. XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei. XML-Schema oder DTD XML-Schema oder DTD XML-Datei XML-Datei XML-Datei XML-Datei XML-Datei Validating XML Parser Application SQL 2003 Part 14: XML-Related Specifications (SQL/XML) This part of ISO/IEC 9075 defines ways in

Mehr

Chapter 9 SQL/XML. Inhalt

Chapter 9 SQL/XML. Inhalt Chapter 9 SQL/XML Prof. Dr.-Ing. Stefan Deßloch Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de 1 Inhalt Überblick I. Objektorientierung und Erweiterbarkeit 1. Benutzerdefinierte Datentypen

Mehr

7. XML-Datenbanksysteme und SQL/XML

7. XML-Datenbanksysteme und SQL/XML 7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte

Mehr

Bäume in RDBMS. Enthalten beide: Nested-Set Model of Trees

Bäume in RDBMS. Enthalten beide: Nested-Set Model of Trees Bäume in RDBMS Literatur: A Look at SQL Trees by Joe Celko, online under: http://www.dbmsmag.com/9603d06.html Managing Hierarchical Data in MySQL by Mike Hillyer: http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

Mehr

Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. IBM DB2 mit XML Extender Microsoft SQL Server Oracle Tamino Excelon Poet Infonyte

Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. IBM DB2 mit XML Extender Microsoft SQL Server Oracle Tamino Excelon Poet Infonyte Kapitel 11 Kommerzielle Datenbanksysteme für die XML-Verarbeitung IBM DB2 mit XML Extender Microsoft SQL Server Oracle Tamino Excelon Poet Infonyte Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme

Mehr

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale

Mehr

XML Schema 2016 S h_da S Seite 1

XML Schema 2016 S h_da S Seite 1 XML Schema Seite 1 XML/Schema: Strukturen Dokumentinstanz Dokumenttyp Wellformed Valid Dokumentstrukturdefinition mit XML/Schema XML Document Type Definition Seite 2 XML Dokument Instanz XML-Deklaration

Mehr

ORACLE und IBM DB2 Datentypen 14.12.2011

ORACLE und IBM DB2 Datentypen 14.12.2011 1/27 ORACLE und IBM DB2 Datentypen PHP-User-Group Stuttgart 14.12.2011 ORACLE Datentypen ein Überblick IBM DB2 Datentypen ein Überblick 2/27 ORACLE und IBM DB2 Datentypen Wer Wer bin bin ich ich?? Thomas

Mehr

SQL:2003 Neue Konzepte

SQL:2003 Neue Konzepte SQL:2003 Neue Konzepte Universität Bonn Seminar Intelligente Datenbanken Prof. Dr. R. Manthey / Andreas Behrend 14. Juni 2005 Gereon Schüller schuelle@informatik.uni-bonn.de Quellen Eisenberg, Andrew et

Mehr

Lösungen zum Praktikum XML-Technologien XML-Grammatiken

Lösungen zum Praktikum XML-Technologien XML-Grammatiken Lösungen zum Praktikum XML-Technologien XML-Grammatiken Aufgabe 1: XML Schema xsdbuecherdocument.xsd 28.Oktober 2010 Raffaella Riccato

Mehr

Hauptseminar Informatik. Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema

Hauptseminar Informatik. Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema Hauptseminar Informatik Die Strukturierung von XML-Dokumenten mit Hilfe von DTDs und XML Schema Gliederung 1. Motivation 2. XML Eine Einführung 3. DTD 4. XML Schema 4.1 Vergleich DTD und XML Schema 4.2

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 7. 1. 2014 Kennnr. Matrikelnr. Familienname Vorname

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

Mehr

Mario Jeckle. XML Schema

Mario Jeckle. XML Schema Mario Jeckle XML Schema Inhaltsübersicht Warum? benötigt XML noch eine Sprache zur Grammatikdefinition Wozu? kann XML-Schema eingesetzt werden Wie? funktioniert XML-Schema Was? nützt Ihnen der Einsatz

Mehr

XML-Schema. Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XML-Schema. Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme XML-Schema Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme harasic@inf.fu-berlin.de Warum XML-Schema? 32.904237 73.620290

Mehr

XML, XML-DTDs, und XML Schema

XML, XML-DTDs, und XML Schema Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr. C. Türker XML und Datenbanken WS 03/04 Übung 3 Beispiellösung XML, XML-DTDs,

Mehr

7. XML-Datenbanksysteme und SQL/XML

7. XML-Datenbanksysteme und SQL/XML 7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS 2016 SQLX. Andreas Schmidt Oracle und XML (SQLX) 1/15

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS 2016 SQLX. Andreas Schmidt Oracle und XML (SQLX) 1/15 SQLX Andreas Schmidt Oracle und XML (SQLX) 1/15 SQLX Standard XML Standard für SQL Reihe von Funktionen zur Unterstützung der Ausgabe von XML mittels SQL- Select-Statements Momentan in Oracle 11g implementiert:

Mehr

ER-Diagramm (10 Punkte)

ER-Diagramm (10 Punkte) ER-Diagramm (10 Punkte) Entwerfen Sie ein ER-Diagramm zu folgender Angabe einer Produktionsstätte. Die Attribute müssen nicht modelliert werden. Ein Produkt besteht aus mehreren Komponenten. Eine Komponente

Mehr

ids-system GmbH Tipp #5 STRING_UNITS ab DB FP 4

ids-system GmbH Tipp #5 STRING_UNITS ab DB FP 4 ids-system GmbH Tipp #5 STRING_UNITS ab DB2 10.5 FP 4 Zusammenfassung Dieses Dokument beschreibt die Neuerungen beim Handling von CHARACTER und GRAPHIC Datentypen im DB2 Michael Tiefenbacher m.tiefenbacher@ids-system.de

Mehr

Warum XML-Schema? XML-Schema DTD

Warum XML-Schema? XML-Schema DTD XML-Schema Warum XML-Schema? 32.904237 73.620290 2 XML-Schema DTD Ortsangabe: Breitengrad, Längengrad

Mehr

Aufgabe 1 : XML Schema ( (g,h,i) Punkte) Das folgende XML-Schema modelliert beliebig große Matrizen mit Elementen aus den rationalen Zahlen.

Aufgabe 1 : XML Schema ( (g,h,i) Punkte) Das folgende XML-Schema modelliert beliebig große Matrizen mit Elementen aus den rationalen Zahlen. Aufgabe 1 : XML Schema (10 + 5 (g,h,i) Punkte) Das folgende XML-Schema modelliert beliebig große Matrizen mit Elementen aus den rationalen Zahlen.

Mehr

Definition von Datentypen mit XML- Schemata

Definition von Datentypen mit XML- Schemata Lernziele Definition von Datentypen mit XML- Schemata Wie wird die Element-Struktur mit einem XML-Schemata deklariert? Wie werden Attribute mit einem XML-Schema Deklariert? Was sind einfache und komplexe

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN. 4. Übung SQL/XML

XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN. 4. Übung SQL/XML XML, QPATH, XQUERY: NEUE KONZEPTE FÜR DATENBANKEN 4. Übung SQL/XML Agenda 2 XML zum Abbilden von DB-Inhalten Motivation Abbildungsvorschriften Vollständige Abbildung mithilfe von XML-Schema Beispiel Laender

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Nachname: Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 90 Minuten. Aufgabe

Mehr

Dr. Arno Schmidhauser Letzte Revision: November Webseite:

Dr. Arno Schmidhauser Letzte Revision: November Webseite: Aufgabensammllung zu SQL/XML Dr. Arno Schmidhauser Letzte Revision: November 2004 Email: arno.schmidhauser@sws.bfh.ch Webseite: http://www.sws.bfh.ch/db Aufgabensammlung zu SQL/XML 2 Inhalt 1 SQL-Tabellen...

Mehr

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

Mehr

SQL (Structured Query Language) Schemata Datentypen

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

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Klaus Schild, Klaus Schild, Element-Deklaration: 1. Möglichkeit

Klaus Schild, Klaus Schild, Element-Deklaration: 1. Möglichkeit Wie geht es weiter? XML-Schema Schema: Datentypen letzte Vorlesung Beschreibung von Dokument-Typen Einführung von DTDs und XML-Schema anhand eines einheitlichen Beispiels heute XML-Schema: Definition von

Mehr

XML Schema 2012/2013 S Seite 1 h_da W

XML Schema 2012/2013 S Seite 1 h_da W XML Schema Seite 1 XML/Schema: Strukturen Wiederholung Element / Attribut Deklaration XML Document Type Declaration Seite 2 XML Schema Schemata sind XML-Dokumente

Mehr

XML Vorlesung ETHZ SS 2006 4.7.2006. XML Vorlesung ETHZ, Sommersemester 2006. XML und Datenbanken. http://dret.net/lectures/xml-ss06/

XML Vorlesung ETHZ SS 2006 4.7.2006. XML Vorlesung ETHZ, Sommersemester 2006. XML und Datenbanken. http://dret.net/lectures/xml-ss06/ XML Vorlesung ETHZ, Sommersemester 2006 XML und Datenbanken Erik Wilde 4.7.2006 http://dret.net/lectures/xml-ss06/ 4.7.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Sichten auf XML Transfer vs. Datenmodell,

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

XSD - XML Schema Definition

XSD - XML Schema Definition XSD - XML Schema Definition Definieren von XML-Dokumenten Michael Dienert 15. September 2016 Inhaltsverzeichnis 1 Was sind XSD Dateien und warum soll man das lernen? 1 1.1 XSD Dateien und Anwendungen....................

Mehr

XML-Schema im Detail. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XML-Schema im Detail. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme XML-Schema im Detail Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme tolk@ag-nbi.de Wie geht es weiter? bisher Definition von XML-Sprachen DTDs und XML-Schema

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015 SQLX. Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14 SQLX Christian Senger/Andreas Schmidt Oracle und XML (SQLX) 1/14 SQLX Standard XML Standard für SQL Reihe von Funktionen zur Unterstützung der Ausgabe von XML mittels SQL- Select-Statements Momentan in

Mehr

Tutorial 3 Einführung in XML

Tutorial 3 Einführung in XML Tutorial 3 Einführung in XML 1 Stefan Huster In diesem Tutorial lernen Sie die Grundlagen von XML kennen. Sie werden lernen, wie XML- Dokumente aufgebaut sind und wie ihre Struktur formal definiert werden

Mehr

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte

Kapitel 11. Kommerzielle Datenbanksysteme für die XML-Verarbeitung. Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte Kapitel 11 Kommerzielle Datenbanksysteme für die XML-Verarbeitung Oracle DB2 mit XML Extender Microsoft SQL Server Tamino Excelon Poet Infonyte Beispiel: XML-Schema Schema- Dokument

Mehr

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

Seminar XML und Datenbanken Andreas Krug. XML -Unterstützung durch IBM DB2

Seminar XML und Datenbanken Andreas Krug. XML -Unterstützung durch IBM DB2 Seminar XML und Datenbanken Andreas Krug XML -Unterstützung durch IBM DB2 Fahrplan 1. XML-enabled Unterstützung vs. native XML Unterstützung 2. Nachteile der relationalen XML- Unterstützung 3. Native XML-Verarbeitung

Mehr

XML-Übersicht. Von HTML zu XML

XML-Übersicht. Von HTML zu XML XML-Übersicht Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language)

XML-Übersicht. Von HTML zu XML. Nutzen von XML. Geschichte von XML. Eigenschaften von XML. Nutzen von XML (extensible Markup Language) Nutzen von XML (extensible Markup Language) Aufbau von XML-Dokumenten XML-Übersicht Definition von Grammatiken: DTD und XML Schema XML-Nutzung: Parser und Stylesheets mit schwarz-roter Linie aus: Vorlesung

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

7. Datendefinition in SQL Datendefinition

7. Datendefinition in SQL Datendefinition 7. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Einsatz von Large Objects (BLOB, CLOB) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 25. 10. 2013 Kennnr. Matrikelnr. Familienname Vorname

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

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

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

Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata

Versuchsziele. 1. Aufgabe. Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Hochschule Harz FB Automatisierung und Informatik Versuch: XML Thema: Grundkenntnisse in XML mit DTD s und Schemata Versuchsziele XML-Dateien für eine vorgegebene DTD-Datei erstellen können. XML-Dateien

Mehr

4. Objektrelationales Typsystem

4. Objektrelationales Typsystem 4. Objektrelationales Typsystem Inhalt und Lernziele 4. Objektrelationales Typsystem Inhalt (u.a.): Basisdatentypen Einzigartige Typen (Distinct Types) Kollektionstypen Strukturierte Typen Benutzerdefinierte

Mehr

Repräsentation von Struktur

Repräsentation von Struktur Übersicht Einführung Document Type Definitions XML Schema Weitere Strukturbeschreibungssprachen Ziel: Kriterien Nur Jedes Dokument Thema Einführung Was machen Strukturbeschreibungen? Definition einer Menge

Mehr

5. Datendefinition in SQL

5. Datendefinition in SQL Datendefinition 5. Datendefinition in SQL Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32 XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage

Mehr

Objektrelationale Datenbanken

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

Mehr

Objektrelationale, erweiterbare Datenbanken

Objektrelationale, erweiterbare Datenbanken Dr. C. Türker Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Swiss Federal Institute of Technology Zurich Objektrelationale, erweiterbare

Mehr

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

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

Mehr

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher

Mehr

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79 XML exemplarisch nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79 Wohlgeformte XML-Dokumente bestehen aus Prolog genau einem Element Beispiel-Prolog.

Mehr

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

6. Datendefinition in SQL

6. Datendefinition in SQL 6. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

6. Datendefinition in SQL

6. Datendefinition in SQL 6. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Klausur zur Vorlesung Einführung in XML

Klausur zur Vorlesung Einführung in XML Klausur zur Vorlesung Einführung in XML MUSTERLÖSUNG Nachname: Vorname: Matr.Nr.: Studiengang: Bearbeiten Sie alle Aufgaben! Hilfsmittel sind nicht zugelassen. Die Bearbeitungszeit ist 120 Minuten. Aufgabe

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Michael Wagner SQL/XML:2006. Evaluierung der Standardkonformität ausgewählter Datenbanksysteme. Diplomica Verlag

Michael Wagner SQL/XML:2006. Evaluierung der Standardkonformität ausgewählter Datenbanksysteme. Diplomica Verlag Michael Wagner SQL/XML:2006 Evaluierung der Standardkonformität ausgewählter Datenbanksysteme Diplomica Verlag Michael Wagner SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig

Mehr

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken BNF Prof. Dr. Bernhard Schiefer 7-1 Syntaxbeschreibung Formalismus zur Beschreibung der Syntax von Sprachen erforderlich. Im Programmiersprachenbereich üblicher Formalismus:

Mehr

Entwicklung eines Tutorials für XQuery

Entwicklung eines Tutorials für XQuery Informatik Dimitar Menkov Entwicklung eines Tutorials für XQuery Development of a Tutorial for XQuery Masterarbeit Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Bibliothek

Mehr

DTDs und XML- Schemata

DTDs und XML- Schemata Wie geht es weiter? DTDs und XML- Schemata letzte Woche Syntax wohlgeformter e Namensräume Festlegung der Semantik von XML-Elementen heute Beschreibung von Dokument-Typen DTDs und XML-Schema anhand eines

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Datenmodelle und Datenbanken 2

Datenmodelle und Datenbanken 2 Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle

Mehr

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 Kapitel 7: SQL Vorlesung vom 6.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared

Mehr

XML Schema Import for the Pathfinder XQuery Compiler

XML Schema Import for the Pathfinder XQuery Compiler XML Schema Import for the Pathfinder XQuery Compiler Bachelor s Thesis zur Erlangung des Grades Bachelor of Science Jan Rittinger Universität Konstanz November 2003 2 INHALTSVERZEICHNIS Inhaltsverzeichnis

Mehr

XML Grammatiken und XForms

XML Grammatiken und XForms XML Grammatiken und XForms von Astrid Sackel im Rahmen des Seminars XML und intelligente Systeme bei Sebastian Wrede und Ingo Lütkebohle Uni Bielefeld Wintersemester 2005 06 31. Oktober 2005 Wozu eigentlich

Mehr

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester

XML Vorlesung ETHZ SS XML Vorlesung ETHZ, Sommersemester XML Vorlesung ETHZ, Sommersemester 2006 XML Schema Teil I Erik Wilde 9.5.2006 http://dret.net/lectures/xml-ss06/ 9.5.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Nachteile der DTDs Simple Types Type Restrictions

Mehr

W3C s XML Schema Die Sprache der Sprachen Mario Jeckle DaimlerChrysler Forschungszentrum Ulm

W3C s XML Schema Die Sprache der Sprachen Mario Jeckle DaimlerChrysler Forschungszentrum Ulm W3C s XML Schema Die Sprache der Sprachen Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung I Von Dokumenten zu Daten... Die Document

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

Mehr

XML in der Oracle Datenbank "relational and beyond"

XML in der Oracle Datenbank relational and beyond XML in der Oracle Datenbank "relational and beyond" Ulrike Schwinn (Ulrike.Schwinn@oracle.com) Oracle Deutschland GmbH Oracle XML DB Ein Überblick 1-1 Agenda Warum XML in der Datenbank? Unterschiedliche

Mehr

JAXB. Java Architecture for XML Binding.

JAXB. Java Architecture for XML Binding. JAXB Java Architecture for XML Binding http://jaxb.java.net Warum JAXB? JAXB ist eine schnelle und einfache Methode, um ein XML Schema mit einer Java Repräsentation zu verbinden. Damit ist es sehr einfach,

Mehr

7. Datenbankdefinitionssprachen

7. Datenbankdefinitionssprachen 7. Datenbankdefinitionssprachen SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard VL

Mehr

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen 10. GI-Fachtagung Datenbanksysteme in Büro, Technik und Wissenschaft Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen Friedrich-Schiller-Universität Jena Institut für

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

Mehr