Kezdőoldal » Számítástechnika » Programozás » Egy SQL adatbázisban hogyan...

Egy SQL adatbázisban hogyan lehet megállapítani, hogy mely tábla, mely oszlopa tartalmazza az adott adatot?

Figyelt kérdés

Adott egy SQL adatbázis. Egy adott cikkszámhoz sok megnevezés tartozik.

Van egy táblázatom: Ár, Megnevezés

Ehhez kéne cikkszámot találnom, de nem világos, hogy a 30-40 megnevezés oszlopból melyikben van a táblázat szerinti megnevezés (egy oszlopból veszi, de az a kérdés, hogy melyikből),



#SQL #Béna adatbázis #nagy adatbázis
2018. aug. 26. 17:47
 1/10 anonim ***** válasza:
29%

What?

Ki tervez ilyen adatbázist?

2018. aug. 26. 18:03
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:

Hát ez tényleg elég béna adatbázis. ':D szerintem sokkal gyorsabb és hosszú távon könnyebben fenntartható lenne átalakítani az adatbázist. Szerintem egy query-vel nem is oldható meg. Max ha az information schema alapján végigiterápsz az oszlopokon és megnézed egyesével, hogy az adott oszlop tartalmazza e az értéket.

De mint mondtam ez nagyon rossz így. Inkább alakítsd át az adatbázist, hogy az egyik táblában legyenek az item adatai megnevezés nélkül és egy másik táblában csak a megnevezések úgy, hogy foreign key-jel referálnak az item táblázat id-jeire. Hosszú távon és több adattal meg fogja hálálni a rendszer azt a fél óra-óra befeketett munkát amég átköltözteted.

2018. aug. 26. 18:08
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:

Ez egy ügyviteli rendszer adatbázisa rengeteg "az idők folyamán kialakult" megoldással. Csak olvasási jogom van rá.

A sok név sajnos indokolt. A "fapados" elképzelésem valami ilyen:

select cikkszam from tab1 where nev1='nev' or nev2='nev'....


Ha nincs jobb ez marad

2018. aug. 26. 18:57
 4/10 anonim ***** válasza:
Tudom, hogy sok ide kommentelő szemében ez eretnekség, de ugye ott kell legyen a dokumentáció...
2018. aug. 26. 19:27
Hasznos számodra ez a válasz?
 5/10 anonim ***** válasza:

Hát részvétem, hogy ilyennel kell dolgozz. :D

A where nev1='asd' or ... megoldás megteszi, ha nem kell a runtime alatt tudnod, hogy pontosan melyik oszlopból van. Sok sikert!

2018. aug. 26. 19:29
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:
CONCAT_WS() függvény és LIKE
2018. aug. 26. 23:42
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

Ha csak egy kicsit is tisztességesen volt tervezve, akkor maguknak az oszlopoknak vannak kommentjeik, hogy mire valók.


A tervezőnek három eszköze van, hogy tudassa veled, mi mire jó:

- tisztességes oszlopnevek

- oszlopokhoz és táblákhoz fűződő kommentek, amelyek az adatbázis szerkezetében tárolódnak

- dokumentáció

- személyes közlés (ez azért három, mert a negyedik már nem a normális eszközök közé tartozik, de ki lehet próbálni, ha minden kötél szakad)


Ha egyik sem áll rendelkezésedre, akkor marad a nyomozás. Elkezded összehasonlítani a táblázattal, belenézel a kezelőprogram forrásába stb. Konkrétabb ötleteket konkrétabb tények alapján lehetne mondani. Ha van mondjuk egy Excel-táblázatod a megnevezésekkel, akkor csinálsz a tábládból egy exportot (select * from tábl limit 1000), és Excelben nekilátsz összehasonlítani.

2018. aug. 27. 07:39
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
Egyébként ha értesz hozzá, akkor harcold ki a jogosultságokat, és ess neki átalakítani. Pár év alatt elég csinos rendet lehet csinálni egy ilyen szemétdombon.
2018. aug. 27. 07:41
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:

Köszönöm a válaszokat. Végül egy egész más megoldás született. A progiból ki lehet exportálni az adatokat, amivel tudok dolgozni.

Alapvetően nem rossz az adatbázis, de mindig van olyan 10001. adat, aminek a megtalálása kihívás. A gyártó az adatok kiadásában nem érdekelt, mert a kimutatásokat kicsit más áron csinálja, még úgy is, hogy nekem sokat kell nyomoznom...

2018. aug. 27. 10:45
 10/10 anonim ***** válasza:
72%
Tessék utána olvasni a normálformáknak! Ezt a táblát kicsit normalizálni kéne.
2018. aug. 27. 18:46
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!