phpbar.de logo

Mailinglisten-Archive

Tabellen zusammenfassen
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Tabellen zusammenfassen




Hallo Liste,

für ein Projekt stehen nun nach fast einjährigem Bestehen der Website
grössere Umbauarbeiten an, da das Projekt mit der Zeit immer weiter
gewachsen ist und auch die MySQL Datenbank immer wieder neue Tabellen
bekam. 

Mittlerweile habe ich in meiner MySQL DB fast 30 Tabellen und viele
sind sehr ähnlich aufgebaut. Ich möchte diese ähnlichen Tabellen nun
irgendwie zusammenfassen, um mir auch bei den Skripten in PHP
überflüssige Arbeit zu ersparen. 

Die Tabellen, die ich gerne zusammenfassen würde, sind mehr oder minder
wie folgt aufgebaut. Hier nur zwei Beispiele.

Tabelle 1 (Kategorien):
=======================
kat_id          int(8) 
kat_vati        int(8) 
kat_name        varchar(32) 

Tabelle 2 (Regionen):
=====================
reg_id          int(8) 
land_id         int(8) 
reg_name        varchar(32) 

Es gibt immer einen eindeutigen Primärschlüssel (kat_id, reg_id), eine
Bezeichnung (kat_name, reg_name) und eine ID, die entweder auf eine
andere Tabelle verweist (Tabelle 2, land_id) oder auf einen anderen
Eintrag aus der selben Tabelle (Tabelle 1, kat_vati). Die zweite ID
verweist im Prinzip immer auf einen hierarchisch übergeordneten Eintrag
aus der gleichen bzw. einer anderen Tabelle. 

Diese neue Tabelle, die alle möglichen Tabellen zusammenfassen soll,
stell ich mir in etwa so vor:

Tabelle neu:
============
kat_id          int(8) 
kat_vati        int(8) 
kat_name        varchar(32) 
kat_typ         int(2)

Hierbei kann kat_typ z.B. eine 1 für Kategorien oder ein 2 für Regionen
aufnehmen. Auf den kat_typ würde ich natürlich einen Index setzen usw.
Diese Tabelle würde natürlich um einiges voller werden.

Gibt es hierbei evtl. Performanceprobleme, wennn sehr viele lesende
Vorgänge parallel auf diese Tabelle zugreifen, auch wenn immer mit
einem indizierten kat_typ gelesen werden würde?

Wenn bei einem kat_typ auch andere Felder benötigt werden, z.B. Counter
oder ein Datum, welche nicht für alle kat_typen gebraucht werden,
sollte man diese lieber doch in einer anderen Tabelle verwalten?

Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt, und
wäre für ein paar Meinungen von euch sehr dankbar.

Gruss,

        Ralf

-- 
__________________________________________
 In-Greece.de - die Griechenlandcommunity
_______ http://www.in-greece.de/ _________

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive