Narzędzia użytkownika

Narzędzia witryny


ewdprocedurybazaszkol

II. Aktualizacja bazy szkół

Opisane działania należy przeprowadzić oddzielnie dla gimnazjów, LO i⁠ T.

  1. Wyeksportowanie bazy szkół do plików arkusza kalkulacyjnego.
    • Realizowane przez:
      funkcja pobierz_baze_szkol() w ramach biblioteki EWDdane
    • Wcześniejsze rozwiązania:
      skrypt R (szczegóły) na podstawie pierwowzoru: D:/Prace/EWD/dane/bazy szkół/pobieranie danych z bazy.r.
  2. Ręczna aktualizacja przeprowadzana na plikach arkusza kalkulacyjnego przez Annę.
    1. Lista znanych błędów (niescalonych szkół, które trzeba połączyć).
  3. Weryfikacja spójności bazy po poprawkach:
    • Zadanie obejmuje:
      1. szukanie duplikatów kodów OKE (ze względu na nasze id), w⁠ tym w różnych latach;
      2. oględne sprawdzenie, czy 1)⁠ nazwa szkoły nie zawiera pełnego adresu (nie ma po co go tam duplikować), 2)⁠ czy w kolumnie ulica nie występuje aby nazwa miejscowości, 3)⁠ czy kody PNA przystają do wzorca dd-ddd;
      3. przyrównanie bazy po zmianach do zrzutu sprzed aktualizacji (z⁠ 1.).
    • Realizowane przez:
      funkcja weryfikuj_baze_szkol() w ramach biblioteki EWDdane.
    • Wcześniejsze rozwiązania:
      skrypt R (szczegóły) na podstawie pierwowzorów: D:/Prace/EWD/dane/bazy szkół/weryfikacja (gimn|LO|T).r.
    • Uwagi:
      Jeśli zaszły zmiany w⁠ przypisaniu id OKE do naszego id w⁠ latach ubiegłych (skrypty zwracają listę takich zmian, które wykryją), naniesienie takich zmian w⁠ bazie wymaga ręcznej, *uważnej* roboty (szczęśliwie odpowiednie klucze obce w bazie mają ON UPDATE CASCADE, co znacznie ułatwia sprawę):
      BEGIN;
      -- przepięcie wyników egzaminacyjnych uczniów
      UPDATE dane_osobowe.testy_obserwacje SET id_szkoly = {powinno_być} WHERE id_szkoly = {jest} AND id_testu IN (SELECT id_testu FROM testy JOIN arkusze USING (arkusz) WHERE EXTRACT(YEAR FROM data_egzaminu) = {korygowany_rok});
      -- przepięcie danych adresowych szkoły
      UPDATE szkoly_dane SET id_szkoly = {powinno_być} WHERE id_szkoly = {jest} AND rok = {korygowany_rok};
      -- usunięcie niepotrzebnej szkoły
      DELETE FROM szkoly WHERE id_szkoly = {jest};
      COMMIT;
    • [pkt 2.-3. powtarzać w⁠ kółko do osiągnięcia zadowalających rezultatów]
  4. Przyłączenie do bazy informacji z RSPO.
    • Obecnie realizowane przez:
      obecnie nierealizowane (sprawa rozbija się o to, że w praktyce nie daje się pozyskać REGONów z OKE);
    • Docelowa implementacja:
      Do pobierania RSPO - pakiet EWDrspo.
      Samo łączenie - ???.
    • Uwagi:
      Sposób zrealizowania tego punktu procedury będzie rzutował na następny punkt - jeśli szkołom będzie się udawało przyłączyć dane z RSPO, TERYTy będą wiarygodne.
  5. Wstępne dodanie szkół do bazy i zaktualizowanie informacji o typie placówki (szczegółowy opis)
    • Wygenerowanie w Excelu poleceń SQL INSERT i UPDATE i wywołanie ich na bazie.
  6. Weryfikacja informacji o kodzie TERYT gminy, w⁠ której znajduje się szkoła (szczegółowy opis)
    • Przepuszczenie przez skrypt PHP używany przez Mateusza do weryfikacji danych teleadresowych szkół z zamówień na arkusze egzaminacyjne. W wyniku powstaje CSV z proponowanymi TERYT-ami.
    • Ręczną analizę rezultatów i rozwiązanie znalezionych problemów.
    • Wygenerowanie w Excel-u poleceń SQL UPDATE i dopisanie kodów TERYT do bazy.
  7. Przypisanie szkołom informacji o⁠ wielkości miejscowości, w⁠ której znajduje się szkoła (szczegóły)
    • Skrypt w R działający na danych z BDL.
  8. Aktualizacja informacji o tym, dla których szkół powinny być pokazywane wskaźniki na stronie www
    • Jeśli w danym roku wskaźniki trzyletnie nie będą przeliczane wstecz, a podczas aktualizacji bazy szkół dokonano zmian dotyczących klasyfikacji szkół jako dla dorosłych, specjalnych czy przyszpitalnych, należy w oparciu o zaktualizowane dane nadać odpowiednie wartości kolumnie 'pomin' w tabeli 'wartosci_wskaznikow'.
ewdprocedurybazaszkol.txt · ostatnio zmienione: 2016/09/08 12:51 przez t.zoltak