Menu schließen

Datenbanken

Frage: Datenbanken
(39 Antworten)


Autor
Beiträge 0
14
Bei einer Relation zwischen Tabelle Personen/Kunden und PLZ/Postleitzahl, wird die Postleitzahl nicht als Postleitzahl in die Tabelle Personen/Kunden angezeigt, statt dessen wird für jede/n Person/Kunden der Wert 0 reingeschrieben.

Ich habe zwei Insert Befehle separat ausgeführt.

Einmal um die Postleitzahl in Tabelle Postleitzahl zu schreiben und einmal um den Vornamen, Nachname ..... in die Tabelle Kunden zu schreiben.

Ich glaube das Problem liegt dort bei den Inserts, dass er in der Tabelle Kunden in der Spalte PLZ eine null anzeigt/reinschreibt. Nur komischerweise wird die richtige PLZ in der Tabelle PLZ richtig angezeigt nur in der Tabelle Kunden macht der das nicht.

Zur info: die Tabellen sind bereits miteinander Verbunden
Frage von Blinki_20 (ehem. Mitglied) | am 22.12.2011 - 16:52


Autor
Beiträge 40293
2104
Antwort von matata | 22.12.2011 - 17:00
Kann du einen Screeen-Shot hier einstellen,
ohne Betriebsgeheimnisse zu verraten oder Urheberrecht zu verletzen ? Was man anschauen kann, ist viel leichter zu verstehen....
________________________
 e-Hausaufgaben.de - Team


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 17:09
Hab ich gerade auf meinem Profil (Fotogalerie)* gemacht, da ich hier nur Url`s eingeben kann aber ka

* Textänderung matata


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 17:15
Die Postleitzahl wird in der Tabelle Postleitzahl richtig reingeschrieben nur bei die Tabelle Kunden macht da faxen.
Wie müsste ich da vorgehen und wie muss ich das niederschreiben.


Autor
Beiträge 40293
2104
Antwort von matata | 22.12.2011 - 17:16
Viele User sind noch nicht on, hab noch ein wenig Geduld... Informatik ist nicht mein bevorzugtes Spezialgebiet...
________________________
 e-Hausaufgaben.de - Team


Autor
Beiträge 657
3
Antwort von nerva | 22.12.2011 - 17:20
Du hast bei deinem Insert auf die Kundentabelle wahrscheinlich versucht die Postleitzahl als ganzes in das Feld PLZ_id einzutragen. Da dies aber von der Datenbank verhindert wird, hast du nur den Null-Wert drin. Du darfst in dem Fall, wenn du zwei Tabellen relational verknüpft hast, nur die ID der Postleitzahl, welche du haben möchtest, in das Feld PLZ_id eintragen.


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 17:31
ahh ok also muss ich
zu erst einen insert machen wo die anderen sachen mit drin sind und dann einen insert wo nur die plz eingetragen wird, right ?


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 17:36
hmm jetzt schreibt der das aber nicht in die PLZ Tabelle -.-`


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 17:44
Ich trage ja die PLZ_ID gemeinsam zusammen mit dem Ort, zuerst in die PLZ Tabelle, die Tabelle Kunden soll nur die PLZ anzeigen mehr soll das ja nicht machen die PLZ wird ja in der PLZ Tabelle reingeschrieben


Autor
Beiträge 0
14
Antwort von swenzel (ehem. Mitglied) | 22.12.2011 - 17:53
PLZ_ID ist NICHT die Postleitzahl! Das ist der Primärschlüssel von deiner PLZ-Tabelle. Dieser Primärschlüssel wird für die Verbindung der Tabellen Kunde und PLZ verwendet, indem du IHN (und nicht die PLZ selbst) als Fremdschlüssel in deine Kundentabelle einträgst.


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:00
der ist schon als FK in der Tabelle definiert aber egal ^^


Autor
Beiträge 0
14
Antwort von swenzel (ehem. Mitglied) | 22.12.2011 - 18:04
Ja eben.. deshalb sollst du ihn ja auch dort eintragen.
Ich weiß auch gar nicht ob das überhaupt das Problem ist.
Es ist ziemlich schwer dir zu helfen, weil dein Screenshot so gut wie nichts aussagt.


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:15
dann sag das doch ^^ dann stell ich ein weiteres bild rein


Autor
Beiträge 4080
17
Antwort von S_A_S | 22.12.2011 - 18:21
Wenn du hier dein SQL Statements und das Relationenschema posten würdest, wäre das deutlich hilfreicher!


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:29
hatte ich gerade vor ^^ gleich nach dem ich die fotos reingestellt habe:

mysql_query("INSERT INTO person(Name, Vorname, Geburtsdatum, Email, Strasse, Username, Passwort)values(`$_POST[nname]`, `$_POST[vname]`, `$_POST[bdate]`,`$_POST[email]`, `$_POST[str]`, `$_POST[uname]`, md5(`$_POST[pwd]`))");
mysql_query("INSERT INTO plz(PLZ_ID,Ort) Values(`$_POST[plz]`,`$_POST[ort]`)");


Autor
Beiträge 4080
17
Antwort von S_A_S | 22.12.2011 - 18:33
Ohjeh. Du weißt schon, dass man dir bei so einem Code wie du ihn hast per SQL Injection A L L E S unterjubeln kann Inklusive einer Zusatzabfrage, die dir mal schnell die gesamte Datenbank löscht?
Du schreibst doch gark eine PLZ / PLZ_ID in die Tabelle Person? Da brauchst du dich auch nicht wundern, dass das da nicht auftaucht.


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:37
ich will nur wissen wie ich das so hinkriege damit ich dann hinterher mit ner select abfrage auf die richtige plz und soweiter und sofort.
Kannst du mir nicht einfach mal einen exmaple insert texten damit ich das so realisieren kann. Die Sicherheit und so weiter wird ganz anders geregelt :).


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:40
ja so hatte ich das vorhin auch gemacht. Zuerst in die Tabelle Person dann aber hat er es nicht in der Tabelle PLZ angezeigt


Autor
Beiträge 4080
17
Antwort von S_A_S | 22.12.2011 - 18:41
Wenn du die falschenID Werte oder in dem Fall gar keine reinschreibst, dann kriegst du das nicht hin!
Du musst schon in die Kundentabelle auch die entsprechenden Werte reinschreiben aus der PLZ Tabelle.

Das wäre ein SELECT PLZ_ID FROM PLZ WEHRE Ort = `<<ORTSNAME DES KUNDEN>>` und nicht mehr.

Es ist eben wichtig, dass du bei einem INSERT Statement auch nur etwas wirklich in die Relation Stopfst, wo du angegeben hast!

Und das andere ist: Legst du wirklich bei jeder Person einen neuen PLZ Eintrag an? Nein oder?


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:49
mysql_query("INSERT INTO person(Name, Vorname, Geburtsdatum, Email, Strasse, Username, Passwort)values(`$_POST[nname]`, `$_POST[vname]`, `$_POST[bdate]`,`$_POST[email]`, `$_POST[str]`, `$_POST[uname]`, md5(`$_POST[pwd]`))");
mysql_query("INSERT INTO plz(PLZ_ID,Ort) Values(`$_POST[plz]`,`$_POST[ort]`)");
mysql_query("Select PLZ_ID from PLZ Where Ort = `$_POST[ort]`");

etwa so ?


Autor
Beiträge 0
14
Antwort von Blinki_20 (ehem. Mitglied) | 22.12.2011 - 18:51
alles wird gemacht nur der gibt dort ne null statt eine plz an

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

5 ähnliche Fragen im Forum: 1 passende Dokumente zum Thema:
> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN:
  • Lebenszyklus von Datenbanken
    Was ist der Lebenszyklus von Datenbanken?
  • Datenbank
    Hallo, ich hab das Thema: Integrität in relationalen Datenbanken. Ich kenn mich leider null mit pc`s aus :S Die Stichwörter ..
  • Abitur - Datenbanken und Datenschutz
    Hey, mich würde es mal interessieren, nach welchen Kriterien man bewertet ob eine aufgebaute Datenbank so sinnvoll ist oder ..
  • SQL-Abfrage bei Datenbank
    In Informatik nehmen wir im Moment SQL Abfrage bei Datenbanken durch. Es handelt sich um phpMyAdmin. Morgen kommt der Test und ..
  • Datenbanken
    Nabend! Ich komme irgendwie in Informatik weiter -.- Wisst ihr vllt. was falsch oder richtig ist, hab keine ahnung davon:S..
  • mehr ...
BELIEBTE DOWNLOADS:
  • Datenbank und ER-Modell
    Augabenstellung: 1.Was verstehen sie unter dem Datenbank Lebenszyklus? 2.Welche Phasen werden beim Entwurf von Datenbanken ..
  • mehr ...