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

Silné vs slabé entity MYSQL

Jak víte, Slabá entita je tabulka, která nemá primární klíč, ale primární klíč sady slabých entit je tvořen primárním klíčem sady silných entit, na které je množina slabých entit existenčně závislá, plus diskriminátor sady slabých entit.

Vztah mezi slabou entitou a množinou silných entit se nazývá Identifying Relationship. V příkladu uvedeném na obrázku výše je půjčka-platba identifikačním vztahem pro platební entitu. Sada slabých entit je znázorněna dvojitým rámečkem a odpovídající identifikační vztah dvojitým kosočtvercem, jak je znázorněno na obrázku. Dvojité čáry zde označují celkovou účast slabého subjektu v množině silných subjektů, to znamená, že každá platba musí souviset s platbou půjčky na nějaký účet. Šipka od platby půjčky k půjčce označuje, že každá platba je za jednu půjčku. Diskriminátor slabé množiny entit je podtržen přerušovanými čarami, nikoli plnou čarou.

Uvažujme o jiném scénáři, kde chceme ukládat informace zaměstnanců a jejich rodinných příslušníků. Každý zaměstnanec může mít nula až n počet vyživovaných osob. Každý závislý má identifikační číslo a jméno.

Nyní se podívejme na následující databázi:

Existují tři zaměstnanci, kteří mají E# jako 1, 2 a 3.

Nyní v případě, že ID závislé entity nemůže fungovat jako primární klíč, protože není jedinečné.

Závislá je tedy slabá množina entit, která má id jako diskriminátor. Má úplnou účast ve vztahu „má“, protože žádná závislá osoba nemůže existovat bez zaměstnanců (společnost se zabývá zaměstnanci).

Nad e-r diagramem je potřeba vytvořit dvě tabulky. Jedná se o zaměstnance, kteří mají E# jako jeden sloupec, který funguje jako primární klíč. Druhá tabulka bude Závislá se sloupci E#, id a name, kde primární klíč je kombinací (E# a id).



  1. Existuje nějaký způsob, jak zachytit chyby MySQL a databáze v PHP?

  2. Vysvětlení operátora MariaDB MINUS

  3. Přidání polí aliasů MySQL dohromady

  4. Návrh databáze