Fremdschlüssel Beziehung zwischen 2 Datenbanken

jetwork

Fleissiger Benutzer
Beiträge
97
Ist es möglich zwischen 2 Datenbanken eine Fremdschlüssel Beziehung zu definieren und danach effiziente abfragen schicke?

Wen ja. Ist das sinnvoll? Hat das Nachteile?

Danke im Voraus
 
Werbung:
Ein Fremdschlüssel stellt Datenintegrität sicher, er beschleunigt die Abfrage nicht. Ob das geht hängt wohl vm DBMS ab, bei MSSQL scheint es sowas zu geben, Stichwort:
Cross-database foreign key references - Datenbankübergreifende Besitzverkettung
 
Sorry. Jetzt schreibe ich die Frage besser.
Ist es effizient, in einer Abfrage 2 spalten aus der Tabellen von 2 Verschiedene Datenbanken miteinander zu vergleichen? Natürlich sind die Datenbanken auf den geleichen Server und Rechner.

Wie effizient ist die folgende Abfrage:
SELECT *
FROM db1.tabelle1.spalte_id = db2.tabelle1.spalte_ref
 
Ziemlich effizient weil syntaktisch falsch. Die Fehlermeldung sollte nicht lange auf sich warten lassen :)

Was du zu tun versuchst sollte eigentlich kein Problem darstellen.
 
Lesbarer ist diese Schreibweise:
Code:
SELECT *
FROM db1.tabelle1
INNER JOIN db2.tabelle1
    ON db1.tabelle1.spalte_id = db2.tabelle1.spalte_ref
 
Ich will mein Problem konkreter erklären. Ich soll vielleicht 50 Tabellen erzeugen die jeweils mehrere Tausend Einträge enthalten.

Die Idee ist die Tabellen in 3 verschiedene Datenbanken zu legen damit meine Datenbank nicht sehr komplex aussieht.

Aus den Tabellen können wir nach ihrem Thema 3 Kategorien erstellen. Die Daten sind aber miteinander sehr stark abhängig. Wenn ich aber die Daten in Verschiedene Datenbanken implementiere werde ich am Ende auch sehr viele Fremdschlüssel Beziehungen zwischen den Datenbanken haben.

Was soll ich tun?
Soll ich nur eine oder mehrere Datenbanken erzeugen?
 
Ich will mein Problem konkreter erklären. Ich soll vielleicht 50 Tabellen erzeugen die jeweils mehrere Tausend Einträge enthalten.

Die Idee ist die Tabellen in 3 verschiedene Datenbanken zu legen damit meine Datenbank nicht sehr komplex aussieht.

Falscher Ansatz. Selbst für MySQL ist das noch trivial.

Aus den Tabellen können wir nach ihrem Thema 3 Kategorien erstellen. Die Daten sind aber miteinander sehr stark abhängig. Wenn ich aber die Daten in Verschiedene Datenbanken implementiere werde ich am Ende auch sehr viele Fremdschlüssel Beziehungen zwischen den Datenbanken haben.

Was soll ich tun?

Dich mit Normalisierung beschäftigen.
 
Danke an Euch

Falscher Ansatz. Selbst für MySQL ist das noch trivial.



Dich mit Normalisierung beschäftigen.

Ich habe aber die Antworten nicht verstanden. Ich habe nur verstanden dass ich die Tabellen nicht in getrennte Datenbanken speichere.

Warum ist es in MySQL trivial?

Meinst du ich kann mit Normalisierung die Anzahl der Beziehungen verringern?

Außerdem eine Datenbank für eine Tabelle ist auch eine sehr gute Idee? Schade ich sollte es mir denken können :D
 
Ich will mein Problem konkreter erklären. Ich soll vielleicht 50 Tabellen erzeugen die jeweils mehrere Tausend Einträge enthalten.

Das ist kein Problem. Manche Firmen verwalten solche »Datenmengen« in Excel-Sheets. Außerdem sind nicht die Datenmengen relevant sondern die Zugriffszahlen und damit die Lese- und Schreibgeschwindigkeit der Festplatte. Darüber hinaus lassen sich Probleme durch hohe Zugriffszahlen leichter und sinnvoller mit Hardware (SDD) und Master/Slave Systemen lösen.
 
Werbung:
Danke @Hony%
Vielleicht wollen wir später einen Server Rechner kaufen.

Was meinst du mit Master/ Slave Systeme.
Den Prozessor, die Architektur oder einige Konfigurationen in MYSQL?
 
Zurück
Oben