AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DB-Controls oder OR-Mapping
Thema durchsuchen
Ansicht
Themen-Optionen

DB-Controls oder OR-Mapping

Ein Thema von Hannes Kuhn · begonnen am 4. Nov 2010 · letzter Beitrag vom 5. Nov 2010
Antwort Antwort
Hannes Kuhn

Registriert seit: 4. Apr 2006
Ort: Kassel
48 Beiträge
 
Delphi 7 Professional
 
#1

DB-Controls oder OR-Mapping

  Alt 4. Nov 2010, 16:43
Datenbank: SQLite • Version: 3 • Zugriff über: direkt
Hallo,

Ich habe mit einer größeren DB-Anwendung begonnen.

Die Datenbank ist erstmal SQLite. Soll dann aber später auf eine Server-DB umgestellt werden (welche ? ist noch offen).

Begonnen hab ich so:
Hol mir die Daten aus der DB mittels SQL, dann erzeuge ich spezielle Objekte und pack dort die Daten rein.
Dann stelle ich die Daten z.B. in einem Grid dar.
Die Daten kann ich dann aus dem Grid in die Objekte schreiben und dann die DB updaten.
Das ist alles sehr flexibel und auch nicht die große Arbeit.

Was ist Eure Meinung ?
Diesen Weg fortführen oder doch lieber DB-Controls verwenden.
Bitte auch ein paar Gründe zu Eurer Meinung.

Vielen Dank
Hannes
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: DB-Controls oder OR-Mapping

  Alt 4. Nov 2010, 16:51
Sieht für mich ein bisschen aus wie zwei mal um die Ecke.
Ich bevorzuge KISS.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: DB-Controls oder OR-Mapping

  Alt 4. Nov 2010, 17:05
http://blog.synopse.info/category/Op...ite3-Framework
Markus Kinzler
  Mit Zitat antworten Zitat
Hannes Kuhn

Registriert seit: 4. Apr 2006
Ort: Kassel
48 Beiträge
 
Delphi 7 Professional
 
#4

AW: DB-Controls oder OR-Mapping

  Alt 4. Nov 2010, 17:25
Hallo,

schon mal danke für Eure Antworten.

Ich bin ja genau auf der Suche nach der „möglichst einfache, minimalistische und leicht verständliche Lösung meines Problems“.

Bummi, wie kann ich die Anzahl der Ecken reduzieren ?

Bringt mir ein „SQLite3 Framework“ wirklich so viele Vorteile und nicht doch irgendwann Kopfweh ?

Viele Grüße
Hannes
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

AW: DB-Controls oder OR-Mapping

  Alt 4. Nov 2010, 17:32
Es kommt drauf an.
Beispiel: es gibt eine Tabelle Artikelstamm.
Dieser Artikelstamm soll vom Benutzer gepflegt werden können.
Ausserdem werden die Artikel irgendwo im Programm benützt;
es gibt Artikellisten, Artikel mit der gleichen Nummer werden aufsummiert..., Preis * Stückzahl = Gesamtpreis

Zum Pflegen des Artikelstamms würde ich einfach eine Query, Datasource und DBGrid verwenden
und fertig ist die Laube.
Würde man hier mit Stringgrids und Objekten arbeiten, würde man die 10-fache Zeit benötigen
und hätte immer noch nicht den Komfort eines DBGrids.

Wenn man später mit den Artikeln arbeitet sieht die Sache anderst aus.
Jetzt kommt Logik mit ins Spiel - Artikel mit gleicher Artikelnr werden aussummiert usw.
Hier braucht man mindestens die Klassen TArtikel und TArtikelList.
Andreas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

AW: DB-Controls oder OR-Mapping

  Alt 4. Nov 2010, 23:08
Du hast Dich aber da wirklich sehr missverständlich ausgedrückt.

Es geht dabei um Satzzeichen und Schreibfehler. Ist schon klar, das ist alles unwichtig. Ich werde den Beitrag deshalb etwas zerpflücken.

es gibt Artikellisten, Artikel mit der gleichen Nummer werden aufsummiert..., Preis * Stückzahl = Gesamtpreis
Bei Artikellisten werden normalerweise keine Artikel mit gleicher Nr. "aufsummiert". Wäre das "," ein "." (in dem Satz), dann wirds so ungefähr hinhauen. Aber nur fast. Bsp.: was, wenn Stückzahl = 10 bestellt wird und es sind nur 8 am Lager ? Jetzt wird derselbe Artikel nachgeliefert (2 Stück). Der Besteller hat dann die 10. Er schickt aber 3 Stück wieder zurück, weil er sich vertan hat. So ich habe jetzt 3 Fälle : Erstlieferung, die Nachsendung und die Rückgabe. Summiere ich das auf, dann kriegt er Rechnung über 7 Stück (bei identischen Art.Nummern).

Und nun ? Ich will jetzt nicht zu spitzfindig werden, aber so etwas stiftet eventuell nur Verwirrung. Der Besteller wird wohl mehr Ärger machen, als das Ganze wert ist.

Artikel mit gleicher Artikelnr werden aussummiert usw.
"aussummiert" ? Soll wohl "aufsummiert" heissen. Kommentar dazu : siehe oben. Aber das ist relativ egal.
Gruß
Hansa
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: DB-Controls oder OR-Mapping

  Alt 5. Nov 2010, 05:56
Hallo,

nach meiner Erfahrung bringt ein OR-Mapping dann was, wenn Du umfangreiche Business-Regeln umsetzen musst. Das geht innerhalb eines Klassenmodells in der Regel einfacher als über StoredProcedures. WEnn es allerdings nur darum geht, eine Adresse, eine Rechnung und div. Artikel miteinander zu verbinden, ist die "normale" DB Anbindung einfacher zu realisieren (Ausnahme: Du bist im Einsatz eines bestehenden OPF so fit, dass du das da schneller hinbekommst)

Bevor du aber was eigenes anfängst, solltest Du dir die bestehenden mal anschauen (InstantObjects, tiOPF). Weiterhin solltest Du dir vor der Implementierung div. Szenarien auf dem Papier durchspielen, d.h. welche Anbindung an die Oberfläche (MGM-Pattern), welche Daten werden von der DB geholt ("Select *" und alle Objekte gleich anlegen oder gibts Proxies,....). Und falls Dir das fehlt: die theoretischen Hintergründe eines OPF. Ich habe hier 2 Dokumente die den (groben) Aufbau eines OPF beschreiben (http://www.ambysoft.com/downloads/persistenceLayer.pdf und http://www.tabdee.ltd.uk/papers/BuildingAnOpf.html).

Ein OPF hört sich immer interessant an, aber wenn man hier Designfehler hat, bereut man den Einsatz zumindest so lange man die Software pflegen muss. Je nach Umfang sollte auch ein Unit-Test möglich sein, was aber auch wieder gewissen Anforderung an das Klassendesign voraussetzt...

Grüße
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#8

AW: DB-Controls oder OR-Mapping

  Alt 5. Nov 2010, 07:07
Eine Liste von ORM für Delphi Win32 ist hier zu finden:

http://stackoverflow.com/questions/4...r-delphi-win32

Wenn es um größere Anwendungen geht, würde ich definitiv auch einen Blick auf die verfügbaren ORM und ihre Unterschiede werfen. Wenn sie leicht in Oberflächen eingebunden werden können, z.B. durch die Verwendung von Datasource / DBEdit, kann das den Einstieg sehr vereinfachen. Auch für Serveranwendungen können ORMs sehr vorteilhaft sein, wenn z.B. aus Performancegründen anstatt einzelner Datenbankabfragen ein Caching von Objekten erforderlich wird.

Leider ist Bold nicht mehr erhältlich, das eines der besten ORM für Delphi gewesen sein soll. Mit den neuen Sprachfeatures seit Delphi 2010 (Attribute und erweiterte RTTI) haben neu entwickelte ORMs allerdings technologischen Vorsprung, wenn man wie z.B. bei (N)Hibernate und Co. mit wenig Attributen zu den Properties das Mapping parametrisieren kann.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz