php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #16 (permalink)  
Alt 18-06-2007, 17:09
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von joeCrack
gottohgotohgott.
goto is evil.
Zitat:
Wie wird durch das auto increment feld meine sucher verbessert?
Höchstens an den Stellen, wo du eine Auswahl über die ID triffst; dadurch, dass diese automatisch indiziert ist.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #17 (permalink)  
Alt 18-06-2007, 18:34
joeCrack
 Junior Member
Links : Onlinestatus : joeCrack ist offline
Registriert seit: Oct 2005
Ort: DoubleH-13
Beiträge: 135
joeCrack ist zur Zeit noch ein unbeschriebenes Blatt
Standard

also .... für jede meiner "untertabellen" also ein auto increment feld richtig?
__________________
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)
Mit Zitat antworten
  #18 (permalink)  
Alt 19-06-2007, 10:30
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Genau.

Stell dir vor, du hast noch andere Tabellen. Vielleicht eine, in der irgendwelche Produkte stehen, die die Firmen herstellen. Und noch eine, in der die letzten Artikel stehen, die sie gekauft haben oder so.

(Ist egal, wenn das bei dir nun keinen Sinn macht, ist ja nur ein Beispiel. Beliebig erweiterbar.)

Und überall steht der Name als einziges Erkennungsmerkmal drin, dann hast du folgende Nachteile:

- Die Verknüpfung über Strings ist langsam
- verschiedene Leute mit dem gleichen Nachnamen können nicht auseinander gehalten werden
- Du hast ein Problem, wenn Jemand z.B. heiratet und der Name sich ändert.

Vielleicht ist deine Anwendung so klein, dass das alles nicht sehr ins Gewicht fällt, aber das ist kein Grund, es von vorneherein "falsch" zu machen.

Gruß,
ministry

PS: Der Hinweis zu Joins war deswegen, weil du offensichtlich nicht wusstest, wie man die Tabellen dann beim Auslesen verknüpft, um die Daten gleich zusammen mit dem Namen auszulesen.
__________________
ich glaube
Mit Zitat antworten
  #19 (permalink)  
Alt 19-06-2007, 16:36
joeCrack
 Junior Member
Links : Onlinestatus : joeCrack ist offline
Registriert seit: Oct 2005
Ort: DoubleH-13
Beiträge: 135
joeCrack ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okey .. vielen dank für die hilfreiche antwort.
ist es nun aber so daß jede tabelle in meiner datenbank ein eigenes running number feld bekommt?
es ist doch so gemeint, daß ich beim erzeugen eines neuen kunden dann die running number der kunden "haupttabelle" in die jeweiligen tabellen wie kontonummer und leiferanten eintrage richtig.
also quasi eine ID die die kunden zusätzlich zum namen identifiziert wird an die anderen tabellen gegeben?
ich verstehe eimälig schon dwie man per identifier und durch joins leichter effizientere sql abfragen machen kann.
aber ich habe probleme damit zu verstehen wie ich diese identifier bei dem eintragen neuer kunden und zB dem nachträglichen eintragen einer bankverbindung zu einem kunden hinzufüge.

joe
__________________
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

Geändert von joeCrack (19-06-2007 um 16:58 Uhr)
Mit Zitat antworten
  #20 (permalink)  
Alt 19-06-2007, 17:23
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du kannst einfach das Konto einfügen. mysql_insert_id() liefert dir die zuletzt automatisch angefügte ID, und die kannst du dann in eine Spalte Konto bei dem Kunden eintragen.

Falls ein Kunde mehrere Konten haben könnte (1:n-Beziehung), dann wäre es sinnvoller, die Kunden-Id in eine Spalte in der Kontotabelle zu schreiben.

Und wenn es schließlich eine n:m beziehung wäre (das Konto ist ein schlechtes Beispiel, besser wären z.B. Fotos und Stichworte dazu. Jedes Foto kann viele Stichworte haben, und jedes Stichwort kann mehrfach vorkommen), dann bräuchtest du dafür eine Lookup-Tabelle (also eine für die Fotos, eine für die Stichworte, und eine zum "Nachschlagen", wo dann Foto-ID und Stichwort-ID drinsteht).
__________________
ich glaube
Mit Zitat antworten
  #21 (permalink)  
Alt 19-06-2007, 18:04
joeCrack
 Junior Member
Links : Onlinestatus : joeCrack ist offline
Registriert seit: Oct 2005
Ort: DoubleH-13
Beiträge: 135
joeCrack ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sorry ich begreif das nicht.
es ist doch sinnlos .... es ist doch wirklich in dem kontofall wirklich sinnlos die running number des kontos in die kundentabelle einzutragen. ich kann doch sowas von eindeutig durch die kontonummer identifizieren. wenn ich mehrere konten pro kunde habe ist klar.

nehmen wir mal den fall an ich trage einen lieferanten nachträglich ein. dann wähle ich erst den kunden aus zu dem ich den lieferanten hinzufügen will. so ... der lieferant, wenn er eingetragen ist, bekommt eine neue ID(running number) und diese frag ich dann ab und trag diese nummer in die kundentabelle und lieferanten ID ein ja? und diese id würde ich dann mit dem mysql_insert_id() statement bekommen da die lieferanten ID die zuletzt eingetragene ID ist.
das wäre dann der fall - nur einen lieferanten pro kunden.
bei einer beziehung von mehreren lieferanten pro kunde würde ich wiederum die kunden ID in der lieferantentabelle eintragen richtig?
__________________
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)
Mit Zitat antworten
  #22 (permalink)  
Alt 19-06-2007, 18:15
ministry
 PHP Junior
Links : Onlinestatus : ministry ist offline
Registriert seit: Jun 2006
Ort: KI / KA
Beiträge: 965
ministry ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bei dem Konto könnte man es wohl tatsächlich so machen, da die Kontonummer eindeutig ist. Allerdings ist es doch auch nicht weniger Aufwand. Ob du nun zweimal die Kontonummer drin hast oder ne ID.

Zu den Lieferanten: Prinzipiell ja, aber das musst du dir vorher überlegen. Wenn es sein kann, dass es mehrere Lieferanten pro Kunde gibt, dann muss die Kunden-ID zu den Lieferanten. Wobei sich das schon eher wieder nach einer n:m Beziehung anhört (die Lieferanten können ja auch bei mehr als einem Kunden vorkommen schätze ich).
__________________
ich glaube
Mit Zitat antworten
  #23 (permalink)  
Alt 19-06-2007, 20:32
TBT
  Moderator
Links : Onlinestatus : TBT ist offline
Registriert seit: Sep 2002
Ort: Berlin
Beiträge: 2.787
TBT befindet sich auf einem aufstrebenden Ast
TBT eine Nachricht über ICQ schicken TBT eine Nachricht über AIM schicken TBT eine Nachricht über Yahoo! schicken
Standard

Auch bei Kontonummern kann man das nicht machen.
Kontonummern sind nicht eindeutig !!!

Nur die Kombination Bankfiliale + Kontonummer + Unterkontonummer ist eindeutig
__________________
TBT

Die zwei wichtigsten Regeln für eine berufliche Karriere:
1. Verrate niemals alles was du weißt!


PHP 2 AllPatrizier II Browsergame
Mit Zitat antworten
  #24 (permalink)  
Alt 20-06-2007, 10:15
kratzbaum
 Newbie
Links : Onlinestatus : kratzbaum ist offline
Registriert seit: May 2007
Ort: Essen
Beiträge: 13
kratzbaum ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Was machst du denn, wenn du zwei Kunden mit gleichem Namen hast (z.B. Peter Müller ich persönlich kenne 7 Leute, die so heißen)?
Du brauchst ein eindeutiges Identifikationsmerkmal, z.B. wie
Personalausweis-Nummer, Sozialversicherungsnummer ... oder
eine eigene ID.
__________________
Her mittie Abbeit!
Mit Zitat antworten
  #25 (permalink)  
Alt 20-06-2007, 13:32
joeCrack
 Junior Member
Links : Onlinestatus : joeCrack ist offline
Registriert seit: Oct 2005
Ort: DoubleH-13
Beiträge: 135
joeCrack ist zur Zeit noch ein unbeschriebenes Blatt
Standard

okey,

ich hab nun dank euch den sinn des ganzen gut begriffen.
was mir als letztes noch nicht ganz klar ist, wie ich nun die nummern eintrage.
angenommen ich lege einen komplett neuen kunden an, in diesem fall wird dann alles auf einmal in ein formular eingetragen.
also ich trage den namen die sonstigen standartwerte die in die kundentabelle gehören ein, genauso wie die lieferanten und bankverbindung.
wenn ich dort nun neue IDs für die lieferanten, den einkauf usw vergebe, wie bekomme ich diese dann in die kundentabelle.

ich mache also als erstes den INSERT in die kundentab, danach zB in die liefeantentab und dann muß ich durch mysql_insert_id() die ID des lieferanten herausfinden, um den dann in die kundentab einzutargen ..... und das selbe das für den einkauf und die buchhaltung!?!
__________________
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)
Mit Zitat antworten
  #26 (permalink)  
Alt 20-06-2007, 17:24
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja.
Mit Zitat antworten
  #27 (permalink)  
Alt 22-06-2007, 13:28
joeCrack
 Junior Member
Links : Onlinestatus : joeCrack ist offline
Registriert seit: Oct 2005
Ort: DoubleH-13
Beiträge: 135
joeCrack ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ich nun einen kunden mit mehreren konten habe ...
lege ich dann für jedes konto ein neues feld an?
oder speicher ich in der kundentabelle in einem feld mehrere konto IDs?
__________________
Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)
Mit Zitat antworten
  #28 (permalink)  
Alt 22-06-2007, 13:33
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ersteres
Mit Zitat antworten
  #29 (permalink)  
Alt 22-06-2007, 13:37
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von penizillin
ersteres
Aber nur, wenn nicht "Feld", sondern eigentlich Datensatz gemeint war.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #30 (permalink)  
Alt 22-06-2007, 13:39
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

das ist allerdings korrekt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:03 Uhr.