Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Suche die richtige Datenbank für Vertretungsplan-Projekt (https://www.delphipraxis.net/52408-suche-die-richtige-datenbank-fuer-vertretungsplan-projekt.html)

rainerkunze124 29. Aug 2005 20:28

Datenbank: noch keine • Zugriff über: noch gar nicht

Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Moin moin!

Hab mal wieder ein Anliegen:
Möchte ein Programm schreiben, welches den Vertretungsplan unserer Schule (der bis jetzt von handgeschriebenen Zetteln dominiert ist) digital macht, indem "einfach" auf die Handschrift verzichtet wird und der komplette Vertretungsplan am Computer entworfen wird.

Da ich mich (noch) nicht so wirklich gut mit Datenbanken auskenne, suche ich den passenden Datenbanktyp für folgende Anforderungen:
  • Es soll eine Datenbank für jeden Schultag erzeugt werden.
  • In dieser Datenbank sollen x-Tabellen (jeweils mit 7 Stunden + Bemerkungsabteilung) vorhanden sein (für jeden Lehrer, der ausfällt, eine)
  • Gut wäre es, wenn die Datenbank ohne Serverprogramm auskäme (wir haben in der Schule zwar einen Server, den ich dafür nutzen könnte, aber es ist ja doch unzuverlässiger als alles auf dem PC laufen zu haben), also einfach auf die Datei Datum.xy zugegriffen wird.

Ich freue mich über eure Hilfe :lol:

chaosben 30. Aug 2005 06:38

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Tja .... generell würde ich dir ja MSAccess empfehlen, falls das Office-Paket vorliegt. Da kann man (wenn man noch nicht so viel Ahnung hat) die Tabellen-Struktur schön mit den visuellen Hilfsmitteln von Access designen und dann mit einer Delphi-Anwendung via ADO auf einen lokale .mdb-Datei zugreifen. Das funktioniert in der Praxis ziemlich gut. (Auf diese Weise hab ich den Einstieg in das Thema geschafft ;) )

Eine andere Sache noch:
Wenn es nicht unbedingt! zwingend! unausweichlich! nötig ist, das du für jeden Tag eine neue Datenbank anlegst, dann beschäftige dich doch (noch)mal mit dem Thema "Datenbank"-Design. Normalerweise wird so etwas innerhalb einer Datenbank realisiert. Wenn du Hilfe beim Entwurf der DB brauchst, dann sag einfach mal "Bescheid" ... ich hab manchmal freie Kapazitäten. ;)

BrunoT 30. Aug 2005 08:13

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Hi rainerkunze124,

Wenn es rein um den Ersatz von Zetteln geht, dann würde ich Excel empfehlen, da mann damit relativ flexibel bleibt und dass ganze als Datenbankentwurf gelten kann.

Als Spalten(Datenfelder) würde ich die Klassen nehmen, davor noch eine Datumsspalte und eine Stundenspalte, das Datum kann man mit "Daten - Autofilter" dann selektiert.
In den Zeilen (Datensätze) würde ich für jeden Tag die Unterrichtsstunden eintragen. Entweder alle Stunden, oder nur die, welche vertreten werden.

Das als Grobentwurf, das kann man dann aber auch mit Delphi - Paradox oder einer anderen Datenbank umsetzen.
Da kann man dann noch DetailTabellen mit Lehrern und Räumen anlegen um daraus eine Resourcenplanung zu machen.


mfg

BrunoT

PS: Oops, @r_kerber, da war kein roter Kasten :?: zwei Dumme - ein Gedanke :mrgreen:

r_kerber 30. Aug 2005 08:13

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Zitat:

Zitat von rainerkunze124
  • Es soll eine Datenbank für jeden Schultag erzeugt werden.
  • In dieser Datenbank sollen x-Tabellen (jeweils mit 7 Stunden + Bemerkungsabteilung) vorhanden sein (für jeden Lehrer, der ausfällt, eine)

Das ist ein schwerer Design-Fehler. Eine Datenbank ist wesentlich mehr als der elektronische "handgeschriebene Zettel"!
Zitat:

Zitat von rainerkunze124
  • Gut wäre es, wenn die Datenbank ohne Serverprogramm auskäme (wir haben in der Schule zwar einen Server, den ich dafür nutzen könnte, aber es ist ja doch unzuverlässiger als alles auf dem PC laufen zu haben), also einfach auf die Datei Datum.xy zugegriffen wird.

ADS TDataSetDescendant, FireBird (embedded) - Einfach mal danach in der DP suchen. Wobei ich nicht verstehe, wieso Du den Datenbank-Server nicht nutzen willst. Da mußt Du die Daten nur an einer Stelle zentral halten und kannst von jedem(!) angeschlossenen Rechner zugreifen und die "individuellen elektronischen Handzettel" abrufen. BTW: Das Datum steht dann in der WHERE-Klausel des SQL-Selects und nicht im Dateinahmen.

Und noch ein Tip: Bevor Du dem Programmieren loslegst, beschäftige Dich bitte mit Datenbank-Design. Denn für die Lösung, die Dir zur Zeit vorschwebt, brauchst Du keine Datenbanken, dafür reichen Excel-Tabellen.

yankee 30. Aug 2005 09:15

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Ihr macht euch das glaube ich etwas zu schwer. An deiner Stelle würde ich einfach eine XML-Datei nehmen. Für deine Ansprüche reicht wahrscheinlich auch TJvSimpleXML (siehe mein Tutorial). Anspruchsvoller ist die JvXmlDatabase (oder wie es heißt). Aber lediglich um so ein paar Sachen zu speichern ist so eine ähm... wie soll ich sagen... "richtige" ... Datenbank etwas übertrieben...

Jelly 30. Aug 2005 10:57

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Zitat:

Zitat von r_kerber
Und noch ein Tip: Bevor Du dem Programmieren loslegst, beschäftige Dich bitte mit Datenbank-Design.

Also demo kann ich nur zustimmen. Du brauchst erstmal bischen ne Vorahnung davon, was überhaupt eine Datenbank ist. Verwechsle nicht Datenbank mit Tabelle und Spalten.

Als System nimm doch gleich was Gescheites, anstatt dich mit veralteten Dingen wie Access rumzuschlagen. Und warum muss es immer XML sein. Warum nicht gleich ne "richtig Datenbank", wo liegt der Mehraufwand: nirgends. Und kostenlose Systeme gibts auch zu genüge.

Nimm doch die MSDE, die abgespeckte Desktop Version des SQL Servers, voll kompatibel zu seinem grossen Bruder und kostenlos. Falls dein Programm in der Schule einschlägt und alle es so toll finden, und am liebsten auch von zuhause drauf zugreifen wollen (oder was auch immer), ist der Sprung zu einem echten Client/Server System nur eine Installation des SQL Servers und einem Restore aus der MSDE.

Aber nochmals. Entscheidend ist nicht die Wahl der Datenbank an dieser Stelle, sondern erstmal, dass du dich mit den Grundlagen der Datenbankprogrammierung allgemein vertraut machst.

yankee 30. Aug 2005 18:24

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Zitat:

Zitat von Jelly
Als System nimm doch gleich was Gescheites, anstatt dich mit veralteten Dingen wie Access rumzuschlagen. Und warum muss es immer XML sein. Warum nicht gleich ne "richtig Datenbank", wo liegt der Mehraufwand: nirgends. Und kostenlose Systeme gibts auch zu genüge.

Der Grund? Ganz einfach: Beispielsweise ist der MySQL-Server 40MB groß. Und ein 40MB Programm für ein ultra simples Programm zur grundlage zu nehmen, welches nur 1 MB groß ist... Da ist einfach was falsch! Ich würde es beispielsweise keinesfalls einsehen mir mysql oder sonstwas zu installieren, nur weil irgendein 1MB Freewareprogramm das braucht! Besonders wenn ich genau weiß, dass diese absolut überflüssig ist. Eine "richtige" Datenbank (im Folgenden meine ich eine DB, die nicht im Programm richtig integriert ist, sondern seperat installiert werden muss. Weil xml ist streng genommen schließlich auch eine DB) lohnt sich nur da, wo die ganze Zeit Daten gelsen, geschriben, überschrieben, gelöscht und hinzugefügt werden. Also mit andern WOrten, wo man sich als onrmaluser ein dickes Kopfzerbrechen darüber bereitet, wie man es ohne hinbekommt.
Und wir haben diese Ansprüche:
Code:
Es soll eine Datenbank für jeden Schultag erzeugt werden.

In dieser Datenbank sollen x-Tabellen (jeweils mit 7 Stunden + Bemerkungsabteilung) vorhanden sein (für jeden Lehrer, der ausfällt, eine)
also für jeden Schultag eine XML-Datei. Dateiübergreifende Aktionen sind dann zwar langsam, aber die werden ja wohl eh nur die Ausnahme sein. Und in der momentan geladenen Datei kann man sehr schnell operieren.

Und wenn es dann doch unbedingt eine DB sein muss: Dann etwas kleines. Zum Beispiel die BDE. Lässt sich in Delphi leicht umsetzen, hat "nur" 8MB (soweit ich mich recht erinnere) und man kann damit einzelne Dateien als Datenbanken nehmen und muss nicht so wie bei großen Datenbanken wie MySQL eine, die dann so hmm, wie soll man sagen... so globales dingens jedenfalls.
Paradox 7 oder so. Damit könnte ich leben.

Trotzdem bleibe ich der Meinung, dass xml hierfür vöööllig ausreichend ist.

Jelly 30. Aug 2005 19:12

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Ich sprach ja auch nicht von MySQL sondern von MSSQL, rsp. des kleinen Bruders MSDE, die aber mal davon abgesehen, genauso gross mit über 40MB zu Buche schlägt.

Zu deinem angesprochenem MySQL Server mit 45MB, schlag ich dir mal vor, den embedded MySQL Server zu betrachten, der nur 4MB beträgt, und einfach in form einer DLL vorliegt.

Was ich aber mit meinem Beitrag in den Vordergrund stellen wollte, ist einfach die Tatsache, dass Projekte mit der Zeit wachsen können, und dann wird plötzlich in einer späteren Phase der Umstieg auf ein anderes DBMS zum Alptraum. Deshalb bin ich der Meinung, man sollte von vorne herein einen eventuellen Ausbau mitplanen, auch wenn er später nicht eintritt. Für die Umsetzung ist es doch am Anfang erst einmal egal, ob XML oder sonstwas. Aber spätestens dann, wenn schon 2 Benutzer gleichzeitig an den Daten rumfuschen, kannst du XML schon mal getrost vergessen, um nur ein Beispiel zu nennen.

Mehr wollt ich mit meinem Beitrag nicht sagen.

rainerkunze124 30. Aug 2005 20:01

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Danke für eure Hinweise. Ich habe bereits mehrere Datenbanktutorials durchgearbeitet, aber keine ging so wirklich auf das Datenbankdesign ein. Es muss auch nicht jeden Tag eine Datenbank sein, hauptsache das Ganze ist sicher und stabil (kein Datenverleust und wenn, dann wäre nur ein tag weg, nicht gleich alles). Aber wenn SQL stabil läuft, bin ich der letzte, der Nein sagt :-D

Kennt einer ein gutes SQL Einsteigertutorial, wo auch auf die Datenbankerstellung eingegangen wird (in PHPMyAdmin sieht das ja so toll aus, aber wie erzeugt man eine solche Datenbank und liest diese aus)?

yankee 30. Aug 2005 20:06

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Zitat:

Zitat von Jelly
Ich sprach ja auch nicht von MySQL sondern von MSSQL, rsp. des kleinen Bruders MSDE, die aber mal davon abgesehen, genauso gross mit über 40MB zu Buche schlägt.

Jos, das dachte ich im schon, nur dass ich von MSSQL keinen schimmer habe, und mich dafür mit MySQL einigermaßen gut auskenne,,,

Zitat:

Zitat von Jelly
Zu deinem angesprochenem MySQL Server mit 45MB, schlag ich dir mal vor, den embedded MySQL Server zu betrachten, der nur 4MB beträgt, und einfach in form einer DLL vorliegt.

embedded MySQL Server? Nie gehört... Kann man damit Datenbanken als Datei einfach behandeln und bearbeiten? *interessiert guck*

Zitat:

Zitat von Jelly
Was ich aber mit meinem Beitrag in den Vordergrund stellen wollte, ist einfach die Tatsache, dass Projekte mit der Zeit wachsen können, und dann wird plötzlich in einer späteren Phase der Umstieg auf ein anderes DBMS zum Alptraum. Deshalb bin ich der Meinung, man sollte von vorne herein einen eventuellen Ausbau mitplanen, auch wenn er später nicht eintritt. Für die Umsetzung ist es doch am Anfang erst einmal egal, ob XML oder sonstwas. Aber spätestens dann, wenn schon 2 Benutzer gleichzeitig an den Daten rumfuschen, kannst du XML schon mal getrost vergessen, um nur ein Beispiel zu nennen.

Das ist natürlich richtig. Sonst bekommt man ein Problem mit asyncronen Dateien... *einseh*

Jelly 30. Aug 2005 20:46

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Zitat:

Zitat von yankee
embedded MySQL Server? Nie gehört... Kann man damit Datenbanken als Datei einfach behandeln und bearbeiten? *interessiert guck*

Du hast im bin Verzeichnis deines MySQL Ordners eine Datei namens libmysqld.dll liegen, falls du den MySQL Server komplett installiert hast. Das ist nicht standard sondern musst du im Setup extra angeben.

Mit den MyDAC Komponenten kannst du den Embedded Server problemlos nutzen, wobei ich bei der 5er Version vom mySQL noch nicht erfolggekrönt war... Die 4.1 Version hingegen bereitete keine Schwierigkeiten... Die Datenbankdateien sind imho die gleichen wie beim richtigen Server, müssen nur in einem Unterverzeichnis deiner Anwendung liegen. Multiuser mit dem embedded geht aber nicht.

MrSpock 30. Aug 2005 21:07

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Hallo Rainer,

für deinen Zweck wäre Paradox sicher eine einfache und schnelle Lösung, die dir mit Delphi mitgeliefert wird, sofern du mindestens eine Professional Version hast. Die Struktur musst du aber noch einmal überarbeiten. Du solltest sicher nicht für jeden Tag eine eigene Datenbank oder Tabelle anlegen, sondern nur in EINER Tabelle die notwendigen Datensätze für die Tage. Pro Schuljahr eine Tabelle wäre eventuell sinnvoll. Wenn du genau sagst, was du speichern willst, können wir dir auch beim Design helfen.

Wenn du auf keinen Fall auf die BDE (mit Paradox) aufsetzen willst wäre auch Firebird embedded eine Alternative.

mschaefer 30. Aug 2005 21:36

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
N´abend, Spätmoin,

also das ist letzlich doch komplizierte als man anfangs denkt. Man hat den Raum, die Klasse, das Fach und den Dozenten/Lehrer. Je nach Fach git es nur bestimmte Räume und je nach Lehrer nur bestimmte Vertretungen. Das ist letzlich kein triviales Problem. Habe sowas mal Live in Praxis erlebt und bin daher deutlich nicht der vulkanischen Logik zugänglich (die lösen solche Aufgaben sowieso per Medidation bei Kerzenschein). Finger weg von Pradox für sowas!

Das fängt einfach an und wird komplex. Spätestens wenn noch Freistunden und Ausflüge verwaltet werden. Ach ja und bei Klassenarbeiten dürfen Räume wieder nicht gewechselt werden und die Vertetung muß vorher informiert werden.

Mein Fazit - Nägel mit Köpfen: Firebird-Server und damit vollständiger SQL-Satz - Das System wächst!

Grüße // Martin

Jelly 30. Aug 2005 21:43

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
@Martin: du nimmst mir die Wörter aus dem Mund. Habs auch schon miterlebt, habe die Komplexität aber hier erst mal nicht so ausführlich geschildert. Da hängen viel zu viele Faktoren voneinander ab, um die hier im Detail durchzukauen. Deshalb auch der Tipp von: gleich ein gescheites DBMS nutzen.

yankee 30. Aug 2005 21:49

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
@martin:
So wie ich es verstanden habe, geht es darum den Handgeschriebenen Vertretungsplan durch einen gedruckten zu ersetzen und diesen direkt am Computer zu schreiben und nicht darum auch noch den ganzen Plan völlig automatisch zu ERRECHNEN. Also so, dass man einfach eingibt: Klasse 8 Stunde 1 Lehrer XXX vertretung durch YYY und das wird dann gespeichert und ausgedruckt.
Aber wenn ich dieses Missverständnis allmälich verstehe, dann verstehe ich auch, warum ihr meint, xml reicht dafür nicht...

Da braucht man wohl mal einen Kommentar des Threadstarters zu ;-).

MrSpock 30. Aug 2005 22:45

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Hallo rainer,

ich möchte es so stehen lassen, wenn Martin hier grundsätzlich von Paradox abrät. Eine ganze Reihe meiner Anwendungen mit teilweise 30 Tabellen und einige tausend Datensätze läuft schon seid Jahren problemlos und das sogar im Netz. Ich weiß sehr wohl, dass es im Netz immer wieder Probleme geben kann und einige andere Programmierer damit schlechte Erfahrungeng gemacht haben. Ich empfehle deshalb für neue Anwendungen, die im Netz laufen Firebird. Ich behaupte aber, dass jemand der grundsätzliche Probleme mit Paradox für Anwendungen, die nicht im Netz laufen, hat, das auf Vorurteile stützt :duck: . Für dein Anliegen ist Paradox weiterhin eine gute Alternative.

rainerkunze124 30. Aug 2005 23:09

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
@yankee: Du hast vollkommen Recht. Die Idee mit der Raumplanung etc. ist zwar sehr schön, aber das überlasse ich unseren Unter-/Mittel-/Oberstufenleitern, die machen das bis jetzt mit ner Software und das lass ich auch so ;-)

Ich möchte nur für den Vertretungsplan erstellenden Lehrer dieses Tool schreiben, welches einerseits das ganze schön ausdruckt und andererseits z.B. als Html-Dateien ins Internet lädt. Ohne SQL wäre es auch denkbar, einfach eine bestimmt strukturierte Seite auf den Webserver zu laden und php zerpflückt die dann und holt sich raus, was es braucht, zur Visualisierung.
Gerne gehe ich auf euer Angebot ein, mir beim Design zu helfen.

Ich werde mir morgen mal genau den jetzigen Vertretungsplan anschauen und euch dann mitteilen, wie ich mir die Datenbank vorstelle bzw. was drin sein muss.

Vielen Dank für eure Hilfe :bounce2:

Hador 31. Aug 2005 00:00

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
ann werde ich auch mal meinen Senf dazugeben :???:

- Von einfachen Textdateien (ob du sie nun mit Delphi oder PHP ausließt) würde ich vorallem bei so einem Projekt grundsätzlich abraten. Früher habe ich das bei vielen PHP Scripten von mir auch gemacht. Aber vorallem wenn sie dann später größer werden hat man große Probleme mit ihnen. Des halb habe ich auch alle meine immer noch benutzten Scripte mit ausnahme eines Gästebuches (Da schreibt sowiso nur alle 1/2 Jahre mal einer rein) auf MySQL umgestellt.

- Du musst dir von dem Ausmaß der Daten, die bei deinem Projekt zustandekommen bewusst werden. Das werden schnell 'n paar mehr MB Daten.

- Ich habe sehr gute Erfahrungen mit MySQL gemacht was daran liegen könnte, dass ich eigentlich aus dem Bereich Webprogrammierung komme. :wink: Ich fand auch den Zugriff und Umgang mit Datenbanken nach kurzer Eingewöhnung wesentlich angenehmer als bei strukturierten Dateien.

- Wenn du wirklich auf eine Datenbank verzichten willst, dann würde ich dir folgendes vorschlagen:

>> Nutzen kannst du Ini, XML, StringGrid, selbst Strukturiete Dateien oder Typisierte Dateien
>> Sorge dafür, dass alte Daten nach ca. 1er Woche automatisch gelöscht werden

Für alles gillt:
>> Welche Daten musst du wirklich pro Tag speichern? Reicht nicht eine Zeile einer Tabelle, in der du pro Stunde die ausfallenden Stunden + ggf. Vertretungslehrer eintrrägst?
>> Wenn du auf Datenbanken verzichtest, verzichtest du sozusagen darauf, dass dein Programm später sehr leicht erweiterbar ist.

Als Datenbank würde ich dir MySQL empfehlen, da du dort mit Delphi, aber auch per PHP zugreifen kannst so könntest du z.B. eine automatisch erstellte Onlineausgabe des Vertretungsplans realisieren.

___________________
So jetzt habe ich hoffe ich alles gesagt und dabei total die Struktur meines Textes zerschossen, aber ich denke es sollte dennoch alles klar werden :coder:

Gruß Lars

Tubos 31. Aug 2005 00:13

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Zitat:

Da ist einfach was falsch! Ich würde es beispielsweise keinesfalls einsehen mir mysql oder sonstwas zu installieren, nur weil irgendein 1MB Freewareprogramm das braucht!
Es geht nicht um ein Freewareprogramm, wie rainerkunze in seinem Anfangspost erklärt hat. Der Aspekt ob das irgendwer so installieren würde ist also egal.

alex517 31. Aug 2005 00:16

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Hi,

"Das soll nur ein ganz kleines Programm werden, und soll nur ...können"
Wenn man darauf hört, ist das der Anfang der Fehlplanung.
Bis jetzt habe ich noch nicht erlebt, daß es bei dem "nur" geblieben ist.
Alle "für das kleine Programm reicht es"-Handlungen wurden bisher bestraft.
Es lohnt sich wirklich genauer VORHER über evtl. später hinzukommende
Funktionen, Reports, Anzahl Benutzer usw. nachzudenken.
Wenn das Gewicht auf Datenhaltung/Datenverarbeitung liegt, dann sollte man auch
eine Datenbank verwenden.
Und wenn man sich für eine Datenbank entschieden hat, sollte man sich unbedingt
mit der Datenbanknormalisierung vertraut machen.
Verstöße dagegen werden, von der Wirklichkeit bis mindestens zur 2. Normalform, streng bestraft! :warn:

BDE/Paradox geht für kleine Sachen.
Im Netz habe ich allerdings aber schon die seltsamsten Dinge selbst erlebt.
Und warum soll man auf Werkzeuge die einem die Arbeit um vieles erleichtern verzichten?
Ich bevorzuge Firebird.


alex

mschaefer 31. Aug 2005 09:33

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Moin, moin,

Hallo Albert, also ich habe Respekt vor den Vulkaniern, da Sie hier im Forum immer wieder durch präzise Logik aufgefallen sind. Was Paradox betrifft, habe ich auch lange damit gearbeitet und habe mich mit eigenen Objekten zum automatischen SQL-Update herumgeschlagen, weil Paradox Standartmäßig in den benötigten Fällen nur Read-Only Ergebnisse lieferte. Über Firebird sind wir uns ja so einig, dass wir das Sofa zur Seite schieben können.


Etwas Paradoxen Hintergrund

Viel Zeit und leider auch Geld gekostet hat mich die Verwendung der BDE-mit Paradox und komplexen SQL. Die BDE legt die SQL Ergebnisse in seperaten Dateien an. Die werden aber anscheinend erst nach der Selektion geschrieben. Folge ist, das die BDE-Anwendung zeitweise erheblichen Speicherbedarf im Ram hat. Aber es kommt noch fataler. Die BDE braucht offensichtlich bestimmte Speichersegmente zum Datenaustausch mit den Anwendungen. Da diese limitiert sind kommt es auf vielen NT-basierten Systemen zu Problemen, wenn mehrere BDE-Anwendungen laufen.

Irgendwann habe ich ein Tool gefunden (wenn es interessiert bitte melden), was die freien Übergabespeicherbereiche der BDE auflistet, damit man den größten freien zusammenhängenden in die BDE-Konfiguration eintragen konnte. Damit lief bei mir eine Anwendung zur Wetterdatenauswertung lange Zeit stabil, bis ein Kollege eine neue Soundkarte in das System gesteckt hat. Dadurch hatte sich der Übergabespeicherbereich der BDE-verschoben und eine besonders aufwendige SQL lief plötzlich in eine interne BDE-Fehlremeldung. Das Problem war auf mehreren Rechnern reproduzierbar. Wir sind zu dem Schluss gekommen, dass es damit zu tun haben muß, das die NT-Systeme jedem Prozess seine eigenen dll´s zuordnet, (nicht wie bei 9x-Systemen eine dll Sitzung gemeinsam benutzt wird) und daher mehre BDE Anwendungen sich seperate BDE-dll´s im Speicher halten und diese nicht konfliktfrei arbeten. Da liegt irgendwo auch der irdische Wurm im Entwicklungsstop der BDE durch Borland begründed.

Folge für mich: Das System ließ sich damit nicht einfach weitergeben, sondern brauchte immer wieder Installationshotline
und psychologische Beratung, bis es lief. Wenn es aber dann eingerichtet war, dann aber auch über Jahre und das Netz stellte dabei eigentlich kein Problem da. Jedenfalls wenn auf jedem Rechner der Pfad zur cfg richtig gesetzt war und Novell bei Laune...


URTEIL:
a: Paradox ist ein feines Datenbankformat, wo man einen schnellen überblick über alle Tabellen hat (Blick ins Verzeichnis).
___Man kann einzelne Tabellen eben mal nachliefern (Einkippen ins Verzeichnis) und es gibt reichlich Import/Exportroutinen.

b: BDE und Paradox ist geschäfts- und freizeitgefährdend
___(Hey, da kommt man nicht mal hinter das Sofa, sondern muß Überstunden machen: Beteiligung am Pizzaservice ist vorteilhaft).

FAZIT: Wenn es eine sinnige Idee zur Umgehung der BDE bei Paradox gibt, dann Überdenke ich mein Urteil!


Sonst viele Grüße in die Runde und natürlcih auch nach Vulkan

// Martin


PS: So eine Kerze zum meditieren fehlt mir noch...

yankee 31. Aug 2005 19:09

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Das praktische an so Vertretungsplänen ist ja, dass sie sich -einmal geschrieben- nur nocjh selten mla verändern. Man könnte also einfach einen button "Vertretungsplane veröffentlichen" in das Programm integrieren, der dann eine gnaz normale html-Datei mit dem Vertretungsplan ausgibt un ggf. noch automatisch auf den Server läd. Vorteil: kompatibel ohne Ende. Bei den meisten Schulen kann man ja froh sein, dass der Server überhaupt eine Datenbank hat und dass ist dann meisten (bis auf Ausnahmern eher immer) MySQL. Insbesondere, wenn es gemieteter Webspace ist, wo fast immer LAMP-Server (Linux Apache MySQL PHP Server) vermietet werden. Und wenn man die hürde genommen hat, dass man eine Datenbank vorliegen hat (sagen wir mal, man nimmt einfach, was da ist), dann hat man häufiger onchmal Streit mit irgendwelchen sturen Lehrer oder sonstwas, die einem keinen DB-Zugang geben wollen usw. usw... Und so ein einfache html-Datei ist da schon etwas robuster.

Und XML ist im Zweifelsfall eine gute Lösung, auch für mittelgroße Projekte. Auch mit PHP kann man xml einfach auslesen, der Datenzugriff ist halbwegs effizient und wenn man irgendwann mal nicht mehr weiß, wie man eine bestimmte Datenstruktur aufgebaut hat, kann man die xml-Datei einfach öffnen und nochmal nachschauen. Und das mit einem einfachen Texteditor!

Ich würde bei so einem Projekt in jedem Fall auf Kompatibilität und läuft-auf-jedem-computer achten. Und das ist mit xml und so einem html "export" sichergestellt.

MrSpock 31. Aug 2005 20:23

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Hallo Martin,

ich hatte bei meinen Anwendungen keine wirklich komplizierten SQL Anweisungen und habe viel mit TTable Objekten gearbeitet. Insbesondere für lokale Anwendungen und für kleinere Tabellen im Netz läuft das wirklich problemlos und auch genügend schnell. Bei komplexen SQL Statements und dem Einsatz von Stored Procedues setze ich ja auch Firebird und habe früher Interbase eingesetzt. Von daher sind wir uns in der Gesamtbewertung wohl ziemlich einig. Ich finde es leider etwas schade, wenn manche Paradox grundsätzlich schlecht machen (was du ja nicht tust), nur weil sie gehört haben, es gebe da Probleme.

Ich empfehle deshalb für manche Projekte immer noch Paradox, wie z.B. in diesem Fall, weil es dafür einfach und schnell ist und im Lieferumfang enthalten ist.

mschaefer 31. Aug 2005 21:24

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Moin, ziemlich Spätmoin,

weißt Du ich nehme Paradox immer wieder gerne als Datenaustauschformat. Wo kann man sonst mal eine Tabelle einfach weitergeben?
Nur diese BDE hat mich mal ein Jahr Entwicklungsarbeit gekostet. Mußte alles neu gemacht werden. Da reagiere ich etwas markant.... :-)

Gute Nacht // Martin

rainerkunze124 31. Aug 2005 23:18

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Wenn ich mich nochmal in eure sehr gute und hilfreiche Diskussion einklinken darf:

Mein Ziel ist vor allem die Stabilität und Datensicherheit des Vertretungsplanes. Wenn ich jetzt den Vertretungsplan über MySQL von unserem Schul-Intranetserver (ich verfüge über alle Rechte im Schulnetz, da unser Netzwerk nur von Schülern gewartet und eingerichtet wird) laufen lasse, dann ist schonmal Asche, wenn dieser nicht läuft (aus irgendeinem Grund). Da ist es unwahrscheinlicher, dass der Vertretungs-Computer nicht läuft, als dass der Server mal was hat.
Von daher würde wenn nur eine lokale Computer-SQL-Datenbank in Betracht kämen. Kann man diese Datenbank dann in eine andere eintragen also das ganze duplizieren (damit der Vertretrungscomputer vom Internet abgeschottet werden kann)?
Und nochmal meine Frage: Gibt es irgendwo ein gutes SQL-Tutorial, wo die Einrichtung, der Delphi-Zugriff etc. gezeigt wird?

mschaefer 1. Sep 2005 08:48

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Morgen Rainer,

also prinzipiell ist es kein Problem auch die Datenbank auf dem Vertretungsrechner laufen zu lassen. Vorraussetzung dafür ist in Eurem Netz, dass dieser Rechner eine feste IP-Adresse bekommt, damit Du diese bei den Delphi-Clients eintragagen kannst. MySQL liegt in der Komplexität zwischen Paradox(einfach) und Firebird (einarbeitungsbedürftig) und ist daher kein schlechter Einstieg. Das hier doch eine Reihe von Kandidaten auf Firebird setzten hängt an der Lizenzfreiheit, die bei MySQL nur für Open-Source gilt. Sowohl bei MySQL und Firebird gibt es zudem auch Beispiele wie man mit PHP auf die Datenbank zugreift. Sowas könnte ich mir vorstellen, wenn Schüler ihren Vertretugnsplan in eine Webseite einbauen wollen.

Zu den Tutorials:

Firebird: Tut. Firebird und Zeos

MySQL: Tut MysQL mit Delphi

Grüße // Martin

rainerkunze124 3. Sep 2005 15:19

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Ich denke, ich werde MySQL nehmen. Habe mir Xampp Lite besorgt (wo praktischerweise gleich MySQL- und Apache-Server dabei sind und man so komfortabel auf PHPMyAdmin zugreifen kann) und packe dann den WinMySQL.exe in den Autostart und schon hat man diese immer dabei ;-)

Da ich aber zukünftig diese Daten auch Online verwerten möchte, aber auf die o.g. lokale MySQL-Datenbank aus Sicherheitsgründen nicht vom Internet zugegriffen werden können soll, wüsste ich gerne, ob es möglich ist, zwei SQL-Server zu synchronisieren bzw. auf den Online Server immer die Aktuelle Datenbank zu laden, nachdem diese im Vorhinein gelöscht wurde. Wie würde man diese Aufgabe am besten erledigen (einfach direkt alles in beide Datenbanken schreiben lassen oder diese untereinander in Kontakt bringen)?

Jelly 3. Sep 2005 15:26

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Wenn du immer nur in einer Datenbank arbeitest, und die 2. nur zum Anzeigen gedacht ist, also dort keine Datenänderungen auftreten, kannst du in regelmässigen Abständen einfach einen Dump erstellen (mysqldump.exe) und diesen einfach wieder auf der Gegenseite einzuspielen.

mschaefer 3. Sep 2005 16:13

Re: Suche die richtige Datenbank für Vertretungsplan-Projekt
 
Moin, moin,

also mit Xamp hat man natürlich ein schon zeimlich komplettes Paket, zumal es gut dokumentiert ist.
Aber angemerkt sei, wenn es Bedarf gibt, kann ich auch ein Zugrifssbeispiel mit PHP auf Firebird liefern.
Letzlich ist das auch kein Problem, aber man hat natürlich weniger User-Unterstützung.

Grüße // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz