Narzędzia użytkownika

Narzędzia witryny


r_gr_wyniki

Grupa danych wyniki

Wstęp

Grupa wyniki udostępnia wyniki egzaminów i testów zrównujących.

Z uwagi na liczbę danych (na październik 2015 r. wyniki ponad 48 milionów przystąpień przez uczniów do poszczególnych testów) dostęp do nich możliwy jest jedynie partiami. Za jednym razem pobrać można jedynie:

  • albo wyniki pojedynczej części egzaminu - funkcja pobierz_wyniki_egzaminu();
  • albo wyniki pojedynczego testu - funkcja pobierz_wyniki_testu().

Teoretycznie dostęp do wszystkich danych możliwy jest w postaci długiej (gdzie wiersz zbioru danych odpowiada odpowiedzi udzielonej przez ucznia na jedno konkretne kryterium oceny w konkretnym teście) za pomocą funkcji pobierz_odpowiedzi(), jednak jest to możliwość czysto teoretyczna. Wywołanie funkcji pobierz_odpowiedzi() bez odfiltrowania jej wyników oznaczałoby próbę pobrania zbioru danych o ok. 1,5 miliarda wierszy, zajmującego kilkadziesiąt gigabajtów danych. Stąd w przypadku użycia funkcji pobierz_odpowiedzi() niezbędne jest odfiltrowanie pobieranych danych, np. przez ograniczenie się do wybranego testu, rodzaju i roku egzaminu, itp.

Funkcje


pobierz_wyniki_egzaminu()

Pobiera wyniki wybranej części egzaminu, z wybranego roku, pochodzące z wybranego źródła danych.

Można wybrać pomiędzy pobraniem danych wypunktowanych lub dystraktorów.
Możliwe jest również zastosowanie do pobieranych danych wskazanej skali

pobierz_wyniki_egzaminu(src, rodzajEgzaminu, czescEgzaminu, rokEgzaminu, czyEWD, punktuj = TRUE, idSkali = NULL, skroc = TRUE)

  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • rodzajEgzaminu - rodzaj egzaminu
  • czescEgzaminu - część egzaminu
  • rokEgzaminu - rok egzaminu
  • punktuj - pobierać punkty, czy dystraktory
    • uwaga! w wypadku pobierania dystraktorów dane niebędące dystraktorami, np. punkty za zadania zamknięte, pobrane zostaną pobrane jako braki danych
  • idSkali - identyfikator skali, która ma zostać zastosowana do pobieranych danych (skale opisują ew. sumowania kryteriów oceny oraz ew. skracanie skal kryteriów oceny); jeśli nie zostanie podany, żadna skala nie zostanie zastosowana
  • skroc - czy w wypadku zastosowania skali stosować zapisane w niej reguły skracania skal

Uwagi

  • W typowych zastosowaniach znaczenie ma jedynie pierwsze 5 parametrów. Pozostałe użyteczne są w specyficznych zastosowaniach.

Przykłady

Pobranie wyników części humanistycznej egzaminu gimnazjalnego (połączone dane CKE i EWD) z 2011 roku:

src = polacz()
gh2011 = pobierz_wyniki_egzaminu(src, 'egzamin gimnazjalny', 'humanistyczna', 2011, TRUE)
gh2011 = gh2011 %>% collect() # pobranie wyników z bazy danych na komputer

Czas pobierania danych z serwera

Wymuszenie ściągnięcia danych z bazy na komputer (czy to funkcją collect(), jak w przykładzie powyżej, czy przekształceniem pobranych danych na zwykłą ramkę danych) powinno zająć od kilku do kilkunastu minut, jednak w skrajnie niekorzystnym wypadku, jeśli wiele osób będzie w tym samym czasie obciążać bazę, czas ten może się wydłużyć nawet do kilkudziesięciu minut. W tym czasie R może przestać odpowiadać i sprawiać wrażenie, że się zawiesił.

Z uwagi na długi czas pobierania danych zalecane jest, aby:

  • Przed rozpoczęciem analiz pobrać i zapisać lokalnie na swoim komputerze wszystkie potrzebne wyniki egzaminacyjne, np. (zakładając, że potrzebujemy wyników wszystkich egzaminów gimnazjalnych z matematyki z lat 2012-2014):
    library(ZPD)
    src = polacz()
    wyniki = list()
    for(rok in as.character(2012:2014)){
      dane = pobierz_wyniki_egzaminu(src, 'egzamin gimnazjalny', 'matematyka', rok, TRUE)
      wyniki[rok] = dane %>% collect()
    }
    save(wyniki, file = 'wynikiGimMat12-14.RData')
  • Analizy przeprowadzać na danych wczytywanych już z lokalnie zapisanych plików, np.:
    library(ZPD)
    load('wynikiGimMat12-14.RData') # zbiór zapisany w poprzednim przykładzie

pobierz_wyniki_testu()

Pobiera wyniki wskazanego testu.

Można wybrać pomiędzy pobraniem danych wypunktowanych lub dystraktorów.
Możliwe jest również zastosowanie do pobieranych danych wskazanej skali

pobierz_wyniki_testu(src, idTestu, punktuj = TRUE, idSkali = NULL, skroc = TRUE)

  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • idTestu - identyfikator testu
  • punktuj - pobierać punkty, czy dystraktory
    • uwaga! w wypadku pobierania dystraktorów dane niebędące dystraktorami, np. punkty za zadania zamknięte, pobrane zostaną pobrane jako braki danych
  • idSkali - identyfikator skali, która ma zostać zastosowana do pobieranych danych (skale opisują ew. sumowania kryteriów oceny oraz ew. skracanie skal kryteriów oceny) [domyślnie brak]
  • skroc - czy w wypadku zastosowania skali stosować zapisane w niej reguły skracania skal

W typowych zastosowaniach znaczenie mają jedynie pierwsze 2 parametry. Pozostałe użyteczne są w specyficznych zastosowaniach.

Przykłady

Pobranie wyników testu od id 1541 (zeszyt 9 zrównywania matury z j. polskiego w 2014 r.)
Jak znaleźć id interesującego nas testu - patrz grupa danych testy

library(ZPD)
src = polacz()
zr14jp9 = pobierz_wyniki_testu(src, 1541)
zr14jp9 = zr14jp9 %>% collect() # pobranie wyników z bazy danych na komputer

Czas pobierania danych z serwera

Czas wykonania funkcji collect() albo przekształcenia na zwykłą ramkę danych w decydującej mierze zależy od liczby uczniów, którzy pisali test:

  • W wypadku testów zrównujących, pisanych przez kilkuset uczniów każdy, powinno to zająć w porywach do kilkunastu sekund.
  • W wypadku testów odpowiadających arkuszom egzaminacyjnym, pisanym przez 150-200 tys. uczniów, zastosowanie mają te same reguły, jak dla pobierania wyników całej części egzaminu (patrz wyżej).

pobierz_wyniki_zrównywania()

Funkcja analogiczna do pobierz_wyniki_egzaminu(), pobierająca wyniki badań zrównujących.

Można wybrać pomiędzy pobraniem danych wypunktowanych lub dystraktorów.
Możliwe jest również zastosowanie do pobieranych danych wskazanej skali

pobierz_wyniki_zrownywania(src, rodzajEgzaminu, rok, punktuj = TRUE, idSkali = NULL, skroc = TRUE)

  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • rodzajEgzaminu - sprawdzian, egzamin gimnazjalny, matura j. polski, matura j. angielski lub matura matematyka
  • rok - rok badań zrównujących:
    • 2011-2014 dla egzaminu gimnazjalnego
    • 2012-2014 dla sprawdzianu
    • 2013-2014 dla matury z matematyki
    • 2014 dla matury z j. angielskiego oraz polskiego
  • punktuj - pobierać punkty, czy dystraktory
    • uwaga! w wypadku pobierania dystraktorów dane niebędące dystraktorami, np. punkty za zadania zamknięte, pobrane zostaną pobrane jako braki danych
  • idSkali - identyfikator skali, która ma zostać zastosowana do pobieranych danych (skale opisują ew. sumowania kryteriów oceny oraz ew. skracanie skal kryteriów oceny) [domyślnie brak]
  • skroc - czy w wypadku zastosowania skali stosować zapisane w niej reguły skracania skal

W typowych zastosowaniach znaczenie mają przede wszystkim pierwsze 3 parametry.

Przykłady

Pobranie wypunktowanych wyników zrównywania sprawdzianu z 2013 roku:

library(ZPD)
src = polacz()
zr13spr = pobierz_wyniki_zrownywania(src, 'sprawdzian', 2013)
zr13spr = zr13spr %>% collect() # pobranie wyników z bazy danych na komputer

Czas pobierania danych z serwera

Badania zrównujące realizowane były w poszczególnych latach na próbach po kilka tysięcy uczniów, tak więc ich pobranie z bazy nie powinno zajmować od kilkunastu sekund do 2-3 minut.


pobierz_odpowiedzi()

Pobiera wyniki w postaci długiej, tzn. jeden wiersz zbioru danych odpowiada odpowiedzi udzielonej przez ucznia na konkretne kryteria oceny w konkretnym teście (w odróżnieniu od formy szerokiej, zwracanej przez pobierz_wyniki_egzaminu(), pobierz_wyniki_testu() i pobierz_wyniki_zrownywania(), gdzie jeden wiersz odpowiadał kompletowi odpowiedzi ucznia na wszystkie kryteria oceny w danym teście).

  • Uwaga, przed pobraniem wyników na komputer należy koniecznie je odfiltrować, typowo poprzez złączenie z odpowiednio odfiltrowaną grupą danych testy i/lub kryteria oceny.
    • Uwaga filtrując za pomocą podanego ręcznie id_testu należy zadbać o to, by przekazane wartości były liczbami całkowitymi (np. 123L albo as.integer(123) - patrz przykład poniżej).
      R domyślnie przechowuje liczby w postaci zmiennoprzecinkowej, co jednak przy filtrowaniu danych zwracanych przez funkcję pobierz_odpowiedzi() prowadzi do drastycznego pogorszenia wydajności (jest to pechowy zbieg nie dość inteligentnego zachowania bazy danych oraz niefortunnego rzutowania wartości przez pakiet dplyr przy generowaniu zapytań SQL, na żaden z tych czynników nie mamy jednak niestety wpływu).
  • Jakkolwiek postać długa może się wydawać nieintuicyjna, jest ona bardzo wygodna do dalszego analizowania danych z zastosowaniem pakietów takich jak dplyr czy ggplot.
  • W odróżnieniu od pozostałych funkcji pobierających wyniki daje jednoczesny dostęp zarówno do wypunktowanych odpowiedzi, jak i samych dystraktorów.

pobierz_odpowiedzi(src)

  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()

Przykład

Pobranie wyników testu o id 1601 (matura rozszerzona z biologii w 2014 roku).

Z uwagi na wydajność istotne jest przekazanie id_testu jako liczby całkowitej - stąd as.integer(1601).

Jak znaleźć id interesującego nas testu - patrz grupa danych testy.

library(ZPD)
src = polacz()
 
# pobieramy dane
test1601 = pobierz_odpowiedzi(src) %>%
  # odfiltrowując porządany test
  filter(id_testu == as.integer(1601)) %>%
  collect()
# podglądamy pierwsze wiersze
head(test1601)

Czas pobierania danych z serwera

Jest determinowany przez sposób odfiltrowywania danych i rozciąga się od nieskończoności (próba pobrania wszystkich danych bez odfiltrowania) do kilkunastu sekund (pobieranie wyników niewielkiego testu).


Funkcje pomocnicze

Grupa danych wyniki udostępnia szeroki wachlarz funkcji pomocniczych służacych do przekształcania pobranych wyników.


filtruj_przystapienia()

Pobiera ramkę danych pozwalającą odfiltrować pierwsze lub ostatnie przystąpienia uczniów do danego rodzaju egzaminu lub jego części odnotowane w bazie.

  • Uwaga, w wypadku pierwszego podejścia zwracany wynik może nie być tożsamy z pierwszym podejściem ucznia do danego egzaminu w ogólności (np. jeśli uczeń przystępował po raz pierwszy do matury w roku 2009 podczas gdy baza zawiera wyniki maturalne począwszy od roku 2010). W wypadku egzaminu maturalnego zaleca się używanie wyników działania tej funkcji łącznie z wartością zmiennej pop_podejscie z grupy danych uczniowieTesty.
  • Uwaga, w wypadku egzaminu gimnazjalnego i sprawdzianu jest to jedyny sposób na wykrycie uczniów podchodzących po raz pierwszy/ostatni do egzaminu (zmienna pop_podejscie z grupy danych uczniowieTesty dla egzaminu gimnazjalnego i sprawdzianu jest zawsze brakie danych).
  • Uwaga, w wypadku wyników egzaminu gimnazjalnego i sprawdzianu pochodzących z danych CKE przed 2010 rokiem nie ma możliwości określania, który raz uczeń podchodzi do egzaminu (z uwagi na brak możliwości identyfikacji tych samych uczniów między latami).

filtruj_przystapienia(src, pierwsze, rodzajEgzaminu, czescEgzaminu = NULL, czyEwd, obserwacje = NULL)

  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • pierwsze - parametr logiczny (TRUE/FALSE) decydujący o tym, czy pobrane zostaną pierwsze, czy ostatnie przystąpienia uczniów do egzaminu
  • rodzajEgzaminu - rodzaj egzaminu, dla którego pobrane zostaną dane
  • czescEgzaminu - część egzaminu, dla której pobrane zostaną dane lub NULL, jeśli odfiltrowanie ma uwzględniać przystępowanie ucznia do danego rodzaju egzaminu jako całości (dopóki nie jesteś pewien, co wybrać, wybierz NULL)
  • czyEWD - czy odfiltrowanie powinno nastąpić na podstawie danych EWD (OKE) czy ZAOU (CKE)
  • obserwacje - opcjonalny wektor id_obserwacji umożliwiający pobranie danych jedynie dla wybranych uczniów

Przykład

Określamy interesującą nas populację jako uczniowie podchodzący po raz pierwszy do matury w roku 2011. W zbiorze pobranych wyników egzaminu maturalnego z biologii na poziomie rozszerzonym z roku 2012 chcemy oznaczyć uczniów, którzy należą do naszej populacji.

library(ZPD)
src = polacz()
 
# pobieramy wyniki z biologii uzupełnione o zmienną "pop_podejscie" z grupy danych uczniowieTesty
matBioR12 = pobierz_wyniki_egzaminu(src, 'matura', 'biologia rozszerzona', 2012, TRUE) %>% 
  inner_join(pobierz_dane_uczniowie_testy(src)) %>%
  collect()
# pobieramy informacje o pierwszych przystąpieniach z funkcji filtruj_przystapienia()
pierwsze = filtruj_przystapienia(src, TRUE, 'matura', NULL, TRUE) %>% 
  collect() %>%
  # tworzymy zmienną, która pozwoli nam zidentyfikować, że uczeń należał do tego zbioru
  mutate(pierwsze = TRUE)
# złączamy obydwa zbiory danych i tworzymy zmienną określającą populację
matBioR12 = matBioR12 %>%
  left_join(pierwsze) %>%
  mutate(populacja = !is.na(pierwsze) & is.na(pop_podejscie))
# sprawdzamy, ilu uczniów należy do populacji, a ilu nie
table(matBioR12$populacja)

Czas pobierania danych z serwera

W zależności od liczby lat, jakie dla danej kombinacji egzaminu i źródła danych przechowywane są w bazie od ok. 3 do 10 minut.


odkoduj_dystraktory()

Przekodowuje liczbowe kody dystraktorów na faktyczne kody odpowiedzi z arkusza (np. A/B/C/D, PP/PF/FP/FF, itp.).

  • Uwaga, funkcja ma zastosowanie tylko do danych, które pobrano w dystraktorach.
  • Uwaga, jakkolwiek funkcja zdolna jest zadziałać zarówno na danych pobranych z serwera na komputer, jak również po stronie serwera, ze względów wydajnościowych silnie zaleca się wykonywać ją na danych już pobranych na komputer.

odkoduj_dystraktory(src, dane, kolDystr = „^(odpowiedz|k_[0-9]+)$”, kolKryt = „^kryterium$”)

  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • dane - dane pobrane funkcją pobierz_wyniki_egzaminu(), pobierz_wyniki_testu(), pobierz_wyniki_zrownywania() lub pobierz_odpowiedzi(), koniecznie z parametrem punktuj = FALSE
  • kolDystr - wyrażenie regularne pozwalające znaleźć wszystkie kolumny z liczbowymi kodami dystraktorów dla danych w postaci szerokiej; domyślna wartość odpowiada danym zwracanym przez funkcję pobierz_wyniki_egzaminu(), pobierz_wyniki_testu() oraz pobierz_wyniki_zrownywania()
  • kolPkt - wyrażenie regularne pozwalające znaleźć kolumnę z liczbowym kodem dystraktora dla danych w postaci długiej; domyślna wartość odpowiada danym zwracanym przez funkcję pobierz_odpowiedzi()

Przykład

Odkodowujemy dystraktory w wynikach zrównywania sprawdzianu w 2014 roku.

library(ZPD)
src = polacz()
 
# pobieramy wyniki zrównywania w dystraktorach
zrSpr14 = pobierz_wyniki_zrownywania(src, 'sprawdzian', 2014, FALSE) %>%
  collect()
# zamieniamy kody liczbowe na kody dystraktorów
zrSpr14 = zrSpr14 %>% 
  odkoduj_dystraktory(src)
# wyświetlamy pierwsze wiersze
head(zrSpr14)

zastosuj_skale()

Stosuje do danych wskazaną skalę.

  • Działa analogicznie do parametrów idSkali oraz skroc funkcji pobierz_wyniki_egzaminu(), pobierz_wyniki_testu(), pobierz_wyniki_zrownywania() i pobierz_odpowiedzi())

zastosuj_skale(dane, src, idSkali, skroc = TRUE)

  • dane - dane pobrane funkcją pobierz_wyniki_egzaminu(), pobierz_wyniki_testu(), pobierz_wyniki_zrownywania() lub pobierz_odpowiedzi(), do których nie zastosowano jeszcze skali
  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • idSkali - identyfikator skali, która ma zostać zastosowana
  • skroc - czy stosować zapisane w skali reguły skracania skal

Przykład

Stosujemy skalę 41 (zrównywanie sprawdzianu dla lat 2002-2013) do wyników sprawdzianu z 2002 roku.

library(ZPD)
src = polacz()
 
# pobieramy dane sprawdzianu
dane = pobierz_wyniki_egzaminu(src, 'sprawdzian', '', 2002, FALSE) %>%
  collect()
# zapamiętujemy listę zmiennych
przed = colnames(dane)
# stosujemy skalę
dane = dane %>%
  zastosuj_skale(src, 41)
# porównujemy listę zmiennych po przekształceniu - jak widać niektóre kryteria zostały złączone w pseudokryteria
setdiff(przed, names(dane))
setdiff(names(dane), przed)
 

zsumuj_punkty()

Oblicza w zmiennej wynik sumy punktów dla danego zbioru danych.

  • Sumowane są wszystkie zmienne, których nazwa pasuje do wyrażenia regularnego ^[pk]_[0-9]+$'.
  • Uwaga, dane muszą być pobrane w postaci długiej (funkcją pobierz_odpowiedzi) lub w postaci wypunktowanej (parametr punktuj = TRUE funkcji pobierz_wyniki_egzaminu(), pobierz_wyniki_testu() oraz pobierz_wyniki_zrownywania())

zsumuj_punkty(dane, usunKryteria = TRUE)

  • dane - dane pobrane funkcją pobierz_wyniki_egzaminu(), pobierz_wyniki_testu(), pobierz_wyniki_zrownywania() lub pobierz_odpowiedzi()
  • usunKryteria - czy zmienne zawierające wyniki cząstkowe (kryteriów i/lub pseudokryteriów oceny) powinny zostać usunięte czy pozostawione w wynikowym zbiorze danych

Przykład

Pobieramy wyniki testu 1541 (zeszyt 9 zrównywania matury z j. polskiego w 2014 roku) i obliczamy sumy punktów pozostawiając jednocześnie w zbiorze zmienne z punktacją za poszczególne kryteria oceny.

library(ZPD)
src = polacz()
dane = pobierz_wyniki_testu(src, 1541) %>%
  collect() %>%
  zsumuj_punkty(usunKryteria = FALSE)
head(dane)

normalizuj()

Dokonuje normalizacji sum punktów (np. wyliczonych funkcją zsumuj_punkty()) albo z użyciem wskazanej normy albo poprzez wykonanie normalizacji ekwikwantylowej przekazanych danych.

  • uwaga, w wypadku stosowania normy z bazy dane powinny być przekształcone (jeszcze przed policzeniem sum punktów) za pomocą tej samej skali, jak skala, z której pochodzi norma!

normalizuj(dane, src = NULL, kolWynik = „wynik”, idSkali = NULL, skalowanie = NULL, grupa = NULL, …)

  • dane - ramka danych zawierająca obliczone sumy punktów
  • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz() (tylko w wypadku stosowania norm pobieranych z bazy)
  • kolWynik - nazwa zmiennej w danych przechowującej sumy punktów
  • idSkali, skalowanie, grupa - parametry pozwalające zidentyfikować w bazie danych normę do zastosowania; dane powinny być przekształcone za pomocą tej samej skali (tylko w wypadku stosowania norm pobieranych z bazy)
  • - opcjonalne parametry funkcji normy_ekwikwantylowe() (tylko w wypadku wykonywania normalizacji ekwikwantylowej na podstawie przekazanych danych)

Przykład

Stosujemy dwie różne normy do wyników sprawdzianu z 2002 roku:

  • normalizację ekwikwantylową na podstawie wyników sprawdzianu w 2002 roku
  • normę zrównującą przeliczającą wyniki z roku 2002 na odpowiadające im wyniki w roku 2013
library(ZPD)
src = polacz()
dane = pobierz_wyniki_egzaminu(src, 'sprawdzian', '', 2002, FALSE) %>%
  collect()
 
# normalizacja ekwikwantylowa na podstawie danych (domyślna średnia 100 i odchylenie standardowe 15)
daneNormEkw = dane %>% 
  zsumuj_punkty() %>%
  normalizuj()
head(daneNormEkw)
 
# normalizacja na podstawie normy zrównującej {idSkali, skalowanie, grupa} = {778, 2, ''} w bazie
daneNormZrwn = dane %>%
  # skala, z której pochodzi norma zrównująca
  zastosuj_skale(src, 778) %>%
  zsumuj_punkty() %>%
  normalizuj(src, idSkali = 778, skalowanie = 2, grupa = '')
head(daneNormZrwn)

Dołączanie zmiennych kontekstowych z innych grup danych

W celu wykonywania analiz na oszacowaniach umiejętności uczniów często potrzebne mogą być dodatkowe dane kontekstowe, znajdujące się w innych grupach danych. Ich dołączanie jest łatwe, gdyż grupa danych wyniki łączy się bezpośrednio z dowolną inną grupą danych. Stąd wystarczy wykonać odpowiednie złączenie danych pomiędzy pobranymi grupami danych.

Przykład

Do wyników części matematyczno-przyrodniczej egzaminu gimnazjalnego z roku 2011 (dane złączone z OKE i CKE) dołączamy zmienne z grup danych: uczniowie, uczniowieTesty i szkoły.

library(ZPD)
src = polacz()
 
# Pobieramy grupy danych //wyniki//, //uczniowie//, //uczniowieTesty//, //szkoły//: 
wyniki         = pobierz_wyniki_egzaminu(src, 'egzamin gimnazjalny', 'matematyczno-przyrodnicza', 2011, TRUE)
uczniowie      = pobierz_uczniow(src)
uczniowieTesty = pobierz_dane_uczniowie_testy(src)
szkoly         = pobierz_szkoly(src)
 
# Złączamy grupy danych ze sobą
gmp_11 = inner_join(wyniki, uczniowie) %>% inner_join(uczniowieTesty) %>% inner_join(szkoly)
 
# Pobieramy dane na komputer i zapisujemy lokalnie (patrz rozdział o czasie pobierania danych z serwera powyżej)
gmp_11 = gmp_11 %>% collect()
save(gmp_11, file = 'gmp_11.RData')

Uwaga

W wypadku pobierania całej serii wyników egzaminacyjnych, które współdzielą te same dane kontekstowe (np. wyniki egzaminu maturalnego z danego roku dla wszystkich przedmiotów), szybsze może okazać się oddzielne pobranie i zapisanie lokalnie na komputerze:

a następnie złączanie ich już lokalnie na swoim komputerze.

Patrz jak rozsądnie dzielić przetwarzanie danych między bazę danych i własny komputer?

r_gr_wyniki.txt · ostatnio zmienione: 2017/11/11 18:58 przez zozlak