Hirdetés
- 5.1, 7.1 és gamer fejhallgatók
- OLED TV topic
- Milyen TV-t vegyek?
- Samsung LCD és LED TV-k
- Apple MacBook
- iPad topik
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- Egy androidlánnyal tenné kelendőbbé a GeForce-okat az NVIDIA
- LG LCD és LED TV-k
- Rövid időre leállhat a 8 GB-os GeForce RTX 5060 Ti gyártása
Új hozzászólás Aktív témák
-
nyunyu
félisten
Jaj, itt már a relációs adatmodell alapjai is hiányoznak.
Ahogy tm5 írja, ki kéne tenni a kategóriákat egy külön táblába, amiben van egy category_id, és egy name mező.
Mivel ez pártíz-száz különböző értéket fog tartalmazni, ezen akár még a lájk is működhetne gyorsan, nem fájna annyira, mint egy nagyonnagy táblán.Mivel egy termékhez több kategóriát is szeretnél tárolni, illetve egy kategóriába több termék is eshet, így N:M reláció lesz a termék és a kategória között.
Ennek leképezése úgy történik, hogy csinálsz egy termék_kategória táblát, amibe beleteszed a termék azonosítóját, és a kategória azonosítóját.
Ahány kategóriába tartozik, annyiszor veszed fel ide a terméket, mindig a következő kategória azonosítójával.Lekérdezéskor meg joinolod az id-k mentén a három táblát, valahogy így:
select p.*
from product p
join product_category pc
on pc.product_id = p.id
join category c
on c.id = pc.category_id
where c.name like '%akármi%'
order by p.date desc; -
tm5
tag
Szerintem le kellene ülni és összeszedni, hogy mik az elvárások és az alapján tervezni egy adatbázist, mert most minden posztodban kiderül valami újabb dolog.
A category oszlopot inkább kiraknám egy külön táblába, mondjuk úgy, hogy ha van egy category szótárod (cat_id, cat_name) akkor lenne egy un. junction táblád (tabla_id, cat_id)
és akkor cat_id alapján gyorsan tudnál keresni. Ez esetben lehetne az IN operátort is használni. Kerüljük a redundanciát ha lehet. Egy Microsoft SQL-es MVP már 15 éve azt írta, hogy egy rendes 3. normálformájú adatbázis sokkal jobban teljesít, mint egy redundanciával teli.Én amúgy szeretek kompozit indexek helyett külön indexet használni leggyakrabban keresett oszlopokra. Esetleg megpróbálhatod ezt is.
Új hozzászólás Aktív témák
- Luck Dragon: Asszociációs játék. :)
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Eredeti játékok OFF topik
- 5.1, 7.1 és gamer fejhallgatók
- Automata kávégépek
- CURVE - "All your cards in one." Minden bankkártyád egyben.
- OLED TV topic
- Milyen TV-t vegyek?
- Samsung LCD és LED TV-k
- Milyen NAS-t vegyek?
- További aktív témák...
- HP ProBook 450 G4 // i5-7200U // 4GB RAM // 120GB SSD
- Lenovo ThinkPad P15V Gen2 // i7-11800H // 32GB RAM // 512GB SSD // T1200
- Lenovo ThinkPad T16 Gen2 16" FHD+ IPS i5-1345U 16GB 256GB NVMe SSD gar
- BIOSTAR RX 6900 XT 16GB GDDR6 EXTREME GAMING - Eladó!
- ZOTAC RTX 3070 Ti 8GB GDDR6X AMP HOLOBLACK Eladó!
- 262 - Lenovo LOQ (17IRX10) - Intel Core i7-14700HX, RTX 5070
- Behringer B-CONTROL BCF2000 USB/MIDI kontroller
- Dell XPS 13 Plus 9320 i7-1260P 32GB 512GB 4K+ TouchScreen 1 év garancia
- HIBÁTLAN iPhone 14 Plus 256GB Red-1 ÉV GARANCIA - Kártyafüggetlen, MS4561, 100% AKKSI
- Sapphire Pulse RX 9070XT új, felbontott // Számla // Garabcia //
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

