Warum sollten Sie eine Datenbank mit Groß- und Kleinschreibung verwenden?

8

Was sind Gründe dafür, eine Sortierung nach Groß- / Kleinschreibung zu wählen, nicht nach Groß- und Kleinschreibung? Ich kann vielleicht einen bescheidenen Leistungszuwachs für die DB-Engine bei String-Vergleichen sehen. Ist es das? Wenn Ihre Daten auf Groß- oder Kleinschreibung festgelegt sind, kann die Groß- und Kleinschreibung zwar sinnvoll sein, aber es ist ein Desaster, wenn Sie gemischte Falldaten speichern und dann versuchen, sie abzufragen. Sie müssen dann sagen, dass Sie die Funktion lower () auf die Spalte anwenden, damit sie mit dem entsprechenden Kleinbuchstaben-Literal übereinstimmt. Dies verhindert die Indexnutzung in jedem verwendeten dbms. Ich frage mich also, warum jemand solch eine Option verwenden würde.

    
Khorkrak 07.06.2010, 00:47
quelle

5 Antworten

9

Es gibt viele Beispiele für Daten mit Schlüsseln, bei denen natürlich die Groß- / Kleinschreibung beachtet wird:

  • Dateien in einem case-sensitiven Dateisystem wie Unix.
  • Base-64-kodierte Namen (von denen ich glaube, dass sie von YouTube verwendet werden, wie in Artelius 'Antwort).
  • Symbole in den meisten Programmiersprachen.

Bei der Speicherung von Groß- / Kleinschreibung in Groß- und Kleinschreibung besteht die Gefahr von Dateninkonsistenz oder sogar dem Verlust wichtiger Informationen. Das Speichern von Groß- / Kleinschreibung in einem Fall-sensitiven System ist im schlimmsten Fall wenig effizient. Wenn Sie nur den Namen eines gesuchten Objekts kennen, müssen Sie die Abfrage anpassen:

%Vor%

Ich bemerke, dass es in PostgreSQL (und vermutlich in anderen Systemen) einfach ist, einen Index für den Ausdruck LOWER(name) zu erstellen, der in solchen Abfragen verwendet wird.

    
Edmund 07.06.2010, 01:15
quelle
2

Hängt von den Daten ab, die Sie speichern möchten. Die meisten UNIX-Dateisysteme sind Datenbanken mit Groß- und Kleinschreibung. YouTube-Videos scheinen mit Groß- und Kleinschreibung zu versehen.

In den meisten Fällen möchten Sie nicht nach Groß- und Kleinschreibung suchen, aber es gibt bestimmte Ausnahmen.

    
Artelius 07.06.2010 00:59
quelle
1

Verwenden Sie einen Index ohne Berücksichtigung der Groß- / Kleinschreibung für Ihr Feld. In den meisten Fällen möchten Sie die Daten nicht manipulieren, um sie zu finden.

    
Gert Grenander 07.06.2010 01:18
quelle
0

Ein Grund ist das Content Management. In der Regel müssen Sie Änderungen am Inhalt feststellen, damit diese Änderungen überprüft, aufgezeichnet und veröffentlicht werden können. Der Fall ist wichtig für den lesbaren Inhalt. "Dave Doe" ist richtig. "Dave Doe" ist einfach falsch.

Groß- und Kleinschreibung spielt auch für Softwareentwickler eine Rolle. Wenn Sie die gewünschte Groß- / Kleinschreibung für alle Systeme Ihrer Kunden nicht kennen, sollten Sie die Fallsensitivität trotzdem als Teil des Tests testen.

    
sqlvogel 07.06.2010 12:01
quelle
0

Ich habe an einer Anwendung gearbeitet, die eine Datenbank mit rein natürlichen Schlüsseln (d. h. "Codes") beinhaltet, die sollte Groß- und Kleinschreibung beachten, aber nicht unbedingt.

Viele Daten würden in gespeicherten Prozeduren aus der Datenbank kommen (wobei die Datenbank die Joins ausführt), wobei Groß- und Kleinschreibung keine Rolle spielt. Einige Daten mussten jedoch in separaten Abfragen aus der Datenbank kommen und dann in Schleifen zusammengefügt werden - in erster Linie aufgrund eines komplexen Datentyps, mit dem SQL nicht problemlos arbeiten konnte - und hier trat das Problem auf. Wenn ich zwei Ergebnismengen wiederhole und versuche, dem 'Code' beizutreten, stimmen die Werte Productcode und ProductCode nicht überein.

Anstatt die Daten zu korrigieren, musste ich meinen Code (C #) ändern, um die Groß- / Kleinschreibung nicht zu beachten. Nicht in der gesamten Lösung, nur beim Durchsehen dieser "Codes" für den Abgleich.

Wenn ich eine Datenbank mit Groß- und Kleinschreibung hätte, hätte ich einen besseren Code.

Ich möchte jetzt lieber wissen, warum Sie eine Datenbank ohne Groß- / Kleinschreibung benötigen, anstatt "warum Groß- und Kleinschreibung zu beachten". Liegt es an Faulheit? Ich sehe keinen guten Grund, dass Datenbanken Groß- und Kleinschreibung nicht beachten.

    
Kirk Broadhurst 07.10.2010 00:37
quelle

Tags und Links