Desktop Datenbank

Anwendungen, Tools, Userlibs und anderes nützliches.
ST4242
Beiträge: 42
Registriert: 29.10.2011 16:54

Desktop Datenbank

Beitrag von ST4242 »

Ich habe in den letzten Jahren an einer Desktop Datenbank ähnlich wie Access geschrieben. - komplett mit PB letzte Version war 5.40 LTS

(weil ich wissen wollte wie so etwas geht, und ich gerne eine eigene Desktop Datenbank für Verwaltung von unterschiedlichen Daten haben wollte)

D.h. man kann Tabellen anlegen, Formulare und Reports erzeugen und diese mit Makros automatisieren.

Das Datenbankformat ist mein eigenes und die verwendete Abfragesprache ist an SQL angelehnt. (Die gesamte DBengine ist eine Eigenentwicklung)

Features:

Datenbankgröße bis 2 GB (wie in Access können aber auch andere Datenbankdateien eingebunden werden, so daß eine Tabelle bis ca. 2 GB haben kann)
Multiuser bis 64 Nutzer (sinnvoll nur ca. 10)

Hauptprogramm
FormularEditor
ReportEditor


Programmm nur unter Windows getestet 32 und 64 Bit.


Natürlich ist das Programm nicht fertig sondern viele Funktionen befinden sich in Entwicklungsphase.
Und (vor allem in den Editoren) geht nicht alles so wie man es gewohnt ist.

Wer interesse hat kann sich hier meine letzte Version herunterladen. (nur Windows)
Die Dateien (entweder 32 oder 64 Bit) müssen nur in einem beliebigen Ordner kopiert werden.
Der Formdesinger als auch Reportdesigner werden von Hauptprogramm (dbcontrol) aufgerufen
Der Formdesigner wird zum erstellen von Formularen aufgerufen.
Der Reportdesigner sowohl zum erstellen als auch zum anzeigen der Reports.


Eine kleine DEMO.DBS Datenbank ist dabei.

Gibt mir bei interesse ein kurzes Feedback.


Anbei der link auf meinen WEB Speicher
https://cloud.web.de/ngcloud/external?g ... fan-Schatz
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Desktop Datenbank

Beitrag von ts-soft »

:allright:
Schöne Sache, auch wenn noch das meiste noch vermisst wird, aber der Ansatz ist da!

Mach weiter so, das könnte was werden :D

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Rings
Beiträge: 971
Registriert: 29.08.2004 08:48

Re: Desktop Datenbank

Beitrag von Rings »

Uih, ein wirklich anspruchsvolles Projekt.
Sieht schon mal wirklich am Ansatz gut aus.

Kleiner Fehler:
Wenn keine dbs geladen ist, dann führt der Menüaufruf "Zeige Datenbank"
(iss so ein Hexviewer) ne Exception an.

Gibts die 2GB Beschränkung pro Datei nur wegen der
32Bit version (max 2GB Speicherverwaltung)
bzw. wegen Verwendung von 32-Bit Variablen (INT32) ?

Könnten (Theroretisch) bei x64 nicht mehr adressiert werden ?

Ach ja, Dokumentier das Fileformat anständig :)
Rings hat geschrieben:ziert sich nich beim zitieren
ST4242
Beiträge: 42
Registriert: 29.10.2011 16:54

Re: Desktop Datenbank

Beitrag von ST4242 »

Hallo,

vielen Dank für das bisherige Feedback.

Zum Thema des Fehlers beim "Datenbank anzeigen" - diese Funktion steht nicht umsonst unter dem Menüpunkt "EntwicklerMenü" welches im Normalfall nicht zu verfügung steht und eigentlich nur für mich für Debugging zwecke gedacht sind.

Zum Thema größe der Datenbankdatei - die interne Zeiger innerhalb der Datei sind nur auf 32 Bit ausgelegt wobei das 32.te Bit teilweise auch noch für interne Zwecke verwendet wird. Wobei meine Überlegung war - das ich keine Datenbank machen wollte für unendliche Daten. Falls z.B. Bilder in der Datenbank gespeichert werden soll gibt des Datentyp EXblob - welche die Daten in einer zweiten Datei speichert.

Freundliche Grüße
Benutzeravatar
Rings
Beiträge: 971
Registriert: 29.08.2004 08:48

Re: Desktop Datenbank

Beitrag von Rings »

ST4242 hat geschrieben:Zum Thema des Fehlers beim "Datenbank anzeigen" - diese Funktion steht nicht umsonst unter dem Menüpunkt "EntwicklerMenü" welches im Normalfall nicht zu verfügung steht und eigentlich nur für mich für Debugging zwecke gedacht sind.
sowas hab ich mir gedacht.
ST4242 hat geschrieben: Zum Thema größe der Datenbankdatei - die interne Zeiger innerhalb der Datei sind nur auf 32 Bit ausgelegt wobei das 32.te Bit teilweise auch noch für interne Zwecke verwendet wird. Wobei meine Überlegung war - das ich keine Datenbank machen wollte für unendliche Daten. Falls z.B. Bilder in der Datenbank gespeichert werden soll gibt des Datentyp EXblob - welche die Daten in einer zweiten Datei speichert.
Klar. Iss eigentlich aussreichend.
Ich würde mir nur nix für die Zukunft verbauen wollen, wegen einsparen von 32 Bits .
Deswegen habe ich meine DBF codes auch wieder alle verworfen, weil da genauso
schluss iss wegen der Dateigröße.

Mann muss auch klar festlegen wozu man später die Daten verwendet.
Eine sekündliche Protokollierung von Messwerten fällt wegen der
Datenmenge dann flach, Tagesweise geht sowas aber und ist ausreichend.
Genauso wie das DBS Beispiel mit Schülern/Noten.
Soviel Klausuren können die gar nicht schreiben das die DB voll wird :)

Aber das ist natürlich deine Entscheidung und dein Baby .

Noch zu den Pro's:
Man kann auch schön gleichzeitg mit dem 32 Bit und 64 Bit Prg auf die Daten zugreifen.
Das ist schon mal so ne Art Alleinstellungsmerkmal.

Wird das reine Daten Lesen/Schreiben evtl. auch unter linux/osx gehen ?
(mal abgesehen von den Formularen )
Rings hat geschrieben:ziert sich nich beim zitieren
ST4242
Beiträge: 42
Registriert: 29.10.2011 16:54

Re: Desktop Datenbank

Beitrag von ST4242 »

Hallo,

zum Thema Linux:
Eine frühere Version hatte ich auch schon unter Linux laufen, allerdings habe ich jetzt extreme Schwierigkeiten PB unter linux zum laufen bringen.
Bei meinen letzten Versuch ging noch nicht mal ein einfacher Messagerequester ohne Fehler.

Das weitere Problem unter Linux ist der Multiuser Betrieb. Da der gleichzeitige Zugriff (Lesend und Schreibend) meines wissens nur auf dem Windows Dateisystem unterstützt wird. Falls hier andere Informationen bestehen wäre ich dankbar dafür.

zum Thema sekündliche Erfassung von Messwerten:
einmal die Sekunde heisst im Jahr 60*60*24*365=31536000 Messwerte bei z.B. 4 Doublefloats = 4*8=32 + Datensatzinfo 5 Bytes = 37 Bytes pro Datensatz = 1166832000 Bytes=1,08 GB
d.h. man kann mit dieser Datenbankgröße gut 1,5 Jahre von solchen Daten erfassen.

Aber dafür war das eigentlich nicht gedacht - sondern um einfache Datenanwendungen im Privatumfeld zu ermöglichen.


Gruß Stefan
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Desktop Datenbank

Beitrag von HeX0R »

Ich denke auch Du solltest von dieser 32Bit Limitierung abkommen.

Als Beispiel:
Wir haben für einen Stresstest eines Windrades (bzw. eigentlich nur des Sockels) 200 Messwerte / 10ms (synchron) aufgenommen.
Und da bist Du innerhalb weniger Stunden am Limit.

Nicht, dass das der bevorzugte Einsatzzweck Deiner Datenbank sein wird, aber Du weisst nie, auf was für Ideen die Leute kommen.
Vor allem war unsere Messtechnik, als sie entwickelt wurde gar nicht für so einen verrückten Messversuch gedacht, dennoch musste nichts verändert werden, weil der Entwickler von Anfang sagte:

Think Big!
Antworten