php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.09.2007, 09:47  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard Abfrage über 2 Datenbanken

Hey Leute,

irgendwie steh ich heute auf dem Schlauch. Also ihr werdet jetzt keinen Code von mir bekommen, da mir der Ansatz fehlt.

Situation: Ich habe eine zentrale Userverwaltung für verschiedene Webapplikationen mit einer eigenen Datenbank programmiert. Einfach aus Gründen der Übersicht und Bedienbarkeit. So gibt es zum Beispiel eigene Userverwaltungen mit eigenen Datenbanken für das Typo3 System und das Newslettersystem. Da beides fertige Scripte sind und eigentlich voneinander unabhängig war die Idee die Usertabellen der eigenständigen Systeme über eine zentrale Userverwaltung mit einander in Beziehung zu setzen. Dafür nutze ich eigene Tabellen in denen ich die Daten die mich interessieren kopiere.

So jetzt das Problem: Einige User wurden nicht über die Userverwaltung angelegt sondern per Hand in den Newsletter eingetragen. Somit sind diese der Userverwaltung nicht bekannt. Die Möglichkeit die Userverwaltung zu umgehen besteht ja jederzeit.

Meine Frage ist nun wie bringe ich möglichst einfach (vielleicht mit einer SQL Abfrage) die fehlenden User in meine Datenbank und wie verhindere ich am schlausten das wieder User ohne das Wissen der Userverwaltung angelegt werden?

Hoffe ich hab klargemacht wo mir der Ansatz fehlt.

Gruß
CyCap
cycap ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.09.2007, 10:31  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

möööp alles zurück xD

Zitat:
SELECT `db1`.`tbl1`.`email`
FROM `db1`.`tbl1` LEFT JOIN `db2`.`tbl2`
ON `db1`.`tbl1`.`email` = `db2`.`tbl2`.`email`
WHERE `db2`.`tbl2`.`email` IS NULL;
das habe ich gesucht, ich habs erst mit = NULL versucht und bin dran verzweifelt
cycap ist offline   Mit Zitat antworten
Alt 13.09.2007, 11:02  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo cycap,

du kannst das nur bedingt sinnvoll per MySQL machen, das sollte man architektonisch machen. In meinen Applikationen habe ich in einer Connection-Konfigurationsdatei verschiedene Connection-Sektionen. Jede Sektion definiert einen Treiber (MySQL, Postgre-SQL, ...) und die Zugangsdaten. Eine Datenschicht-Komponente musst du immer mit einer Connection-ID instanziieren. Das bedeutet auch, dass du innerhalb einer Anwendung mehrere Daten-Komponenten mit unterschiedlichen Daten-Bank-Zugängen betreiben kannst. Bedingung ist jedoch, dass du eine 3-Schicht-Architektur fährst, in der die Business-Schicht die Hand auf diese Mechanismen hat.

In deiner Anwendung würde es dann konkret 2 Manager (Business-Logik) geben, die mit unterschiedlichen Daten-Komponenten und damit Datenbanken kommunizieren. Du kannst dann in der Business-Schicht deiner Applikation von diesen dann verschiedene Domain-Objekte aus unterschiedlichen Datenquellen ziehen und verarbeiten.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 13.09.2007, 11:37  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hey dr.e.,

also wenn ich dein Prinzip richtig verstanden habe, dann würde das (vereinfacht) heißen ich lese beide Tabellen aus und gehe die Datensätze einzeln mit PHP durch?

Ich bin mir aber absolut nicht sicher ob ich verstanden habe was du meinst.

Gruß
CyCap
cycap ist offline   Mit Zitat antworten
Alt 13.09.2007, 13:01  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.654
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo cycap,

an sich hast du das Prinzip verstanden. Ich ziehe quasi mehrere Abstraktions-Schichten ein und verwende in einer Anwendung diese Komponenten um meine aktuelle Applikation erstellen zu können. Das kann so aussehen:

- UserManagamentMapper: greift auf DB A zu und kennt einen Satz von Tabellen, die
für das UserManagement relevant sind.
- UserManagementManager: Business-Komponente, die einen Satz von Methoden hat,
mit denen Man Benutzer hinzufügen, manipulieren, löschen, ... kann.
- MyAppManager: Business-Komponente deiner Applikation. Innerhalb dieser kannst
du dir dann eine Instanz des UserManagementManagers holen und mit diesem die
für deine Applikation relevanten Daten laden.
- UserManagementMapper: Datenkomponente deiner Anwendung

Die für den jeweiligen Teil relevanten Business-Komponenten ziehen sich dann jeweils ihre Datenkomponente mit dem entsprechenden Connection-String (wie oben beschrieben) und können damit auf unterschiedlichen Datenbanken arbeiten. Solltest du weitere Erläuterungen benötigen, kannst du dir mal die Verwendung des Pagers unter http://www.adventure-php-framework.o...te/Gaestebuch2 ansehen (GuestbookManager). Dort wird auch eine Business-Komponente (Pager) verwendet, die einfach die gewünschten Objekte zurückliefert, die deine Anwendung an dieser Stelle braucht.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
mysql abfrage in Schleife havok PHP Tipps 2006 6 09.05.2006 08:39
Abfrage und vergleich aus 2 Datenbanken Unkaputtbar2 PHP Tipps 2006 4 09.02.2006 12:41
Abfrage und vergleich aus 2 Datenbanken Unkaputtbar2 Datenbanken 2 09.02.2006 12:10
abfrage begrenzen Cyrus Datenbanken 4 26.10.2005 11:29
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] SQL Abfrage funzt nicht Datenbanken 2 04.02.2005 11:09
Abfrage über 2 Datenbanken gso Datenbanken 2 07.01.2005 19:01
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00
[Erledigt] Fehlerhafte Abfrage ? Datenbanken 15 24.06.2004 17:10
[Erledigt] Variable per GET übergeben und DB Abfrage nutzen PHP Tipps 2004 4 01.06.2004 15:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php abfrage über 2 datenbanken, 2 datenbanken mit einer userverwaltung, db2 left join, abfrage über zwei datenbanken, php abfrage über mehrere datenbanken, query mehrere datenquellen, verwaltung über mehrere datenbanken php, php applikation mehrere datenbanken, php eine userverwaltung mehrere applikationen, php abfrage aus 2 datenbank, mysql query über 2 datenbanken, php zugriff auf mehrere datenbanken mit unterschiedlichen zugängen, php mysql query 2 datenbanken, mysql php abfrage aus 2 datenquellen, verschiedene datenbanken, abfrage aus 2 datenbanken, userverwaltung in eigener datenbank, sql abfrage über 2 datenbanken, mysql abfrage über 2 datenbanken verschiedene benutzer, datenbanken abfrage

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.