Hirdetés
-
GAMEPOD.hu
Új hozzászólás Aktív témák
-
Silεncε
őstag
válasz
bozsozso #13137 üzenetére
Táblák (disclamer: nem vagyok profi DB-tervező, szóval nem feltétlenül hibátlan):
Termékek táblában mezőnévbe kellene:
Termék kód
Termék név
Termék ár
Anyag kód1
Anyag kód2
sorban folytatva ami megjelenik az anyagok táblábanKód-név-ár: ezek jók, ha ennyit akarsz csak tárolni.
Anyag kód..: na innentől jönnek a bajok. Egy SQL-sémában az oszlopok meg van előre határozva, szóval olyanokat nem tudsz csinálni, hogy egy rekordnak ugyanabban a táblában más oszlopai vannak mint egy másiknak (NoSQL-t meg a többit ne keverjük most ide…). Ennek megoldása lenne, ha például minden anyag kódot felvennél oszlopnak, és amelyik termékben nincs x anyag, annak oszlopa null. Ilyet viszont nem csinálunk (a tábla nagy része NULL-okkal lenne tele + mivel anyagot is szeretnél később hozzáadni, ezért minden egyes anyag hozzáadása után módosítani kéne a termék táblát, új oszlopot hozzáadva, ami megoldható ugyan, de na...). Másik megoldás, hogy csinálsz egy többértékű attribútumot, aminek értékei felsorolva az anyag kódok. Ha nem akarsz SQL-el az anyagkódok között matatni, megoldás lehet, de előfordulhat, hogy túl sok anyagkód kerül egy fieldbe, nem fér bele. Többértékű attribútumokat nem szeretjük, normalizálás első lépése, hogy ezeket kukázzuk.
Szerintem a legjobb megoldás, ha csinálsz egy külön táblát, ahol a termék-anyag kapcsolatokat kezeled, pl:Termék kód
Anyag kódAnyagok táblában mezőnévbe:
Anyag kód
Anyag név
Anyag árEz jó.
Rendelt tábla mezőnév:
dátum
Termék kód1
Termék kód2
stb.
ezt is automatikusan kellene vennie a termékek táblábólEzt hasonlóan csinálnám, mint a legelsőt, illetve a dátumtól függ, de én tennék ide egy ID-t, bár ha mondjuk TIMESTAMP a dátum, akkor az már eléggé egyedi kulcsnak.
Szállított tábla mezőnév:
Egység
dátum
szállítólevél száma
Termék kód1
Termék kód2
stb.
ezt is automatikusan kellene vennie a termékek táblábólEz pedig ua mint az előző
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Canon EOS 2000D gépek, objektívekkel, kiegészítőkkel, (ÚJ /1835 / 4500 / 4000 / 5200 / 600 expoval )
- Bontatlan 3 év garanciális Asus TUF 5090 számlával
- Nintendo Switch OLED 19.0.1 + Android 15, 512GB MicroSD + okositott OLED Atmosphere 3 hó garanciával
- EliteBook 845 14 G10 14" FHD+ IPS Ryzen 5 PRO 7540U 16GB DDR5 512GB NVMe gar
- Ringfit Adventure
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest