Frage

Ich bin der Aufbau eine modulare Anwendung. Durch Konfiguration können Sie diese Anwendungsmodule ein- und ausschalten. Ich versuche, welche Datenbankstruktur zu bestimmen (MSSQL2005) I für die Tabellen verwenden, sollten die Daten für jedes der Module halten. Die beiden Optionen, die ich gedacht habe, sind:

  1. Geben Sie alle Tabellen in eine große Datenbank und das Präfix die Tabellen nach dem Modul.
  2. Trennen Sie die Tabellen für jedes Modul in verschiedenen Datenbanken.

I-Daten zu tun haben, die für alle Module gemeinsam ist, also wenn ich Lösung 2 verwende ich ist nicht sicher, wie die gemeinsamen Daten (wie zB Benutzer) zu verwalten.

-

Eine Sache zu klären, würden diese Module möglicherweise separat verkauft werden und die Konfigurationseinstellungen sind etwas, das vom Kunden nicht kontrolliert werden. Aus diesem Grund bin ich auch unter Berücksichtigung sie in separaten Tabellen zu brechen.

War es hilfreich?

Lösung

Meine alternative Empfehlung an diejenigen, die Sie vorgeschlagen haben, würde das Schema Funktionalität in SQL Server 2005 verfügbar sein.

Bitte lesen Sie diesen Link für weitere Informationen ...

http://searchsqlserver.techtarget.com/tip/0 , 289483, sid87_gci1184503,00.html

Andere Tipps

Wenn es nach mir ginge, würde ich die Anwendung vollständig normalisiert zuerst. Ich würde eine Struktur entwickeln, die alle gängigen Daten in gemeinsam genutzten Tabellen platziert und lassen Sie nur die Daten, die eindeutig für jedes Modul in bestimmten Modultischen.

Wenn die Daten in den gemeinsam genutzten Tabellen ist wirklich an allen Modulen und es gibt keine Kante Fälle, die Sie versuchen, in diese ‚gemeinsame‘ Tabellen einen Topf zu werfen, dann drehen ein Modul ein- oder ausgeschaltet werden soll nicht auf das Funktionieren jeder beeinflussen andere Modul und Sie jetzt wenig (wenn überhaupt) Duplizierung von Daten.

Ich würde eine Datenbank hat. Dies vereinfacht die Verwaltung der Lösung enorm.

Dann würde ich meine Daten normalisieren. Diese simplfies die Datenintegritätsprobleme.

Dann würde ich Tabellen für jedes Modul hinzufügen, um in die Basisdatenbank erforderlich. Ich würde diese Basis Datenbank verteilen, aber ich würde die Daten für den nicht verwendeten Module nicht verteilen. Jedes Modul würde es die eigenen Daten verteilen, wenn es (proably von seinem Installateur nicht gebaut in das Modul selbst) installiert ist.

Tabelle Präfixe werden nicht viel aus der einen oder der anderen und das schöne Teil über die Datenbank teilen wird Ihnen jede Tabelle von jedem Modul zugreifen können und haben eine gemeinsame Konfigurationsdatei etc ...

Wenn Sie über die Tabellen abfragen Ich schlage vor, sie in eine Datenbank, im übrigen macht es keinen Unterschied machen. Allerdings wäre eine Datenbank mit viel leichter zu pflegen.

Wenn Sie eine Anforderung für mehrere Datenbanken haben, schlage ich vor, mit nur einer.

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