Lude: Bewertung der fertigen Struktur

Beitrag lesen

Hi,

meine folgenden Anmerkungen sind "ideologischer" Art.

tbl_categories:

Mir gefaellt die Praefix 'tbl_' nicht. Besser 'CATEGORIES'.

//Zeigt Kategorien für Produkte, wird für die History-Funktion //benötigt

'<Beschreibung>Zeigt welche Produkte zu welcher Zeit welcher Kategorie zugeordnet sind oder waren.</Beschreibung>'

+---------------+------------------------+
| categories_id | name                   |
+---------------+------------------------+
|             0 | Notebook               |
|             1 | Notebook CD-RW/DVD-ROM |
+---------------+------------------------+

'categories_id' ist nicht gut, besser 'Category_ID'. 'name' ist nicht gut, bssser 'Category_Name'.

tbl_options

Tabellenname nicht OK, s.o..

//Zeigt alle Produktoptionen für eine Produkt(Zubehör)

'<Beschreibung>Haelt Optionen, auf die von den Produkten verwiesen wird.</Beschreibung>'

+-----------+----------------------------------+---------------+-----------+
| option_id | name                             | categories_id | states_id |

Datenfeldnamen nicht OK, s.o..

+-----------+----------------------------------+---------------+-----------+
|         2 | IBM ThinkPad CD-RW/DVD-ROM Combo |             1 |         1 |
|         1 | IBM ThinkPad DVD-ROM Combo       |             1 |         2 |
+-----------+----------------------------------+---------------+-----------+

tbl_products

Tabellenname nicht OK, s.o..

//Zeigt alle Produkte

'<Beschreibung>Haelt die Produkte und bildet soz. die Haupttabelle, um die sich andere Tabellen scharen.</Beschreibung>'

+-------------+------------------+---------------+-----------+
| products_id | name             | categories_id | states_id |

Datenfeldnamen nicht OK, s.o..

+-------------+------------------+---------------+-----------+
|           1 | IBM ThinkPad T40 |             0 |         2 |
|           2 | IBM ThinkPad R50 |             0 |         1 |
+-------------+------------------+---------------+-----------+

tbl_products_options

Bsserer Name 'RELATIONS_PRODUCTS_OPTIONS'.

//Ordnet den Produkten bestimmte Optionen zu
+---------------------+-------------+------------+
| products_options_id | products_id | options_id |
+---------------------+-------------+------------+
|                   1 |           1 |          1 |
|                   2 |           2 |          2 |
+---------------------+-------------+------------+

Bessere Namen:
'Relation_Products_Options_ID' statt 'products_options_id'
'Relation_Product_ID' statt 'products_id'
'Relation_Oprion_ID' statt 'options_id'

Anmerkung: Es ist zu ueberlegen, ob die Historisierung der Beziehung zwischen der Tabelle 'PRODUCTS' und der Tabelle 'OPTIONS' nicht anders realisiert werden kann. (Beispielsweise ueber eine zweite DB mit dem namen 'DB_HISTORY'. ;-).

tbl_states

Tabellenname nicht OK, s.o..

//Zeigt die verschiedenen Zustände

'<Beschreibung>Haelt Stati...</Beschreibung>'

+-----------+---------------------+
| states_id | name                |

Datenfeldnamen nicht OK, s.o..

+-----------+---------------------+
|         0 | Test                |
|         1 | Aktuelles Sortiment |
|         2 | Bestand             |
|         3 | Liquidation         |
+-----------+---------------------+

Erklärungen:
-Ein Produkt kann keine, eine oder mehrere Optionen haben.
-In einer Kategorie gibt es Produkte und Optionen in den verschiedenen Stati
-Kommt ein Nachfolgeprodukt, verschieben sich die Stati der anderen Produkte um eins nach Hinten.

Moeglicherweise habe ich die Beziehungen der Tabellen nicht verstanden, kannst Du vielleicht ein DB-Designdiagramm einbinden?

Gruss,
Lude

--
"Ohne Taschengeld, der Hund nicht bellt."