phpbar.de logo

Mailinglisten-Archive

[php] Eine Tabelle oder besser relational

[php] Eine Tabelle oder besser relational

Markus Laux php_(at)_phpcenter.de
Sun, 06 Jan 2002 15:48:05 +0100


Hallo Theo!

Hans Theo Mislisch wrote:

> Na wenns nur 25 Module für seine Software gibt, kann er nicht
> 26  kaufen.  Die  Freischaltcodes  passen  nur zu einer
> einmaligen   Registriernummer.   Für  jedes  Buch  ein
> Freischalt-Code. Derzeit eben 25.

Ich wußte nicht, dass 25 die maximale Anzahl Bücher ist. Aber dennoch finde
ich die Lösung mit der 25-Spalten Tabelle nicht sauber und unnötig.

> Bis jetzt ist die Anzeige ja so:
>
> Seriennummer:  463m409dxv87
>
> Buchtitel 1    7834n52k
> Buchtitel 2    - nicht freigeschalten -
> Buchtitel 3    887h4o9d
>
> Also   eine  komplette  Auflistung  aller 25 Bücher mit
> Buch-Titel.  Wenn  ein  Buch  noch nicht freigeschalten
> wurde,  wird  ein Standarttext angezeigt und eben keine
> Freischaltnummer.
>
> Wenn  ich  es  nun so mache wie Du vorschlägst, und das
> wäre ganz praktisch, wie bekomme ich dann die Buchtitel
> zum Freischaltcode?
>
> Dann  müsste  ich  in die Purchased Tabelle ja auch die
> Buchnummer  (ID)  aufnehmen,  denn  bei meiner jetzigen
> Tabelle  weiss  ich ja, was für ein Buch das ist anhand
> der Spaltennummer.

Ja genau, das müßte man machen.
Aber wie kommst Du bisher auf den Buchtitel anhand der Spaltennummer? Benützt
Du dazu auch eine extra Tabelle mit BUCH_ID und BUCH_TITEL?

> Seriennummer;Freischaltcode;Buch ID
>  463m409dxv87;887h4o9d;3
>  463m409dxv87;215d5472;2
>  2366k4m2b45d;2546d694;1
>  463m409dxv87;6d694254;20
>
> Würdest  Du  hier  nur die Buchnummer aufnehmen und den
> Buchtitel aus einer anderen Tabelle holen, oder würdest
> Du   je  Datensatz  den  Buchtitel  immer  gleich  mit
> abspeichern?

Also ich würde eine extra Tabelle Bücher machen, in der Du die 2 Spalten
BUCH_ID und BUCH_TITEL hast, um die Normalformen nicht zu verletzten.

Somit speicherst Du jedesmal wenn ein Kunde ein FSC für ein Buch kauft
folgendes in der Purchased Tabelle ab:

SN;FSC;BUCH_ID

Dann kannst Du mit INNER JOIN die beiden Tabellen bei der Abfrage verknüpfen,
sodass Du die jeweiligen Bücher zu der jeweiligen SN gelistet bekommst, für
die FSC's vorhanden sind.

Aber auf keinen Fall würde ich den Buchtitel mit in die Purchased Tabelle
nehmen, da diese Titel ja öfters wieder vorkommen und so unnötig oft
gespeichert werden würden.


Gruß, Markus


php::bar PHP Wiki   -   Listenarchive