Autor Thema: Konzeption Literaturdatenbank  (Gelesen 6567 mal)

Martin Lemke

  • Administrator
  • *****
  • Beiträge: 15531
Konzeption Literaturdatenbank
« am: 2013-01-13 11:06:48 »
Letztes Jahr hat Mario (?) vorgeschlagen eine Literaturdatenbank aufzubauen, aus der hervor geht, wer welches Buch hat. Eveline hat inzwischen ein Datenbankkonzept dafür vorgelegt, das auch PDF-Dateinen berücksichtigen wird. Mit der Erfassung solcher Daten kommt natürlich auch Arbeit auf uns zu.

Im Moment habe ich noch die Forumsfestplatte (Lars hat die gespendet). Darauf habe ich Literatur in strukturierter Weise gespeichert (siehe Screenshots). Katja hatte vorgeschlagen, alle Dateien in einem Verzeichnis abzuspeichern; das erfordert natürlich erheblich weniger Verwaltungsaufwand, hat aber den Nachteil, dass man nicht mal eben schauen kann, was an Literatur über Theridiidae oder Pholcus phalangioides vorhanden ist, ohne tausende pdfs zu durchstöbern.

In Zusammenhang mit der Datenbank stellt sich die Frage, ob der konkrete Speicherort darin angegeben werden soll. Dann darf auf der Platte nichts mehr verschoben werden. Man stelle sich vor, irgend eine Art wird bei Platnick in eine andere Familie verschoben.

Gibt es Meinungen hier zu?

Martin
Profil bei Researchgate.net – Spinnen-News aus SH

DAS waren noch Zeiten: Norwegen 2011.

Martin Lemke

  • Administrator
  • *****
  • Beiträge: 15531
Re: Konzeption Literaturdatenbank
« Antwort #1 am: 2013-01-13 13:34:40 »
Evelines Konzept

Ich bin nicht ganz zufrieden mit der Lösung, aber vielleicht gibt es ja noch weitere Verbesserungsvorschläge.

Martin

/******************************************
 LookUptabelle lt_Verlag
 LookUp-Tabelle für Verlage
 Ein Datensatz= ein Verlag
******************************************/
CREATE TABLE lt_verlag
(  id_verlag int NOT NULL AUTO_INCREMENT
 , verlagname CHAR(30)
 , verlagort CHAR(30)
 , bemerkung CHAR (1000)                     
 , PRIMARY KEY(id_verlag)
 ) ENGINE=XXXX;
--------------------------------------------------------------------------
/******************************************
 LookUptabelle lt_Autor
 LookUp-Tabelle für (Buch)-Autoren
 Ein Datensatz= ein Autor
 Gibt es vielleicht schon?
******************************************/
CREATE TABLE lt_autor
(  id_autor int NOT NULL AUTO_INCREMENT
 , autorname CHAR(60)
 , bemerkung CHAR (1000)                     
 , PRIMARY KEY(id_autor)
 ) ENGINE=XXXX;
-----------------------------------------------------------------------------
/******************************************
 LookUptabelle lt_besitzer
 LookUp-Tabelle für Besitzer der Literatur
 Entspricht dem Forumsmitglied, bzw. das
 Forum selbst.
 Ein Datensatz= ein Besitzer
 Gibt es vielleicht schon?
******************************************/
CREATE TABLE lt_besitzer
(  id_besitzer int NOT NULL AUTO_INCREMENT
 , besitzername CHAR(30)
 , bemerkung CHAR (1000)                     
 , PRIMARY KEY(id_besitzer)
 ) ENGINE=XXXX;
---------------------------------------------------------------------------------
 
/******************************************
 Datentabelle dt_literatur
 nimmt Daten zu Literaturwerken (Bücher, Zeitschriften PDF's)
 auf, die sich entweder bei einem Forumsmitglied oder
 auf der Forumsfestplatte befinden und ausgeliehen
 werden können.
 Jedes Literaturstück hat nur einen Besitzer, einen
 Verlag und einen Autor (gemeinsame Autorenschaft hat eigene ID)
 ******************************************/
CREATE TABLE dt_literatur
(  id_literatur int NOT NULL AUTO_INCREMENT
 , id_verlag   int
 , id_autor    int
 , id_besitzer int
 , titel       CHAR(100)
 , kategorie   CHAR(12)
 , ausgabejahr CHAR(4)
 , isbn_nr     CHAR(20)
 , stichworte  CHAR (800)
 , bemerkung   CHAR (1000)                     
 , PRIMARY KEY dtliteratur_pk (id_literatur)
 ) ENGINE=XXXX;
-- Index und Constraints (Index auf jedes Feld, das vermutlich oft als Filter verwendet wird
alter table dt_literatur add index dtliteratur_ix_idverlag (id_verlag);
alter table dt_literatur add constraint dtliteratur_fk_idverlag FOREIGN KEY (id_verlag) references lt_verlag (id_verlag); 
alter table dt_literatur add index dtliteratur_ix_idautor (id_autor);
alter table dt_literatur add constraint dtliteratur_fk_idautor FOREIGN KEY (id_autor) references lt_autor (id_autor);
alter table dt_literatur add index dtliteratur_fk_idbesitzer (id_besitzer);
alter table dt_literatur add constraint dtliteratur_fk_idbesitzer FOREIGN KEY (id_besitzer) references lt_besitzer (id_besitzer);
alter table dt_literatur add index dtliteratur_ix_kategorie (kategorie);
alter table dt_literatur add constraint dtliteratur_ck_kategorie CHECK (kategorie in ('BUCH','ZEITUNG','PDF'));
alter table dt_literatur add index dtliteratur_ix_stichworte (stichworte);
alter table dt_literatur add index dtliteratur_ix_isbnnr (isbn_nr);
alter table dt_literatur add index dtliteratur_ix_titel (titel);
--
/*************************************************************************************
 View literatur_v
 View, die die Daten aus der tabelle Literatur und seiner LookUps zusammenführt.
 Auf diese View werden die Abfragen gemacht, wenn nach spezieller Literatur gesucht wird.
 Z.B. auf Stichworte oder Titel, oder Autorname oder Besitzername o.ä.
 OuterJoins = (+)
 Ich weiß nicht, wie man die in MySQL schreibt. Heißt das die Seite, auf der das
 Plus-Zeichen steht, auch NULL sein kann. Also auch Datensätze, in der kein verlag, besitzer
 oder Autor eingetragen ist.
 Die Anzahl der View muss mit der Anzahl der Tabelle dt_literatur übereinstimmen
 select cout(*) from dt_literatur;
 select count(*) from literatur_v;
 *************************************************************************************/
CREATE OR REPLACE  VIEW literatur_v
AS
select  l.id_literatur
      , l.id_verlag
      , l.id_autor
      , l.id_besitzer
      , l.titel
      , l.kategorie
      , l.ausgabejahr
      , l.isbn_nr
      , l.stichworte
      , l.bemerkung
      -- Verlag
      , v.verlagname
      , v.verlagort
      -- Autor
      , a.autorname
      -- Besitzer
      , b.besitzername
from dt_literatur as l, lt_verlag as v, lt_autor as a, lt_besitzer as b
where l.id_verlag = v.id_verlag (+)
and   l.id_autor  = a.id_autor (+)
and   l.besitzer  = b.id_besitzer (+)
;
/**************************************************************************
 Verknüpfungstabelle vt_literatur_art
 Verknüpft die Literaturtabelle mit der Artentabelle
 **************************************************************************/
CREATE TABLE vt_literatur_art
(  id_literatur int NOT NULL
 , id_art       int NOT NULL
 , INDEX (id_literatur)                     
 , FOREIGN KEY(id_literatur) REFERENCES dt_literatur (id_literatur)
 , INDEX (id_art)
 , FOREIGN KEY(id_art) REFERENCES <name arttabelle> (id_art)
 ) ENGINE=INNODB;
--
/*************************************************************************************
 View, die die Daten der zusammengeführten Tabellen bereithält.
 Auf diese View werden die Abfragen gemacht, wenn Literatur zu Arten gesucht werden.
 Die Anzahl Datensätze in der View muss mit der Anzahl der Tabelle vt_literatur_art übereinstimmen
 select cout(*) from vt_literatur_art;
 select count(*) from literatur_art_v;
 *************************************************************************************/
CREATE OR REPLACE  VIEW literatur_art_v
AS
select  l.id_literatur
      , l.id_verlag
      , l.id_autor
      , l.id_besitzer
      , l.titel
      , l.kategorie
      , l.ausgabejahr
      , l.isbn_nr
      , l.stichworte
      , l.bemerkung
      , l.verlagname
      , l.verlagort
      , l.autorname
      , l.besitzername
      -- Art
      , a.id_art
      , a.artname
      -- und was man sonst noch von Art braucht
from  vt_literatur_art as la, literatur_v as l, <name arttabelle> as a
where la.id_literatur  = l.id_literatur
and   la.id_art        = a.id_art
;
Profil bei Researchgate.net – Spinnen-News aus SH

DAS waren noch Zeiten: Norwegen 2011.

Jörg

  • Gast
Re: Konzeption Literaturdatenbank
« Antwort #2 am: 2013-01-13 15:53:52 »
Moin Martin!

Zitat
hat aber den Nachteil, dass man nicht mal eben schauen kann, was an Literatur über Theridiidae oder Pholcus phalangioides vorhanden ist, ohne tausende pdfs zu durchstöbern.

Am günstigsten wäre es natürlich, wenn man die pdfs, die noch nicht durchsuchbar sind, mit einem OCR-Programm bearbeitet. Dann ist die Suche nach bestimmter Literatur auch ohne Datenbank möglich. Die meisten der über 2200 pdfs aus der Sammlung von Axel sind z.B. durchsuchbar. So gibt man im Ordner-Suchfeld einfach den Suchbegriff ein, und erhält alle Dokumente, in denen dieser Begriff erscheint (Volltext). Sehr praktisch.

Jörg

Martin Lemke

  • Administrator
  • *****
  • Beiträge: 15531
Re: Konzeption Literaturdatenbank
« Antwort #3 am: 2013-01-14 02:18:07 »
Am günstigsten wäre es natürlich, wenn man die pdfs, die noch nicht durchsuchbar sind

Ich habe mir vor einiger Zeit extra Abbyy Finereader besorgt, um Bilderpdfs entsprechend umzuwandeln. Es wäre schön, könnte ein Programm diese indexieren, aber eine entsprechende Lösung habe ich bislang nicht gefunden. Mit dem Dateiexplorer geht es ja nur, wenn man die pdfs zuhause hat.

Die Datenbank soll ja den Literaturaustausch fördern. Mario hat ein paar sehr interessante Bücher, ich sicherlich auch. Vieles gibt es nur noch im Antiquariat zu horrenden Preisen. Zu wissen, wer welches Buch hat, ist sicherlich hilfreich. Könnte man pdfs automatisch indexieren, wäre der Aufwand, diese auf einer Platte zu halten, minimal. Dann reicht wirklich ein einziges Verzeichnis und man muss auch nicht mehr die Dateien umbenennen.

ed:
Dies ist der einzige möglicherweise geeignete Indexer, den ich fand: http://joomla.natemaxfield.com/

Notfalls müssen wir der Literaturdatenbank ein eigenes Portal widmen.

Martin
Profil bei Researchgate.net – Spinnen-News aus SH

DAS waren noch Zeiten: Norwegen 2011.

Katja Duske

  • Kerngruppe
  • ******
  • Beiträge: 4455
Re: Konzeption Literaturdatenbank
« Antwort #4 am: 2013-01-14 07:16:52 »
Eigentlich darf das Ganze wegen des Copyrights doch gar nicht öffentlich sein, oder?

Katja

Martin Lemke

  • Administrator
  • *****
  • Beiträge: 15531
Re: Konzeption Literaturdatenbank
« Antwort #5 am: 2013-01-14 12:13:29 »
Eigentlich darf das Ganze wegen des Copyrights doch gar nicht öffentlich sein, oder?

Soll es auch nicht! Aber es wäre schön, wenn die Suchmöglichkeit online verfügbar wäre (mit oder ohne Login, wahrscheinlich eher, mit, weil es Suchmaschinen und unbekannte Dritte nichts an geht).

Martin
Profil bei Researchgate.net – Spinnen-News aus SH

DAS waren noch Zeiten: Norwegen 2011.

Katja Duske

  • Kerngruppe
  • ******
  • Beiträge: 4455
Re: Konzeption Literaturdatenbank
« Antwort #6 am: 2013-01-14 12:23:12 »
Alles klar.

Katja

sylvia #1

  • Gast
Re: Konzeption Literaturdatenbank
« Antwort #7 am: 2013-12-12 23:06:33 »
Hallo zusammen
Habe heute mal etwas Interessantes gefunden  (nur ein bisschen ähnlich, aber schon toll)  : 

http://www.librarything.com/catalog.php?offset=0&poweredit=0&previousOffset=0&view=FinnSpider&collection=121206&shelf=shelf&sort=tags

LG
Sylvia