sql >> Databáze >  >> RDS >> Mysql

Jak vynutit jedinečnost napříč více tabulkami

Máte pravdu - číslo 1 je nejlepší varianta.
Samozřejmě, na první pohled bych to zpochybnil (kvůli zkratkám), ale znalost obchodního pravidla, které zajistí, že zaměstnanec je ve spojení pouze s jednou společností - to dává smysl.

Navíc bych měl cizí klíč spojující id společnosti v tabulce zaměstnanců s id společnosti v tabulce kanceláře. V opačném případě umožníte, aby byl zaměstnanec ve spojení s firmou bez kanceláře. Pokud to není přijatelné...

Spouštěče jsou poslední možností, pokud vztah nelze demonstrovat v datovém modelu a servis logiky z aplikace znamená, že logika je centralizovaná – neexistuje žádná příležitost pro výskyt špatných dat, pokud někdo nezruší omezení (což znamená, že máte větší problémy ).



  1. hodnota je příliš dlouhá pro typ znaku proměnlivé (N)

  2. Jak ukládám objednávky?

  3. Výsledky tisku v Pythonu a MySQL

  4. Je možné spustit řetězec v MySQL?