Delphi-PRAXiS
Seite 1 von 3  1 23      

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*


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr.
Seite 1 von 3  1 23      

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