-
Die Erfindung betrifft ein Verfahren,
ein Computerprogramm und ein Computersystem zur Verwaltung von Daten
in einem Datenbanksystem.
-
Zunächst sollen einige für das Verständnis der
Erfindung wichtige Begriffe definiert werden.
-
Datenbanksystem, Datenbank: Anwendungsprogramm
zur Verwaltung von Daten auf einem physikalischen Speicher.
-
Webseite: Der einer über das
www (world wide web) zugreifbaren, an einem Bildschirm dargestellbaren
Seite zugrunde liegende Programmcode, der Verweise (sog. Hyperlinks)
auf andere Webseiten erlaubt, geschrieben in HTML (Hyper Text Markup Language)
oder XML (Extended Markup Language).
-
Webserver: Computer mit Internetanschluss, der
Dienste wie das Herunterladen einer Webseite über das Internet erlaubt.
-
Verknüpfungen (Relationen) zwischen
Daten: Beziehung zwischen Bestandteilen von strukturierten Datensätzen (Tabellen)
in einer Datenbank.
-
SQL-Befehle: (Structured Query Language), strukturierte
Abfragesprache für
Datenbanken.
-
OBCD: (Open Data Base Connective),
offener Datenbankschnittstellenstandard.
-
Ein Datenbanksystem besteht in der
Regel aus dem Datenbestand, der sogenannten Datenbasis, die in einem
maschinenlesbaren Speicher abgespeichert wird sowie aus einem EDV-System,
auf dem Anwendungsprogramme ablaufen, um auf die Datenbasis zuzugreifen,
Bestandteile der Datenbasis anzuzeigen, nach Daten zu suchen sowie
um die Datenbasis zu aktualisieren, Daten einzugeben und zu löschen usw.
-
Für
umfangreichere Computer- oder Internetanwendungen sind in fast allen
Bereichen mehr oder weniger umfangreiche Datenbanksysteme erforderlich.
Weit verbreitet sind sogenannte relationale Datenbanksysteme, deren
Grundlage eine tabellenartige Struktur der Daten ist. Jede Zeile
der Tabelle stellt einen Datensatz dar und die einzelnen Spalten enthalten
die Datenfelder oder Attribute. Bei derartigen relationalen Datenbanksystemen
kann eine Beziehung bzw. Relation zwischen verschiedenen Datenbeständen aufgebaut
werden. 5 zeigt schematisch
eine derartige relationale Datenbank, die beispielsweise drei Datensätze oder
Tabellen "Benutzer", "Firma" und "Aufträge" enthält. Neben einer fortlaufenden
Nummerierung (LOID fortlaufend) enthält jede Tabelle Verknüpfungen
(Relationen) zu anderen Tabellen, so dass sich beispielsweise für einen
gegebenen Kunden alle Aufträge
ermitteln lassen oder umgekehrt für eine vorgegebene Auftragsnummer der
Kunde mit zusätzlichen
Informationen wie beispielsweise eine Adresse oder das Zahlungsverhalten.
-
Derartige relationale Datenbanken
eignen sich insbesondere zur Verwaltung großer Datenmengen im kaufmännischen
Bereich. Ein Nachteil liegt jedoch darin, dass die Datenstruktur
starr und unflexibel ist und spätere Änderungen
nach der Projektierung der Datenbank nur noch mit großem Aufwand vorgenommen
werden können.
Ist beispielsweise eine zusätzliche
Ebene in einer Baumstruktur erforderlich, so muss der Programmcode
des Datenbanksystems geändert
werden, was eine Neuübersetzung des
Programms erfordert. Relationale Datenbanken sind beispielsweise
im dtv-Computer-Lexikon beschrieben.
-
Einen anderen Datenbanktyp stellt
die sogenannte objektorientierte Datenbank dar, die keine starre
Spaltenstrukturen enthält,
wobei die Verknüpfungen
jedoch ebenfalls in den jeweiligen Datensätzen enthalten sind. Eine Beschreibung
objektorientierter Datenbanken findet man z. B. ebenfalls im dtv-Computer-Lexikon
beschrieben.
-
Insbesondere für Datenverarbeitungsprogramme
für Internetanwendungen
besteht ein Bedarf an Datenbanksystemen, die leicht erweiterbar
und ergänzbar
sind, ohne den laufenden Betrieb aufgrund einer Neuinstallierung
vollständig
unterbrechen zu müssen.
-
Aus der
DE 197 18 834 A1 ist ein
Hypermedien-basiertes Navigationssystem bekannt, das Informationsdienstleister
und Kunden umfaßt.
Datenbanken mit verfügbaren
Hyperlink-Zielen werden von Informationsdienstleistern geführt und
jede Datenbank kann mit Abfrage-Attributen durchsucht werden, die
von der Datenbank unterstützt
werden und sich auf die Hyperlink-Ziele beziehen. Ein Hypermedien-Dokument kann ein
weiches Hyperlink enthalten, das aus einer Abfrage-Formulierung besteht,
die in Form von Abfrage-Attributen und von Werten der Abfrage-Attribute
spezifiziert ist.
-
Aus der
DE 196 274 72 A1 ist ein
Datenbanksystem bekannt, bei dem eine Vielzahl von Datensätzen in
einen Speicher eines Computers gespeichert werden, wobei jeder Datensatz
aus einer beliebigen Anzahl von Feldern besteht, die jeweils aus
einer Feldbeschreibung als Metadaten und einer beliebigen Anzahl
von Feldinhalten besteht. Bei jeder Speicherung eines Datensatzes
in einem Speicher eines Computers werden die Feldinhalte zusammen
mit den zugehörigen
Metadaten als ein Datensatz abgespeichert.
-
Weiterhin ist aus
DE 43 39 357 A1 ein Verfahren
zum Betreiben eines offenen Datenaustauschs zwischen mehreren verbundenen
Rechnern bekannt, wobei zwischen Absender- und Empfänger in
einer Modellierungsphase das Vokabular der auszutauschenden strukturierten
und / oder unstrukturierten Daten durch Anlegen einer oder mehrerer
Tabellenstrukturen festgelegt wird.
-
Der Erfindung liegt daher die Gesamtaufgabe
zugrunde, ein Verfahren zur Verwaltung von Daten in einem Datenbanksystem
auf einem Computer vorzuschlagen, welches eine einfache Ergänzung der
Datenbankstruktur zulässt,
wobei die Verfügbarkeit
der Datenbank möglichst
wenig beeinträchtigt werden
soll.
-
Ferner soll ein Verfahren zur Verwaltung
von Daten in einem Datenbanksystem und ein Computerprogramm mit
einer Datenbank und mit eine Vielzahl von Programmmodulen zur Dateneingabe,
Datenverarbeitung und Datenausgabe sowie ein Computersystem vorgeschlagen
werden, die einfach über
das Internet bedient werden können
und außerdem
eine unkomplizierte Erweiterung und/oder Ergänzung zulassen.
-
Gelöst wird die genannte Aufgabe
durch ein Verfahren zur Verwaltung von Daten in einem Datenbanksystem
auf einem Computer, wobei die Daten in dem Datenbanksystem ohne
relationale Verknüpfungen
zueinander gehalten werden, die Gesamtheit der Datenverwaltungsvorgänge in eine
Vielzahl von Funktionseinheiten aufgeteilt ist, welche Funktionseinheiten
die jeweils zugehörigen
Datenzugriffsbefehle enthalten und Verknüpfungen von in dem Datenbanksystem
gehaltenen Daten durch Verknüpfungen
zwischen den zugehörigen
Funktionseinheiten gebildet sind.
-
Vorzugsweise sind diese Funktionseinheiten als
Webseiten implementiert und die Datenverwaltung kann mittels der
Webseiten über
das Internet erfolgen.
-
Erfindungsgemäß wird zur Lösung der
genannten Probleme außerdem
ein Computersystem zur Verwaltung von Daten in einem Datenbanksystem
gemäß Anspruch
20 vorgeschlagen.
-
Zur Lösung der genannten Aufgabe
wird weitherin ein Computerprogrammentsprechend Patentanspruch 10,
dorzugsweise mit einer Datenbank und einer Vielzahl von Programmmodulen
zur Dateneingabe, Datenverarbeitung und Datenausgabe vorgeschlagen,
wobei jedes Programmmodul auf einer Webseite realisiert ist und
jede Webseite die für
das Programmmodul erforderlichen Datenbankzugriffsbefehle enthält.
-
Vorteilhafte Wertebildungen der Erfindung sind
in den abhängigen
Ansprüchen
beschrieben.
-
Vorzugsweise kann das erfindungsgemäße Verfahren
und das erfindungsgemäße Computerprogramm über das
Internet bedient werden.
-
Die Datenbankzugriffsbefehle sind
dabei vorzugsweise in SQL-Code realisiert, so dass auf mehrere Datenbanken
mit unterschiedlichen Formaten zugegriffen werden kann.
-
Die Webseiten können durch HTML-, XML- oder
DHTLM-Programmcode ausgeführt
sein.
-
Gemäß einem bevorzugten Ausführungsbeispiel
werden Löschvorgänge von
in dem Datenbanksystem gehaltenen Daten zeitlich versetzt ausgeführt, nachdem
zu löschende
Daten mittels einer Webseite identifiziert worden ist. Dadurch kann
der (vor allem bei größeren Datensätzen) zeitaufwendige Löschvorgang
unabhängig
von dem Datenbankzugriff ausgeführt
werden, der dann schneller beendet werden kann.
-
Die Erfindung ermöglicht ein sehr flexibles System
zur Bearbeitung von Daten jedweder Art, das ohne Systemstillstandszeit
ergänzbar
oder erweiterbar ist. Die komplette Realisierung des Computerprogramms
mittels Webseiten ermöglicht
eine größtmögliche Modularität und außerdem eine
leichte Bedienbarkeit über
das Internet. Das erfindungsgemäße Verfahren,
Computerprogramm und Computersystem ermäglicht eine einfache Bedienbarkeit,
hohe Betriebssicherheit und Anpassungsfähigkeit.
-
Weitere Ausgestaltungen und Vorteile
der Erfindung werden aus der folgenden Beschreibung unter Bezugnahme
auf die beiliegenden Zeichnungen deutlich, in denen
-
1 ein
schematisches Diagramm zur Erläuterung
der Erfindung ist;
-
2 die
Struktur des efindungsgemäßen Computerprogramms
schematisch darstellt;
-
3 schematisch
eine ertindungsgemäße Webseite
zeigt;
-
4 ein
Flussdiagramm zur Verdeutlichung eines Datenbankzugriffs zeigt;
und
-
5 das
Datenmodell einer herkömmlichen
relationalen Datenbank zeigt.
-
1 zeigt
eine schematische Überblicksdarstellung
des erfindungsgemäßen Computerprogramms
zur Datenverwaltung. Die Daten werden in einer oder einer Vielzahl
von Datenbanken 40 als voneinander unabhängige Tabellen
oder Container gehalten (siehe 2).
Bezugszeichen 10 bezeichnet das erfindungsgemäße Computerprogramm
zur Datenverwaltung, das aus einer Vielzahl von Webseiten 11 besteht,
die jeweils eine Funktionseinheit zur Ausführung spezifischer Funktionen
darstellen. Beispielsweise gibt es eine Webseite für die Login-Prozedur,
eine Webseite für
die Passwortprüfung,
individuelle Webseiten für
einzelne Benutzer des Systems und Webseiten für verschiedene Firmen. Dem
Datenverwaltungsprogramm können
beliebig neue Webseiten hinzugefügt
werden oder alte, nicht mehr benötigte
Seiten gelöscht
werden. Jede Webseite setzt sich aus vier Teilen zusammen: Variablendeklaration, Datenbankabfrage
und -selektion, Variablenzuweisungen, die lokal beim Benutzer gespeichert
werden (Cookies) und dem Layout der Seite. Die Seite kann durch
HTML-Code, D(Dynamic)HTML-Code oder XML-Code implementiert werden.
In Anhang 1 ist als Beispiel der Quellcode einer Startseite
eines Ausführungsbeispiels
des erfindungsgemäßen Computerprogramms
dargestellt.
-
3 zeigt
ein Beispiel der Benutzeroberfläche
einer derartigen Webseite. Der Benutzer kann interaktiv standardisierte
Daten wie Adresse, Telefonnummer usw., aber auch individuelle Daten
wie die Beschreibung des Auftrages eingeben. Der Benutzer wird durch
das Programm immer zu der nächsten
jeweils benötigten
Webseite geführt,
wo erneut eine interaktive Datenein- bzw. und -ausgabe möglich ist.
-
Jede Webseite kann Eingabefunktionen, Ausgabefunktionen,
Verarbeitungsfunktionen wie Berechnungen, Verweise an andere Webseiten
und Datenbankzugriffsfunktionen enthalten. Ein Datenbankzugriff
von einer der Webseiten 11 auf die Datenbanken) 40 erfolgt,
wie in 1 schematisch
dargestellt ist, über
eine Schnittstelle 30. Dabei kann es sich vorzugsweise
um eine ODBC (Open Data Base Connective)-Schnittstelle handeln,
die in der Lage ist, die Verbindung zu verschiedenen Datenbanken
mit verschiedenen Systemen herzustellen.
-
Ferner ist ein Wartungsmodul 20 vorgesehen,
das Funktionen wie eine Datenarchivierung, eine Zeitsteuerung und
eine Verbindung zu drahtlosen Kommunikationsmitteln (SMS) erfüllt. Ferner dient,
wie später
beschrieben wird, das Wartungsmodul 20 dazu, Löschvorgänge in der
Datenbank 40 auszuführen.
-
Die Datenstruktur des erfindungsgemäßen Datenverwaltungsprogramms
wird im Folgenden anhand von 2 erläutert. Die
Daten sind in der Datenbank 40 als Tabelle oder Container
ohne datenbankunterstützte
Relationen bzw. Verknüpfungen
gespeichert. In den jeweiligen Tabellen werden vorzugsweise nur
die Feldtypen Zahl, Text und Memo verwendet, aber keine Datumsfelder
benutzt. Der Zugriff zur Datenbank 40 erfolgt über die
Schnittstelle 30, die, wie oben erläutert wurde, vorzugsweise als ODBC-Schnittstelle
ausgeführt
ist. Die Schnittstelle kann vorteilhaft mittels des Programmiertools
cold fusion implementiert werden.
-
Die einzelnen Webseiten 11 enthalten
neben Eingabe-, Ausgabe- und Verarbeitungsfunktionalitäten Verweise
auf andere Webseiten, die den Verknüpfungen in relationalen Datenbanken
entsprechen und diese ersetzen. Dadurch wird das Datenmodell von
der Datenbank selbst entkoppelt und in die Webseiten integriert.
So kann man bei der Projektierung für einen Bereich des Programms
die Datenbankstruktur ändern,
ohne das System neu zu kompilieren oder die Datenbank zeitweise
außer
Betrieb nehmen zu müssen.
Ist es beispielsweise erforderlich, eine endliche Baumstruktur zu
erstellen und wird vergessen, eine Ebene in diese Struktur zu integrieren,
muss bei dem efindungsgemäßen Datenverwaltungsprogramm
nicht, wie bei einer herkömmlichen relationalen
Datenbank der Programmcode der Datenbank bearbeitet werden. Da Verknüpfungen
in der Datenbank notwendig sind, muss in diesem Fall erfindungsgemäß nur die
Tabelle kopiert und eine neue Webseite erzeugt werden, die auf diese
Informationen zugreifen kann. Diese Datei wird einfach auf den Webserver,
auf dem das endungsgemäße Programm abläuft, verfügbar gemacht
und kann nach dem Einfügen
sofort von jedem Benutzer aufgerufen werden.
-
In einem anderen Fall sei angenommen, dass
in eine Tabelle, beispielsweise die Tabelle "Aufträge" neue
Datensätze
eingefügt
werden sollen. Da bei dem erfindungsgemäßen Computerprogamm zwischen
den einzelnen Tabellen der Datenbank keine Beziehungen bestehen,
bearbeitet das Programm auch diese neuen Datensätze so, als seien sie aus dem
System selbst gekommen.
-
Das Datenmodell, d.h. die Verknüpfungen zwischen
den einzelnen Datensätzen,
kann erfindungsgemäß bei einer
Weiterentwicklung oder Erweiterung des Programms durch zusätzliche
Webseiten einfach mitwachsen und muss nicht schon komplett vorgeplant
werden.
-
Jede Webseite enthält außerdem einen
Teil des Datenmodells in Form von Datenbankzugriffsbefehlen. Diese
sind vorzugsweise als SQL-Befehle implementiert, die eine größtmögliche Unabhängigkeit von
verschiedenen Datenbanksystemen garantieren. Es werden daher vorzugsweise
nur die grundlegenden Befehle wie Aktualisieren (Update), Einfügen (Insert),
Löschen
(Delete), Suchen (Search), Ordnen nach (Sort from) sowie die Operatoren
und, oder, nicht verwendet, die allen Datenbanksystemen gemeinsam
sind.
-
Jede Webseite bei dem erfindungsgemäßen Datenverwaltungsprogramm
entspricht der Funktion eines Programmmoduls oder Unterprogramms.
Anstatt ein solches aufzurufen, wird erfindungsgemäß eine Webseite
aufgerufen. Die Seite enthält
nur diejenigen Datenbankzugriffsbefehle und Verweise, d.h. nur den
Teil des Datenmodells, der für
die Entwicklung der in der Webseite enthaltenen Funktionen notwendig
ist. Durch diese Zuordnung wird eine größtmögliche Modularität des erfindungsgemäßen Datenverwaltungsprogramms
erreicht, was die Erweiterung wesentlich erleichtert und aufgrund
der vereinfachten Testmöglichkeiten
die Betriebssicherheit erheblich steigert.
-
Die Funktionsweise des erfindungsgemäßen Verfahrens
und des erfindungsgemäßen Computerprogramms
zur Datenverwaltung wird im Folgenden anhand eines Beispiels unter
Bezugnahme auf das Flussdiagramm von 4 erläutert. Der
Benutzer loggt sich über
eine Login-Webseite in das System ein. Dies kann von einem Host-Computer,
irgendeinem anderen mit Internetzugang versehenen Computer oder
auch über
ein mobiles Endgerät
mit Internetzugang erfolgen. Die Login-Seite verweist nach Beendigung
der Loginprozedur auf die Passwort-Seite, die den Benutzer nach
seinem Passwort, seiner Benutzerkennung, Geheimnummer oder dergleichen fragt
und diesen anhand der Benutzereingabe identifiziert. Dann springt
das Programm weiter zur Benutzer-Seite, deren Funktionen und Layout
speziell auf die Bedürfnisse
des jeweiligen Benutzers zugeschnitten ist. Dort kann der Benutzer
dann die von ihm gewünschten
Aufgaben ausführen,
in dem Beispiel von 4 beispielsweise
den Auftragsstatus einiger von dem Benutzer vergebener Aufträge zu prüfen. Gibt
der Benutzer den Befehl "Auftragsstatus prüfen" durch Mausklick oder Tastendruck
oder dergleichen ein, so springt das Programm weiter zur Auftragslisten-Seite.
Diese enthält
die erforderlichen Datenbankzugriffsbefehle, um auf die Auftragslistentabelle
in der Datenbank zugreifen zu können.
Durch Rücksprung
auf die Benutzer-Seite führt
das Programm eine Filterfunktion aus, so dass nur die der Benutzer-Seite
zugehörigen
Aufträge
angezeigt werden. Der Verweis der Webseiten aufeinander ersetzt somit
die relationale Beziehung der Tabellen untereinander in einer relationalen
Datenbank.
-
Von den angezeigten Aufträgen klickt
der Benutzer beispielsweise einen zweifach an und veranlasst damit,
dass die Auftragsstatus-Seite angezeigt wird, die den aktuellen
Auftragsstatus des angegebenen Auftrags aus der Datenbank abruft,
welcher dann auf der Benutzer-Seite angezeigt wird.
-
Bei dem vorliegenden Beispiel sei
angenommen, dass der Nutzer sich entschließt, einen der Aufträge zu löschen und
dies durch Markierung des Auftrages und Aktivierung eines entsprechenden
Schaltfeldes eingibt. Das Programm springt dann zur Auftragslisten-Seite,
löscht
den Auftrag und geht zurück zur
Benutzer-Seite, die anzeigt, dass der Auftrag gelöscht ist.
Durch den Löschbefehl
wird das Wartungsprogramm aktiviert, das in einer Warteschleife
abwartet, ob ein Befehl zur Rückgängigmachung
des Löschvorgangs
eingegeben wird. Ist dies innerhalb einer fest gelegten Zeit der
Fall, wird der entsprechende Datensatz nicht gelöscht und die Verarbeitung des Wartungsprogrammes
wird beendet. Wird innerhalb der festgelegten Zeit kein Rückgängigmachungsbefehl
eingegeben, veranlasst das Wartungsprogramm die Löschung der
entsprechenden Wartungsdaten in der Datenbank und der Auftragsstatus-Daten
usw. in den zugehörigen
Webseiten. Der vergleichsweise zeitaufwendige Löschvorgang kann auf diese Art
und Weise zu einer Zeit ausgeführt
werden, wenn der Webserver weniger belastet ist, beispielsweise nachts
oder am Wochenende.
-
Durch die Erfindung wird ein modular
aufgebautes, sehr flexibles und erweiterungsfähiges Programm zur Datenverwaltung
in einem Datenbanksystem dadurch realisiert, dass alle Programmfunktionen
mit Ausnahme von Zentralfunktionen wie Zeitsteuerung, Schnittstelle
zu Mobilendgeräten
usw., die von einem Wartungsmodul realisiert werden, auf entsprechenden
Webseiten implementiert sind. Das Datenbankmodell wird durch die
in den Webseiten enthaltenen und den auf dieser Webseite beinhalteten
Funktionen zugeordneten Datenbankzugriffsbefehlen sowie durch Verweise
(Links) der Webseiten aufeinander realisiert.