php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.05.2009, 14:40  
Neuer Benutzer
 
Registriert seit: 26.05.2009
Beiträge: 4
Suzi befindet sich auf einem aufstrebenden Ast
Standard Tabellen miteinander verknüpfen

hallo, bin ein Neuling und habe ein großes Problem mit dem verknüpfen meherer tabellen.
Ich habe eine datenbank mit folgenden Tabellen
Kunden
Spalten:
- ID_K
- Name
- Vorname
- Straße
- Hausnummer
- Telefon
- Fax
- E-Mail
Ort
Spalten:
- ID_O
- Postleitzahl
- Ort

Ich möchte die Tabellen miteinander verknüpfen um der 3. Normalform gerecht zu werden.
Meine Frage ist, wie ich es realisieren kann, diese Tabellen miteinader zu verknüpfen. Eigentlich könnte ich das ja mit einem join machen, wo die ids gleich sind, oder ?
Aber das Problem dabei ist ja, das versch. Kunden im gleichen Postleitszahl bereich wohnen und ich ja nun nicht möchte, dass die gleiche Postleitzahl / Ort mehrmals in der Tabelle vorhanden ist.
Ich habe bereits ein Formular erstellt, wo sich Kunden registrieren können, aber noch keine Verknüpfung zwischen den tabellen.
Wenn ein neuer Kunde sich registriert und die Postleitzahl eingebe, muss ich dann vorher eine Abfrage machen, ob diese Postleitzahl mit dem entsprechenden Ort bereits existiert ? und dann erst die Tabellen verknüpfen? oder wie mache ich das ?
Bitte um HIlfe, bin wirklich sehr hilflos was das betrifft

Vielen Dank im Voraus

MfG Suzi
Suzi ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.05.2009, 15:04  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Du brauchst in der Kundentabelle auch noch die Orts-ID, um die Tabellen verknüpfen zu können.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 26.05.2009, 15:08  
Neuer Benutzer
 
Registriert seit: 26.05.2009
Beiträge: 4
Suzi befindet sich auf einem aufstrebenden Ast
Standard

und wenn ich die id dort habe, wie kann ich das dann verknüpfen ? weiß einfach nich wie ich das machen kann wenn die id_kn != id_o ist...
Suzi ist offline   Mit Zitat antworten
Alt 26.05.2009, 15:21  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Z.B.
Code:
SELECT
    k.id_k,
    k.name,
    k.vorname,
    k.straße,
    k.hausnummer,
    k.telefon,
    k.fax,
    k.e-mail,
    o.id_o,
    o.postleitzahl,
    o.ort
FROM
    kunden k
INNER JOIN
    ort o ON k.id_o = o.id_o;
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 26.05.2009, 15:25  
Neuer Benutzer
 
Registriert seit: 26.05.2009
Beiträge: 4
Suzi befindet sich auf einem aufstrebenden Ast
Standard

und dabei ist egal, dass die id's nicht gleich sind weil ort o ON da steht ? Hab ich das richtig verstanden oder immer noch einen Denkfehler ?

vielen Dank für deine schnelle Antwort! Werds gleich mal ausprobieren
Suzi ist offline   Mit Zitat antworten
Alt 26.05.2009, 15:57  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Suzi Beitrag anzeigen
und dabei ist egal, dass die id's nicht gleich sind weil ort o ON da steht ? Hab ich das richtig verstanden oder immer noch einen Denkfehler ?
Nein, d.h. dass die id_o aus der Tabelle kunden (alias k) gleich sein muss, wie die id_o aus der Tabelle ort (alias o)

Ansonsten findest du hier eine gut verständliche Einführung in JOINS
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 26.05.2009, 16:02  
Neuer Benutzer
 
Registriert seit: 26.05.2009
Beiträge: 4
Suzi befindet sich auf einem aufstrebenden Ast
Standard

mein Problem ist ja, dass die ID's eben nicht immer gleich sind. Geht das überhaupt?
Ich habe die Kunden ID als Auto_Increment festgelegt, damit zählt die ID ja nun automatisch hoch. Wenn sich jetzt 3 Kunden angemeldet haben und 2 davon im gleichen Ort mit gleicher Postleitzahl wohnen, dann soll ja in meiner Tabelle Ort nicht 2 mal der gleiche Eintrag erscheinen, dh. ja, dass ich in meiner Tabelle Ort nur 2 Einträge habe, während ich in der Tabelle Kunden 3 habe.
Kann man das denn so überhaupt verknüpfen ?
Suzi ist offline   Mit Zitat antworten
Alt 26.05.2009, 16:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ja, mit einer Relationentabelle.

Zuordnung
ID_K (FK) | ID_O (FK)
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 27.05.2009, 07:46  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Suzi Beitrag anzeigen
Kann man das denn so überhaupt verknüpfen ?
Ja, aber du brauchst, wie ich es schon gesagt habe, die ID des Ortes als Fremdschlüssel in der Kundentabelle. Da brauchst du nicht mal eine Verknüpfungstabelle (sofern ein Kunde nur eine Adresse hat). Die Verknüpfung läuft dann über diese ID und nicht über die Kunden-ID. Wenn du die Ausführungen im Link, den ich dir geschickt habe, gelesen hättest, dann wäre das auch klar.
Es wäre ja schön, wenn man die PLZ dazu benutzen könnte, die ist aber leider nicht immer eindeutig.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 27.05.2009, 08:30  
Neuer Benutzer
 
Registriert seit: 27.05.2009
Beiträge: 4
Xanatus befindet sich auf einem aufstrebenden Ast
Standard

Hallo, wenn die Tabellen gleichviele Einträge in der selben Reihenfolge haben, könntest du einfach eine neue Unqiue Index Key Spalte für beide Tabellen erstellen, um eine Eindeutige gemeinsamkeit der Einträge zu erhalten. Ich bin mir allerdings nicht sicher, ob es eine "Reihenfolge" gibt bei derart Tabellen. Deshalb sollte man auch immer einen Index Key haben
Xanatus 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
[Erledigt] Listen-Felder mit Tabellen verknüpfen Monkeylicious PHP Tipps 2009 8 28.04.2009 23:25
2 datenbanken (mit separatem login) miteinander verknüpfen Gomati PHP Tipps 2009 4 03.03.2009 11:47
Mehrere Tabellen verknüpfen einballimwasser Datenbanken 4 21.02.2009 18:58
Beim DELETE zwei Tabellen verknüpfen Bonaparte Datenbanken 5 15.02.2008 09:32
5 tabellen miteinander verknüpfen. miwo Datenbanken 2 22.09.2007 11:17
tabellen verknüpfen philips Datenbanken 26 06.05.2006 11:15
3 tabellen verknüpfen tomson Datenbanken 2 21.01.2006 12:53
[Erledigt] Tabellen verknüpfen Datenbanken 21 27.10.2005 21:16
3 Tabellen mit JOIN verknüpfen? becks123 Datenbanken 6 13.08.2005 00:05
Zwei Tabellen verknüpfen (aber wie!) Datenbanken 12 09.02.2005 09:55
Werte aus zwei Tabellen verknüpfen? Datenbanken 12 05.01.2005 10:41
mehrere tabellen verknüpfen bei select Datenbanken 3 29.09.2004 11:00
[Erledigt] Tabellen miteinander verknüpfen Datenbanken 23 22.07.2004 14:02
[Erledigt] Tabellen unter pma verknüpfen & ID-Bereich bestimmen PHP-Fortgeschrittene 2 17.06.2004 16:22
2 Tabellen verknüpfen PHP Tipps 2004 11 12.06.2004 23:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
tabellen miteinander verknüpfen, datenbank tabellen verknüpfen, wie sind die tabellen miteinander verknüpft, sql datenbank untereinander verbinden, gleichheits verknüpfung datenbank, php miteinander verknüpfen, sql datenbanken tabellen verknüpfen, tabellen sql verknüpfen php, verknüpfung von tabellen datenbank, tabellen miteinander verknüpfen die keine gemeinsamkeit haben datenbank, datenbanken tabellen verknüpfen, tabellen unter php miteinander verknüpfen, id\'s von der sql datenbank miteinander verbinden, wie werden mehrere tabellen miteinander verknüpft, datenbank wie werden tabellen miteinander verknüpft, 8 tabellen mit einer tabelle verknüpfen, zwei identische tabellen verknüpfen, wie kann man datenbanken mit einander verknüpfen, wie kann ich 2 google tabellen verknüpfen, mit php tabbellen aus der datenbank miteinander verknüpfen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:02 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