Źródłem rekordów dla raportu może być
A. tabela.
B. makropolecenie.
C. inny raport.
D. zapytanie INSERT INTO.
Pytanie z egzaminu CKE, styczeń 2017 (arkusz E.14-X-17.01).
Źródłem rekordów dla raportu może być tabela, bo tabela w bazie danych przechowuje właściwe dane w postaci rekordów i pól. Raport, np. w Microsoft Access albo podobnym systemie bazodanowym, służy głównie do prezentacji, drukowania i podsumowywania danych, więc musi mieć skąd te dane pobrać. Jeżeli mamy tabelę Klienci, Zamówienia albo Produkty, to raport może bezpośrednio korzystać z jej rekordów i wyświetlać je w uporządkowanej formie: z nagłówkami, stopkami, grupowaniem, sumami czy filtrowaniem. W praktyce często lepszą praktyką jest użycie kwerendy wybierającej, bo można wcześniej ograniczyć kolumny, posortować dane albo połączyć kilka tabel relacjami. Ale sama tabela też jest poprawnym źródłem rekordów. Moim zdaniem warto zapamiętać prostą zasadę: raport potrzebuje źródła, które zwraca dane do odczytu, czyli zestaw rekordów. Tabela właśnie takim źródłem jest. Dobra praktyka branżowa mówi też, żeby nie podpinać do raportu niepotrzebnie całej dużej tabeli, jeśli wystarczy fragment danych, bo raport będzie cięższy i mniej czytelny.
W raporcie bazodanowym źródłem rekordów musi być obiekt, który dostarcza dane w formie zestawu rekordów, czyli wierszy i kolumn możliwych do odczytania oraz zaprezentowania. Dlatego poprawnym wyborem jest tabela. Raport nie jest zwykle samodzielnym magazynem danych, tylko warstwą prezentacji. Pokazuje dane, grupuje je, formatuje, czasem oblicza sumy lub liczniki, ale nie zastępuje tabeli jako miejsca przechowywania rekordów. Z mojego doświadczenia wynika, że częsty błąd polega na myleniu obiektów bazy danych według tego, że wszystkie są widoczne w jednym panelu programu, np. w Accessie. To, że raport, makro i tabela występują w tej samej bazie, nie znaczy, że pełnią tę samą rolę. Inny raport może wyglądać jak gotowy zestaw danych, ale jest już wynikiem prezentacji, a nie właściwym źródłem rekordów dla następnego raportu. Makropolecenie również nie jest źródłem danych, bo służy do automatyzacji czynności: otwarcia formularza, uruchomienia kwerendy, wydrukowania raportu czy ustawienia filtra. Może coś wykonać, ale samo z siebie nie daje tabelarycznego zbioru rekordów. Zapytanie INSERT INTO też nie pasuje, ponieważ jest kwerendą akcji. Ono dopisuje rekordy do tabeli, a nie zwraca dane do pokazania w raporcie. Do raportów używa się źródeł odczytowych, takich jak tabela albo kwerenda wybierająca SELECT. W tym pytaniu spośród podanych możliwości jedynym takim źródłem jest tabela.