sql >> Database teknologi >  >> RDS >> Mysql

Sådan håndhæves unikke på tværs af flere tabeller

Du har ret - #1 er den bedste mulighed.
Ja, jeg ville stille spørgsmålstegn ved det ved første øjekast (på grund af genvej), men at kende forretningsreglen for at sikre, at en medarbejder kun er relateret til én virksomhed - det giver mening.

Derudover ville jeg have en fremmednøgle, der relaterer firma-id'et i medarbejdertabellen til firma-id'et i kontortabellen. Ellers tillader du en medarbejder at være relateret til en virksomhed uden kontor. Medmindre det er acceptabelt...

Triggere er en sidste udvej, hvis forholdet ikke kan påvises i datamodellen, og servicering af logikken fra applikationen betyder, at logikken er centraliseret - der er ingen mulighed for, at dårlige data kan opstå, medmindre nogen slipper begrænsninger (hvilket betyder, at du har større problemer ).



  1. Rekursiv i cakephp3?

  2. Hvordan undslipper man strenge i PDO?

  3. Indstilling af en værdi for LIMIT, mens du bruger masseindsamling

  4. Opdater forespørgsel baseret på tilstand