Az SQL használata a GitHub Copilot használatával
A GitHub Copilot minden típusú kód kezelésére használható, beleértve a népszerű programnyelvek használatát, valamint az SQL-kód írásának, hibakeresésének és optimalizálásának lehetőségét.
A GitHub Copilot az ALÁBBI, SQL-kóddal kapcsolatos feladatokat hajthatja végre:
- Lekérdezés magyarázata: Összetett SQL-lekérdezések magyarázatához használja a Copilotot a logikájuk és szerkezetük jobb megértéséhez.
- Lekérdezésoptimalizálás: Kérje meg a Copilotot a lassú vagy nem hatékony lekérdezések optimalizálására vonatkozó javaslatokat, például a szükségtelen JOIN-ek eltávolítását, a SELECT DISTINCT optimalizálását vagy az alkonfigurálások újrabontását.
- Lekérdezés újrabontása: Kérje meg a Copilot, hogy írja át a lekérdezéseket a jobb olvashatóság vagy karbantarthatóság érdekében, például cserélje le a CROSS JOIN-eket, vagy egyszerűsítse a beágyazott lekérdezéseket.
- Lekérdezések létrehozása: A Copilot új SQL-lekérdezéseket hoz létre az adatkövetelmények alapján, például SELECT, INSERT, UPDATE vagy DELETE utasításokkal.
- Adatérvényesítés: A Copilot segítségével olyan SQL-lekérdezéseket írhat, amelyek ellenőrzik az adatintegritást, vagy meghatározott feltételeket keresnek az adatbázisban.
- Sémafeltárás: Kérje meg a Copilotot, hogy segítsen olyan lekérdezések írásában, amelyek feltárják vagy dokumentálják az adatbázissémát (például táblák, oszlopok vagy kapcsolatok felsorolása).
- Tesztlétrehozás: Kérje meg a Copilototot, hogy hozzon létre SQL-alapú teszteket vagy állításokat a lekérdezés eredményeinek vagy az adatbázis állapotának ellenőrzéséhez.
- Hibakeresés: Kérje meg a Copilot, hogy segítsen az SQL-hibák hibakeresésében, vagy javasoljon javításokat a gyakori problémákhoz (például szintaxishibákhoz, hiányzó indexekhez).
- Parancssor létrehozása: Kérje meg a Copilotot, hogy hozzon létre kéréseket vagy sablonokat a nagy teljesítményű lekérdezések létrehozásához az alapoktól.
A GitHub Copilot jobb eredményeket biztosít, ha a kérések pontosabbak. Ha általános kérdéseket ad meg, valószínűleg általános válaszokat fog kapni. Ha részletesebb választ ad az üzeneteiben, és részletesebb kérdéseket tesz fel, akkor nagyobb valószínűséggel kap részletes válaszokat.
A GitHub Copilot használatával például az SQL-kóddal olyan táblázatot hozhat létre, amely oszlopokat tartalmaz az utónévhez, a vezetéknévhez, a születési dátumhoz, a kedvenc filmhez és a kisállat nevéhez az alábbi üzenet kiadásával:
@workspace Adja meg az SQL-kódot egy olyan táblázat létrehozásához, amely oszlopokat tartalmazott az utónévhez, a vezetéknévhez, a születési dátumhoz, a kedvenc filmhez és a kisállat nevéhez
Sql-t tartalmazó alkalmazás ismertetése
Ha például megnyitott egy kódteret egy SQL-kódot tartalmazó alkalmazással, lekérdezheti a GitHub Copilotot a következő kéréssel, hogy a következő módon többet megtudjon a projektről:
@workspace Kérjük, röviden ismertesse a projekt szerkezetét. Mit tegyek a futtatáshoz?
Az SQL-kód ismertetése
A /explain prompt segítségével megismerheti a kódokat. Egy projekt tartalmazhat például egy complex.sql nevű fájlt, amely az alkalmazásban végrehajtott lekérdezést tartalmazza. A complex.sql tartalmának megértéséhez jelölje ki a GitHub Codespaces Explorer paneljén, majd használja a /explain parancssort a csevegésben.
A teljes fájl kijelölése helyett kijelölheti a kód szakaszait, és megkérheti a GitHub Copilototot, hogy adjon meg részleteket ezekről a szakaszokról.
SQL-lekérdezések optimalizálása és újrabontása
Néha lassú vagy nem hatékony lekérdezések jelennek meg, mert szükségtelen JOINS-ek vannak, a lekérdezett táblák nem rendelkeznek indexekkel, vagy redundáns beágyazott al lekérdezéseket tartalmaznak. A GitHub Copilot használatával kiválaszthat egy lekérdezést, és kérheti az optimalizálást, amely javíthatja a teljesítményt.
Hasonlóképpen kérheti a Copilot, hogy írja át a lekérdezéseket a jobb olvashatóság vagy karbantarthatóság érdekében, és megkérheti a Copilot, hogy adjon meg megjegyzéseket a jövőbeli fejlesztőknek, akiknek esetleg át kell tekintenie a kódot.
Példa utasításként a következő jelenhet meg:
"Adjon hozzá részletes megjegyzéseket a complex.sql fájlhoz, amely ismerteti az egyes CTE-k, SQL-záradékok és számítások célját és működését. Mindenképpen írja le a lekérdezés egyes szakaszainak működését, beleértve az év kinyerésének módját, a gördülő átlag kiszámításának módját, a teljesítményarány mögötti logikát és az egyes CASE-utasítások jelentését. A megjegyzések megkönnyítik a fájllal nem ismert személyek számára a teljes lekérdezés logikájának és szándékának megértését."
Az adatok integritásának ellenőrzése
A Copilot segítségével olyan SQL-lekérdezéseket írhat, amelyek ellenőrzik az adatintegritást, vagy meghatározott feltételeket keresnek az adatbázisban. Megkérheti például a GitHub Copilototot, hogy hajtsa végre a négy integritás-ellenőrzés egyikét:
- Egyediség/ duplikált ellenőrzések
- Hivatkozási integritás (idegen kulcs megsértése)
- Tartományi integritás (a várt tartományokon belüli értékek)
- Üzleti szabályellenőrzések (egyéni logika megsértése)
Példalekérdezés lehet:
"Írjon egy SQL-lekérdezést, amely árva idegen kulcsokat keres a Rendelések és a Vevők táblák között."
Adatbázisséma dokumentációja
Megkérheti a GitHub Copilotot, hogy segítsen olyan lekérdezések írásában, amelyek feltárják vagy dokumentálják az adatbázissémát. Ha megadja a GitHub Copilotnak a használt adatbázis kontextusát, meg tudja állapítani, hogy optimalizálható-e az adatbázissal együttműködő kód. Bár a GitHub Copilot nem elemzi mélyen a lekérdezések végrehajtási terveit, de az ön által kommunikált SQL-adatbázis kontextusának megértése jobb tanácsokkal szolgál.
SQL-teszt létrehozása
Kérheti, hogy a GitHub Copilot SQL-alapú teszteket vagy állításokat hozzon létre a lekérdezés eredményeinek vagy az adatbázis állapotának ellenőrzéséhez. A Copilot a projekt típusa alapján javasolhat megfelelő tesztelési keretrendszereket. A tesztelési környezet konfigurálásához írja be a /setupTests parancsot a csevegés beviteli mezőjébe, és kövesse a GitHub Copilot útmutatását a projekt konfigurálásához.
A GitHub Copilot segítségével teszteket írhat az alkalmazás kódjához a kódbázist lefedő tesztkód létrehozásával. Ez magában foglalja az egységteszteket, a végpontok közötti teszteket és a peremes esetek tesztelését.
SQL-hibák hibakeresése
Megkérheti a GitHub Copilototot, hogy segítsen az SQL-hibák hibakeresésében, vagy javasoljon javításokat a gyakori problémákhoz. Kiválaszthat például egy fájlt vagy kódblokkot, és megkérheti a GitHub Copilotot, hogy keresse meg és javítsa ki a szintaxishibákat.
Ha a GitHub Copilot teljes táblázatsémát és indexeket biztosít, a GitHub Copilot reprezentatív lekérdezéseket hozhat létre a táblákhoz, és javasolhat további indexeket, amelyek javíthatják a teljesítményt.
A GitHub Copilot parancssori létrehozása
A GitHub Copilot használatával kéréseket hozhat létre olyan kód létrehozásához, amely jobban teljesít, mint a meglévő kód. A GitHub Copilot használata során a lehető legtöbb részletet adja meg a kérdésben, hogy növelje annak esélyét, hogy a megadott válasz megfelel a követelményeknek. Ehhez:
- Ismerje meg a kódot. Ez a megértés a GitHub Copilottal való meglévő interakcióból származtatható.
- Válassza ki az eredeti kódot, és nyissa meg a GitHub Copilot Chatet.
- Adjon meg minél több részletet. Előfordulhat például, hogy a GitHub Copilot-csevegést a következő üzenettel adhatja meg:
A következő követelményeknek megfelelően:Az adatbázis SQLite, és a filmbesorolás szempontjából releváns táblákat tartalmaz (lásd a complex.sql szerkezetét).A lekérdezésnek hatékonyan összesítenie és vissza kell adnia a legjobban értékelt filmeket régiónként, minimalizálva a végrehajtási időt, és kerülnie kell a szükségtelen műveleteket (például redundáns CAST-ok, szükségtelen JOIN-ek vagy SELECT DISTINCT, ha nincs szükség rá).Az eredménynek tartalmaznia kell a film címét, az átlagos minősítést, a régiót és minden egyéb releváns mezőt.A lekérdezésnek 1,5 másodperc alatt kell befejeződnie egy nagy adathalmazon. Minden üzleti logikát és helyességet meg kell őrizni, mint az eredeti complex.sql.Írjon egy nagy teljesítményű SQL-lekérdezést, amely megfelel ezeknek a követelményeknek, és ismertesse az alkalmazott optimalizálásokat.