SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

ER-Datenmodell und Abfragen in SQL
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
XSQL - Beispiel. © Prof. T. Kudraß, HTWK Leipzig Nested Cursor erzeugen in SQL-Anfragen die XML-typische Baumstruktur (anstelle von Tabellen) Beispiel:
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
der Universität Oldenburg
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL::Geschichte/Normen (Übersicht)
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
SQL als Abfragesprache
SQL als Abfragesprache
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
XML Schema. © Prof. T. Kudraß, HTWK Leipzig Die 3 Strömungen von XML XML Schema Dokumenten- verarbeitung Datenbanken und Datenaustausch Semistrukturierte.
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
XML Standardisierungen und Abfragesprachen
Das Relationenmodell 1.
Validating XML Parser Application XML-Datei XML-Datei
Datenintegrität Referentielle Integrität create table
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Datenbanken 13: Objekt-Klasse-Datenbank
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
XQuery-Anfragen Spezifikations- und Selektionsmethoden für Daten und Dienste Markus Mauch.
2.2 Definition eines Datenbankschemas (SQL-DDL)
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
objekt-relationale Datenbanken
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Datenbanken Mehr als Tabellen.
Datenbanken Mehr als Tabellen. Datenbank Abfragen mit SQL: Eine Tabelle filtern Tabellen realer Datenbanken können sehr viele Informationen speichern:
O.Univ.-Prof. Dr. Dimitris Karagiannis Datenbanken administrieren mit phpMyAdmin Martin Marinschek
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 SQL (Teil 1).
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
Datenbanksysteme für hörer anderer Fachrichtungen
Relationales Datenmodell und DDL
Kurzpräsentation von Herbert Schlechta
Structured Query Language
Erste Einführung in SQL
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
XQuery 1.0 – Arbeitsweise Mögl. Eingaben Das wird berücksichtigt: Typen von XPath und XML Schema Namensräume, Module Ergebnis: XML-Instanz.
Oberseminar Moderne Datenbanken WS03/04
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Vordefinierte Datentypen (1)
XPath Datenmodell und Sequenzen Universität zu Köln – Historisch-Kulturwissenschaftliche Informationsverarbeitung Datenbanktechnologie – Daniel Ebner –
Peter Brezany Institut für Softwarewissenschaften Universität Wien
XML-Werte in SQL/XML Von Viktor Folmer. Inhalt Datentyp XML Knotenfunktionen Unter- und Unter(unter)typen Validierung Prädikate Auswahl weiterer Funktionen.
Ableitung UML  XML Schema
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
Deutsche Post ITSolutions GmbH Benutzung von XML in Oracle 10g Richard Dörfler, DOAG - Trier,
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Datentypen: integer, char, string, boolean
Sichten.
(Structured Query Language)
 Präsentation transkript:

SQL/XML

© Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die Einbettung in SQL SQL/XML = Teil 14 des SQL-Standards: XML- Funktionalität berücksichtigt entsprechende Standards auf XML-Seite (XML Schema, XQuery) Grundgedanke: – Abbildung von SQL-Konzepten auf XML – eigener Datentyp zur Speicherung von XML

© Prof. T. Kudraß, HTWK Leipzig 3 3 Abbildung von SQL-Konzepten auf XML- Konzepte Abbildung von Zeichensätzen – XML: Unicode, SQL: US-ASCII – homomorphe Abbildung Abbildung von Namen – XML: nicht alle Zeichen in Namen zugelassen, unbegrenzte Länge – SQL: alle Zeichen zulässig (auch Leerzeichen, bei delimited identifier), begrenzte Länge des Namens – nicht zulässige Zeichen des SQL-Namens (z.B. <, & ) müssen in XML maskiert werden Abbildung von Datentypnamen – grundsätzlich Übereinstimmung (Großbuchstaben) – bei Datentypen mit Parametrisierung werden Parameter dem XML-Typnamen hinzugefügt – Beispiel: VARCHAR(10) => VARCHAR_10 – bei Längenänderung: VARCHAR_10_20 – Parametrisierung auch bei: DECIMAL, FLOAT, TIME, ARRAY

© Prof. T. Kudraß, HTWK Leipzig 4 4 Abbildung von SQL-Konzepten auf XML- Konzepte - Datentypen Abbildung von Datentypen – bestmöglicher XML-Datentyp für jeden Standard-SQL-Typ – Angleichung der Wertebereiche über Aspekte (facets) in XML Schema – XML-Schema-Annotationen (optional): exakter SQL-Datentyp, SQL-Zeichensatz, Sortierordnung – alle SQL-Zeichenkettentypen => xs:string (bei fester Länge Aspekt length) – BOOLEAN => xs:boolean – INTEGER, SMALLINT, BIGINT => xs:integer (mit Aspekten maxInclusive und minInclusive) – REAL, DOUBLE PRECISION, FLOAT => xs:float, xs:double – DATE => xs:date

© Prof. T. Kudraß, HTWK Leipzig 5 5 Abbildung von SQL-Konzepten auf XML- Konzepte – Datentypen (Beispiel) Abbildung eines Zeichenkettendatentyps Abbildung eines numerischen Datentyps

© Prof. T. Kudraß, HTWK Leipzig 6 6 Abbildung einer SQL-Tabelle Abbildung einer SQL-Tabelle (im Katalog K und im Schema S) auf ein XML-Dokument mit XML-Schemadokument CREATE TABLE Buecher ( " Verlag&Ort" VARCHAR(20), ("Jahr" INTEGER, ( " Titel" VARCHAR(100)); XML-Dokument <BUECHER xmlns:xsi=" xsi:noNamespaceSchemaLocation="XS"> Fachbuchverlag Leipzig 2007 Taschenbuch Datenbanken... </BUECHER

© Prof. T. Kudraß, HTWK Leipzig 7 7 Abbildung einer SQL-Tabelle (2) XML-Schemadokument minOccurs="0" maxOccurs="unbounded" />

© Prof. T. Kudraß, HTWK Leipzig 8 8 Abbildung einer SQL-Tabelle auf ein XML- Schema (Vollständiges Beispiel) <xsd:schema xmlns:xsd=" xmlns:sqlxml=" <xsd:import namespace=" schemaLocation= " Definition der Basisdatentypen => Fortsetzung nächste Folie

© Prof. T. Kudraß, HTWK Leipzig 9 9 Abbildung einer SQL-Tabelle auf ein XML- Schema (Vollständiges Beispiel)... <xsd:element name="Verlag_x0026_Ort" type="VARCHAR_20_40" minOccurs="0" /> <xsd:element name="Jahr" type="INTEGER" minOccurs="0" /> <xsd:element name="Titel" type="VARCHAR_100_200" minOccurs="0" /> minOccurs="0" maxOccurs="unbounded" /> Definition des komplexen Typs für die Tabelle als Sequenz von row -Elementen

© Prof. T. Kudraß, HTWK Leipzig 10 Abbildung eines SQL-Schemas oder eine SQL-Katalogs SQL-Schema: enthält mehrere Tabellen weitere Ebene ( S ) im XML-Dokument <S xmlns:xsi=" xsi:noNamespaceSchemaLocation="XS"> Fachbuchverlag Leipzig 2007 Taschenbuch Datenbanken......

© Prof. T. Kudraß, HTWK Leipzig 11 Der neue Datentyp XML erlaubte Werte: – XML-Dokument (mit Prolog) – XML-Inhalt gemäß XML 1.0 (einschl. reinem Text, Kommentare und PI?) – NULL keine Vergleichbarkeit möglich (vgl. CLOB in SQL) kein Programmiersprachentyp für Einbindung in SQL vorhanden Standard definiert verschiedene Operatoren, um Übergang zu anderen SQL-Datentypen zu erleichtern

© Prof. T. Kudraß, HTWK Leipzig 12 SQL/XML Operatoren Beispiel : SQL-Tabelle Buecher INSERT INTO Buecher VALUES (Fachbuchverlag Leipzig, 2007, Taschenbuch Datenbanken); XMLGEN: erzeugt einen Wert vom Typ XML mittels XQuery-Konstruktor (Variablenverwendung möglich) XMLGEN ( {$c}, Fachbuchverlag AS "v", 2007 AS "j", Taschenbuch Datenbanken AS "c" ) erzeugt Taschenbuch Datenbanken SELECT XMLGEN ( {$Verlag_x0026_Ort}, "Verlag&Ort") FROM Buecher erzeugt Fachbuchverlag Leipzig Mit Bezugnahme auf SQL-Spalte

© Prof. T. Kudraß, HTWK Leipzig 13 SQL/XML Operatoren (2) XMLELEMENT: dient zur Konstruktion eines XML-Elements (Name + Attribut + Inhalt) XMLELEMENT (NAME "Buch", XMLATTRIBUTES (Fachbuchverlag AS "Verlag", 2007 AS "Jahr"), Taschenbuch Datenbanken) erzeugt Taschenbuch Datenbanken erzeugt Taschenbuch Datenbanken Mit Referenzen auf existierende Tabellenspalten SELECT XMLELEMENT(NAME "Buch"), XMLATTRIBUTES ("Verlag&Ort" AS "Verlag", "Jahr" ), "Titel" ) FROM Buecher FROM Buecher

© Prof. T. Kudraß, HTWK Leipzig 14 SQL/XML Operatoren (3) Schachtelung von Elementen erzeugt im Ergebnis Fachbuchverlag 2007 Taschenbuch Datenbanken SELECT XMLELEMENT(NAME "Buch", XMLELEMENT(NAME "Verlag", "Verlag&Ort"), XMLELEMENT(NAME "Jahr", "Jahr" ) XMLELEMENT(NAME "Titel", "Titel" )) FROM Buecher XMLFOREST: dient der Konstruktion eines Waldes von attributlosen Elementen XMLFOREST(Taschenbuch Datenbanken AS "Titel", 2007 AS "Jahr" ) erzeugt jeweils das XML-Fragment Taschenbuch Datenbanken 2007 oder bei Zugriff auf SQL-Tabelle SELECT XMLFOREST("Titel", "Jahr" ) FROM Buecher

© Prof. T. Kudraß, HTWK Leipzig 15 SQL/XML Operatoren (4) XMLAGG: – konkateniert Einzelergebnisse über mehrere Zeilen – Zusammenfassung mehrerer Zeilen der Bezugstabelle zu XML-Wert – hilfreich für geschachtelte Anfragen und Gruppierung oder mittels SQL-Gruppierung SELECT XMLELEMENT(NAME "Abteilung", XMLATTRIBUTES (Abtnr), SELECT XMLAGG(XMLELEMENT( Name "Mitarbeiter", XMLATTRIBUTES (Vorname,Nachname))) FROM Angestellte m WHERE m.Abtnr=a.Abtnr) FROM Abteilungen a SELECT XMLELEMENT(NAME "Abteilung", XMLATTRIBUTES (m.Abtnr), XMLAGG(XMLELEMENT(NAME "Mitarbeiter", XMLATTRIBUTES (Vorname,Nachname))) FROM Angestellte m GROUP BY Abtnr

© Prof. T. Kudraß, HTWK Leipzig 16 SQL/XML Operatoren (4) Ergebnis des XMLAGG-Beispiels

© Prof. T. Kudraß, HTWK Leipzig 17 Weitere SQL/XML Operatoren XMLCONCAT: fügt mehrere XML-Werte zu einem zusammen XMLCOMMENT: erzeugt einen XML-Kommentar XMLPI: erzeugt eine Verarbeitungsanweisung XMLSERIALIZE: wandelt einen Wert vom Typ XML in eine Zeichenkette um XMLPARSE: konvertiert eine SQL-Zeichenkette, die bezügl. XML wohlgeformt sein muss, in einen Wert des Typs XML

© Prof. T. Kudraß, HTWK Leipzig 18 Bewertung von SQL/XML zwei Komponenten: – Datentyp XML zur Speicherung von XML – Funktionen zur Abbildung von relationalen Strukturen auf XML (generisch inhaltsorientiert) Nur Konstruktionsoperatoren – keine Extraktion von Werten oder Suche – aber: Konstruktionsoperatoren beruhen auf XQuery Abbildung von Tabellen, Schemata, Katalogen ignoriert einige Informationen aus dem rel. Schema – UNIQUE – REFERENCES – CHECK Künftige Erweiterungen zu erwarten