Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ebben a rövid útmutatóban megtudhatja, hogyan segíti a fejlesztőket az üzleti logika magyarázata az SQL- és objektum-relációs leképezési (ORM-) keretrendszerekben vagy közvetlenül az adatbázisban implementált összetett alkalmazáslogika megértésében és használatában. Az asszisztens elemzi az SQL-kódot, az ORM-modelleket vagy a meglévő adatbázis-sémákat az alapul szolgáló üzleti szabályok magyarázatához és a végrehajtható dokumentáció biztosításához.
Első lépések
Győződjön meg arról, hogy csatlakozik egy adatbázishoz, és meg van nyitva egy aktív szerkesztőablak az MSSQL kiterjesztéssel. Amikor csatlakozik, a @mssql csevegés résztvevői megértik az adatbázis-környezet kontextusát, és pontos, környezettudatos javaslatokat tehetnek. Ha nem csatlakozik adatbázishoz, a csevegés résztvevője nem rendelkezik a sémával vagy az adatkörnyezettel, hogy értelmes válaszokat adjon.
Az alábbi példák a AdventureWorksLT2022 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.
A legjobb eredmény érdekében módosítsa a táblázat- és sémaneveket a saját környezetének megfelelően.
Győződjön meg arról, hogy a csevegés tartalmazza az @mssql előtagot. Például írja be @mssql, majd adja meg a kérdést vagy felkérést. Ez az előtag biztosítja, hogy a csevegés résztvevője megértse, hogy SQL-hez kapcsolódó segítséget kér.
Üzleti logika megismerése a GitHub Copilottal
A GitHub Copilot segíthet megérteni és elmagyarázni az adatbáziskódba, ORM-modellekbe és alkalmazás-lekérdezésekbe beágyazott üzleti szabályokat. A tárolt eljárásoktól a LINQ-lekérdezésekig és a kifejezések szekvenálásán át a GitHub Copilot természetes nyelvi elemzéseket biztosít az összetett logika akadálymentesítéséhez.
Íme néhány gyakori használati eset és példa arra, hogy mit kérdezhet meg a csevegés résztvevőjétől:
T-SQL-logika ismertetése
A GitHub Copilot segítségével megismerheti és elmagyarázhatja Transact-SQL (T-SQL) logikáját a tárolt eljárásoktól a beágyazott feltételes utasításokig. Akár kedvezményszabályokat, eljárási logikát vagy optimalizálási feltételeket tekint át, a GitHub Copilot elemezheti és dokumentálhatja a T-SQL-ben implementált üzleti szabályokat.
Magyarázd el a tárolt eljárást
Explain what the `SalesLT.uspGetCustomerOrderHistory` stored procedure does and suggest ways to optimize it.
Tárolt eljárás hibakeresése
Debug the `SalesLT.uspGetTopSellingProducts` stored procedure and suggest improvements.
Üzleti logika ismertetése kódrészletben
Analyze the following SQL code snippet from my current database. Document the business rules implemented in this discount application process, including conditions for eligibility, discount rate adjustments, and any limits imposed on the discount amount. Also, provide actionable insights or suggestions to improve clarity or performance if necessary.
DECLARE @OrderTotal AS DECIMAL (10, 2) = 1500.00;
DECLARE @DiscountCode AS NVARCHAR (20) = 'DISCOUNT10';
DECLARE @DiscountPct AS DECIMAL (5, 2) = CASE WHEN @OrderTotal > 1000.00 THEN 5.0 ELSE 0.0 END;
IF @DiscountCode = 'DISCOUNT10'
BEGIN
SET @DiscountPct = CASE WHEN @DiscountPct < 10.0 THEN 10.0 ELSE @DiscountPct END;
END
DECLARE @DiscountAmount AS DECIMAL (10, 2) = (@OrderTotal * @DiscountPct / 100.0);
IF @DiscountAmount > 200.00
BEGIN
SET @DiscountAmount = 200.00;
END
SELECT @OrderTotal AS OrderTotal,
@DiscountPct AS DiscountPercentage,
@DiscountAmount AS DiscountAmount;
ORM-logika ismertetése
SQLAlchemy-lekérdezés ismertetése
Explain what the following SQLAlchemy query does:
from sqlalchemy import func
top_customers = (
session.query(SalesOrderHeader.CustomerID, func.count().label("OrderCount"))
.group_by(SalesOrderHeader.CustomerID)
.order_by(func.count().desc())
.limit(10)
)
Entity Framework LINQ-lekérdezés ismertetése
What does this Entity Framework LINQ query do? Describe how it groups customers by tier based on their total purchases.
var customerTiers = context.SalesOrderHeaders
.GroupBy(o => o.CustomerID)
.Select(g => new {
CustomerID = g.Key,
TotalSpent = g.Sum(o => o.TotalDue),
Tier = g.Sum(o => o.TotalDue) >= 10000 ? "Gold" :
g.Sum(o => o.TotalDue) >= 5000 ? "Silver" : "Bronze"
});
Az üzleti logika ismertetése Egy Prisma-lekérdezésben
Analyze the logic of this Prisma query and explain how it determines which products are considered "low inventory".
const lowInventoryProducts = await prisma.product.findMany({
where: {
SafetyStockLevel: {
lt: 50
}
},
select: {
ProductID: true,
Name: true,
SafetyStockLevel: true
}
});
Szekvenáló lekérdezés magyarázata és megjegyzése
Review and explain what this Sequelize query does. Add inline comments to clarify how it calculates total revenue per customer and filters for customers with significant spending:
const results = await SalesOrderHeader.findAll({
attributes: ['CustomerID', [sequelize.fn('SUM', sequelize.col('TotalDue')), 'TotalSpent']],
group: ['CustomerID'],
having: sequelize.literal('SUM(TotalDue) > 5000')
});
SQLAlchemy-lekérdezés létrehozása a termékek listájához
Using SQLAlchemy, generate a query to list products that have never been ordered and ask GitHub Copilot to explain the join logic and filtering behavior.
Ügyféladatok lekérése Prisma-lekérdezéssel
In Prisma, write a query that retrieves customers who placed an order in the last 30 days. Explain what the following Prisma query does. Add inline comments to clarify how the date filtering works and how recent orders are determined:
Üzleti szándék értelmezése lekérdezésekkel
A GitHub Copilot segít a fejlesztőknek megérteni, hogy miként működik egy lekérdezés, hanem hogy miért létezik. Ez a magyarázat magában foglalja az adatszűrők, csoportosítások és összesítések mögötti valós célt. Ezek a magyarázatok különösen hasznosak az előkészítés során, lehetővé téve a fejlesztők számára, hogy megértsék az SQL- és ORM-kódba beágyazott jelentések, logikai kapuk vagy rendszermetrikák mögötti célokat.
Az üzleti célok leírása egy T-SQL-lekérdezésben
Describe the business goal of the following SQL query. What insight is it trying to surface?
SELECT TOP 10 CustomerID,
COUNT(*) AS OrderCount
FROM SalesLT.SalesOrderHeader
GROUP BY CustomerID
ORDER BY OrderCount DESC;
T-SQL-lekérdezés szándékának összegzése
Summarize what this query is intended to achieve from a business perspective.
SELECT ProductID,
SUM(LineTotal) AS TotalSales
FROM SalesLT.SalesOrderDetail
GROUP BY ProductID
HAVING SUM(LineTotal) > 10000;
Üzleti logika leírása tárolt eljárásban
Analyze the `SalesLT.uspGetCustomerOrderHistory` stored procedure and describe the business logic it implements.
Üzleti logika ismertetése egy Entity Framework LINQ-lekérdezésben
Explain this Entity Framework LINQ query and describe what business logic it implements:
var highValueCustomers = context.SalesOrderHeaders
.Where(o => o.TotalDue > 1000)
.GroupBy(o => o.CustomerID)
.Select(g => new { CustomerID = g.Key, OrderCount = g.Count() })
.OrderByDescending(x => x.OrderCount)
.Take(10)
.ToList();
Üzleti feltételezések magyarázata szekvenciális lekérdezésekben
Using Sequelize, explain what this query does and describe any business assumptions it makes:
const customerRevenue = await SalesOrderHeader.findAll({
attributes: ['CustomerID', [sequelize.fn('SUM', sequelize.col('TotalDue')), 'TotalSpent']],
group: ['CustomerID'],
having: sequelize.literal('SUM(TotalDue) > 5000')
});
Ossza meg tapasztalatait
Az MSSQL-bővítményHez tartozó GitHub Copilot pontosításához és fejlesztéséhez használja a következő GitHub-problémasablont a visszajelzés elküldéséhez: GitHub Copilot Feedback
Visszajelzés küldésekor fontolja meg a következőket:
Tesztelt forgatókönyvek: Tudassa velünk, hogy mely területekre összpontosított, például sémalétrehozásra, lekérdezésgenerálásra, biztonságra, honosításra.
Ami jól működött: Ismertesse azokat a tapasztalatokat, amelyek zökkenőmentesnek, hasznosnak mutattak, vagy amelyek meghaladták az Ön elvárásait.
Problémák vagy hibák: Tartalmazzon bármilyen problémát, következetlenséget vagy zavaró viselkedést. A képernyőképek és a képernyőfelvételek különösen hasznosak.
Fejlesztési javaslatok: Ötletek megosztása a használhatóság javítására, a lefedettség bővítésére vagy a GitHub Copilot válaszainak javítására.
Kapcsolódó tartalom
- GitHub Copilot for MSSQL-bővítmény a Visual Studio Code-hoz
- Rövid útmutató: Csevegés és beágyazott GitHub Copilot-javaslatok használata
- Rövid útmutató: Kód létrehozása
- Rövid útmutató: A sémakezelő és a tervező használata
- Rövid útmutató: Az intelligens lekérdezésszerkesztő használata
- Rövid útmutató: Lekérdezésoptimalizáló-asszisztens
- Rövid útmutató: Biztonsági elemző
- Rövid útmutató: Honosítási és formázási eszköz
- Rövid útmutató: Adatok létrehozása teszteléshez és modellezéshez
- Korlátozások és ismert problémák