Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku Szybki start dowiesz się, jak objaśnienie logiki biznesowej ułatwia deweloperom zrozumienie i pracę ze złożoną logiką aplikacji zaimplementowaną w strukturach SQL, ORM (Object-Relational Mapping) lub bezpośrednio w bazie danych. Asystent analizuje kod SQL, modele ORM lub istniejące schematy bazy danych, aby wyjaśnić podstawowe reguły biznesowe i udostępnić dokumentację umożliwiającą podejmowanie działań.
Wprowadzenie
Upewnij się, że masz połączenie z bazą danych i masz otwarte aktywne okno edytora z rozszerzeniem MSSQL. To połączenie umożliwia uczestnikowi czatu @mssql zrozumienie kontekstu środowiska bazy danych, umożliwiając dokładne i kontekstowe sugestie. Bez połączenia z bazą danych uczestnik czatu nie będzie miał schematu ani kontekstu danych w celu zapewnienia znaczących odpowiedzi.
W poniższych przykładach użyto przykładowej bazy danych AdventureWorksLT2022, którą można pobrać ze strony głównej Przykładów i projektów społeczności programu Microsoft SQL Server.
Aby uzyskać najlepsze wyniki, dostosuj nazwy tabel i schematów, aby dopasować je do własnego środowiska.
Upewnij się, że czat zawiera @mssql prefiks. Na przykład wpisz @mssql swoje pytanie lub polecenie. Dzięki temu uczestnik czatu rozumie, że prosi o pomoc związaną z językiem SQL.
Omówienie logiki biznesowej za pomocą narzędzia GitHub Copilot
Narzędzie GitHub Copilot może ułatwić zrozumienie i wyjaśnienie reguł biznesowych osadzonych w kodzie bazy danych, modelach ORM i zapytaniach aplikacji. Od procedur składowanych do zapytań LINQ i wyrażeń Sequelize, usługa GitHub Copilot udostępnia wskazówki w języku naturalnym, aby ułatwić zrozumienie złożonej logiki.
Oto typowe przypadki użycia i przykłady tego, co można zadać za pośrednictwem uczestnika czatu:
Wyjaśnienie logiki języka T-SQL
Użyj narzędzia GitHub Copilot, aby zrozumieć i wyjaśnić logikę Transact-SQL (T-SQL), od procedur składowanych po wbudowane instrukcje warunkowe. Niezależnie od tego, czy przeglądasz reguły rabatu, logikę proceduralną, czy warunki optymalizacji, narzędzie GitHub Copilot może analizować i dokumentować reguły biznesowe zaimplementowane w języku T-SQL.
Wyjaśnić procedurę składowaną
Explain what the `SalesLT.uspGetCustomerOrderHistory` stored procedure does and suggest ways to optimize it.
Debugowanie procedury składowanej
Debug the `SalesLT.uspGetTopSellingProducts` stored procedure and suggest improvements.
Wyjaśnienie logiki biznesowej we fragmencie kodu
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;
Wyjaśnienie logiki ORM
Wyjaśnienie zapytania SQLAlchemy
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)
)
Wyjaśnienie zapytania LINQ programu Entity Framework
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"
});
Wyjaśnienie logiki biznesowej w zapytaniu Prisma
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
}
});
Wyjaśnienie i komentowanie zapytania sequelize
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')
});
Generowanie zapytania SQLAlchemy dla listy produktów
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.
Pobieranie informacji o kliencie przy użyciu zapytania Prisma
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:
Omówienie intencji biznesowych za pośrednictwem zapytań
Narzędzie GitHub Copilot pomaga deweloperom nie tylko zrozumieć, jak działa zapytanie, ale także dlaczego istnieje. To wyjaśnienie obejmuje rzeczywiste przeznaczenie filtrów danych, grupowania i agregacji. Te wyjaśnienia są szczególnie przydatne podczas wdrażania, umożliwiając deweloperom zrozumienie celów związanych z raportami, bramkami logicznymi lub metrykami systemu osadzonymi w kodzie SQL i ORM.
Opis celów biznesowych w zapytaniu T-SQL
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;
Podsumowanie intencji zapytania T-SQL
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;
Opisz logikę biznesową w procedurze składowanej
Analyze the `SalesLT.uspGetCustomerOrderHistory` stored procedure and describe the business logic it implements.
Wyjaśnienie logiki biznesowej w zapytaniu LINQ programu Entity Framework
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();
Wyjaśnij założenia biznesowe w zapytaniu Sequelize
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')
});
Podziel się swoimi doświadczeniami
Aby pomóc nam udoskonalić i ulepszyć narzędzie GitHub Copilot dla rozszerzenia MSSQL, użyj następującego szablonu problemu GitHub, aby przesłać swoją opinię: GitHub Copilot Feedback
Podczas przesyłania opinii należy wziąć pod uwagę następujące kwestie:
Przetestowane scenariusze — daj nam znać obszary, na przykład tworzenie schematu, generowanie zapytań, zabezpieczenia, lokalizację.
Co się udało — opisz wszelkie doświadczenia, które przebiegły sprawnie, były pomocne lub przerosły twoje oczekiwania.
Problemy lub błędy — obejmują wszelkie problemy, niespójności lub mylące zachowania. Zrzuty ekranu lub nagrania ekranu są szczególnie przydatne.
Sugestie dotyczące poprawy — podziel się pomysłami na poprawę użyteczności, rozszerzaniem zasięgu lub ulepszaniem odpowiedzi w usłudze GitHub Copilot.
Treści powiązane
- Rozszerzenie GitHub Copilot for MSSQL dla programu Visual Studio Code
- Szybki start: korzystanie z sugestii dotyczących czatu i wbudowanych sugestii narzędzia GitHub Copilot
- Szybki start: generowanie kodu
- Szybki start: korzystanie z eksploratora schematu i projektanta
- Szybki start: korzystanie z konstruktora zapytań inteligentnych
- Szybki start: Asystent optymalizatora zapytań
- Szybki start: analizator zabezpieczeń
- Szybki start: pomocnik lokalizacji i formatowania
- Szybki start: generowanie danych na potrzeby testowania i pozorowania
- Ograniczenia i znane problemy