Download - 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele
![Page 1: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/1.jpg)
1
Oracle interMediaImage
Christian Dietz
![Page 2: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/2.jpg)
2
Inhalt
Allgemein LOB ORDImage Eigenschaften Beispiele
![Page 3: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/3.jpg)
3
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
![Page 4: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/4.jpg)
4
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)
![Page 5: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/5.jpg)
5
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
![Page 6: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/6.jpg)
6
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)
![Page 7: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/7.jpg)
7
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()
![Page 8: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/8.jpg)
8
ORDImage
Attribute Datentyp Beschreibung
source ORDSource ORDSource, in dem die Bilddaten gespeichert sind
height INTEGER Höhe des Bildes
width INTEGER Breite des Bildes
contentLength INTEGER Die Größe des Bildes in Byte
fileFormat VARCHAR2 (4000) Datenformat (z.B. jpg)
contentFormat VARCHAR2 (4000) Bildtyp(z. B. schwarz/weiß, grau)
compressionFormat VARCHAR2 (4000) Kompressionsalgorithmus
mimeType VARCHAR2 (4000) MIME-Typ
![Page 9: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/9.jpg)
9
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
![Page 10: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/10.jpg)
10
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
![Page 11: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/11.jpg)
11
ORDImage
Möglichkeiten ORDImage – Typ: Änderung Kodierung, Skalierung die technischen Bildattribute in Anfragen zu
verwenden
![Page 12: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/12.jpg)
12
Bsp. Tabelle anlegen
- Beispiel der Benutzung von ORDImage
CREATE TABLE bilder(ID INTEGER, Name(varchar 80)Bild ORDSYS.ORDImage);
![Page 13: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/13.jpg)
13
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.
![Page 14: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/14.jpg)
14
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 auslesenSELECT Bild INTO Image FROM Bilder WHERE Bildername = 'test' for UPDATE;
Image.setProperties; --Bildattribute ermitteln
UPDATE bilder SET Bild = Image WHERE Bildername = Blume'; COMMIT;
END;
![Page 15: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/15.jpg)
15
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));
![Page 16: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/16.jpg)
16
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 zuweisenUPDATE bilder SET Bild = Image WHERE Name = Blume'; COMMIT;
END;
![Page 17: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/17.jpg)
17
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
![Page 18: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/18.jpg)
18
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
![Page 19: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/19.jpg)
19
Beispiele
Zugriff auf die Attribute erfolgt mittels
Spaltenname.getAttribut()
Kann in Anfragen verwendet werden
![Page 20: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/20.jpg)
20
Beispielanfragen
Liefere alle Bilder die eine bestimmte Breite nicht überschreiten
SELECT Name, Bild.getWidth()
FROM bilder
WHERE Bild.getWidth() < 32;
![Page 21: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/21.jpg)
21
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';
![Page 22: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/22.jpg)
22
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;
![Page 23: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/23.jpg)
23
Bsp.: Skalieren
DECLAREImage ORDSYS.ORDImage;BEGIN
-- Bild aus DB ladenSELECT Bild INTO Image FROM bilderWHERE id=1 FOR UPDATE;-- Bild auf die Größe 500x500 skalierenImage.process (’maxScale=(500,500)’);-- Veränderte Daten speichernUPDATE bilder SET Bild = Image WHERE id =10;
END;
![Page 24: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/24.jpg)
24
Bildformat umwandeln
DECLARE Image ORDSYS.ORDImage; BEGIN
SELECT Bild INTO Image -- Bild in Variable speichernFROM bilder WHERE Name = ‚Blume' FOR UPDATE;
Image.process('fileFormat=TIFF'); -- In TIFF-Format umwandeln
UPDATE bilder -- Bild mit neuemSET Bild = Image -- Bildformat speichernWHERE Name = ‚Blume';
END;
![Page 25: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/25.jpg)
25
ORDImage
Attribute Datentyp Beschreibung
source ORDSource ORDSource, in dem die Bilddaten gespeichert sind
height INTEGER Höhe des Bildes
width INTEGER Breite des Bildes
contentLength INTEGER Die Größe des Bildes in Byte
fileFormat VARCHAR2 (4000) Datenformat (z.B. jpg)
contentFormat VARCHAR2 (4000) Bildtyp(z. B. schwarz/weiß, grau)
compressionFormat VARCHAR2 (4000) Kompressionsalgorithmus
mimeType VARCHAR2 (4000) MIME-Typ
![Page 26: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/26.jpg)
26
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
![Page 27: 1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele](https://reader035.vdokument.com/reader035/viewer/2022062622/55204d6749795902118bc9d9/html5/thumbnails/27.jpg)
27
Quellen
Oracle interMedia User‘s Guide php-homepage.de