Einzelnen Beitrag anzeigen

Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#1

Eine Tabelle in mehreren Datenbanken

  Alt 1. Sep 2011, 12:57
Datenbank: Firebird • Version: 2.5 • Zugriff über: egal
Hi,

wir werden wohl demnächst ein Projekt mit einer Firebird DB starten.
Das Projekt soll wahlweise auf unterschiedliche Datenbestände (Mandanten) zugreifen können, z.B.:
Kunden
Lieferanten
Artikel
->Preise
usw.

Unser bisheriger Ansatz war, dass wir für jeden Mandanten eine eigene Datenbank anlegen.
Jetzt soll es aber möglich sein, dass sich alle Mandanten z.B. die Tabelle "Kunden" teilen. (falls gewünscht)
Das ganze soll möglichst flexibel gestaltet werden, damit man auf die entsprechenden Kundenwünsche schnell eingehen kann.

Meine bisherigen Ideen:
1. Alle Daten in EINE Datenbank schreiben und für jede Tabelle ein Feld "MandantID" führen. Hat den Nachteil, dass wir bei jedem Query die MandatenID mit angeben müssen.
2. Alle Daten in EINE Datenbank schreiben, aber auf unterschiedliche Tabellen (mit Präfix) aufteilen. (z.B. Mandant1_Kunden, Mandant2_Kunden usw.)
Hat den Nachteil, dass wir bei jedem Query die Tabelle ermitteln müssen.
3. Warten bis Firebird Cross-Table-Queries untersützt

Punkt 1 + 2 brauchen dann zusätzlich noch eine Verknüpfungstabelle.

Wie würdet ihr sowas machen?
  Mit Zitat antworten Zitat