Warum besteht jedes RDBMS darauf, dass Sie ihm sagen, wie hoch die maximale Länge eines Textfelds sein wird? Warum kann es nicht einfach auf diese Informationen aus den Daten in der Datenbank schließen?Warum muss ich die maximale Länge jeder einzelnen Textspalte in der Datenbank festlegen?
Ich habe meistens mit MS SQL Server gearbeitet, aber jede andere Datenbank, die ich kenne, verlangt auch, dass Sie diese willkürlichen Grenzen für Ihr Datenschema setzen. Die Realität ist, dass dies nicht besonders hilfreich oder freundlich zu arbeiten ist, da sich die Geschäftsanforderungen ständig ändern und fast jeden Tag versucht ein Endanwender, viel Text in diese Spalte zu schreiben.
Kennt jemand mit etwas innerem Wissen über ein RDBMS, warum wir nur die Grenzen aus den Daten, die in den Speicher gelegt werden, nicht ableiten? Ich spreche nicht über das Erraten der Typinformationen, sondern über die Grenzen einer bestimmten Textspalte.
Ich meine, es gibt einen Grund, warum ich nvarchar (max) nicht für jede Textspalte in der Datenbank verwende.
Ich habe keine "innere Arbeitskenntnisse eines RDBMS" , aber ich verstehe nicht, warum du das für ein Problem hältst. Es gibt ungebundene Datentypen wie CLOBs. Wenn es das ist, was du willst, dann benutze es. Wenn Sie leichtere Textvergleiche machen müssen, müssen Sie den Tippschmerz (255) oder was auch immer erleiden. Scheint es nicht wert, sich über mich zu beschweren. Aber das sind nur meine zwei Cent. – MJB
Es ist erwähnenswert, dass SQLite diese Anforderung nicht auferlegt. – cikkle
Es ist logisch unmöglich, aus den tatsächlich gegebenen Daten eine maximale Länge abzuleiten. Wie lange sollte die Datenbank warten, bis sie entscheidet: "OK, ich denke, es wird nie mehr als 255 Zeichen geben"? –