W tym wpisie skupimy się na 50 popularnych promptach, które mogą się okazać pomocne z perspektywy .NET oraz pracy z różnymi ORM, np. Entity Framework oraz ADO.NET.
Cały wpis został podzielony na 5 części, ponieważ, każdy prompt został wykorzystany w ChatGPT. Mamy do przejrzenia bardzo dużo odpowiedzi a umieszczenie ich wszystkich w jednym wpisie byłoby złym pomysłem.
Poniżej lista wszystkich poleceń w formie odnośników więc jeżeli jakiś temat szczególnie Was interesuje to możecie od razu przejść do danej komendy wraz z przygotowaną odpowiedzią:
-
Część 1: 1-10
- Napisz metodę, która nawiązuje połączenie z bazą danych przy użyciu ADO.NET w projekcie .NET.
- Stwórz skrypt migracji bazy danych przy użyciu Entity Framework Code First do aktualizacji schematu bazy danych.
- Zaimplementuj wzorzec repozytorium w celu hermetyzacji dostępu do bazy danych i dostarczenia spójnego interfejsu API.
- Napisz procedurę składowaną wykonującą skomplikowane obliczenia lub agregacje danych w bazie danych.
- Stwórz warstwę dostępu do danych przy użyciu frameworka ORM (Object-Relational Mapping), takiego jak Entity Framework.
- Zaimplementuj mechanizm buforowania dla często odpytywanych zapytań do bazy danych lub widoków.
- Napisz zapytanie LINQ, które pobiera dane z wielu tabel z złożonym filtrowaniem i sortowaniem.
- Utwórz indeks bazy danych, aby poprawić wydajność zapytań dla często używanych kolumn.
- Wdrożenie strategii connection pooling w celu efektywnego zarządzania połączeniami z bazą danych.
- Napisz zapytanie SQL, które wykonuje operację wsadowego wstawiania lub aktualizacji dużych zbiorów danych.
-
Część 2: 11-20
- Stwórz widok bazy danych, który prezentuje logiczną reprezentację danych z wielu tabel.
- Zaimplementuj transakcję bazodanową, aby zapewnić atomowość i spójność wielu operacji na bazie danych.
- Napisz zapytanie SQL, które łączy wiele tabel i wykonuje agregację lub grupowanie danych.
- Stwórz procedurę składowaną, która obsługuje stronicowanie danych dla efektywnego pobierania danych.
- Zaimplementuj mechanizm tworzenia kopii zapasowej i przywracania bazy danych w celach przywracania po awarii.
- Napisz zapytanie SQL, które wykonuje złożone wyszukiwanie tekstowe przy użyciu możliwości wyszukiwania pełnotekstowego.
- Stwórz wyzwalacz bazy danych, który automatycznie wykonuje akcje na podstawie konkretnych zmian danych.
- Zaimplementuj mechanizm ponawiania połączenia z bazą danych w celu obsługi przemijających problemów z połączeniem.
- Napisz zapytanie SQL, które oblicza i zwraca dane hierarchiczne przy użyciu rekurencyjnych wyrażeń tabelarycznych (CTE).
- Stwórz schemat bazy danych przy użyciu narzędzia do zarządzania bazą danych lub frameworka ORM.
-
Część 3: 21-30
- Zaimplementuj fragmentację lub partycjonowanie bazy danych w celu dystrybucji danych na wielu serwerach lub urządzeniach pamięci masowej.
- Napisz zapytanie SQL, które wykonuje połączenia między bazami danych lub między serwerami i pobiera dane.
- Stwórz strategię optymalizacji indeksów, analizując plany wykonania zapytań i optymalizując indeksy.
- Zaimplementuj replikację lub lustrzane odwzorowanie bazy danych w celu zapewnienia wysokiej dostępności i odporności na awarie.
- Napisz zapytanie SQL, które wykonuje obliczenia lub manipulacje datą/czasem na kolumnach bazy danych.
- Stwórz procedurę składowaną, która obsługuje skomplikowaną logikę biznesową i transformacje danych.
- Zaimplementuj rejestrowanie i audytowanie bazy danych w celu śledzenia zmian i utrzymania integralności danych.
- Napisz zapytanie SQL, które wykonuje deduplikację danych lub operacje oczyszczania danych.
- Stwórz wyzwalacz bazy danych, który wysyła powiadomienia lub uruchamia zewnętrzne działania w oparciu o zmiany danych.
- Zaimplementuj czyszczenie partycji bazy danych, aby zoptymalizować wydajność zapytań w przypadku dużych tabel podzielonych na partycje.
-
Część 4: 31-40
- Napisz zapytanie SQL, które wykonuje operacje pivotowania lub unpivotowania danych w celu generowania dynamicznych raportów.
- Stwórz asynchroniczną warstwę dostępu do bazy danych przy użyciu wzorców programowania asynchronicznego w .NET.
- Zaimplementuj optymistyczną kontrolę współbieżności w celu obsługi równoczesnych aktualizacji bazy danych.
- Napisz zapytanie SQL, które wykonuje analizę statystyczną lub obliczenia na danych.
- Stwórz strategię migracji schematu bazy danych w celu obsługi zmieniających się w czasie schematów bazy danych.
- Zaimplementuj pulę połączeń z bazą danych za pomocą biblioteki lub frameworka puli połączeń.
- Napisz zapytanie SQL, które wykonuje porównywanie lub synchronizację danych między dwiema bazami danych.
- Stwórz procedurę składowaną, która obsługuje skomplikowane walidacje danych i reguły biznesowe.
- Zaimplementuj buforowanie bazy danych przy użyciu pamięci podręcznej lub frameworków do buforowania danych często odpytywanych.
- Napisz zapytanie SQL, które wykonuje transformację danych lub ekstrakcję danych w celach raportowania.
-
Część 5: 41-50
- Stwórz kontekst danych używając Entity Framework z wieloma połączeniami do bazy danych dla scenariuszy rozproszonych danych.
- Zaimplementuj strategie indeksowania bazy danych, takie jak indeksy klastrowane i nieklastrowane, w celu optymalizacji zapytań.
- Napisz zapytanie SQL, które wykonuje operacje na danych przestrzennych, takie jak obliczenia odległości czy przecięcia wielokątów.
- Stwórz strategię tworzenia kopii zapasowych bazy danych z zautomatyzowanymi kopiami zapasowymi i politykami retencji.
- Zaimplementuj zarządzanie ciągami połączeń do bazy danych (connection string) z bezpiecznym i dynamicznym obsługiwaniem ciągów połączeń.
- Napisz zapytanie SQL, które wykonuje przestawianie lub cofanie przestawiania danych w celu generowania dynamicznych raportów.
- Utwórz procedurę składowaną, która obsługuje przetwarzanie wsadowe danych w celu zwiększenia wydajności.
- Wdróż techniki optymalizacji zapytań do bazy danych, takie jak podpowiedzi do zapytań lub optymalizacja planu zapytań.
- Napisz zapytanie SQL, które wykonuje przekształcanie danych lub operacje wyszukiwania tekstu.
- Stwórz schemat bazy danych zgodne z zasadami normalizacji i ograniczeniami integralności danych.