Oracle interMedia Image

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Object Relational Mapping
Imperative Programmierung
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
der Universität Oldenburg
Allgemeine Technologien II
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
SendEplanung Datenbank
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Referenzen und Zeichenketten
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Spezielle Aspekte der Anbindung von Datenbanken im Web.
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.
Oberseminar Datenbanken Multimediale Datenbanken Christian Völschow.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Datenintegrität Referentielle Integrität create table
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
Datenbanken 13: Objekt-Klasse-Datenbank
Datenbanken 10: Einfügen, Ändern, Löschen
Einführung MySQL mit PHP
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
JDBC: JAVA Database Connectivity
objekt-relationale Datenbanken
Visualisierung objektrelationaler Datenbanken
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Delphi II - OOP IFB Fortbildung
Multimedia Datenbankprodukte
BILDFORMATE von Margarita Isjurowa.
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Theorie Praktische Beispiele
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Vom Kontext zum Projekt V Carina Berning Sabrina Gursch Pierre Streicher Intelligente Dateisysteme.
Theorie Praktische Beispiele
Einführung in Datenbankmodellierung und SQL
Freiwillige Feuerwehr der Stadt Perg
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
SQLite und XML in PHP 5.
Structured Query Language
Theorie Praktische Beispiele
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Kapitel 2: Image J Software für digitale Bilder
Oberseminar Moderne Datenbanken WS03/04
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Termin Festlegung Einführung MySQL Runterladen MySQL, Pentaho Design Studio Betrachtung Pentaho
TypoScript.
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
...ist eine Maßeinheit für die Datenmenge und den Informationsgehalt. Dabei ist 1 Bit die kleinste darstellbare Datenmenge, die beispielsweise durch eine.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
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)
Beispiele zur Datenänderung
Create Table, Rechte und Rollen
Installation und Beispiele
(Structured Query Language)
 Präsentation transkript:

Oracle interMedia Image Christian Dietz

Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele

Allgemein LOB interMedia Image ist eine Komponente von Oracle interMedia erlaubt die Verwaltung von Bildern in einer integrierten Weise mit anderen Unternehmensinformationen über Objekttypen und benutzerdefinierte Datentypen Enthält erweiterte Basis-Methoden zum Verwalten und Ändern von Bilddaten

Allgemein LOB Warum Bilder in DB speichern? Bequemeres Verwalten Transaktionen Sparen von Entwicklungszeit und –kosten durch Zusatzmethoden von ORDImage Nachteil: DB wird langsamer (BLOB bis 4 GB)

Allgemein LOB Mediadaten können intern oder extern gespeichert werden BLOB: intern, Daten im Tablespace BFILE: extern, Verweis auf Datei im lokalen Dateisystem – vom DBS verwaltet

ORD Oracle interMedia benutzt OR (Objekt-Relationale)-DB Typen um multimediale Daten zu verwalten - diese Objekte enthalten Attribute (Metadaten und Mediendaten) und Methoden (zur Datenmanipulation) Oracle interMedia hat seine 4 objeckt-relationale (OR-)Mediendatentypen mit ORD als Prefix benannt. Die Ausprägungen gibt es für Audio, Bilder, Video und einen Mix-Datentyp ORDDoc welche multimediale Dokumente unterstützt. Die Datentypen definieren Attribute und Methoden. Attribute dienen vor allem der Speicherung von Meta-Daten über die Mediencharakteristika. Metadaten sind Daten über die Mediendaten, sowie die Größe, Art der Komprimierung, Format, etc. Methoden sind Prozeduren und Funktionen welche die Objekte verwalten, wie z.B. getProperties( ) und setProperties( ) zur Abfrage der Eigenschaften der Mediendaten.

ORD Attribute sind Informationen über die Daten, wie Objektlänge, Kompression, Format Speicherinformationen (Datentyp, Speicherplatz/Ort) Sourcenamen Charakteristische Daten der jeweiligen Medien (Audio, Video oder Bild) Methoden sind Prozeduren, welche auf die Objekte angewendet werden können, z.B. getContent() oder process()

ORDImage Attribute Datentyp Beschreibung source ORDSource ORDSource, in dem die Bilddaten gespeichert sind height INTEGER Höhe des Bildes width Breite des Bildes contentLength Die Größe des Bildes in Byte fileFormat VARCHAR2 (4000) Datenformat (z.B. jpg) contentFormat Bildtyp(z. B. schwarz/weiß, grau) compressionFormat Kompressionsalgorithmus mimeType MIME-Typ

ORDImage Unterstützte Bildformate: BMP GIF JPG CALS Raster – Format JFIF – Format PCX – Format PICT – Format Raw Pixel – Format Sun Raster – Format Targa – Format TIFF - Format

ORDImage bietet die Grundfunktionalität zur Manipulation, Speicherung und zum Laden digitaler Bilder und Ähnlichkeitssuche in Bilddaten, welche sich auf Farbe, Kontur und Textur beziehen durch Erweiterungen möglich Kann erweitert werden

ORDImage Möglichkeiten ORDImage – Typ: Änderung Kodierung, Skalierung die technischen Bildattribute in Anfragen zu verwenden Alle ORD* Typen besitzen Operationen, um Format, Kompressions Format, oder Dateityp abzufragen. Allerdings besitzen ORDAudio, ORDVideo und ORDDoc keine Möglichkeiten der Ähnlichkeitssuche. Die durch den Objekttyp ORDImage repräsentierten Bilder besitzen dagegen die Ähnlichkeitssuche welche sich auf Farb-, Kontur- und Texturmerkmale bezieht. Darüber hinaus stellt ORDImage die Methoden process oder processCopy zur Verfügung, durch die mit Hilfe eines Kommandostrings Formatkonvertierungen und andere Transformationen möglich sind, auch ist für diesen Datentyp eine Ähnlichkeitssuche möglich.

Bsp. Tabelle anlegen - Beispiel der Benutzung von ORDImage CREATE TABLE bilder( ID INTEGER, Name(varchar 80) Bild ORDSYS.ORDImage);

Bsp.: Bild als BFILE speichern INSERT INTO bilder (ID, Name, Bild) VALUES(1, ‘Blume', ORDSYS.ORDImage.init('file','ORDIMGDIR',‘Blume.gif')) sourceLocation Argument 'ORDIMGDIR' von ORDSYS.ORDImage.init() muss ein lokales Verzeichnis sein. Das folgende insert Statement zeigt wie man eine Instanz der Beispieltabelle mit einem Element vom Typ ORDImage befüllt. Das Bild wird über eine Datei im lokalen Dateisystem referenziert. INSERT INTO fotos (foto_id, fotograph, annotierung, foto) VALUES(1, 'John MacIvor', 'red plaid', ORDSYS.ORDImage.init('file','ORDIMGDIR','redplaid.gif')); Um die Instanz korrekt einzugeben, ist es von Nöten, dass die sourcelocation der Methode ORDSYS.ORDImage.init() korrekt gesetzt ist. Dieses geschieht durch vorheriges Anlegen eines DIRECTORY unter dem Benutzer SYS: CREATE DIRECTORY ORDIMGDIR AS '<MYIMAGEDIRECTORY>'; GRANT READ ON DIRECTORY ORDIMGDIR TO <user-or-role>;

Bildattribute automatisch bestimmen DECLARE Image ORDSYS.ORDImage; -- Anwendungsvariable BEGIN INSERT INTO bilder VALUES(1, ‘Blume', ORDSYS.ORDImage.init('file','ORDIMGDIR',‘Blume.gif')) --speichern --in Variable auslesen SELECT Bild INTO Image FROM Bilder WHERE Bildername = 'test' for UPDATE; Image.setProperties; --Bildattribute ermitteln UPDATE bilder SET Bild = Image WHERE Bildername = Blume'; COMMIT; END;

Als BLOB (Unterschied) Als BLOB speichern: INSERT INTO bilder VALUES ( 10, ‚Blume', ORDSYS.ORDImage(ORDSYS.ORDSource(empty_blob(),NULL,NULL,NULL,SYSDATE,1), NULL,NULL,NULL,NULL,NULL,NULL,NULL));

Als BLOB DECLARE Image ORDSys.ORDImage; Iblob BLOB; BEGIN INSERT INTO bilder VALUES ('$ID‚,‘Name‘,ordsys.ordImage(ORDSYS.ORDSource (EMPTY_BLOB(), NULL,NULL,NULL,SYSDATE,1), NULL,NULL,NULL,NULL,NULL,NULL,NULL)); SELECT Bild INTO Image FROM bilder WHERE ID='$ID' FOR UPDATE; Iblob := ….. --Bilddaten zuweisen UPDATE bilder SET Bild = Image WHERE Name = Blume'; COMMIT; END;

Gültigkeit der Bilddaten interMedia prüft nicht die Gültigkeit der Bilddaten Anhand der Eigenschaften nicht nachprüfbar bei JPG, da Oracle nur JPG in Standardformatierung verarbeiten kann Lösung: nach Einfügen Bildmaterial laden und um Faktor 1 skalieren

Bild anzeigen header ("Content-Type: ".$Mimetype); echo $BinaryBild; Header-Tag „Content-Type“ muss unbedingt an den Browser gesendet werden, damit dieser erkennt, um was für einen Inhalt es sich hier handelt – Bsp.: image/jpeg

Beispiele Zugriff auf die Attribute erfolgt mittels Spaltenname.getAttribut() Kann in Anfragen verwendet werden

Beispielanfragen Liefere alle Bilder die eine bestimmte Breite nicht überschreiten SELECT Name, Bild.getWidth() FROM bilder WHERE Bild.getWidth() < 32;

Beispielanfragen Liefere die ID‘s der Bilder mit Dateigröße wenn das Bild im JPEG-Format vorliegt SELECT Name, Bild.getContentLength() FROM bilder WHERE Bild.getCompressionFormat() = 'JPEG';

Bsp. Bilddaten kopieren DECLARE Image_1 ORDSYS.ORDImage; Image_2 ORDSYS.ORDImage; BEGIN SELECT Bild INTO Image_1 FROM bilder WHERE Name = 'Nelke'; SELECT Bild INTO Image_2 FROM bilder WHERE Name = 'Rose' FOR UPDATE; -- Bilddaten von Image_1 nach Image_2 Image_1.copy(Image_2); UPDATE bilder SET Bild = Image_2 WHERE Name = 'Nelke'; END;

Bsp.: Skalieren DECLARE Image ORDSYS.ORDImage; BEGIN -- Bild aus DB laden SELECT Bild INTO Image FROM bilder WHERE id=1 FOR UPDATE; -- Bild auf die Größe 500x500 skalieren Image.process (’maxScale=(500,500)’); -- Veränderte Daten speichern UPDATE bilder SET Bild = Image WHERE id =10; END;

Bildformat umwandeln DECLARE Image ORDSYS.ORDImage; BEGIN SELECT Bild INTO Image -- Bild in Variable speichern FROM bilder WHERE Name = ‚Blume' FOR UPDATE; Image.process('fileFormat=TIFF'); -- In TIFF-Format umwandeln UPDATE bilder -- Bild mit neuem SET Bild = Image -- Bildformat speichern WHERE Name = ‚Blume'; END;

ORDImage Attribute Datentyp Beschreibung source ORDSource ORDSource, in dem die Bilddaten gespeichert sind height INTEGER Höhe des Bildes width Breite des Bildes contentLength Die Größe des Bildes in Byte fileFormat VARCHAR2 (4000) Datenformat (z.B. jpg) contentFormat Bildtyp(z. B. schwarz/weiß, grau) compressionFormat Kompressionsalgorithmus mimeType MIME-Typ

Fazit Bilder können direkt bei der Ausgabe konvertiert und skaliert werden Nachteil kann unter Umständen viel Zeit in Anspruch nehmen (z.B. JPEG) Bei häufig verwendeten Formaten besser zweites LOB direkt beim Speichern anlegen

Quellen Oracle interMedia User‘s Guide php-homepage.de