Mailinglisten-Archive |
On 12-Jul-2001 Eric Beer wrote:
> hi there
>> >
>> > welche Felder in einer DB sollte ich mit einem INDEX belegen ??
>> >
>>
>> Aufgrund langjähriger Erfahrungen empfehle ich dir einen "sauberen"
>> DB-Design, wo du insbesondere alle PRIMARY und FOREIGN KEYS richtig
>> definierst.
>
> der primärschlüssel ist mir ja noch klar. aber wozu sollte man
> fremdschlüssel definieren? die relation zwischen den tabellen erzeuge ich ja
> in der abfrage unter einbezug gleicher column-namen!?
warum soll das ein Fremdschlüssel sein? Fremdschlüssel ist das, wo
Fremdschlüssel dabei steht, und nicht weil es zufällig gleiche Spaltennamen
sind.
> falls ich damit richtig liege; ist das auch der grund, dass mysql
> fremdschlüssel gar nicht unterstützt?
Nein, sondern weil Fremdschlüssel nur dann Vorteile bringen, wenn ON
{DELETE|UPDATE} {CASCADE|NO ACTION|SET NULL} unterstützen, weil dann die
referentielle Integrität gewahrt bleibt. Allerdings kostet jede der Optionen
entsprechende Rechenzeit, und ist nicht "unbedingt" erfoderlich, wenn man die
Applikation entsprechend entwirft.
Michael
--
Michael Bergbauer <michael.bergbauer_(at)_gmx.net>
Use your idle CPU cycles.
See http://www.distributed.net and win $ 1 000.
Visit our mud Geas at geas.franken.de Port 3333
---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive