AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm
Thema durchsuchen
Ansicht
Themen-Optionen

Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

Ein Thema von Frickler · begonnen am 15. Feb 2017 · letzter Beitrag vom 5. Mär 2017
Antwort Antwort
Seite 5 von 5   « Erste     345   
Lemmy

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

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 10:41
Wenn diese Information abgespeichert werden soll, daran muß der Designer der DB denken!
genau meine Meinung. Und die widerspricht (nichts anderes wollte ich damit aussagen), der pauschalen Aussage, dass ein Geburtsdatum in einem Datumsfeld gespeichert werden muss.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 10:45
Man sieht aber oft Tabellen, in denen alle Felder vom Typ String (Char()/VarChar()/NVarChar, ...) sind.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#43

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 11:08
Wenn diese Information abgespeichert werden soll, daran muß der Designer der DB denken!
genau meine Meinung. Und die widerspricht (nichts anderes wollte ich damit aussagen), der pauschalen Aussage, dass ein Geburtsdatum in einem Datumsfeld gespeichert werden muss.
Klingt kleinkariert aber, irgendwann (00.00) in 1982 ist kein (Kalender)Datum, darum kann und darf es nicht in ein Datumsfeld. Das es große Ähnlichkeit mit einem Datum hat, geschenkt.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#44

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 12:03
Was hier als Kriterium seltsamerweise noch gar nicht zur Sprache kam ist, welche Datenbanken überhaupt unterstützt werden. Wenn man sich nur auf eine spezielle konzentriert ist es sicher weniger ein Problem die Logik in der Datenbank unterzubringen, als wenn man verschiedene Datenbanken unterstützt.
Die Antwort darauf ist meiner Meinung nach banal:

Wenn ich datenbankunabhängig sein muss, dann ist die Logik datenbankunabhängig in der Software.

Wenn das nicht geht, dann muss ich die Logik (jeweils datenbankspezifisch) mehrfach implementieren.

Oder nur das der Datenbank überantworten, was garantiert alle Datenbanken als Schnittmenge zur Verfügung stellen. Das kann ggfls. extrem wenig sein.

Zum Thema Datum:

Ein Datum, das kein Datum ist, wird nicht als Datum gespeichert.

Welche Alternative ich wähle, hängt von der Fachlichkeit (und ggfls. den datenbankspezifisch möglichen Alternativen) ab.
  Mit Zitat antworten Zitat
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#45

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 13:15
Wenn das Geburtsdatum nicht genau bekannt ist, wird dann nicht (amtlich) eines festgelegt?
Was zumindest bei österreichischen Sozialversicherungen zu ganz interessanten Daten führt:
es wird nur der Teil in ein Datum übernommen, der nachweisbar ist, der Rest durch unmögliches ersetzt.
Wenn also jemand ein Geburtsjahr 1975 nachweisen kann aber keinen genauen Geburtstag dann wird z.B. der 28.15.1975 als sein Geburtsdatum von der Sozialversicherung festgelegt und auch als "Geburtsdatum" bezeichnet.
Welches Datum da verwendet wird hängt davon ab wie viele es schon mit dieser Kombination gibt - es wird einfach der nächste freie genommen.

Ganz besonders lustig ist das, wenn man irgendwann eine DB designt hat mit einem Feld "Geburtsdatum" für eine Adresse und das auch kräftig verwendet - um ein Alter anzuzeigen, Altersrabatte zu berechnen usw.

Und dann steht plötzlich einer mit so einem "Geburtsdatum" im Laden....

Gruß
Luggi
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
532 Beiträge
 
Delphi 10.3 Rio
 
#46

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 15:34
Es gibt tatsächlich gut Argumente für eine Zwischenschicht. Serverdatum und Zeit (GMT) vs. Lokale Zeit oder wie in SAP in dem hinter einer Domäne ein Datum vom Max Datum wird abgezogen damit man schneller sortieren kann, wenn bspw. Währungsumgsrechnungen werden gepflegt. Die tagesaktuelle Umrechnung ist spannender im Fall von OLTP und war auch oft abgegriffen.

Die Domäne hängt oft auch stark ab von den angeboten Indizierungsvarianten usw...

Bei heise war vor kurzem Artikel über Microservices und jeder Service hätte sein eigenes Schema. In solchen fällen von physischer Partionierung um der wohlgestalt eines Microservices willen wäre mir persönlich zu gewagt. Da wäre das DataModule als ein Vertreter von Schemen eine ganz guter Strukturierungsmechanismus.

Bisher hat sich die Entwicklerschaft gerne mit der Unzulänglichkeit der Web Scripting Technologien aus der Affäre gezogen. Der gemeinsame Nenner war der DB Client auch wenn bspw. die PHP Runtime diese versteckt so gab es lange (und heut auch noch nicht sauber) Data Services die ähnlich einer Datenbank anzusprechen wären. Die gab es praktisch nur im Umfeld von Delphi und selbst wenn die Alternativen vor langer Zeit nach den Midas Replacements DataAbstract und ThinDAC (außer Konkurrenz) waren.

Meine Erfahrung im Umfeld der Datenbanker war schon, dass beide, sowohl der Anwendungsentwickler als der DB Admin oder Business Supporter das selbe Ergebnis sollen sehen können und auf dem selben Weg dazu kommen.


Man sieht aber oft Tabellen, in denen alle Felder vom Typ String (Char()/VarChar()/NVarChar, ...) sind.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#47

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 16. Feb 2017, 17:30
Man sieht aber oft Tabellen, in denen alle Felder vom Typ String (Char()/VarChar()/NVarChar, ...) sind.
Das ergibt sich (auch) aus der Art der verwalteten Daten. Nicht alles was Ziffern enthält ist auch numerisch!
(Je moderner die Excelversion, desto interessanter als was Aktenzeichen und Erteilungsnummern interpretiert werden. Diese Halbintelligenz davon zu überzeugen, daß Ziffern nicht das gleiche ist wie Zahlen, ist immer wieder aufbauend.)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
WInfo

Registriert seit: 3. Jan 2009
36 Beiträge
 
#48

AW: Dumme Datenbank & schlaues Programm vs. schlaue Datenbank & dummes Programm

  Alt 5. Mär 2017, 17:53
Sagen wir mal so, alles was zur Sicherstellung der Datenintegrität gehört in die DB, was nicht, gehört halt nicht in die DB somdern in die Anwendungsschicht. Wenn es daneben um die Representation der Daten geht, muss die DB halt auch noch mal ran und die Daten passend zumSQL Statement zusammenkrallen. Aber das ganze sollte beidseitig auf Standard SQL aufbauen, damit man im Notfall auch eine DB tauschen kann Das heist also, bezüglich der Eingangsfrage, sowohl als auch

Noch was persönliches, ich bin kein Freund davon der DB zu viel Logik mitzugeben, das macht einfach Änderungen und Anpassungen extrem aufwändig. Was besonders viel wiegt, da ich einfach zu pflegende Systeme bevorzuge

WInfo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 5   « Erste     345   


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 17:40 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