Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

gemeinsame tabellen

Frage Entwicklung Datenbanken

Mitglied: sam2000

sam2000 (Level 1) - Jetzt verbinden

21.02.2008, aktualisiert 25.02.2008, 3766 Aufrufe, 12 Kommentare

Tach alle,
ich habe eine Frage und hoffe von euch auf eine antwort.
Ich benutze .Adp's als Front-End fuer MSSQL 2003 Datenbanken, ist es moeglich die gemeinsamen Tabellen, die in jeder Datenbank vorkommen, wie z.B. Mitarbeiter-Tabelle, in einer separaten Datenbank zu legen und gemeinsam von allen Adp's bzw. allen Datenbanken zu benutzen?? Wenn ja, was geschieht mit den Beziehungen dieser Tabellen, denn sie sind ja extern verlegt, d.h. sie sind in der Datenbank selbst nicht vorhanden!. Sowas brauche ich ,um die tabellen nur einmal zu aktualisieren.


Danke im voraus,
Gruss.
Mitglied: misterdemeanor
22.02.2008 um 14:03 Uhr
Grüß Dich sam2000,

SQL Server 2003? Was mit Beziehungen passiert die nicht existieren? Gemeinsame Tabellen...aber in unterschiedlichen Datenbanken?

Ohne Dir jetzt auf den Schlips treten zu wollen, ich vermute das evtl. grundlegende Verständnisprobleme im Bereich RDBMS gegeben sind. Ist wirklich nicht böse gemeint!

Aber besser Du informierst uns mal etwas genauer über die Gegebenheiten...

Ansonsten hilft es Dir vielleicht weiter wenn ich mal das Schlagwort SQL Server-Replikation auf den Tisch knalle.

BG, Felix -Bahrenburg-

PS: Nichts für Ungut...konkretisiere Dein Problem einfach genauer, und erläutere die Umstände des IST-Zustandes
Bitte warten ..
Mitglied: sam2000
24.02.2008 um 09:13 Uhr
Hi Felix,
vielleicht hast du schon recht, bin ziemlich neu in RDBMS und dabei mich in diesem bereicht zu vertiefen, es ist auch nicht immer einfach sich und sein problem in worten auszudrucken!.
Ich glaube "SQL Server-Replikation" ist das richtige fuer mein problem, ich gucke es mir genauer an und melde mich wieder.
So, ich versuche mein problem nochmal zu beschreiben und hoffe es ist diesmal verstaendlicher . Ich habe mehrere Datenbanken, die auf einem SQL Server 2000 laufen, es gibt Tabellen, die fast in jeder Datenbank vorkommen, wie z.B. Mitarbeiter. Meine Frage war, ist es moeglich z.B. die Tabelle Mitarbeiter in einer separaten Datenbank zu legen, wobei alle Datenbanken, die diese Tabelle benoetigen, sie benutzen koennen?. D.h. eine zentrale Datenbank die Tabellen fuer mehrere datenbanken enthaelt, damit ich diese zentrale Tabellen nur einmal aktualisiere.
Ich hoffe es ist jetzt etwas klarer, ich bin auch offen fuer kritik, sag's mir wenn nicht .

Gruss,
SAM
Bitte warten ..
Mitglied: MadMax
24.02.2008 um 22:56 Uhr
Hallo SAM,

wenn das alles auf einem Server ist, kommst Du vielleicht schon einfacher davon als mit Replikation.

Nehmen wir mal die Tabelle "Mitarbeiter" und nennen die zentrale DB "ZentralDB". Das Schema sei "Schema". Dann kannst Du darauf aus einer anderen DB zugreifen mit:
01.
select * from ZentralDB.Schema.Mitarbeiter
Um nicht alle Zugriffe auf die Tabelle neu schreiben zu müssen, kannst Du dann ein Synonym in den ursprünglichen DBen anlegen, wodurch dann die Angabe von DB und Schema wieder wegfallen kann (die Tabelle Mitarbeiter darf dann natürlich dort nicht mehr existieren, sonst klappt das nicht):
01.
create synonym Mitarbeiter for ZentralDB.Schema.Mitarbeiter
und dann wieder:
01.
select * from Mitarbeiter
Foreign Keys sind dann allerdings nicht mehr möglich.

Ansonsten bliebe tatsächlich die Replikation, die Du auch anwenden würdest, wenn die DBen auf verschiedenen Servern oder auch Instanzen liegen.

Gruß, Mad Max
Bitte warten ..
Mitglied: misterdemeanor
24.02.2008 um 23:22 Uhr
Grüß Dich Mad Max,

wenn das alles auf einem Server ist, kommst
Du vielleicht schon einfacher davon als mit
Replikation.

Das ist ja das was mir auch kopfzerbrechen bereitet...warum existiert das Problem welches SAM hat? Er/Sie sagt ja das RDBMS relativ neu für Ihn/Sie ist. Würde man einen Neuling dami beauftragen bestehende Datenbanken zu administrieren...?
Deshalb gehe ich davon aus das SAM diesen Server respektive darauf laufende DB´selbst angelegt hat. Das lässt vermuten das einfach keine Planung erfolgte welches SAM nun in diese Lage gebracht hat.


01.
create synonym Mitarbeiter for 
02.
> ZentralDB.Schema.Mitarbeiter

Gute Idee! Nur leider hat Microsoft das erst im 2005ér eingeführt, was wiederum bedeutet auf einem 2000ér Server funktioniert das nicht. SQL Server 2005 introduces new Transact-SQL DDL statements


Ansonsten bliebe tatsächlich die
Replikation, die Du auch anwenden
würdest, wenn die DBen auf verschiedenen
Servern oder auch Instanzen liegen.

Das wurde ja bereits am Anfang des Threads ins Spiel gebracht...naja ... aber wenn SAM uns erzählt welche Backends auf die DB´s zugreifen, bzw. uns den Grund verrät warum mehrere DB´s gleiche Daten (Tabellen) enthalten...dann gibts sicher ander Ratschläge.

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: MadMax
25.02.2008 um 00:00 Uhr
Hm, gibts Synonyme tatsächlich erst seit MSSQL 2005, ich dachte seit MSSQL 2000? Hab wohl zu lange nichts mehr mit MSSQL 2000 zu tun gehabt.

Dann gäbe es aber noch die Möglichkeit einer View, also statt "create synonym ..." ein:
01.
create view Mitarbeiter as select * from ZentralDB.Schema.Mitarbeiter
Das dürfte auf das selbe herauskommen

Gruß, Mad Max
Bitte warten ..
Mitglied: misterdemeanor
25.02.2008 um 00:04 Uhr
Dann gäbe es aber noch die
Möglichkeit einer View, also statt
"create synonym ..." ein:
01.
create view Mitarbeiter as 
02.
> select * from 
03.
> ZentralDB.Schema.Mitarbeiter
Das dürfte auf das selbe herauskommen

Ja natürlich...was aber SAM nicht dazu bringt sich mal mit dem allerwichtigsten eines DB-Entwicklers auseinanderzusetzen: die Planung.





BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: MadMax
25.02.2008 um 00:28 Uhr
Ja natürlich...was aber SAM nicht dazu bringt sich mal mit dem allerwichtigsten eines DB-Entwicklers auseinanderzusetzen: die Planung.
Na und, wen juckts? Oder bist Du Vater, Lehrer, Chef o.ä. von SAM?
Bitte warten ..
Mitglied: sam2000
25.02.2008 um 07:23 Uhr
Hallo Mad Max, Felix,....,
danke erstmal fuer eure ratschlaege und fuer die interessante diskussion. Uebrigens SAM ist ein ER .
Es scheint wohl schwerer als ich dachte, dieses problem zu loesen, denn unter access wuede man die tabelle einfach verlinken, unter MSSQL 2000 gibt's diesen mechnismus aber leider nicht. Ich benutze Access Projects (ADP's) als Front-End um auf die DB'en zuzugreifen, der grund fuer mein vorhaben ist das ich mehrere kleine DB'en habe, jede hat verschiedene benutzer bzw. verschiedene Aufgaben, manche sind fuer Statistik oder fuer Eintraege von den Mitarbeitern,... usw. Aber wenn die Sache mit Beziehungen, Foreign Keys,.. nicht gehalten werden kann, wuerde mir sowas auf keinen fall nutzen!

Felix ist weder mein Vater noch meine Mutter ;).
Bitte warten ..
Mitglied: misterdemeanor
25.02.2008 um 08:08 Uhr
Moin SAM,

Ich benutze
Access Projects (ADP's) als Front-End um
auf die DB'en zuzugreifen, der grund
fuer mein vorhaben ist das ich mehrere kleine
DB'en habe, jede hat verschiedene
benutzer

Nunja, was momentan (für mich) noch nicht dagegen spricht überhaupt nur eine DB zu betreiben. Solltest Du nicht wollen das jeder benutzer Deiner ADP´s die ganzen Daten/SP´s etc. "sieht" stehen Dir ja mit dem SQL-Server 2000 entsprechende Mittel zu Verfügung. Mal wieder nur Schlagwörter wie Rolle, Benutzer, Login

bzw. verschiedene Aufgaben, manche
sind fuer Statistik oder fuer Eintraege von
den Mitarbeitern,... usw.

OK, wenn die Daten thematisch nichts miteinander zu tuen haben spricht auch nichts dafür in einer DB abgelegt zu werden...scheint aber thematisch doch verwandt zu sein. Zumindest hört es sich so an *fg

Leider kann ich Dir keine konkrete Literatur bzgl. zum SQL-Server 2K empfehlen...aber im Netz ist viel zu finden. Vor allem auch allgemein zum Thema relationale Datenbankentwicklung.

Felix ist weder mein Vater noch meine Mutter

Bevor Mad Max ´nen Gentest verlangt versichere ich hier bei Eidestatt das obige Behauptung vollkommen der Wahrheit entspricht

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: sam2000
25.02.2008 um 08:29 Uhr
Moin Felix,

danke fuer die rasche antwort. Bevor ich hier eine Frage stelle versuche ich selbst die Probleme die ich habe zu loesen, was leider nicht immer klappt.

Thematisch sind manche DB'en unterschiedlich, deshalb war auch der gedanke dafuer, bzw. die Anforderung von meinem Cheff!!.

Jedenfalls, ich versuche es einfach weiter, mal gucken wo ich landen werde, falls ich doch einen Weg dafuer gefunden habe, werde ich es auf alle Faelle hier eintragen.

gruss,
SAM
Bitte warten ..
Mitglied: misterdemeanor
25.02.2008 um 08:35 Uhr
Naja, wie MadMax andeutete lässt sich das ja auch DB-übergreifend mit Views, SP´s und Triggern lösen. Dann fallen zwar einige Feautures der DB-Engine weg, nunja.

Auf jeden Fall wünsche ich Dir bei Deinem Vorhaben viel Erfolg!

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: sam2000
25.02.2008 um 14:39 Uhr
Tach nochmal,

ich glaube es klappt bei mir soweit, ich habe nur den Namen der Datenbank mit den gemeinsamen Tabellen am anfang angehaengt!!
Also bei den queries einfach statt

dbo.Tbl_Employee

habe ich einfach

ZentralDB.dbo.Tbl_Employee

soweit klappt's ganz gut ohne Probleme mit den Beziehungen und hoffe es bleibt so!.
Trotzdem danke fuer eure Diskussion.

Gruss.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
CSS
gelöst CSS width in Outlook 2013 bei Tabellen ohne Funtion, warum? (3)

Frage von Pago159 zum Thema CSS ...

Microsoft Office
Excel Daten aus diversen Tabellen sammeln (9)

Frage von FitforLife zum Thema Microsoft Office ...

Microsoft Office
Excel 2010 - Zwei Tabellen vergleichen (Zugriffsprüfung) (2)

Frage von d4shoerncheN zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...