php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-06-2011, 13:21
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard Vererbungsmöglichkeit in MySQL

Hi,

für verschiedene Produktgruppen soll ein Datenbankdesign erzeugt werden.
Ich dachte man erstellt eine Tabelle, in der die Daten gespeichert sind, die alle Produkte gemeinsam haben (Beschreibung, Titel usw.)

In jeweils einer Tabelle für die Produktarten sollen dann nur die Daten drinstehen, die unterschiedlich sind bzw. spezifisch für die Produktgruppe sind (Verknüpfung per Fremdschlüssel).

Gibts es dafür noch eine bessere Möglichkeit? Eine einzige große Tabelle würde ja viele Spalten enthalten, die nur NULL-Werte enthält.

Geändert von lx-club (17-06-2011 um 13:29 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 17-06-2011, 14:24
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

produkte (p_id, name, desc)
eigenschaften (e_id, name)
werte (p_id,e_id,value)

Wenn (fast) jedes Podukt andere (zusatz-)eigenschaften hat, kannst du die zweite Tabelle auch weg lassen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 17-06-2011, 15:19
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Die zweite Tabelle sollte ich auch mit übernehmen, denn es soll ja z.B. Produktgruppen geben wie TV, Netbook, Surfstick und zu jeder Gruppe dann die einzelnen Produkte. Diese einzelnen Produkte einer Produktgruppe haben ja die gleichen Eigenschaften.

-produktgruppe (id,name)
-produkt(id,produktgruppe_id,titel usw...)
-eigenschaft (id, name)
-wert (produkt_id,eigenschaft_id,value)

Welche Vorteile habe ich denn gegenüber meinem Vorschlag?
Mit Zitat antworten
  #4 (permalink)  
Alt 17-06-2011, 15:59
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

welche Rolle spielt die Produktgruppe in deinem aktuellen Modell? Offensichtlich keine.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #5 (permalink)  
Alt 17-06-2011, 16:03
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ohne Produktgruppe weiß ich nicht wohin das Produkt gehört. Angenommen ich möchte alle TV-Geräte anzeigen bzw. allgemein Produkte nach Produktgruppe anzeigen. Dazu benötige ich doch die Information.
Mit Zitat antworten
  #6 (permalink)  
Alt 17-06-2011, 16:05
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Das hat aber nichts mit den zusätzlichen Eigenschaften zu tun. Eine Produktgruppe hat ja jedes Produkt. Wir reden hier ja auch nicht über den Hersteller (den hat nämlich auch jedes Produkt).
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #7 (permalink)  
Alt 17-06-2011, 16:14
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da hast du Recht, die Eigenschaften betrifft es nicht.
Aber du hast ja geschrieben man kann diese Tabelle auch weglassen.
Alle Produkte einer Produktgruppe haben ja die gleichen Zusatzeigenschaften, und deshalb ist die Tabelle ja genau richtig.

In die Tabelle eigenschaften kommt

id | name
1 | bildschirmdiagonale

Alle Produkte aus der Gruppe TV haben diese Eigenschaft
Mit Zitat antworten
  #8 (permalink)  
Alt 17-06-2011, 16:24
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Alle Produkte einer Produktgruppe haben ja die gleichen Zusatzeigenschaften, und deshalb ist die Tabelle ja genau richtig.
Wenn dem so ist (und du das abbilden willst), vergisst du aber noch die Tabelle, die die Eigenschaften der Produktgruppe zugehört!

Zitat:
In die Tabelle eigenschaften kommt
id | name
1 | bildschirmdiagonale
Eh klar!
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9 (permalink)  
Alt 17-06-2011, 16:31
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von TobiaZ Beitrag anzeigen
Wenn dem so ist (und du das abbilden willst), vergisst du aber noch die Tabelle, die die Eigenschaften der Produktgruppe zugehört!
das versteh ich gerade nicht. Wie meinst du das?
Die Eigenschaften stehen doch in der Tabelle eingeschaften schon drin?
Mit Zitat antworten
  #10 (permalink)  
Alt 17-06-2011, 16:36
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Aber es steht nirgends, welche Eigenschaften die Produkte in der Gruppe XY haben.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #11 (permalink)  
Alt 17-06-2011, 16:47
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Am Anfang hatte ich ja geschrieben, 3 Tabellen anzulegen. Quasi für jede Produktgruppe eine Tabelle mit den speziellen Zusatzeigenschaften. Daraus wäre ja ersichtlich, welche Eigenschaften die Produkte in der Gruppe XY haben.

Aber ich weiß immer noch nicht was gemient ist. In der Produkttabelle ist doch die ID der Produktgruppe drin.
Wie sollte denn die Tabelle aussehen, die die Eigenschaften der Produktgruppe zugehört?
Mit Zitat antworten
  #12 (permalink)  
Alt 17-06-2011, 16:57
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Am Anfang hatte ich ja geschrieben, 3 Tabellen anzulegen. Quasi für jede Produktgruppe eine Tabelle mit den speziellen Zusatzeigenschaften. Daraus wäre ja ersichtlich, welche Eigenschaften die Produkte in der Gruppe XY haben.
Wie kommst du auf 3? Wenn es 1 Produktgruppe gibt, wären es 3. Wenn es 2 Gruppen gibt, sind es schon 4, usw.

Das es bei dieser Konstellation zu nicht unerheblichen Redundanzen (bspw. Bildschirmdiagonale bei TV und Handys) dürfte wohl klar aber definitiv nicht wünschenswert sein. Ganz zu schweigen davon, dass später Joins mit X (=Anzahl der Produktkategorien) erforderlich werden könnten (oder entsprechend hässliche Subselects).

Zitat:
Aber ich weiß immer noch nicht was gemient ist. In der Produkttabelle ist doch die ID der Produktgruppe drin.
Noch mal: Wo speicherst du die Information, welche Eigenschaften (z.B. "Bildschirmdiagonale" oder "Displaytyp") in welchen Produktgruppen benötigt werden?

Zitat:
Wie sollte denn die Tabelle aussehen, die die Eigenschaften der Produktgruppe zugehört?
Dies ist kein Satz
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #13 (permalink)  
Alt 17-06-2011, 17:31
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von TobiaZ Beitrag anzeigen
Wie kommst du auf 3?
ich bin von TV, Netbook und Surfstick ausgegangen, sorry war etwas unglücklich ausgedrückt :-)

Zitat:
Zitat von TobiaZ Beitrag anzeigen
Noch mal: Wo speicherst du die Information, welche Eigenschaften (z.B. "Bildschirmdiagonale" oder "Displaytyp") in welchen Produktgruppen benötigt werden?
Ich bin von deinem Vorschlag ausgegangen. Welche Eigenschaften die jeweilige Gruppe hat, ist nirgends hinterlegt. Ich dachte über die Verknüpfung der Tabelle "werte" und "produkte" bekomme ich dann die Gruppe + Eigenschaften.
Mit Zitat antworten
  #14 (permalink)  
Alt 17-06-2011, 17:58
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
ich bin von TV, Netbook und Surfstick ausgegangen, sorry war etwas unglücklich ausgedrückt :-)
Und wenn eine Gruppe hinzu kommt, machst du ne neue Tabelle? Ist blöd, oder? Einfach verwerfen diese Idee!

Zitat:
Ich bin von deinem Vorschlag ausgegangen.
Ähm, in meine, Vorschlag wurden Produktgruppen noch gar nicht berücksichtigt. Du hast sie erst ins Spiel gebracht, allerdings ohne eine Verbindung zu den Eigenschaften herzustellen. Weshalb ich dich zunächst gefragt habe, welche Rolle die Gruppen in diesem Zusammenhang hier spielen und nachdem du klar gemacht hast, dass das eine Voraussetzung für die Zuordnung sein soll, habe ich dich darauf hingewiesen, dass jedoch keine Zuordnung zwischen Gruppen und Eigenschaften stattfindet. Diese solltest du also hinzufügen. (Wie habe ich auch schon angedeutet. )

Zitat:
Ich dachte über die Verknüpfung der Tabelle "werte" und "produkte" bekomme ich dann die Gruppe + Eigenschaften.
Das ist die falsche Richtung. Versuch das ganze doch mal zu implementieren (zumindest im Kopf), dann merkst du hoffentlich an welcher Stelle du stecken bleibst.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #15 (permalink)  
Alt 17-06-2011, 18:16
lx-club
 Registrierter Benutzer
Links : Onlinestatus : lx-club ist offline
Registriert seit: Nov 2003
Beiträge: 846
lx-club ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

also irgendwie steht ich grad auf dem Schlauch.
Ich komme nicht klar mit der Zuordnung Gruppe->Eigenschaft bzw. Produkt->Eigenschaft.
Aber du hast vorhin das Beispiel mit der Bildschirmdiagonale angesprochen, also fehlt noch die Tabelle mit den Zuordnungen. Nun kann man auch die Eigenschaft "bildschirmdiagonale" 2 Produktgruppen zuordnen.
-produktgruppe_eigenschaft(produktgruppe_id,eigenschaft_id)

und hier dann der Rest:
-produktgruppe (id,name)
-produkt(id,produktgruppe_id,titel usw...)
-eigenschaft (id, name)
-wert (produkt_id,eigenschaft_id,value)

Wäre das so ok?
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mysql Ausgabe problem, supplied argument is not a valid MySQL result thx-sound PHP Developer Forum 38 28-05-2009 17:55
WAMP Win/ME MySQL Error: #2003, Cant connect to MySQL server on localhost (10050) hand Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 6 12-11-2007 00:10
Cachen von MySQL-Abfrage, Ergebnissen, HTML-Seiten und -teilen mit PHP und MySQL Lennynero BRAINSTORMING PHP/SQL/HTML/JS/CSS 3 07-09-2007 12:24
[MySQL 4.1] tab text to mySQL and mySQL values update batchas SQL / Datenbanken 1 27-02-2007 13:22
[MySQL 4.1] Speicherung von Daten MySQL 4.0 vs. MySQL 4.1 ?? lesterlong PHP Developer Forum 20 11-01-2007 08:11

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

Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

11.10.2018 Berni | Kategorie: PHP/ Anzeigenmarkt
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
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:08 Uhr.