Viac ako 50 rôznych kategórií, ktoré majú 50% atribúty. Ako vytvoriť všetky tieto tabuľky efektívne v sql databáze? [zatvorené]

0

Otázka

Vo veľkých systému, analýzou databázy, tam sú asi 50 rôznych kategórií v požiadavkách, ktoré by mali v podobe tabuľky.

Každá kategória má mnoho atribútov - stĺpy-všetky tieto kategórie má rovnaké 50% stĺpcov. Napríklad, každá kategória má (id, názov, dátum, štátu, admin, odd), všetky kategórie majú tieto atribúty, ale každá kategória má svoje vlastné atribúty, ktoré sa od seba líšia, sú asi 3 - 5 atribúty.

Teraz, ako ich zastupujú vo fyzickej databázy napríklad tabuľky? Jedna tabuľka, alebo tabuľky pre každú kategóriu, čo o zbytočnosti?

sql sql-server
2021-11-24 02:49:24
2

Najlepšiu odpoveď

3

Záleží na tom, čo presne chcete dosiahnuť.

Ak je vaším hlavným záujmom je miesto na disku, by som odporučil, aby zvážili, vytvoriť stĺpce, s stĺpci nastaví ako možnosť, ak je to potrebné. V tomto scenári, môžete dať všetky tieto subjekty do jedného fyzikálne tabuľky, s povinné atribúty sú normálne stĺpce a špecifické atribúty sú deklarované ako riedke.

Ak uvažujete o normalizuje model, ktorý by odstránil väčšinu údajov anomálie, typické riešenie je supertype-podtypu hierarchie. Hlavná tabuľka obsahuje len tie atribúty, ktoré sú záväzné pre všetky subjekty, a dieťa tabuľky obsahujú len hlavné tabuľka " identifikátor a atribúty špecifických do tejto konkrétnej kategórie. Všetky dieťa tabuľky odkaz "supertype" tabuľka cez cudzie kľúče.

Niekedy, v závislosti od oblasti, zložitejší model s ďalšími "hniezdenie" úrovne môže byť zamestnaný. Môžete myslieť na to, ako trieda hierarchie dedičnosti - analógia je veľmi blízko, skutočne.

Samozrejme, ako (a iné) prístupy majú svoje silné a slabé stránky, takže by ste mohli potrebovať, čítať až na predmety a urobiť výber.

2021-11-24 03:16:08
-1

Ako niektoré atribúty platia len pre niektoré kategórie, ktoré si môžete myslieť Jednotka-Atribút-Hodnota model, pre ukladanie kategórií.

Existuje viacero spôsobov, ako zastupujúcich EAV modely v databáze. Môžete sa obrátiť na nižšie článku: https://inviqa.com/blog/understanding-eav-data-model-and-when-use-it

EAV model spôsob uloženia údajov prichádza s jeho vlastné výzvy, ak máte dotaz na databázu. Tak, pozrite, či to bude vyhovovať vašim potrebám, pred výberom rovnaké.

2021-11-24 03:29:20

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................