Kezdőoldal » Számítástechnika » Programozás » Hogy lehet csökkenteni az...

Hogy lehet csökkenteni az ismétlődő értékeket?

Figyelt kérdés

Van egy termék adatbázis ahol a termékeknek rengeteg ismétlődő attribútumai vannak ami azért zavaró mert frontend oldalon a termék szűrőben is ismétlődve jelennek meg és az értékek között sem lehet kapcsolatot kiépíteni.

Pl. van egy olyan attribútum, hogy szín, a színnek van 20 értéke ami valójában csak 10 lenne ha nem írnák el pl. a fehér értéket háromféleképpen (fehér, Fehér, FEHÉR) a termék létrehozásánál.

Ez még az egyszerűbb eset mert csak átkonvertálom kisbetűssé az értéket majd megnézem, hogy szerepel-e így az adatbázisba már.

Viszont vannak olyan esetek is amikor egy kötőjel marad ki az értékből és az is 2x szerepel pedig ugyanazt jelentené (pl. PCI Express, PCI-Express).

Ezeknél már a lowercase sem segít.

Próbálkoztam azzal is, hogy az attribútumok értékeit nem lehet csak úgy freetype bepötyögni hanem előre meghatározott értékei vannak és egy legördülő listából kell kiválasztani ha pedig ott nincs az érték amire szükség van, akkor egy kis kitérővel lehet felvinni egy új értéket.

Sajnos ez sem segített mert volt, hogy többször felvitték megint csak ugyanazt az értéket.

Próbálkoztam levenshtein distance-el ha az új érték valamelyik már meglévő értékkel nagyon hasonlít akkor nem felveszi újként hanem használja a már meglévőt ami szintén nem volt jó megoldás mert vannak olyan értékek ahol egy betű vagy szám az eltérés és mégis mást jelent nem pedig elírás.

Létezik még valamilyen megoldás arra, hogy ezeket az ismétlődő értékeket minél nehezebben vagy egyáltalán ne tudják felvenni többször?



2021. máj. 6. 12:24
 1/5 anonim ***** válasza:
49%
Az ilyen anomáliákat már az adatbevitel idején ki kell szűrni és akkor nem okoznak gondot a továbbiakban.
2021. máj. 6. 12:31
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
30%

Bocs, az utolsó mondatokat el sem olvastam.

Hát, ahogy írod is, lower case-esíteni kell és szűrni a kötőjeleket.

A több szavas tulajdonság felvitelét meg tiltani kell, vagy a szóközöket következetesen aláhúzás karakterre cserélni.

2021. máj. 6. 12:35
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:
30%
Az is egy lehetőség, hogy utószűrést végzel az adatbázison. Azt mondjuk nem tudom, hogy mennyire naprakész, időközönként update-elik, de a kevés hiba ugyan rosszabb a nulla hibánál, de még mindig jobb mint a sok hiba.
2021. máj. 6. 12:40
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:
95%

A probléma az, hogy programozással akarod megoldani az emberi ostobaságot. De mivel te nem vagy egy idióta, el sem tudod képzelni, hogy egy hülye hogyan fogja kijátszani az algoritmusodat. Egy oktatás ezeknek a szerencsétleneknek nem csökkentené a hibák számát?

Az attribútumokra ráereszthetnél egy egyszerűbb hash függvényt, pl. legyen kisbetűs, aztán dobja el a szóközt és kötőjelet, akár dobja el az ékezeteket is, és erre alkalmazhatnád a Levenshtein távolságot, de mondjuk csak 4-5 karakteres hossz felett. Nem ismerem az adatbázisodat, de feltételezem hogy hosszabb szavaknál nem túl jellemző a kis távolság. Az új kategória felvételét megnehezítheted, ha van már hasonló. Egész ablakos, piros, felkiáltójeles, stb. figyelmeztetés, hogy van már ilyen meg olyan kategória, biztos, hogy fel akarod venni újra?

2021. máj. 6. 12:43
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
94%

Nagyon idióták tudnak lenni. Régebben egyedi felviteli űrlapot kellett készítenem, egy darab képet fel lehetett hozzá tölteni, persze világosan ki volt írva mekkora lehet max egy kép, meg külön rámentem a hibák az user számára visszajelzésére látványosan, ha valami kötelező mezőt kihagyott, de eleve meg is jelöltem *-al mik a kötelező mezők. Naplózta lettek a szerver felé a kitöltési próbálkozások is. A naplóból derült ki hogy volt olyan idióta is hogy .exe, .docx, .ppt fájlokat próbált feltölteni, próbált feltölteni 20 megánál nagyobb .jpg képet is (fájlméret korlát is meg volt adva, előre is kiírta, utólag is ha nem tett eleget neki akkor konkrétan jól láthatóan kipirosítva hogy túl nagy a fájl, ha nem kép volt akkor azt is egyértelműen jelezte szintén kipirosítva meg mindenféle egyéb hibás input estében is), még feltöltés megkezdése előtt javasript validálta klines oldalon, de ugyanaz a kötelező mezőket is kihagyta, egy óránál is tovább szerencsétlenkedett vele mire feladta. Volt aki nem érette miért nem tud több képet feltölteni az űrlaphoz amikor előre az űrlap kitöltése előtt már világosan oda volt írva hogy "1 darab képet tölthet fel". Volt olyan aki emailt írt hogy szerinte hogy kéne megcsinálni az űrlapot : "email cím" Ide írja be az email címét! stb. A többi mezőt is fikázta, hogy rendes kerek mondatokat kell írni az űrlap kitöltőmezők mellé ahogy általános iskolába tanították a magyar nyelv helyes használatát.


Konklúzió : Én azt javaslom, hogy javítsd ki az adatbázisban. Ha lehet akkor ne engedd meg az usernek új kategória felvitelét : Olyan input mezőt javaslok hogy kezdi begépelni közbe meg szűküljön egy lista hasonlóan mint a böngésző címsorába a már látogatott oldalak, azzal a különbséggel hogy újat ne fogadjon el. Előre legyen meghatározva csomó lehetséges kategória, ne az userekre bízd! Extra : esetleg (ha van rá lehetőség) csak adminok meg advanced userek számára legyen lehetőség bővíteni a listát azt is különböző validálások után engedje nekik a rendszer (ha már van akkor ne ...) !

2021. máj. 7. 00:00
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!