[mysql] foreign keys

Pagina: 1
Acties:

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 23:49

BierPul

2 koffie graag

Topicstarter
In hoeverre zin foreign keys nu bruikbaar in mysql, en wat zijn nou eigenlijk echt de voordelen :?

Ja man


  • Grum
  • Registratie: Juni 2001
  • Niet online
niet, ze bestaan niet in mysql :)

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Voordelen zijn dat integriteit kan worden afgedwongen, op database niveau

Verwijderd

Je bedoelt 'foreign key constraints'.

Een foreign key constraint controleert of een waarde die je in een tabel plaatst als foreign key wel een waarde is die als key in de gerelateerde tabel is opgenomen.

Voorbeeld in een forum:
Tabel User, PK UserID, tabel Post, PK PostID, FK UserID. Als je dan in Post een insert doe met een UserID waarde die niet in de tabel User voorkomt krijg je een error.

Verder kun je ook de betrouwbaarheid van je gegevens bewaken. Stel dat een user verwijderd wordt, maar hij heeft nog wel posts, dan kan je ervoor kiezen dat er ofwel een foutmelding wordt gegeven, ofwel een 'cascade delete' plaatsvindt, dus dat alle gerelateerde records in Post verwijderd worden.

MySQL ondersteunt echter geen van dit alles, dus je zult in je code heel goed dit soort situaties moeten afvangen.

HTH :)

  • BierPul
  • Registratie: Juni 2001
  • Laatst online: 23:49

BierPul

2 koffie graag

Topicstarter
THNX X het is me helemaal duidelijk :7

Ja man


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
cascading deletes are evil.

Verwijderd

Op donderdag 05 juli 2001 16:20 schreef raptorix het volgende:
cascading deletes are evil.
/me lol

Jah, eigenlijk wel ja. Maar ach, soms voldoet het prima, en voegt een 'nette' oplossing niets toe.

  • Martin Sturm
  • Registratie: December 1999
  • Laatst online: 10-09 23:27
Het is soms wel handig als je aan het devven bent, maar daarna heb je imho niet echt veel aan foreign keys..

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 05 juli 2001 16:20 schreef raptorix het volgende:
cascading deletes are evil.
Alleen als je een foutje maakt :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • -=marauder=-
  • Registratie: Februari 2000
  • Laatst online: 01-09 22:40
ik heb die foreign keys dus volgens mij nodig.
tenminste zoals ik mijn datrabase op papier heb staan. hoe omzeil ik dit probleem?
(heb helaas alleen ervaring met access, en daarin kan ik een dynamic lookup in doen. toen heb ik het erd uitgeprint en wilde ik in mysql zetten. maar dat werkt geloof ik niet zo :()

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 27-08 13:53

chem

Reist de wereld rond

waarom in vredesnaam in zo'n oude topic??

de enige manier waarmee je het kan omzeilen is door in je software zelf alle checks uit te voeren.

Klaar voor een nieuwe uitdaging.


  • Anders
  • Registratie: December 2000
  • Laatst online: 24-08 18:29
Op vrijdag 06 juli 2001 09:09 schreef Martin Sturm het volgende:
Het is soms wel handig als je aan het devven bent, maar daarna heb je imho niet echt veel aan foreign keys..
Tsja, je kunt bij het devven natuurlijk met hele lappen code dezelfde referentiële integriteit bewerkstelligen, het kost je alleen veel extra werk. Bovendien is een slot achter de deur altijd wel zo prettig.

Ik spoor veilig of ik spoor niet.

Pagina: 1