Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
  Forum Übersicht   Suche    Anmelden    Login   Online ?   Mitglieder   FAQ
Sie können sich hier anmelden
Dieses Thema hat 15 Antworten
und wurde 1.550 mal aufgerufen
Bei Antworten informieren
 Recherche
Seiten 1 | 2
Alexander Ramisch Offline



Beiträge: 372

11.11.2006 21:53
Beliebige Suche in der Datenbank antworten

Hallo,

ich werde immer wieder gefragt nach Datenbankzugriffen, die von der pixafe-Benutzeroberfläche noch nicht möglich sind, aber im Kontext eines Anwenders sinnvoll wären. Beispielsweise die Suche nach Bildern zu bestimmten Schlagworten, die NICHT an einem bestimmten Ort aufgenommen wurden, oder die NICHT von einer bestimmten Kategorie sind.

Hier greift das Datenmodell und die Datenbanksprache SQL. Das pixafe-Datenmodell beschreibt genau, welche Tabellen in der pixafe Datenbank verwaltet werden, wie die einzelnen Spalten heissen und wie man in ganz individueller Weise auf die Datenbank zugreifen kann.

Der Link auf dieses Papier findet sich hier: http://www.pixafe.com/downloads/Datenmodell.pdf
Ein Einstieg in SQL für DB2 ist unter folgendem Link zu finden; http://www.uni-kassel.de/hrz/manuals/db2/pdf/de/DB2Y0G70.PDF

Man muss sich aber bewusst sein, dass es nicht unbedingt trivial ist, mittels SQL auf die Datenbank zuzugreifen, ein wenig Informatik-Know how ist schon sinnvoll.

Nun anbei ein kleines Beispiel um das ganze auch ein wenig schmackhaft zu machen:

Der folgende SQL-Befehl selectiert alle Bilder mit der Kategorie FAVORIT in der Datenbank, auf denen Personen abgebildet sind, die die Vornamen Maja und Elias haben.

select b.id from bild b,
bild_person bp1,
bild_person bp2,
bild_kategorie bk,
kategorie k,
person p1,
person p2
where b.id = bp1.idbild and
bp1.idpers = p1.id and
p1.vorname = 'Elias' and
bp2.idpers = p2.id and
p2.vorname = 'Maja' and
bp2.idbild = bp1.idbild and
bk.idkat = k.id and
k.kat='FAVORIT' and
bk.idbild = b.id

Diese Bilder werden über den folgenden Befehl markiert:

update bild set marked = 1 where id in
(
select b.id from bild b,
bild_person bp1,
bild_person bp2,
bild_kategorie bk,
kategorie k,
person p1,
person p2
where b.id = bp1.idbild and
bp1.idpers = p1.id and
p1.vorname = 'Elias' and
bp2.idpers = p2.id and
p2.vorname = 'Maja' and
bp2.idbild = bp1.idbild and
bk.idkat = k.id and
k.kat='FAVORIT' and
bk.idbild = b.id
);

Wenn Sie den Befehl ausfürhen sind die beschriebenen Bilder markiert, Ihr könnt also anschlißend mit der pixafe Oberfläche nach den markierten Bildern suchen und findet genau die Bilder wie oben beschrieben.

Noch ein Hinweis: SQL-Befehle auf der Kommandozeile einzugeben ist ein wenig mühsam. Ich schreibe diese Befehle in eine ASCII-Datei und führe sie über den Befehl spufi aus. Der spufi-Befehl ist eine Batch-Datei die als Argument die Datei mit dem SQL-Befehl erhält: Spufi.bat enthält also folgendes Kommando: db2 -f %1 -t -l %1.log

Das SQL-Kommando des Beispiels speichert Ihr beispielsweise in der Datei select.txt ab:
Wenn Ihr dann spufi select.txt eingebt, werden alle Bilder markiert, die von der Kategori FAVORIT sind und auf denen Maja und Elias abgebildet sind.

Mich würde mal Eure Meinung dazu interessieren.

Grüße
Alex

---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

Rainer Offline



Beiträge: 94

12.11.2006 08:37
#2 RE: Beliebige Suche in der Datenbank antworten

Alex, damit machst Du mir und den anderen Angst. Das ist was für Profis. Der normale Nutzer versteht das nicht und möchte sich eigentlich nicht damit befassen.

Rainer

trekker Offline



Beiträge: 24

12.11.2006 09:14
#3 RE: Beliebige Suche in der Datenbank antworten
Sehe ich auch so. Ich bin froh, das die Kiste läuft und ich meine falsch eingegebenen Schlagwörter in der Liste bereinigt habe. Jetzt finde ich alles über das grüne Fernglas oder die Baumsuche. Die Sache mit der Datumssuche ist ebenfalls super. Kommandozeilen sind nicht so mein Ding.

mfg trekker
Ich bearbeite meine Bilder mit FixFoto, verwalte sie mit Pixafe der Bilderdatenbank und präsentiere sie mit Aquasoft Dia Show XP five

Alexander Ramisch Offline



Beiträge: 372

12.11.2006 10:25
#4 RE: Beliebige Suche in der Datenbank antworten

Die Datenbank ist ja auch etwas für Profis :-)
Aussage ist einfach nur, dass beliebige Abfragen möglich sind, sofern SQL-Kenntnisse vorhanden sind.

Grüße
Alex

---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

Alexander Ramisch Offline



Beiträge: 372

12.11.2006 11:06
#5 RE: Beliebige Suche in der Datenbank antworten
Hier noch ein kleiner Befehl, um alle Bilder zu finden, die noch nicht mit Personen beschriftet sind:
unter http://www.pixafe.com/downloads/spufi.zip gibt es die Batch-Datei SPUFI. Einfach entpacken und in den Pfad legen.

Dann die Datei http://www.pixafe.com/downloads/KeinePersonen.zip. Auch diese entpacken und dann folgendes eingeben:
db2 connect to picdb user <KENNUNG des PIXAFE ADMINS> using <DESSEN PASSWORT>
spufi KeinePersonen.sql

Anschließend sind alle Bilder markiert, die noch nicht mit Personen beschriftet sind.
Der Befehl greift aber nur solche ab, die auch gleichzeitig Favoriten sind.

Wenn der gesamte Bildbestand (nicht nur die Favoriten) untersucht werden soll,
ist der Befehl (KeinePersonen.sql) abzuändern auf:

update bild set marked = 1 where id in ( select b.id from bild b where not exists ( select * from bild_person bp where bp.idbild=b.id ) );

Das ist doch eine simple Methode, um alle Bilder zu finden, die noch beschriftet werden müssen.
Ähnlich einfach wäre es alle Bilder zu finden, die noch mit keinem Ort beschriftet wurden etc.

Grüße
Alex

---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

nolle ( Gast )
Beiträge:

12.11.2006 11:08
#6 RE: Beliebige Suche in der Datenbank antworten

Hallo Alex,
die SQL Abfragen interessieren mich sehr. Ich würde auch gerne die gesamte Datenbank in einer Exceltabelle abgespeichert haben.
Ich würde gerne wissen ob ich das jetzt so realisieren kann, oder muss ich mir dafür noch irgendein Tool von pixafe kaufen

Gruss Nolle

Alexander Ramisch Offline



Beiträge: 372

12.11.2006 11:10
#7 RE: Beliebige Suche in der Datenbank antworten
Hallo Nolle,

es sind keine zusätzlichen Tools nötig.
Nur das Datenmodell und SQL-Know How...

Grüße
Alex
---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

Joe Offline



Beiträge: 6

12.11.2006 17:20
#8 RE: Beliebige Suche in der Datenbank antworten
Hallo zusammen,
hallo Alex,

dass eine gute Datenbank jegliche Abfragen grundsätzlich ermöglicht, das war für mich bisher eine Selbstverständlichkeit. Allerdings ist ein Anwenderprogramm wie pixafe aus meiner Sicht genau so selbstverständlich dafür da, dass der user keine Datenbankkenntnisse und keine Programmiersprachen beherrschen muss, um die Funktionalitäten der DB zu nutzen.

Deshalb hoffe ich, dass zukünftige Updates u.a. hier mit dem Ziel ansetzten, die Möglichkeiten der Datebank weiter auch für die Anwender zu erschließen, die keine Informatiker sind.

Besten Gruß
Joe

Alexander Ramisch Offline



Beiträge: 372

12.11.2006 19:25
#9 RE: Beliebige Suche in der Datenbank antworten

Hallo Joe,
da stimme ich zu, der Anwender braucht von Datenbanken nichts zu wissen.
Das ist auch heute schon so, über den pixafe-Client kann man quasi alles finden.
Nichtsdestotrotz ist die Sprache SQL noch viel mächtiger sodass mit deren Kenntnis weitere Möglichkeiten bestehen.
Beispielsweise das Erstellen von Reports oder wie von Nolle gewünscht das Erstellen eines Abbildes in Excel, etc.

Grüße
Alex
---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

Rainer Offline



Beiträge: 94

13.11.2006 11:59
#10 RE: Beliebige Suche in der Datenbank antworten

Kann man das denn nicht in der erweiterten Suche unterbringen? Dann klickt man drauf und das Ergebnis erscheint. Und von der ganzen Kommandozeile kriegt man nichts mit.

R.

Alexander Ramisch Offline



Beiträge: 372

13.11.2006 13:00
#11 RE: Beliebige Suche in der Datenbank antworten

Das sehe ich auch so für die gewünschten Suchen nach nicht belegten Autoren, Personen Orten etc. Ich habe das auch schon entsprechend aufgenommen.
Für weitere Abfragen, Reports, zur Anbindung beispielsweise an Abrechnungssysteme etc. ist das Wissen über das Datenmodell dennoch nötig. Aber ich sehe es auch so, dass dies im Normalfall nicht benötigt wird.

Grüße
Alex
---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

Nolle Offline



Beiträge: 167

08.04.2007 12:57
#12 RE: Beliebige Suche in der Datenbank antworten

Hallo Alex

ich möchte gerne Bilder die in einem bestimmten Zeitraum in die Datenbank eingefügt wurden und zu einer bestimmten Kategorie gehören suchen.
Mit dem pixafe Client ist da wohl nicht zu machen, oder doch ?
Ich habe versucht dein Beispiel mit den sql Befehlen so zu ändern das es meiner Suche entspricht, bin aber immer bei der Eingabe des Datum gescheitert
Vielleicht hast du ja noch ein Tipp für mich

Danke+Gruss
nolle

Alexander Ramisch Offline



Beiträge: 372

08.04.2007 23:02
#13 RE: Beliebige Suche in der Datenbank antworten

Hi Nolle,

die Suche nach Bildern aus einem Zeitraum kombiniert mit einer Kategorie findest du indem du in dem normalen Suchdialog das Bilddatum und die geünschte Kategorie angibst.
Also beispielsweise alle Bider der Kategorie Sport im Januar 2003: Angabe im Bilddatum 2003.01 und Eingabe der Kategorie Sport.
Wenn du das Einfügedatum mit einer Kategorie kombinieren willst siehts erst mal schlecht aus. Du kannst hier zwar ganz genau den Zeitraum angeben aber noch nicht mit der Kategorie kombinieren. Aber üder die direkte Eingabe von SQL muss es klappen. Wo liegt das Problem bei der Eingabe des Datums?

Grüße
Alex

---
Alexander Ramisch mailto:info@pixafe.com
pixafe GbR http://www.pixafe.com
pixafe - die Bilderdatenbank
Erhard Auer Straße 8 , D-80637 Muenchen
Tel +49 89 87589575 Fax +49 89 15919775

Nolle Offline



Beiträge: 167

09.04.2007 15:40
#14 RE: Beliebige Suche in der Datenbank antworten
Hallo Alex
das Problem liegt darin, das ich keine Ahnung davon habe wie man das Datum von bis eingibt

Gruss nolle
Michael Offline



Beiträge: 190

11.04.2007 22:42
#15 RE: Beliebige Suche in der Datenbank antworten

Hallo Nolle,

um z.B. die Bilder, die Du seit Anfang April diesen Jahres in pixafe eingefügt hast, zu markieren, kannst Du z.B. mal folgendes absetzen:

update bild set marked = 1 where id in
( select id from bild
where date(inserted)>'2007-03-31'
);

Analog kannst Du natürlich eine "Datum von-bis" Abfrage bzw. Markierung realisieren:
z.B.:
update bild set marked = 1 where id in
( select id from bild
where date(inserted)>'2007-03-31' and date(inserted)<'2007-04-12'
);

Gruß, Michael

Seiten 1 | 2
 Sprung