Frage

Ich habe eine Menge von Unternehmen einen Präfix für ihre Datenbanktabellen verwenden bemerkt. Z.B. Tabellen würden MS_Order, MS_User genannt, etc. Gibt es einen guten Grund, dies zu tun?

Der einzige Grund, warum ich denken kann, ist Name Kollision zu vermeiden. Aber kommt es wirklich? Menschen mehrere Anwendungen in einer Datenbank laufen? Gibt es einen anderen Grund?

War es hilfreich?

Lösung

In SQL Server 2005 und über dem Schema Funktion eliminiert die Notwendigkeit für jede Art von Präfix. Ein gutes Beispiel für ihre Nutzung durch Lesen über die Schemen in Adventure .

In einigen älteren Versionen von SQL Server, einen Präfix mit einem Pseudo-Namespace erstellen könnte mit vielen Tabellen mit DBs nützlichsten gewesen.

Anders als das kann ich nicht wirklich den Punkt sehen.

Andere Tipps

Huge Schemata haben oft viele Tabellen mit ähnlichen, aber deutlich, Zwecken. Somit können verschiedene „segmentiert“ Namenskonventionen.

Darn, nicht bekommt ersten Beitrag: -)

Auch wenn nur die Datenbank eine Anwendung enthält, können die Präfixe in Gruppierung wie Teile der Anwendung zusammen nützlich sein. So Tabellen, die cutomer Informationen containtain mit cust_ vorangestellt werden könnte, diejenigen, die Lager Informationen enthalten könnten mit inv_ vorangestellt werden (für die Inventarisierung), diejenigen, die finacial Informationen enthalten könnten mit fin_ vorangestellt werden, usw.

Ich habe auf Systeme gearbeitet, wo es bereits eine Datenbank für eine Anwendung ist, die von einem anderen Unternehmen erstellt und gepflegt wurden, und wir haben eine andere App hinzuzufügen benötigt, die mit nur ein paar zusätzlichen Tabellen große Mengen der gleichen Daten verwendet eine App spezifischen Präfix in diesem Fall unserer eigenen, so hat, kann mit der Trennung helfen.

Ein wenig tangential auf die ursprüngliche Frage, die ich gesehen habe Datenbanken verwenden Präfixe die Art der Daten, um anzuzeigen, dass eine Tabelle halten wird. Es wäre ein Präfix für Lookup-Tabellen sein, die sind offensichtlich ziemlich statisch sowohl in Größe und Inhalt und einem anderen Präfix für die Tabellen, die variable Daten enthalten. Dies wiederum kann in mit einem Präfix für Tabellen gebrochen werden, die hinzugefügt werden, aber nicht wirklich, wie die Protokollierung geändert, bearbeiten Aufträge, Kundentransaktionen usw., und und eine andere für mehr variable Daten wie Kunden Balance oder was auch immer. Link-Tabellen können auch ihren eigenen Präfix haben, sie auch zu trennen.

Ich habe noch nie eine Namenskollision gesehen, da es in der Regel nicht sinnvoll Tabellen in derselben Datenbank-Namensraum aus verschiedenen Anwendungen zu setzen. Wenn Sie irgendeine Art von wieder verwendbarer Bibliothek haben, die in verschiedene Anwendungen integriert werden könnte, vielleicht das könnte ein Grund sein, aber ich habe nichts dergleichen gesehen.

Obwohl, jetzt, wo ich darüber nachdenke, gibt es einige billige Web-Hosting-Provider, die nur eine sehr kleine Anzahl von Datenbanken zu erstellen, um Benutzern ermöglichen, so wäre es möglich, eine Reihe von verschiedenen Anwendungen ausführen eine einzige Datenbank, so solange die Namen kollidieren nicht (und eine solche Vorfixierung Konvention würde sicherlich helfen).

Mehrere Anwendungen eine bestimmte Tabelle, richtig. Präfixe verhindern Namenskollision. Außerdem ist es zu Backup-Tabellen es ziemlich einfach macht und sie in derselben Datenbank zu halten, nur das Präfix ändern und Ihre Sicherung wird voll funktionsfähig, usw. Abgesehen davon, dass es nur gute Praxis.

Präfixe sind eine gute Möglichkeit, zu klären, die SQL-Objekte, mit denen App, wenn mehrere Anwendungen tauchen Sie ein in derselben Datenbank verbunden sind.

Ich habe auch SQL-Objekte unterschiedlich innerhalb der gleichen Anwendung zu erleichtern einfachere Verwaltung der Sicherheit vorangestellt. das heißt alle Objekte mit admin_ müssen diese Sicherheit müssen noch etwas anderes angewendet und dem Rest.

Präfixe können für die Menschen, Suchmaschinen und Skripte nützlich sein. Wenn die Situation ein einfaches ist, jedoch ist es wahrscheinlich für sie keine Verwendung überhaupt.

Es ist am häufigsten verwenden, wenn mehrere Anwendungen eine Datenbank teilen. Zum Beispiel, wenn Sie Wordpress installieren, Präfixe es alle Tabellen mit „wp_“. Das ist gut, wenn Sie Ihre Anwendungen wollen Daten gemeinsam nutzen sehr leicht (Sitzungen für alle Anwendungen in Ihrem Unternehmen, zum Beispiel.)

Es gibt bessere Möglichkeiten, dies jedoch zu erreichen, und ich Präfix nie meine Tabellennamen, da jede Anwendung seine eigene in sich geschlossene Datenbank hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top