Kezdőoldal » Számítástechnika » Programozás » Adatok kategóriákba-alkategóri...

Adatok kategóriákba-alkategóriákba szervezése hogyan? (bővebben lent)

Figyelt kérdés

Van egy szövegfájl, adatokkal.

Az adatok programmal jól feldolgozhatóak, kezelhetőek, rekordokba szervezhetőek.

Minden adatról a következő van:

- név

- gyártó

- Főkategória és alkategóriák, esetenként több is


Alkategóriából több is lehet, nagyon sok.


Olyan adatbázist szeretnék építeni ezekből, amelyekben az adatok kategóriánként és alkategóriánként is lehívhatóak.

Az lenne a jó, ha a beolvasás során lenne feltöltve és kialakítva az adatbázis.

Az adatok száma tízezernél is több.



Ki miképpen állna neki ennek?


Gondolok itt adatmodellre stb...

Én - csak Pascal-ban tudok - de a feladat megoldható, a Free Pascal semmit sem limitál.

Egy tömböt hoztam létre a kategóriáknak.

Másik tömbben pedig lenne az adott termék neve, gyártója meg - valamiféle mutatók - amelyek a "megfelelő kategóriákra és alkategóriákra mutatnak"...


Erre nem igazán van ötletem.


Az adatmodellt ezek alapján felvázolnátok (mondatszerű leírással, csak a rekord-szerkezetet), miképpen csinálnátok?



2023. máj. 7. 09:56
 1/8 anonim ***** válasza:

Én egy egyszerű sqlite adatbázist javasolnék négy táblával.

Kategóriák

Alkategóriák (kapcsolva a kategóriákhoz)

Termék

Alkategória-termék kapcsolatok

2023. máj. 7. 10:09
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

A legfontosabbat kifelejtetted.

1. Hány adat, hány rekord várható? Kétszáz, ezer, tízezer?

2. Milyen műveletek végrehajtása esedékes az adatbázison?


A rekordszerkezet meg,

név: string

gyártó: string

kategoriák: array of string // dinamikus tomb


De sztem, ha magas a rekordok száma, akkor jobban járnál egy (relacios) adatbázis kezelővel.

2023. máj. 7. 10:13
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:

Köszönöm a válaszokat.

Több mint tízezer rekord várható. Húszezer azért nem lesz.

A lekérdezések például: adott kategóriában és alkategóriákban milyen termékek találhatóak, adott termék neve alappján a hozzátartozó főkategóriák és alkategóriák lekérdezése.


Én is így álltam neki (kategoriak "array of string" csak külön táblába tettem.


Amit 1. hozzászóló javasolt: Biztosan SQL segítségével könnyebben-gyorsabban-szebben oldható meg, csak nem értek hozzá. :)

2023. máj. 7. 10:21
 4/8 anonim ***** válasza:

Ha a tízezer rekordra nem jut túl sok egyidejű lekérdezés, akkor adatbázis kezelő nem is feltétlenül fog kelleni.


Létre kell hozz egy tipust (rekordszerkezetet). Ebből a tipusból kell deklarálnod egy statikus tömböt (mivel a dinamikus esetleg enné a procit meg a RAM-ot).

A műveleteket (keresés, szűrés, törlés, stb) meg magadnak kellene megírni, de nem egy eget rengető feladat ez, még egy kezdőnek sem.


A string tipusát is meg kell válaszd, hogy mondjuk short string, ansistring, widestring, vagy vmi más. Nem tom, ékezet kell-e?

2023. máj. 7. 10:51
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

A lekérdezés/törlés/stb nem probléma.

A termékekhez tartozó kategóriák-alkategóriák "hozzákapcsolása", a táblák egymáshoz történő viszonya/összekapcsolása tehát az adatok "táblázatba szervezése" aminél úgymond elakadtam.

Ékezetek kellenek, de ezt Free Pascal probléma nélkül oldja meg.

2023. máj. 7. 11:15
 6/8 anonim ***** válasza:

"A termékekhez tartozó kategóriák-alkategóriák "hozzákapcsolása", a táblák egymáshoz történő viszonya/összekapcsolása tehát az adatok "táblázatba szervezése" aminél úgymond elakadtam."


Ha jól sejtem, szerintem neked nem a táblákba szervezéssel, hanem a relációk kialakításával van gondod. Sajnos ehhez konkrétumok ismerete nélkül (mit szeretnél mihez hozzákapcsolni) nem tudok hozzászólni.

2023. máj. 7. 11:22
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:

Igen, igazad lehet, valóban, a táblák közti relációk a probléma.


Vannak termékek és főkategóriák és alkategóriák. Minden termék esetén van ilyen.

Olyan termék is van, melynek csak egy főkategóriája és egy alkategóriája van, de olyan is, melynek egy főkategóriája és 3 alkategóriája.

2023. máj. 7. 11:36
 8/8 anonim ***** válasza:

Egy relációs adatbázisban lenne egy kapcsoló tábla, aminek két oszlopa lenne, kategória ID és termék ID, ez egy több-több összerendelés lenne a kettő között. Pl:

34 | 54

34 | 67

stb. És lenne külön tábla a kategóriáknak, ahol lenne a kategória neve és az ID-je, meg a termékeknek, ahol lenne a termék tulajdonságai meg az ID-je. Amikor a fájlt beolvasod, akkor dinamikusan tudnád az ID-ket létrehozni, és kitölteni a kategória-termék összerendelést.


Egy lekérdezés, hogy pl. az egyik kategóriában milyen termék van úgy nézne ki, hogy először kiszeded a ketegória ID-jét, majd a kapcsolótáblában kiszeded az összes olyan sort, ahol bal oldalt ez az ID van, és azok jobb oldalából visszakeresek a terméket


Ezt meg tudod csinálni kézzel is, de adatbázis kezelővel is.


Illetve ez egy megoldásfajta, van más is, ha ez nem tetszik

2023. máj. 7. 12:58
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, 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!