Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Frage zum DB-Design (https://www.delphipraxis.net/126110-frage-zum-db-design.html)

khh 18. Dez 2008 09:56

Datenbank: firebird • Version: 2.1 • Zugriff über: zeos

Frage zum DB-Design
 
hallo zusammen,
ich hab mal ne Frage zum DB-Design.

Würdet Ihr Anrede und Titel im Kundendatensatz als String speichern oder eher in separaten tabellen.

Ich denke der Aufwand von separaten Tabellen lohnt nicht .


Gruss KH

DeddyH 18. Dez 2008 09:59

Re: Frage zum DB-Design
 
Ich denke, der lohnt schon. Stell Dir vor, Du suchst alle Herren. Nun hast Du aber bei der Eingabe nicht aufgepasst und einmal "Her" geschrieben. Somit wird Dir ein Datensatz unterschlagen. Gerade für solche Dinge wurde ja die Normalisierung eingeführt. Bei einer ordentlichen Relation wären dann eben alle "Herren" auch "Heren", Du würdest den Fehler schneller bemerken und müsstest nur einen einzigen Datensatz ändern.

khh 18. Dez 2008 10:01

Re: Frage zum DB-Design
 
Zitat:

Zitat von DeddyH
Ich denke, der lohnt schon. Stell Dir vor, Du suchst alle Herren. Nun hast Du aber bei der Eingabe nicht aufgepasst und einmal "Her" geschrieben. Somit wird Dir ein Datensatz unterschlagen. Gerade für solche Dinge wurde ja die Normalisierung eingeführt. Bei einer ordentlichen Relation wären dann eben alle "Herren" auch "Heren", Du würdest den Fehler schneller bemerken und müsstest nur einen einzigen Datensatz ändern.

unter diesem Aspekt gebe ich dir Recht.
Dann aber auch auf jeden Fall eine FK setzen.

DeddyH 18. Dez 2008 10:05

Re: Frage zum DB-Design
 
Ja natürlich.

Hansa 18. Dez 2008 10:59

Re: Frage zum DB-Design
 
Ich wäre da etwas vorsichtiger mit extra Tabelle. Pauschal kann man das jedenfalls nicht empfehlen. Die Anwender sind äußerst erfindungsreich, wenn es darum geht, Informationen, die eigentlich so nicht vorgesehen sind, dennoch aus irgendwelchen Gründen in einem Datensatz zu hinterlegen. Beispiele die mit extra Tabelle zumindest "komisch" aussehen :

Delphi-Quellcode:
Herr
Feuerwehr
Poststr. 34
12345 X-Dorf
Delphi-Quellcode:
Praxisgemeinschaft
Dr. Krank
Poststr. 34
12345 X-Dorf
Delphi-Quellcode:
Prof.
Dr. Dr. Schlau
Poststr. 34
12345 Berlin
Hier noch ein paar klassische Fälle :

Delphi-Quellcode:
Fa. Metallbau
z.Hd. Herrn Zitzelsberger oder Frau Wolf
Poststr. 34
12345 Berlin
Delphi-Quellcode:
Fa. Metallbau (Abteilung Einkauf Tor 37)
z.Hd. Frau Dr. Hintze-Schnarrenberger
Poststr. 34
20000 Hamburg
Nehmen wir mal den letzten Fall : als Anrede wäre wohl nur "Fa." möglich und fest vorgegeben. Wo soll man nun den Rest speichern ? Die Felder dürfen auch eine maximale Länge nicht überschreiten (Fensterkuvert, Etiketten etc.). Ich verzichte jedenfalls zugunsten der Flexibilität auf extra-Tabelle. Der User hat 4 Zeilen und fertig.

Nersgatt 18. Dez 2008 11:03

Re: Frage zum DB-Design
 
Das Feld AnredeID sollte halt NULL-Werte zulassen. "Praxisgemeinschaft" sehe ich z.B. nicht als Anrede, sondern als Namensbestandteil an. Daher gehört das ins Namensfeld.

Gruß,
Jens

DeddyH 18. Dez 2008 11:04

Re: Frage zum DB-Design
 
Und Prof. ist keine Anrede, sondern ein Titel ;)

Hansa 18. Dez 2008 11:28

Re: Frage zum DB-Design
 
Wie gesagt, pauschal sagen, was besser ist, das kann man nicht sagen. Kommt eben drauf an. Der eine "Her", der würde schon irgendwann auffallen und man müsste/sollte die eine Adresse dann korrigieren. Der Schreibfehler könnte zwar redundant sein und man bräuchte nur die Anrede-Tabelle zu aktualisieren. Aber wehe, in dieser hat sich ein "Her" eingeschlichen. Sind die 1000 Rechnungen gedruckt, dann fällts einem zwar auf, aber alles muss/soll neu gedruckt werden. Murphy lässt grüßen. :mrgreen:

Beim Prof. weiß ich es nicht genau. Aber der Dr. ist zwar ein Titel und trotzdem sogar Namensbestandteil. Lasse dir mal von einem mit gekauftem Dr.-Titel den Ausweis zeigen. Wetten, dass der "Dr." da als Name mit drin steht ? :shock: Ich hatte allerdings auch mal einen Sonderfall, da war es unumgänglich, die Anrede-Felder separat zu halten. Dabei ging es aber um 500.000 Adressen. 100.000 Adressen waren Firmen und genau die sollten NICHT angeschrieben werden. Macht ohne Massen-Rabatt eine Ersparnis von 100.000x0,55 EUR = 55.000 EUR ! Bei allen anderen Fällen ist meistens die Flexibilität wichtiger.

mkinzler 18. Dez 2008 11:56

Re: Frage zum DB-Design
 
Dr, Prof usw sind Akademische Titel, diese sind genauso wie Adeltstitel und Berufstitel ( Rechtsanwalt, Steuerberater, Wirtschaftsprüfer, ...) im Ausweis ausgewiesen, sind aber nicht Teil des Namens.
Man kann ja zu Dokumentationszwecken die ausgewählten Werte ( oder das ganze Adressfeld) redundant ablegen

Assertor 18. Dez 2008 12:05

Re: Frage zum DB-Design
 
Hi,

Zitat:

Zitat von mkinzler
Ddiese sind genauso wie Adeltstitel und Berufstitel ( Rechtsanwalt, Steuerberater, Wirtschaftsprüfer, ...) im Ausweis ausgewiesen

Du lebst aber nicht in Deutschland, oder? Adelstitel gehören schon seit Ende des 1. Weltkrieges der Vergangenheit an (sind eben doch Familiennamensbestandteil) und Berufstitel gibt es im Ausweis auch nicht. Das wär ja was...

Edit: Bei Dir steht doch Heilbronn im Profil, also das wundert mich. Das sich dieser Irrglaube mit den Adelstiteln noch immer hält, fast 100 Jahre danach. Denk mal an die US Buddies die vom "adoptierten Adel" wiederum adoptiert wurden. Das sind nur Namen, die durch die Adoption angenommen werden. Mehr nicht.

Gruß Assertor


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

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