php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.09.2011, 12:10  
Neuer Benutzer
 
Registriert seit: 07.09.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
daniel1405 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Foreign KEY

hallo zusammen,

ich bin dabei eine kleine benutzerverwaltung zu schreiben. ein datenmodell habe ich bereits angefangen. dazu habe ich nur einmal eine verständnisfrage.

ich möchte, dass ein benutzer nur 1 status und 1 land zugewiesen bekommt. das wäre dann eine 1:1 beziehung. schon klar.

ich habe jetzt zwei fk's gesetzt. jeweils auf die id des status und auf die des landes.

wenn ich im phpmyadmin jetzt beispielsweise einen datensatz anlegen möchte, kann ich mittels dropdownliste die richtigen werte auswählen.

würdet ihr das auch so machen oder gibt es eine bessere performancetechnischere lösung???

vielen dank für eure meinungen.

gruß
daniel
daniel1405 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.09.2011, 12:24  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

hm performance-technisch bringt das MySQL nicht ins schwitzen .. aber logisch solltest du vielleicht nochmal vor Augen halten... dass 1 User 1 Land und 1 Status haben soll ... es gibt aber N User, daher ist es keine 1:1 Beziehung, sondern eine klassische 1:N Beziehung (es kommen 20 User aus Deutschland, 10 aus Österreich und 3 Schweizer haben sich auch dahin verirrt) ....

damit hast du deine Lösung schon vor dir - eine User Tabelle - 1 Tabelle für die Länder, 1 Tabelle für den Status - und die Einträge beim User sind dann jeweils Fremdschlüssel in die Länder-Tabelle und Statustabelle
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 07.09.2011, 18:51  
Neuer Benutzer
 
Registriert seit: 07.09.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
daniel1405 befindet sich auf einem aufstrebenden Ast
Standard

stimmt. da sagst du was. danke dir!
daniel1405 ist offline   Mit Zitat antworten
Alt 08.09.2011, 00:47  
Neuer Benutzer
 
Registriert seit: 07.09.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
daniel1405 befindet sich auf einem aufstrebenden Ast
Standard

lässt mir irgendwie keine ruhe.

1 User darf exakt 1 Land und 1 Status zugewiesen bekommen. nicht mehr.
deswegen lege ich doch einfach nen fk in der user_vw auf land_id und nen fk auf status_id an. als 1:1. (1 User = 1 Land & 1 Status)

bei deiner interpretation würde ich 1 status auf n benutzer anlegen. also in der status_vw einen fk auf benutzer_id.
das gleiche dann dann in der land_vw. nur halt den fk in der land_vw auf benutzer_id.

oder irre ich mich da? ist schon ne elementare frage, da ich hinterher nix mehr am datenmodell ändern möchte.

könnt ihr dazu nochmal bitte stellung nehmen? danke!
daniel1405 ist offline   Mit Zitat antworten
Alt 08.09.2011, 01:05  
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

Zitat:
oder irre ich mich da?
Ja, Du irrst Dich. Dein Modell stimmt, aber die Bezeichnung ist trotzdem 1:n, für jede der beiden Relationen:

[User] -- n -------- 1 -- [Land]

1 User ist 1 Land zugeordnet, aber
1 Land sind n User zugeordnet
__________________
--
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 08.09.2011, 01:08  
Neuer Benutzer
 
Registriert seit: 07.09.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
daniel1405 befindet sich auf einem aufstrebenden Ast
Standard

ok.

ich arbeite gerade mit dem mysql workbench. bisher habe ich die beiden tabellen 1:1 verknüpft.

also lege ich stattdessen einfach eine 1:n beziehung an. 1 user_id = n land_id

richtig dann woll?
daniel1405 ist offline   Mit Zitat antworten
Alt 08.09.2011, 01:29  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Was versprichst du dir eigentlich davon, den Tabellennamen in jeder Spalte zu verewigen?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 08.09.2011, 01:29  
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

Verstehe die Frage nicht. Ich habe doch oben alles skizziert
__________________
--
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 08.09.2011, 01:30  
Neuer Benutzer
 
Registriert seit: 07.09.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
daniel1405 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
Was versprichst du dir eigentlich davon, den Tabellennamen in jeder Spalte zu verewigen?
ist nur zur übersicht. denke bzw. plane das dingen noch wachsen zu lassen.
habe ich das mit der mysql workbench denn so richtig verstanden, wie in dem beitrag davor beschrieben?
daniel1405 ist offline   Mit Zitat antworten
Alt 08.09.2011, 01:33  
Neuer Benutzer
 
Registriert seit: 07.09.2011
Beiträge: 8
PHP-Kenntnisse:
Anfänger
daniel1405 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Verstehe die Frage nicht. Ich habe doch oben alles skizziert

ich kann in der workbench ja beziehungen festlegen, die dann grafisch dargestellt werden.

möchte halt hier nix falsch machen. deswegen frage ich lieber ein oder zwei mal mehr nach.
daniel1405 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] Probleme mit dem Foreign key tobi_s2 Datenbanken 5 22.06.2011 14:58
[Erledigt] Mysql insert foreign key Thorus Datenbanken 2 28.11.2010 19:29
Foreign Keys finden geradok Datenbanken 1 27.03.2010 21:00
[Erledigt] Unsigned und Foreign Keys chunky Datenbanken 1 27.03.2010 13:26
performante Verknüpfung von Tabellen?? Gimpel Datenbanken 13 27.02.2010 14:57
[Erledigt] INSERT INTO zwei Tabellen mit Foreign Key und mehreren Datensätzen - wie? 6setzen PHP Tipps 2009 18 24.11.2009 14:21
SELECT-Abfrage optimieren pz6j89 Datenbanken 14 17.04.2008 17:37
[phpMyAdmin] Foreign Keys in der Übersicht als Link? freq.9 Datenbanken 0 06.09.2006 14:43
Foreign Keys heohni Datenbanken 4 01.06.2006 13:13
Mysql Error 1025 beim löschen von Foreign Key Bronks Datenbanken 5 18.03.2006 11:18
#1216 - Cannot add or update a child row: a foreign key... argon Datenbanken 10 20.01.2006 16:48
[Erledigt] kann keine Foreign Key Anlegen Datenbanken 1 17.10.2005 11:11
[Erledigt] foreign key anzeigen lassen Datenbanken 0 20.06.2005 16:03
Fremdschlüssel/Primärschlüssel Problem Datenbanken 5 22.04.2005 12:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpmyadmin foreign key, foreign key mysql phpmyadmin, phpmyadmin foreign key definieren, phpmyadmin fremdschlüssel anlegen, foreign key phpmyadmin, sql fremdschlüssel anlegen php my admin, mysql insert foreign key, foreign key bei 1:1, phpmyadmin fremdschlüssel wird nicht angezeigt, phpmyadmin foreign key festlegen, mysql phpmyadmin foreign key, php foreign key eintragen, foreign key php, insert into foreign key php, error code 1025 mysql, foreign keys phpmyadmin, php fremdschlüssel, php my admin sql fremdschlüssel festlegen, php myadmin foreign key, php mysql insert foreign key

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