SQL kérdések - Szoftverfejlesztés fórum

üzenetek

hozzászólások


OddMan
(őstag)

Nem tudsz egy doksit a neten, ahol egy végtelenül egyszerű példán végig lehetne kísérni a folyamatot? :U


L3zl13
(nagyúr)

Háááát, ha tanultál róluk, akkor ott kellett volna találkoznod példával szerintem. Sajnos nem tudok ilyen doksit, de a gugli talán segíthet.


rollingrock
(csendes tag)

Én sahosem értettem igazán ezeket a normálformás alakokat ezért mindig ''ösztönösen'' úgy készítettem el az adatbázis felépítést ahogy szerintem jó. Aztán kiderült néha hogy így teljesen mégsem jó...

:(((


tildy
(nagyúr)
Blog

Huh tudna valaki segíteni az alábbiakban?

Mi az indexelés?
Mire valók a kulcsok?
Hogy lehet két táblát ''összemergelni''?
mik a DDL, DML, DCL?

Ja és pár relációt is mondajtok már
sürgős!!!

[Szerkesztve]


VladimirR
(nagyúr)

angolul jo? mert akkor index-rol itt talaltam egy leirast => Bővebben: link


tildy
(nagyúr)
Blog

Jó lesz;)


Aaalbi
(tag)

Szia

Ezek benne vannak a legtöbb adb-kezelés könyvben.:))


[Szerkesztve]


tildy
(nagyúr)
Blog

azt tudom, de az nekem pont vidéken - Jászalsószentgyörgyön - van én meg pesten vagyok.
Szal otthon van oracle könyvem...


Nedudgi
(aktív tag)

Indexelés: Alapvetően könnyebbé teszi a keresést mert egy mező szerint sorbarendezi a rekordok azonosítóit (kb).

Kulcsok: azonosítják a rekordokat. Összekapcsolják a táblákat egy táblába idegen kulcs, egy másikban (a kapcsolt táblában elsődleges)

Mergelés, utána kéne néznem mert még nem csináltam.

DDL: Data Definition Language
DML: Data Manipulation Language (SQL az 2in 1:D)

Most látom hogy már egy napos a hozzászólásod, ha kell még segítség vegyél fe ICQ-ra. Segítek szívesen.

Relációk PL:

ADOSOK(azonosito, nev,.....)

KEZESEK(kezes_azon, nev, ados_azonosito....)

KEZESEK.ados_azonosito (idegen kulcs) -> ADOSOK.azonosito (elsodleges kulcs)

Remélem érthető lett:D


guest666
(aktív tag)

Szevasztok, egy SQL lekérdezésre lenne szükségem:
A CIKK tábla tartalma CIKKSZAM, CIKKNEV, CIKKCSOPORT, EGYSEGAR. Feladat: Cikkcsoportonként melyik termék a legolcsóbb ?
Köszi.


Goose-T
(veterán)
Blog

 

select min(EGYSEGAR), CIKKCSOPORT from CIKK group by CIKKCSOPORT

Valahogy így.


guest666
(aktív tag)

Köszi, eddig oké, csak ez sajnos a legalacsonyabb árakat írja ki a feladat pedig hogy a legolcsób terméket írja ki, tehát a legalacsonyabb árhoz CIKKNEV-et, de MS Accesben sehogy tudom kiíratni...


Goose-T
(veterán)
Blog

Ja, akkor valahogy így próbálkozz:


select CIKK.CIKKNEV, MINARAK.AR from
(select min(EGYSEGAR) as AR, CIKKCSOPORT
from CIKK group by CIKKCSOPORT)
as MINARAK
join CIKK on MINARAK.AR = CIKK.EGYSEGAR

Access-el nem igazán lehet ilyesmit összekattintgatni, vagy nagyon nehézkes lenne.

Már 3x kellett átszerkesztenem, hogy rendesen látszódjon...

[Szerkesztve]

sky77
(aktív tag)

Nothing

[Szerkesztve]


sky77
(aktív tag)

Szerintem az is fontos lenne, hogy abból a cikkcsoportból selectálja ki a legalacsonyabb árnak megfelelőt, amelyik cikkcsoportnak a legalacsonyabb áráról van szó, pl így:

select CIKK.CIKKNEV, MINARAK.AR from
(select min(EGYSEGAR) as AR, CIKKCSOPORT
from CIKK group by CIKKCSOPORT)
as MINARAK
join CIKK on MINARAK.AR = CIKK.EGYSEGAR
and CIKK.CIKKCSOPORT = MINARAK.CIKKCSOPORT


Goose-T
(veterán)
Blog

Igazad van, ezt elfelejtettem. Kár hogy megmondtad, mert így már guest666-nak semmin nem kell gondolkoznia. :)


guest666
(aktív tag)

THX !
Elég komoly lett :) pedig milyen egyszerűnek tűnt...


sky77
(aktív tag)

Lehet, hogy mire beírtam, ráébredt magától ;)


jeszi
(tag)

Sziasztok!
(Gyenge vagyok sql-ben)
Van egy lekérdezés egy Access adatbázisban:

SELECT O.ORVOS_ID, O.VEZNEV1, O.KERNEV1_1, O.KERNEV1_2, I.INTEZMENY_NEV, I.IRSZ, I.TELEPULES, I.CIM, OIS.TELEFON1, OIS.TELEFON2, OIS.MELLEK, ORR.MEGYE, ORR.ORSZAGRESZ
FROM ORVOS AS O, INTEZMENY AS I, ORVOS_INT_SW AS OIS, ORVOS_SZAKVIZSGA_SW AS OSS, SZAKVIZSGA AS SZ, TELEPULES AS T, ORSZAGRESZ AS ORR
WHERE O.ORVOS_ID=OIS.ORVOS_ID And OIS.INTEZMENY_ID=I.INTEZMENY_ID And O.ORVOS_ID=OSS.ORVOS_ID And OSS.SZAKVIZSGA_ID=SZ.SZAKVIZSGA_ID And I.TELEPULES=T.TEL_NEV And T.MEGYE=ORR.MEGYE And SZ.SZAKVIZSGA=PSZAKVIZSGA AND O.ACTIVE = 1
AND O.ORVOS_ID NOT IN
(SELECT E.ORVOS_ID FROM EREDMENY E
WHERE E.EREDMENY_TIP_ID IN (11, 12, 13))
ORDER BY ORR.ORSZAGRESZ, ORR.MEGYE, I.TELEPULES, I.CIM;


Ez borzasztó lassú, valahogy optimalizálni szeretném ezt a lekérdezést (vagy az adatbázist).
Tudna valaki segíteni? Az adatbázisról készítettem egy képet (táblák, kapcsolatok), azt el tudom küldeni e-mail-ben.


sky77
(aktív tag)

Ezt így hirtelen kicsit nehéz átlátni... Talán jobb lenne előről kezdeni a lekérdezést, úgy, hogy elmondod, mi a feladat (milyen adatokat szeretnél visszakapni) és ehhez milyen táblák (ill. mezők) állnak rendelkezésre. Biztosan lehetne ezt is optimalizálni, de valahogy nem visz rá a lélek, hogy átbogarásszam.

üzenetek