phpbar.de logo

Mailinglisten-Archive

Create Index

Create Index

Franziska mysql_(at)_lists.phpcenter.de
Thu, 12 Jul 2001 21:01:20 +0200


Michael Bergbauer schrieb:
> 
> 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.

Die Vorteile überwiegen aber im Normalfall enorm, weil bei einer
Datenbank-gestützten Applikation die referentielle Integrität eines der
wichtigsten Ziele sein sollte! 

Zudem: Auch MySql wird FOREIGN KEYS gemäss Handbuch in Zukunft
unterstützen! Vgl. dazu: http://www2.little-idiot.de/mysql/mysql-45.html

MfG

Franziska

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive