sql >> Databáze >  >> Database Tools >> phpMyAdmin

Databázové vztahy pomocí phpmyAdmin (složené klíče)

Hodnoty NULL

To také znamená, že položka bude mít 5 ID včetně svého. To vše způsobuje hodnoty null (zřejmě velké ne ne, čemuž rozumím), protože pokud jsou místo a cena volitelné a nejsou použity u jedné položky tabulky položek, budu tam mít hodnotu null

Osobně si myslím, že toto je jedna situace, kdy NULL hodnoty jsou perfektní a rozhodně bych nepochyboval o tom, že to začlením do návrhu své databáze.

Jedním ze způsobů, jak jsem viděl ostatní dosáhnout stejné věci bez NULL hodnot je vytvořit záznam ve volitelných tabulkách (místo a cena ve vašem příkladu) s ID 0, což znamená, že neexistuje žádný související záznam - ale vývojáři aplikace tyto záznamy odfiltruje jen 10krát více práce - je mnohem snazší provést spojení a pokud nedostanete zpět žádné záznamy, ve volitelné tabulce nejsou žádné související záznamy.

Jen nezapomeňte udělat LEFT nebo RIGHT OUTER připojit, pokud chcete vrátit Item s bez ohledu na to, zda mají Place nebo Price přidružené (dostanete NULL hodnoty ve volitelných sloupcích tabulky pro Item s, které nemají přidružené záznamy) a INNER připojte se pouze chcete Item to dělá mít přidružený volitelný záznam.

Složené klíče

Složený klíč je klíč v tabulce, která se skládá z více než jednoho sloupce. Pokud každý z vaší Person , Item , Place a Price všechny mají ID (i když je to jen automaticky se zvyšující číslo), nebudete potřebovat složený klíč – pouze sloupec primárního klíče v každé tabulce a sloupec cizího klíče v Item tabulka pro každou související tabulku - např. item_id , person_id , place_id , price_id . Uvedete, že Item má své vlastní ID, takže byste neměli potřebovat složený klíč – stačí primární klíč na item_id sloupec.




  1. Použít PHP k formátování vstupního SQL dotazu jako HTML?

  2. Jak vyžadovat SSL pro všechny vzdálené uživatele

  3. Najít uloženou proceduru podle názvu

  4. Získání XML pro vstup do SQL Server tabulky