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
  #1 (permalink)  
Alt 14-06-2007, 18:53
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 Datenbank Aufbau

hi,

also ich habe mal ein Bild aus dem DBDesigner von meiner jetztigen Datenbankstruktur gemacht. Ich hab, wie zu sehen, eine Haupttabelle "Kunde" die alle Primärschlüssel der anderen Tabellen enthält. Ist der aufbau ansich so korrekt oder gibt es grobe Fehler. Ich mache solch eine DB nciht alzu häufig und wäre sehr dankbar, wenn ihr mir ein wenig helfen könntet.

Vielen Dank

joe
Angehängte Grafiken
Dateityp: jpg dbentwurf1.jpg (64,2 KB, 1115x aufgerufen)
__________________
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
  #2 (permalink)  
Alt 14-06-2007, 19:05
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

1. etwas mehr normalisieren wäre besser, d.h. tabelle "inhaber" soll eine spalte "id" bekommen, über die man aus der tabelle "kunde" (statt ih_name) an die daten des inhabers drankommt. das gilt für alle tabellen, z.b. kt_nr (das programm kann übrigens die verknüprfungen bestimmt auch darstellen).

2. 50 zeichen können schnell knapp werden.

3. was sind "konditionen"?

4. tel, fax und "kd_seit" sind keine integer!
Mit Zitat antworten
  #3 (permalink)  
Alt 14-06-2007, 19: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

wieso sind den tel,fax,kunde seit keine integer?
hmmmm.... ich versteh nicht ganz wie du das meinst....
also als ID würde ich jetzt einfach mal spontan eine running number nehmen zB. aber ich komme doch eigentlich optimal an die daten des inhabers. bei jeder abfrage frage ich nach der gleichheit des namens und hole mir die daten. was würde den eine ID bringen. bzw an was für eine ID hast du gedacht?
vielen dank für die hilfe
__________________
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
  #4 (permalink)  
Alt 14-06-2007, 19:42
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

Zitat:
wieso sind den tel,fax,kunde seit keine integer?
warum ist denn 0309999999 oder +1579999999 ein integer? zur erinnerung: integer sind ganze zahlen (i.d.r.) zwischen -2147483648 und 2147483647.

und warum ist ein datum ("kunde seit") eine ganze zahl?

eine id ist numerisch und (meistens) auto increment, lässt also keine zweideutigkeiten zu und lässt sich super indizieren.
Mit Zitat antworten
  #5 (permalink)  
Alt 14-06-2007, 19:54
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 und was schlägst du vor für telefonnummern???
du hast natürlich recht das die indetifikation eindeutiger wird - änder ich dadurch denn die abfrage die ich mache? nein oder ... ich frage natürlich weiterhin nach dem ID der in beiden tabellen gleich ist. also ich benutzte das auto inkrement feld nicht sondern ich füge es einfach nur in den untertabellen hinzu. und es dient nur zur identifikation. also ih_name laß ich auch in der kunden tabelle stehen.
__________________
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
  #6 (permalink)  
Alt 14-06-2007, 22:08
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
okey und was schlägst du vor für telefonnummern???
Na ganz bestimmt keinen Zahlen-Datentyp.

Telefonnummern haben nämlich idR. eine führende Null - Zahlen aber nicht.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 14-06-2007, 22:57
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

Zitat:
bei jeder abfrage frage ich nach der gleichheit des namens und hole mir die daten. was würde den eine ID bringen.
Vor allem Geschwindigkeit, weil sich über Strings schlecht indizieren lässt. Außerdem stell dir das Chaos vor, wenn jemand seinen Namen ändert o.ä.
__________________
ich glaube
Mit Zitat antworten
  #8 (permalink)  
Alt 15-06-2007, 11:51
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 als erstes nochmals vielen Dank für die Hilfe. Ich verstehe nicht wie ich über die Nummern eine SELECT abfrage machen soll. Wenn in der Kunden-Datenbank eine bestimmte Umsatzzahl eines bestimmten Kunden gesucht wird, dann suche ich doch nach dem Namen. Ich kann doch schlecht nach 22 suchen oder irgendeiner beliebigen Zahl. Woher soll ich denn die assoziation des zu der Nummer gehörigen Namens erhalten. Und wenn jemand seinen Namen ändert dann suche ich ja auch nach dem anderen Namen. Ich habe keine statischen Abfragen gespeichert. Wenn ich nun sage ich frage immer nach "Harry" und der schriebt sich nun neuerding "Harrie" dann wird das auch so bei der suche nach dem Kunden angegeben. Ich schreibe ja NIE in den Quellcode SELECT ..... "Harry" - nur dann hätte ich doch das von dir angesprochene Problem oder nicht? Ich glaube ja das von der Performanze her die Nummern mehr Sinn machen. Nur muß ich dann doch stehts erst per suche des Namens die Nummer des Kunden holen und dann wieder die nächste Abfrage zu machen.
__________________
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
  #9 (permalink)  
Alt 15-06-2007, 11:56
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

ist das nicht erschreckend, dass du ein system zu irgendeiner kundenverwaltung schreibst, ohne auch nur ein mal ein buch über sql in der hand gehalten zu haben? die absoluten grundlagen, die in jedem buch, in jeder dokumentation stehen...

du weißt nicht, wie eine suche mittels LIKE funktioniert? informiere dich doch wenigstens ein bißchen über die technologie, mit der du arbeitest, bevor du "drauflos codest".
Mit Zitat antworten
  #10 (permalink)  
Alt 15-06-2007, 11:57
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

Zu JOINs bitte auch ganz dringend was durchlesen...
__________________
ich glaube
Mit Zitat antworten
  #11 (permalink)  
Alt 18-06-2007, 16:18
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

was hat denn die like abfrage damit zu tun und der join ....
warum soll ich ein running number feld da drin haben ....
ein kunde wird gesucht .... dieser ist namentlich bekannt ....
die suche wird also so aussehen das ich in kunde und konto nach dem in beiden tabellen gleichen identifikator schaue ,... nämlich die Kontonummer .... wozu brauche ich hier die running number ... warum indetifiziert diese genauer .... was kann den exakter sein als eine kontonummer ...
__________________
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
  #12 (permalink)  
Alt 18-06-2007, 16:25
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
Vielleicht fängst du statt mit den vorgeschlagenen Fachbüchern doch lieber erst mal mit einem an, welches dir grundlegende Dinge des schriftlichen Ausdrucks in deutscher Sprache nahe bringt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #13 (permalink)  
Alt 18-06-2007, 16:39
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

leute ist doch gut ... ich habe an meiner uni eine datenbankklausur mit 1.5 bestanden und habe bücher gelesen ... trotzdem sind mir einige sachen noch nciht klar .... urteilt doch nicht gleich so schnell nur weil ihr selber die CRACKS seid. simple frage und ich wäre euch dankbar wenn ich eine antwort bekommen könnte.
__________________
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
  #14 (permalink)  
Alt 18-06-2007, 16:51
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Nein, so "simpel" ist eine Fragestellung eben nicht, wenn du dir nicht die geringste Mühe gibst, diese verständlich und strukturiert zu formulieren, sondern nur Satzfragmente mittels Auslassungszeichen aneinanderreih(er)st.


Ich für meinen Teil habe keine Lust, derart gestellte Fragen erst mal zu dechiffrieren.
Du willst etwas von anderen, also halte ich es für das mindeste, dass du dir bei der Formulierung etwas Mühe gibst.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 18-06-2007, 17:05
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

gottohgotohgott. nochmal ohne punkt:

Wenn ich einen Kunden suche und die zu ihm gehörige Bankverbindung. Dann wird der Name eingegeben und dann suche ich in der Tabelle Kunde nach dem Namen, der dazugrhörigen Kontonummer und dann ziehe ich mit durch die Kontonummer die Bankverbindung.
Wie wird durch das auto increment feld meine sucher verbessert?
__________________
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
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 03:01 Uhr.