2016-03-21 3 views
-1

Ich entwerfe ein Employee Schema in PostgreSQL und ich habe wenig Zweifel hinsichtlich der Größen von Datentypen. Zum Beispiel in der Address Tabelle für country Spalte ich gab 48 Vollform der UdSSR im Auge behalten, so ist es in Ordnung? für pin code 10 Ist gut oder muss ich 8 geben?Wie effektiv Größen zu Datentypen in SQL zuweisen?

In ähnlicher Weise für Spalten wie company id und employee id kann ich geben Big int oder Int ist in Ordnung?

Kann ich auch small int für project members Spalte verwenden, da die Zahl nicht groß sein kann?

Wo wird ein Small Int Datentyp tatsächlich verwendet?

Antwort

2

Sie müssen einige data profiling tun, um diese Fragen zu beantworten. Es wird schwierig sein, diese Fragen zu beantworten, ohne mit dem Unternehmen zu sprechen und die Daten zu betrachten.
Eine der Ausgaben einer data profiling Aufgabe ist der Vorschlag zu den Datentypen, Länge, Auftreten von Nullwerten zusätzlich zu anderen Informationen. Dies hängt natürlich von Ihren Beispieldaten ab.
Company id und employee id hängen davon ab, ob es sich um automatisch inkrementierte Nummern von Geschäftsschlüsseln handelt.
Small Int Der Datentyp, wie der Name sagt, wird verwendet, wenn Sie nicht zu viele verschiedene oder große Werte dieses Feldes erwarten - ein Beispiel ist das Identitätsfeld für eine Referenz-/Nachschlagetabelle (zB GenderID = 1 für Gender = 'Männlich' , GenderID = 2 für Gender = 'Weiblich' und GenderID = 3 für Gender = 'Andere').

+0

Vielen Dank für die Antwort, ich lernte neues Wort 'Datenprofilierung' kennen und verstanden, wenn tatsächlich 'kleine Int' verwendet wird. –

+1

Beachten Sie, dass Sie in Postgres auch ein ENUM für Dinge wie ein Geschlecht verwenden können. Außerdem empfehle ich, dass Ihre Feldnamen klein geschrieben werden und keine Leerzeichen enthalten. Auf diese Weise müssen Sie sie nicht zitieren. Wenn es darum geht, Längen auf Varchar zu spezifizieren, bin ich kein großer Fan außer als eine Sicherheitsmaßnahme (nur um sicherzustellen, dass Sie nicht 1GB in Ihren Feldern enden, wenn die App etwas dummes tut). Wenn Ihnen solche Dinge wirklich wichtig sind, sollten Sie auch sicherstellen, dass es keine führenden oder nachgestellten Leerzeichen und möglicherweise andere Dinge gibt. –