QUERY Class

 Query – Bezpieczna komunikacja z bazą danych


Zaawansowana klasa dostępu do baz danych zapewniająca bezpieczeństwo, wieloplatformowość, automatyczne logowanie, monitorowanie wydajności oraz jednolity sposób wykonywania zapytań SQL.

Klasa Query stanowi jeden z najważniejszych elementów frameworka StarFrame®. Została zaprojektowana jako kompletna warstwa komunikacji z bazą danych, której celem jest maksymalne uproszczenie pracy programisty przy jednoczesnym zapewnieniu wysokiego poziomu bezpieczeństwa, wydajności oraz możliwości diagnostycznych. Wszystkie operacje wykonywane na bazie danych realizowane są za pomocą jednego, spójnego interfejsu programistycznego, dzięki czemu kod aplikacji pozostaje czytelny, łatwy w utrzymaniu oraz zgodny z jednolitymi standardami całego frameworka.

Obsługa wielu silników baz danych
Klasa Query została zaprojektowana w sposób niezależny od konkretnego silnika bazy danych. Obecnie obsługuje MySQL, PostgreSQL oraz Microsoft SQL Server, dzięki czemu aplikacje mogą być łatwo przenoszone pomiędzy różnymi środowiskami bez konieczności modyfikowania kodu odpowiedzialnego za wykonywanie zapytań SQL. :contentReference[oaicite:0]{index=0}

Bezpieczeństwo na pierwszym miejscu
Każde zapytanie wykonywane jest z wykorzystaniem mechanizmu Prepared Statements, natomiast wszystkie przekazywane parametry podlegają obowiązkowej walidacji przy użyciu wyrażeń regularnych. Pozwala to skutecznie eliminować próby SQL Injection oraz wykrywać niepoprawne dane jeszcze przed wykonaniem zapytania. Framework automatycznie rejestruje podejrzane zdarzenia i może naliczać punkty bezpieczeństwa prowadzące nawet do automatycznego blokowania adresów IP. :contentReference[oaicite:1]{index=1}

Monitoring wydajności
Framework automatycznie mierzy czas wykonania każdego zapytania SQL, zapisuje liczbę zmodyfikowanych rekordów, identyfikator ostatnio dodanego rekordu oraz umożliwia szczegółową analizę wydajności całej aplikacji. Dzięki temu możliwe jest szybkie identyfikowanie zapytań wymagających optymalizacji oraz bieżące monitorowanie pracy systemu. :contentReference[oaicite:2]{index=2}

Rozbudowany system logowania
Klasa Query prowadzi szczegółowe logowanie wykonywanych operacji. Rejestrowane mogą być zapytania SQL, parametry, czas wykonania, użytkownik, adres IP, nazwa hosta oraz wszelkie błędy pojawiające się podczas komunikacji z bazą danych. Logi mogą być zapisywane w bazie danych, plikach tekstowych, wyświetlane na ekranie lub wysyłane pocztą elektroniczną administratorom systemu. :contentReference[oaicite:3]{index=3}

Nowoczesny interfejs programistyczny
Klasa wykorzystuje programowanie obiektowe oraz mechanizm wywołań łańcuchowych (Method Chaining), dzięki czemu kod odpowiedzialny za komunikację z bazą danych jest niezwykle czytelny i przejrzysty. Programista definiuje zapytanie, dodaje parametry oraz wykonuje operację przy użyciu kilku prostych metod, bez konieczności ręcznego zarządzania połączeniami, przygotowywaniem instrukcji SQL czy obsługą wyjątków. :contentReference[oaicite:4]{index=4}

Jednolita architektura wszystkich aplikacji
Każdy moduł tworzony w frameworku StarFrame® korzysta z tej samej klasy Query. Dzięki temu cała komunikacja z bazami danych odbywa się według identycznych zasad, niezależnie od wielkości projektu czy rodzaju wykorzystywanej bazy danych. Ułatwia to rozwój aplikacji, zwiększa bezpieczeństwo oraz znacząco skraca czas tworzenia nowych funkcjonalności.

Podsumowanie
Query jest znacznie więcej niż klasą wykonującą zapytania SQL. To kompletna warstwa dostępu do danych łącząca bezpieczeństwo, wieloplatformowość, monitoring wydajności, rozbudowane mechanizmy logowania oraz jednolity standard komunikacji z bazami danych. Stanowi jeden z fundamentów frameworka StarFrame® i odpowiada za bezpieczne oraz wydajne działanie wszystkich tworzonych przeze mnie systemów informatycznych.