Current Page: | Greybox » Authoring » Course ID: medieninformatik » Modules » Module ID: m06 » Learning Units » Unit ID: 1_3_08 |
---|---|
Last Modified: | Tuesday, 2015-05-05 - 08:09:02 |
Tools: | Validate — Preview XML Preview HTML Preview PDF |
Alternative: | Printable HTML |
Title: | Überblick über Management- und Abfragesprachen | ||
---|---|---|---|
Abstract: | LU Überblick über Management- und Abfragesprachen gibt einen Überblick über Abfragesprachen in MMDB-Systemen. Es werden die verschiedenen Anfragearten an MMDB, sowie Anforderungen an eine MM-Anfragesprache behandelt. Danach wird auf die Multimediaerweiterungen der Object Query Language (OQL) und der Structured Query Language (SQL) eingegangen. Anschließend wird die Ergebnispräsentation und die SQL Erweiterung SQL+D behandelt. | ||
Status: |
Review II: done |
Version: | 8.0 |
History: |
Codeformatierung siehe LU8korregiert.ppt - Done, please check and remove xIgnore. Done.(bt). Review II bis auf obige Punkte komplett berücksichtigt. Links gesetzt. Akronyme, Absätze und Wordanfühungszeichen done. Review von Prof. Kosch eingearbeitet. Unbekannte Character removed. |
Author 1: | Harald Kosch | E-Mail: | harald.kosch@itec.uni-klu.ac.at |
---|---|---|---|
Author 2: | (empty) | E-Mail: | (empty) |
Author 3: | (empty) | E-Mail: | (empty) |
Author 4: | (empty) | E-Mail: | (empty) |
Author 5: | (empty) | E-Mail: | (empty) |
Organization: | Universität Klagenfurt - Institut für Informatik-Systeme |
Management- und Abfragesprachen in MM-Systemen1Anfragearten in MM-Systemen
Anforderungen an eine MM-Anfragesprache
Kategorien von MM-Anfragesprachen
Erweiterungen von OQL/SQL
MOQL (Multimedia Object Query Language)
SQL / MM (MultiMedia)
SI_StillImageType in SQL/MM
SI_StillImage Typ in SQL/MMCREATE TYPE SI_StillImage AS ( SI_content BINARY LARGE OBJECT(SI_MaxContentLength), SI_contentLength INTEGER, ... SI_format CHARACTER VARYING(SI_MaxFormatLength), SI_height INTEGER, SI_width INTEGER ) INSTANTIABLE NOT FINAL Ähnlichkeitsabgleich in SQL/MM
Beispiel Ähnlichkeitsabgleich in SQL/MMSELECT p1, p2 FROM Picture1 p1, Picture2 p2 WHERE p1.photo1_color.SI_Score(p2. photo2) > 0.5 AND p1.photo1_texture.SI_Score(p2.photo2) > 0.4 Ähnlichkeitsabgleich bei OR-Datenbankanbietern
Beispiel Ähnlichkeitsabgleich bei OR-DatenbankanbieternSELECT p1.description, p2.description FROM Picture p1, Picture p2 WHERE ORDSYS.IMGSimilar( p1.photo1_sig, p2.photo2_sig, 'color="0,6" texture="0,2" shape="0,1" location="0,1"', 20) = 1; 2Anfragearten in MM-SystemenAnfragearten in MM-Systemen können in verschiedene Kategorien eingeteilt werden.
Anforderungen an eine MM-AnfragespracheEine allgemeine MM-Anfragesprache muss folgende Anforderungen erfüllen, um allgemeine Akzeptanz zu finden:
Kategorien von MM-AnfragesprachenBei der Entwicklung einer MM-Anfragesprache gibt es zwei verschiedene Ansatzmöglichkeiten:
VideoSQL ist eine SQL402-ähnliche Anfragesprache für das Retrieval von Video Objekten. Sie ist Teil des OVID Projektes, einem Video Objekt Datenbank System, welches von Oomoto und Tanaka entwickelt wurde. Eine VideoSQL Klausel besteht aus select - from - where. Die Select-Klausel unterscheidet sich aber von herkömmlichen SQL402. Hier wird lediglich die Kategorie der Ergebnisobjekte mit den Schlüsselwörtern "continuous" , "incontinuous" und "anyObject" angegeben. Mit "continuous" erhält man Videoobjekte mit einer einzigen fortlaufenden Videosequenz, "incontinuous" liefert Objekte mit mehr als einer fortlaufenden Videosequenz. Wenn das Ergebnis nicht auf diese Eigenschaft eingeschränkt werden soll, wird "anyObject" angegeben. In der From-Klausel wird der Name der Datenbankobjekte spezifiziert und in der Where-Klausel die Bedingungen für die Anfrage. Diese Bedingungen enthalten Attribut/Werte Paare und Vergleichsoperatoren. Videonummern können auch zur Spezifizierung der Bedingungen herangezogen werden. Mit VideoSQL ist es möglich Videoobjekte von mehreren Anfragen miteinander zu verbinden. Der große Nachteil dieser Sprache ist, dass sie keine Ausdrücke für zeitliche oder räumliche Anfragen auf die Videoobjekte hat. Erweiterungen von OQL/SQLNeben der Schaffung einer völlig neuen Sprache gibt es natürlich auch die Möglichkeit eine bereits bestehende Anfragesprache um Multimediakomponenten zu erweitern. Ein objektorientierter Ansatz ist die Erweiterung OQL421 auf MOQL405. Aber auch für SQL402 gibt es eine Multimediaerweiterung: SQL/MM für SQL-99 wurde bei der ISO/IEC Working Group standardisiert. Multimediaerweiterungen werden aber auch von einigen Herstellern verwendet und somit de facto standardisiert, z.B. Oracle interMedia. MOQL (Multimedia Object Query Language)Die Multimediaerweiterungen sind einmal in der where-Klausel und es wird eine eigene present-Klausel eingeführt. Hier werden räumliche und zeitliche Beziehungen näher umschrieben. Räumliche Beziehungen werden mit räumlichen Objekten (z.B.: Punkte, Linien), räumlichen Funktionen (z.B.: Länge, Höhe, Fläche) und räumlichen Prädikaten (z.B.: überdeckend, angrenzend, rechts davon) ausgedrückt. Die zeitlichen Ausdrücke beziehen sich auf zeitliche Objekte (z.B.: Sequenz von Tönen, Bildern) , zeitliche Funktionen (z.B.: Jahr, Minute, Stunde) und zeitliche Prädikate (z.B.: während, danach, startet). Zusätzlich gibt es in der where-Klausel "beinhaltet"-Beziehungen. Mit ihnen ist es möglich Teilmengen anzugeben, z.B. dass eine gewisse Person in einem gewissen Bild erscheinen soll. Neben der Erweiterungen in der where-Klausel gibt es eigene Präsentationsfunktionen mit der present-Klausel. Mit ihr werden die Ergebnisse, je nach Wunsch des Benutzers, miteinander räumlich und/oder zeitlich für die Darstellung kombiniert. MOQL405 wird in LU Multimedia Object Query Language genauer behandelt. SQL / MM (MultiMedia)SQL/MM ist ein von der ISO/IEC Working Group festgelegter und eigenständiger SQL402 Standard für Medienobjekte/Multimedia und Applikationspakete, der seit 2002 internationaler Standard ist. Es gibt verschiedene "Klassenbibliotheken", mit denen verschiedene strukturierte Typen definiert werden können. Diese Typen sind first-class SQL402-Typen, welche mit Anweisungen aus SQL:1999 angesprochen werden. SQL/MM besteht aus vier bereits beschlossenen Teilen, Teil 4 (General Purpose Facilities) und 6 (Data Mining) befinden sich noch in Bearbeitung:
SI_StillImageType in SQL/MMDer Datentyp SI_StillImage wird für digitale Rasterbilder (interne Speicherung als BLOB407) in der Datenbank verwendet. Die Hauptkomponenten von SI_StillImage sind wie folgt definiert: SI_StillImage Typ in SQL/MMCREATE TYPE SI_StillImage AS ( SI_content BINARY LARGE OBJECT(SI_MaxContentLength), SI_contentLength INTEGER, ... SI_format CHARACTER VARYING(SI_MaxFormatLength), SI_height INTEGER, SI_width INTEGER ) INSTANTIABLE NOT FINAL AutoIm Attribut SI_content definiert SI_MaxContentLength die maximale Länge für die Binärrepräsentation des SI_StillImage. SI_format enthält alle Informationen bezüglich Format (z.B. Höhe und Breite), Komprimierung, etc. SI_Max_FormatLength ist die maximal erlaubte Länge der Charakteristika-Repräsentationen eines Bildformats. INSTANTIABLE bedeutet, dass es instanziiert werden kann, durch NOT FINAL ist es möglich Subtypen zu bilden. Ähnlichkeitsabgleich in SQL/MMDer SI_StillImage Typ ist für die Aufbewahrung von Bildern und anderen Typen zur Repräsentation, wie SI_AverageColor (durchschnittlicher Farbwert), SI_ColorHistogram (Farbverteilung) SI_PositionalColor (Farbverteilung bezüglich Bildlage), SI_Texture (Angaben zu Auflösung, Kontrast etc.) vorgesehen. Der Ähnlichkeitsabgleich wird durch die CBR-Funktionalität unterstützt (Content-Based Retrieval). Die polymorphe SI_Score Methode vergleicht zwei Signaturvektoren und liefert das Maß der Übereinstimmung zurück. Beispiel Ähnlichkeitsabgleich in SQL/MMSELECT p1, p2 FROM Picture1 p1, Picture2 p2 WHERE p1.photo1_color.SI_Score(p2. photo2) > 0.5 AND p1.photo1_texture.SI_Score(p2.photo2) > 0.4 AutoZurückgegeben werden alle Bilder p1 ε Picture1 und p2 ε Picture2, deren Farb- und Texturwerte zu 50 % bzw. 40 % übereinstimmen. Das Objekt colorhist enthält das Farbhistogramm des ersten Bildes. Die Methode SI_Score vergleicht es dann mit Bildern aus Picture2 und gibt einen Wert größer oder gleich 0 zurück. Je geringer der retournierte Wert ist, desto ähnlicher sind sich die Farbhistogramm-Werte der beiden Bilder. Der Texturvergleich der beiden Bilder erfolgt analog. Ähnlichkeitsabgleich bei OR-DatenbankanbieternDas Konzept der SQL/MM Typen und Methoden wird bereits in der Praxis für den Ähnlichkeitsabgleich eingesetzt: Oracle's interMedia oder IBM DB2 Extenders (siehe Forschungsprodukte). Sie beruhen zwar auf dem Konzept von SQL/MM, haben aber eine andere SQL402-Syntax und unterstützen keine polymorphen Scorefunktionen. Das zuvor gezeigte Abfragebeispiel würde in Oracle so aussehen: Beispiel Ähnlichkeitsabgleich bei OR-DatenbankanbieternSELECT p1.description, p2.description FROM Picture p1, Picture p2 WHERE ORDSYS.IMGSimilar( p1.photo1_sig, p2.photo2_sig, 'color="0,6" texture="0,2" shape="0,1" location="0,1"', 20) = 1; AutoSelektiert wird die Beschreibung der Bilder p1 und p2. Die SI_Score-Methode wird hier durch IMGSimilar ersetzt. Auch hier werden die Signaturvektoren der übergebenen Bilder verglichen. Es wird dann angegeben, welche Gewichtung die low-level Features Farbe, Textur, Form und Lage haben. Der Rückgabewert beträgt 1, wenn der gemessene Vergleichswert unter oder gleich 20 ist. 0 würde zurückgegeben werden, wenn der Unterschied mehr als 20 beträgt. Ergebnispräsentation1Auto
Anfrage und Präsentation: SQL+D
Beispiel SQL+D - AnfrageSELECT a, v FROM MONUM WHERE country='USA' DISPLAY panel main WITH a AS audio A, v AS video V ON main.Center(Overlay), SHOW V,A Auto PCAuto PDA_Phone2AutoDie Präsentation von Ergebnissen ist in MMDB sehr wichtig. Sie ist im Gegensatz zu traditionellen Ausgaben von Tabellen sehr viel komplexer. Dem Benutzer muss es möglich sein zeitliche und räumliche Anordnungen des Ergebnisses zuvor festzulegen. Die vom Benutzer festgelegten Rahmenbedingungen können die Medienzusammensetzung (z.B: Mit der Musik anfangen und dann nach 5 Sekunden das Bild anzeigen) betreffen. Des Weiteren sollte es möglich sein, die Präsentation interaktiv zu gestalten und ihre Teile zu synchronisieren. Für die Konfiguration der Ergebnispräsentation kann eine Eingabemaske oder eine Programmiersprache verwendet werden. Anfrage und Präsentation: SQL+DSQL+D ist eine Erweiterung von SQL402 für die Ergebnispräsentation. So ist es dem Benutzer möglich das Bildschirmlayout gleich bei der Anfrage zu spezifizieren. Beispiel SQL+D - AnfrageSELECT a, v FROM MONUM WHERE country='USA' DISPLAY panel main WITH a AS audio A, v AS video V ON main.Center(Overlay), SHOW V,A AutoWie die Abfrage zeigt, wird SQL+D einfach einer normalen SQL402-Abfrage angehängt. Das Schlüsselwort für die Ergebnispräsentation ist "DISPLAY". Damit wird der Ort für die Präsentation angegeben - in diesem Fall das Haupt-Fenster (Panel). Es können aber auch mehrere Anzeige-Orte angegeben werden. Danach folgt ein "WITH" in dem die Datenelemente angegeben werden, die dann in den Fenstern gezeigt werden sollen. Durch "ON" kann man festlegen in welchem Fenster und mit welcher Ausrichtung die Datenelemente ausgerichtet werden sollen. In diesem Beispiel soll es zentriert ausgegeben werden, aber es gibt auch die Möglichkeit Himmelsrichtungen anzugeben (north, south, east, west). Durch "SHOW" gibt man an, welcher der zuvor in "WITH" spezifizierten Datenelemente gezeigt werden sollen. Diese Angabe kann aber auch weggelassen werden. Abfrageverarbeitung in SQL+D PCEine SQL402-Abfrage mit SQL+D wird folgendermaßen verarbeitet: Auto PCAuto PDA_PhoneAutoZunächst geht die Abfrage zu einem SQL+D Interpreter. Dieser teilt diese in zwei Teile. Der erste Teil ist die "normale" SQL402-Abfrage, welche über die Datenbankschnittstelle an die Datenbank weitergeleitet und ausgewertet wird. Das Ergebnis geht dann an die Ausgabekontrolle. Dorthin wurde auch der zweite Teil der Abfrage, die SQL+D Präsentationsangaben, geleitet. Diese werden dann verwendet, um die Ergebnisdaten aus der Datenbank so auszugeben, wie es der Benutzer zuvor spezifiziert hat. Die Ausgabekontrolle besteht aus einem Parser und einem Ausgabegenerator. Der Parser leitet die Ausgabeinformationen an den Ausgabegenerator weiter. Dieser generiert dann die Ausgabe entsprechend den Anforderungen. Events im Ausgabefenster werden an die Ausgabekontrolle geleitet, die dann mit Hilfe des Ausgabegenerators die Ausgabe updatet. Bibliographie2AutoNGB98 AMS98 ME01 |
(empty) |