Kezdőoldal » Számítástechnika » Programozás » Melyik jobb adatbázisszerkezet?

Melyik jobb adatbázisszerkezet?

Figyelt kérdés

Tegyük fel, hogy van kb. 100.000 bejegyzés egy 7 oszlopos táblában. Minden bejegyzéshez 10 attribútum tartozhat. (Szóval lehet, hogy 0, lehet, hogy 1, lehet hogy 10 stb)


Melyik jobb szerkezet az alábbiak közül:

-Hozzáadunk 10 oszlopot, és mindegyik oszlop valamelyik attribútumnak felel meg. (ha 0 az oszlop értéke, akkor az az attribútum nincs "hozzácsatolva", és azt nem is használjuk úgymond (a sort magát igen))


-Csinálunk egy táblát, amiben 2 oszlop van: Előző táblában lévő sor ID-je, és az attribútum típusa.

Szóval ha az előző esetben pl 1 0 0 1 0 0 0 0 0 1 volt az attribútum mezők értéke, akkor ebben a táblában az előző sorhoz tartoznak azok a sorok (3 db), amikben az ID az előző táblában lévő sor ID-je, és a típusai rendre 1 4 10.

Így nincs felesleges hely foglalva olyan attribútumnak, amivel nem is rendelkezik az adott sor, de cserébe pedig komplexebb a lekérdezés, mert join-t kell csinálni.


Kicsit túlbonyolítottam, de szerintem érthető.

Én úgy vélem, hogy sokkal hatásosabb a második megoldás.


2015. dec. 2. 01:30
 1/7 anonim ***** válasza:

Szerintem nagyon tulbonyolitod, mikozben a tarhelyigeny nem csokken szamottevoen. (Ertekektol fuggoen 1/10 legjobb esetben, legrosszabb: 3-szoros novekedes.)


Legfeljebb nem-sebessegkritikus, tarhelykritikus adatbazisban, megfelelo adatokkal hasznalnam a 2. megoldast. Azonban a jobb kezelok par lekerdezes utan cachelni fogjak a join-t, ami nem biztos hogy a legjobb a tobbi lekerdezesnek.

2015. dec. 2. 01:43
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
100%
A második a jobb egyértelműen, akkor se kellene változtatnod az adatbázis struktúráját, ha több attribútumra lenne későn szükséged.
2015. dec. 2. 09:17
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:

A 2. egyertelemuen jobb.

Megfelelo indexek kialakitasava meg eleg gyors is legy.

2015. dec. 2. 10:07
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

A 2. egyertelemuen jobb.

Megfelelo indexek kialakitasava meg eleg gyors is lesz.

2015. dec. 2. 10:07
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

Attól függ, ha ezek fix attribútumok (a későbbiekben biztos hogy nem lesz semmi új) és hogy egy egy attribútum a rekordok hány százalékánál található meg.


Ha előfordulhat későbbiekben új attribútum, akkor egyértelműen külön táblba.

Egyébként: ha minden attibutum a rekordok nagy részében ki van töltve, akkor sztem egy táblában maradjon.

Ha egy-egy attributum csak kevés rekordban van kitöltve MSSQL esetén utánanézhetsz a sparse columnoknak is.

2015. dec. 2. 10:49
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

"Én úgy vélem, hogy sokkal hatásosabb a második megoldás."

Nem csak hatásosabb, hanem így illik, hogy legalább 2. NF-ben legyen az adatbázis.


[link]

2015. dec. 2. 17:43
Hasznos számodra ez a válasz?
 7/7 anonim válasza:
A 2. az elfogadott megoldás.
2015. dec. 3. 05:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!