-
Die Idee beim Datenbankdesign besteht darin, jedes Datenelement getrennt zu halten. Und jedes Element hat seinen eigenen Datentyp, Einschränkungen und Regeln. Das
c0002
ist nicht ein Feld, sondern zwei. Dasselbe gilt fürXXXnnn
oder Wasauchimmer. Es ist falsch , und es wird Ihre Fähigkeit, die Daten zu verwenden und Datenbankfunktionen und -einrichtungen zu nutzen, stark einschränken.Teilen Sie es in zwei separate Datenelemente auf:
column_1 CHAR(1)
column_2 INTEGERSetzen Sie dann AUTOINCREMENT auf
column_2
Und ja, Ihr Primärschlüssel kann
(column_1, column_2)
sein , Sie haben also keine Bedeutung verlorenc0002
hat für Sie. -
Platzieren Sie niemals Lieferanten und Kunden (was auch immer "c" und "s" bedeutet) in derselben Tabelle. Wenn Sie das tun, haben Sie keine Datenbanktabelle, sondern eine flache Datei. Und verschiedene Probleme und Einschränkungen, die daraus resultieren.
Das heißt, normalisieren Sie die Daten. Am Ende erhalten Sie:
- eine Tabelle für
Person
oderOrganisation
mit den gemeinsamen Daten (Name, Address
...) - eine Tabelle für
Customer
mit kundenspezifischen Daten (CreditLimit
...) - eine Tabelle für
Supplier
mit lieferantenspezifischen Daten (PaymentTerms
...) - keine mehrdeutigen oder optionalen Spalten, daher keine Nullen
- keine Nutzungsbeschränkungen oder SQL-Funktionen
.
Und wenn Sie Spalten hinzufügen müssen, tun Sie dies nur dort, wo es erforderlich ist, ohne dass sich dies auf alle anderen Prozesse der Flatfile auswirkt. Der Wirkungsbereich ist auf den Umfang der Änderung beschränkt.
- eine Tabelle für