Vorläufige Spezifikation der Datenbankstruktur für das Retrieval-System


-- Tabelle mit redundanter Information fuer den schnellen Zugriff

-- SPC: ist aus der generalisierten Struktur weiter unten zu entnehmen

-- Die SQL Anweisung

CREATE TABLE recherchespeicher

(document_id SERIAL NOT NULL,

deskriptor_id INTEGER NOT NULL,

deskriptor CHAR(40),

gewichtung SMALLINT,

eigenschaft CHAR(20),

relation CHAR(20),

deskriptor_id_link SMALLINT,

table_link CHAR(18)

);


Die generalisierte Struktur!

-- SPC:

-- Primaerschluessel:

-- index_id :: Kennzeichnet eindeutig einen Indexeintrag

-- Fremdschlussel :

-- document_id :: Bezieht sich auf das zu indexierende Dokument

-- deskriptor_id :: Bezieht sich auf den zu vergebenden Deskriptor

-- fuer dieses Dokument

-- funktion_id :: Bezieht sich auf die zu vergebende Funktion in der der

-- Deskriptor im Dokument als Argument steht

-- Die SQL Anweisung

CREATE TABLE indexspeicher

(

index_id SERIAL NOT NULL,

document_id INTEGER,

deskriptor_id INTEGER,

gewichtung SMALLINT,

funktion_id INTEGER,

);

-- SPC:

-- Primaerschluessel :

-- deskriptor_id :: Kennzeichnet eindeutig einen Deskriptor

-- Kandidatenschluessel:

-- deskriptor :: Ist die syntaktische Bezeichnung des Deskriptors

-- Die SQL Anweisung

CREATE TABLE deskriptorspeicher

(deskriptor_id SERIAL NOT NULL,

deskriptor CHAR(40),

);

-- SPC:

-- Primaerschluessel:

-- funktion_id :: Kennzeichnet eindeutig eine Funktion

-- Stellt die Moeglichkeit indexierte

-- Dokumente als erweiterte Deskriptoren zu benutzen.

-- Fremdschluessel :

-- eigenschaft_id :: Verweist auf die syntaktische

-- Bezeichung einer Eigenschaft fuer einen

-- Deskriptor bezueglich eines Dokuments

-- relation_id :: Verweist auf die syntaktische

-- Bezeichung einer Relation zwischen einem

-- Deskriptor eines Dokuments

-- und

-- einem weiteren indexierten Deskriptor

-- oder

-- einem weiteren indexierten Dokument

-- oder

-- einer weiteren indexierten Funktion bzw.

-- Relation

-- Die SQL Anweisung

CREATE TABLE funktionen

(funktion_id SERIAL NOT NULL,

eigenschaft_id INTEGER,

relation_id INTEGER,

);

-- SPC:

-- Primaerschluessel :

-- eigenschaft_id :: Kennzeichnet eindeutig eine Eigenschaft

--

-- Kandidatenschluessel:

-- eigenschaft :: Die Eingenschaft ist eine einstellige Relation bezueglich des Deskriptors

-- eines Dokuments und ist eine syntatische Bezeichung z.B.

-- der Verwednung,

-- der Rolle,

-- der Art usw.

-- des Deskriptors in einem Dokument!

-- Die SQL Anweisung

CREATE TABLE eigenschaften

(eigenschaft_id SERIAL NOT NULL,

eigenschaft CHAR(20),

);

-- SPC:

-- Primaerschluessel :

-- relation_id :: Kennzeichnet eindeutig eine Relation

-- Kandidatenschluessel:

-- relation :: Ist der syntaktische Name der Relation

-- table_link :: Bezeichet die Tabelle, die mit <deskriptor_id_link> referenziert wird.

-- Fremdschluessel :

-- deskriptor_id_link :: Ist ein Primaerschluessel aus anderen Tabellen

-- kann in dieser Datenbank eine:

-- a) document_id

-- b) deskriptor_id

-- c) funktion_id

-- sein.

-- Die SQL Anweisung

CREATE TABLE relationen

(relation_id SERIAL NOT NULL,

relation CHAR(20),

deskriptor_id_link INTEGER NOT NULL,

table_link CHAR(18)

);