DB Anwendung mit Zeos oder Bordeigene Komponenten

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DB Anwendung mit Zeos oder Bordeigene Komponenten

Beitrag von DL3AD »

Hallo Andreas,

ja, wo will ich hin - habe da so ein paar Ideen - aber bevor ich damit anfange versuche ich erstmal die Werkzeuge und deren Funktionsumfang zu verstehen.
Das gelingt mir persönlich am besten wenn ich viele kleine Problemchen die eventuell in einem späteren Projekt vorkommen im Vorfeld austeste und verstehe.
Das sind Dinge wie z.B.
- Suchen von Daten
- Daten von A nach B schaufeln
- Daten verrechnen
- Daten Gruppieren
- Daten Drucken (Formulardesign)
...

Erst wenn ich das Gefühl habe meine Werkzeuge gut benutzen zu können - dann fange ich an mit einem Projekt.
Dann kann man sich voll auf die Programmierung konzentrieren und muss nicht ständig herausfinden wie man es umsetzt.
Ob ich es dann Programmiertechnisch gut (aus Profisicht) umgesetzt habe ist für mich nicht so relevant - verbessern und optimieren kann man später immer noch.

Ein mögliches Projekt ist z.B. ein Logbuch Programm Für Funkverbindungen (bin Amateurfunker mein Rufzeichen DL3AD)
Es gibt aber auch noch weitere Ideen.

Gruß Frank

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6197
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: DB Anwendung mit Zeos oder Bordeigene Komponenten

Beitrag von af0815 »

Ok, damit kann ich mehr Anfangen.

Was verstehst du unter Daten ? Ich frage deswegen, weil normalsieren von Daten auf einem Server ist bei SQL normal. Stichwort 2te oder 3te Normalform. Siehe auch LazInfos.

Definiere mir nur den Begriff Daten von A nach B schaufeln ? Man trachtet auf einem Server nicht zu schaufeln sondern Referenzen zu speichern. Information sollte nicht unbedingt doppelt sein (wieder Normalisieren). Man muss nur zwischen Desktopdatenbanken (Zeilenorientiert) und Serverdatenbanken (Mengenorientiert) stark unterscheiden. Access ist da zB. ein bischen ein Hybrid (Böswillige meinen es kann weder das eine noch das andere).

Daten verrechnen - ein gutes Thema. Wenn ich eine Menge habe, kann man verdammt gut und flott die Daten aggregieren SUM(), MAX(), MIN(), je nach Server auch noch Statistik mit Mittelwerte, Standardabweichungen, Quartile,....

Gruppieren, hängt eng mit Daten aggregieren zusammen, group by und having, auch einen wenig union select. AM MS-SQLServer gehen parametrierbare Views, aber da wird es schon sehr DB spezifisch.

Drucken: Da würde ich typischerweise auf Lazreport setzen. Doku dazu gibt es, ich nehme da auch die Hilfe des original Reports zur Hilfe, von dem der LazReport geforked wurde (FastReport 3.0).

Andreas

Edit: LazInfos angefügt. Hab mal geprüft ob ich den Latex - Compiler (MikTex) noch aktivieren kann.
Dateianhänge
LazInfos.pdf
LazInfos mal eine etwas überarbeitete Version
(1.74 MiB) 106-mal heruntergeladen
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DB Anwendung mit Zeos oder Bordeigene Komponenten

Beitrag von DL3AD »

Hallo Andreas,

dass Verständniss zum Aufbau von Datenbanken ist als Restwissen noch vorhanden - hatte das mal anfang der 90er im Studium.
Als Daten fallen bei mir nur in Form von Tabellen an mit Inhalten in Form von Varchar, Integer, Float, Boolean.
Das man die gleichen Infos nicht 5 mal speichert ist mir auch klar :mrgreen:

SQL ist auch nicht dass problem - da habe ich ein schönes Tool https://sqlitestudio.pl/index.rvt mit dem ich gut zurecht komme.
Mein Problem ist ganz einfach herauszufinden was kann ich wie mit den Zeos Komponenten, Data Access und Data Controls machen.
Da ist natürlich eine gute Beschreibung der einzelnen Methoden und Eigenschaften sehr hilfreich.

Gruß Frank

Benutzeravatar
theo
Beiträge: 10461
Registriert: Mo 11. Sep 2006, 19:01

Re: DB Anwendung mit Zeos oder Bordeigene Komponenten

Beitrag von theo »

af0815 hat geschrieben:Publikationen:
Andreas Frieß - LazInfos (pdf) und LazSnippets (sourcen) auf Sourceforge (Der Autor hat das Projekt eingestellt, nachdem es kein Echo gegeben hat) :shock:


Wie meinst du das? Bzw. was ist da falsch gelaufen?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6197
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: DB Anwendung mit Zeos oder Bordeigene Komponenten

Beitrag von af0815 »

@DL3AD:

Es ist in einigen Worten erklärt: Wenn du vom Server eine aktualisierbare Datenmenge hast, so kannst du mit den Komponenten alles machen (Einfügen, Ändern,..). Ist die Datenmenge nicht editierbar, vB. kein PK, Joins, Zugriff über Views, Subselects,... zu musst du händisch eingreifen. Man kann dazu bei der Query die entsprechenden SQL-Statements hinterlegen. Bei ZEOS nimmt man dazu die TZUpdateSQL und verbindet die mit der TZQuery. Dann kann man für Delete, Insert und ModifySQL eigene SQL Statements schreiben.
Die meisten Leute haben Problme beim verstehen, warum die Query keine Daten schreiben oder ändern kann. Das obige soll helfen das zu verstehen.

Ein weiteres Geheinis sind die Lookup Felder. Wenn du in der Tabelle nur einen FK (Foreign Key) sinnvoller weise hast und musst aber den Benutzer die Daten richtig anzeigen, so kannst du hier ein weiters Dataset ansprechen, das die Daten anhand der FK bereitstellt. Klingt verwirrend, ist es auch.

Ich wede versuchen zu diesen Themen doch wieder ein paar Demos zu machen, dann wird das klarer was ich damit meine.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DB Anwendung mit Zeos oder Bordeigene Komponenten

Beitrag von DL3AD »

Hallo Andreas,

für mich ist wichtig zu wissen welche Methoden und Eigenschaften der zuvor genannten Komponenten wie zu verwenden sind bzw was man damit machen kann (Werkzeuge) DOKUMENTATION ist Wichtig - zu Zeos habe ich nix gefunden. :shock:
Die Datenbanktheorie lassen wir mal außen vor - damit habe ich kein Problem.

Gruß Frank

Antworten