Narzędzia użytkownika

Narzędzia witryny


zpd_oszacowania_obserwacji

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
Ostatnia wersja Both sides next revision
zpd_oszacowania_obserwacji [2014/05/16 13:53]
zozlak [Usuwanie kluczy obcych na czas importu]
zpd_oszacowania_obserwacji [2015/09/08 21:07]
zozlak
Linia 7: Linia 7:
     - Jeśli przy pobieraniu danych używano parametru //​idSkali//,​ będzie to zapewne właśnie ta [[skala]].     - Jeśli przy pobieraniu danych używano parametru //​idSkali//,​ będzie to zapewne właśnie ta [[skala]].
     - Jeśli przy pobieraniu danych nie używano parametru //​idSkali//,​ właściwa [[skala]] może jeszcze w ogóle nie istnieć w bazie - w takim wypadku należy ją utworzyć - patrz [[r_zpd_skale|definiowanie skal w pakiecie ZPD]].     - Jeśli przy pobieraniu danych nie używano parametru //​idSkali//,​ właściwa [[skala]] może jeszcze w ogóle nie istnieć w bazie - w takim wypadku należy ją utworzyć - patrz [[r_zpd_skale|definiowanie skal w pakiecie ZPD]].
-  - Należy utworzyć w bazie odpowiednie [[skalowanie]].<​code>​INSERT INTO skalowania (id_skali, skalowanie, opis, estymacja) VALUES (ID_SKALI, SKALOWANIE, '​OPIS',​ '​ESTYMACJA'​);</​code>​ gdzie:+  - Należy utworzyć w bazie odpowiednie [[skalowanie]].<​code>​INSERT INTO skalowania (id_skali, skalowanie, opis, estymacja, do_prezentacji,​ data) VALUES (ID_SKALI, SKALOWANIE, '​OPIS',​ '​ESTYMACJA'​, TRUE/FALSE, now());</​code>​ gdzie:
     - //​ID_SKALI//​ powinno być identyfikatorem [[skala|skali]],​ której użyto do pobrania danych;     - //​ID_SKALI//​ powinno być identyfikatorem [[skala|skali]],​ której użyto do pobrania danych;
     - //​SKALOWANIE//​ powinno być numerem unikalnym w ramach danej [[skala|skali]] \\ aby zobaczyć, jakie numery są już wykorzystane,​ należy wykonać zapytanie SQL <​code>​SELECT * FROM skalowania WHERE id_skali = ID_MOJEJ_SKALI</​code>​     - //​SKALOWANIE//​ powinno być numerem unikalnym w ramach danej [[skala|skali]] \\ aby zobaczyć, jakie numery są już wykorzystane,​ należy wykonać zapytanie SQL <​code>​SELECT * FROM skalowania WHERE id_skali = ID_MOJEJ_SKALI</​code>​
Linia 13: Linia 13:
     - Możliwe wartości kolumny //​ESTYMACJA//​ to: //MML (Parscale)/​MML (Mirt)/MML (Mplus)/JML (Winsteps)/​MML (IRT.ADO)//     - Możliwe wartości kolumny //​ESTYMACJA//​ to: //MML (Parscale)/​MML (Mirt)/MML (Mplus)/JML (Winsteps)/​MML (IRT.ADO)//
       - jeśli potrzebna jest jakaś inna wartość, należy zgłosić się do Mateusza Żółtaka.       - jeśli potrzebna jest jakaś inna wartość, należy zgłosić się do Mateusza Żółtaka.
 +  - Należy zdefiniować w bazie grupy użyte w danym [[skalowanie|skalowaniu]] (także w wypadku skalowania jednogrupowego,​ choć może to być po prostu grupa o pustej nazwie).<​code>​INSERT INTO skalowania_grupy (id_skali, skalowanie, grupa) VALUES (ID_SKALI, SKALOWANIE, '​GRUPA'​);</​code>,​ gdzie:
 +    - //​ID_SKALI//​ i //​SKALOWANIE//​ - patrz opis skalowania powyżej
 +    - //GRUPA// - nazwa grupy (może być też pusta)
   - Jeśli chcemy jedynie **zaktualizować** dane [[skalowanie|skalowania]],​ które już znajdują się w bazie, musimy ją wyczyścić poleceniami SQL: \\ <​code>​DELETE FROM skalowania_elementy WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);​   - Jeśli chcemy jedynie **zaktualizować** dane [[skalowanie|skalowania]],​ które już znajdują się w bazie, musimy ją wyczyścić poleceniami SQL: \\ <​code>​DELETE FROM skalowania_elementy WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);​
-DELETE FROM skalowania_obserwacje WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);</​code>​ gdzie //​(ID_SKALI,​ SKALOWANIE)//​ identyfikują nasze [[skalowanie]] w bazie danych.+DELETE FROM skalowania_obserwacje WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);</​code>​ gdzie //​(ID_SKALI,​ SKALOWANIE)//​ identyfikują nasze [[skalowanie]] w bazie danych. \\ Uwaga, usuwanie rekordów z tablicy //​skalowania_obserwacje//​ może zająć bardzo dużo czasu (ze względu na liczbę danych przechowywanych w tej tablicy).
  
 ===== Import oszacowań ===== ===== Import oszacowań =====
Linia 64: Linia 67:
 ALTER TABLE skalowania_obserwacje DROP CONSTRAINT skalowania_obserwacje_id_skali_fkey;​ ALTER TABLE skalowania_obserwacje DROP CONSTRAINT skalowania_obserwacje_id_skali_fkey;​
 ALTER TABLE skalowania_obserwacje DROP CONSTRAINT skalowania_obserwacje_id_testu_fkey;​ ALTER TABLE skalowania_obserwacje DROP CONSTRAINT skalowania_obserwacje_id_testu_fkey;​
-DROP INDEX skalowania_obserwacje_id_testu_index;​ 
 DROP INDEX skalowania_obserwacje_testy_index;</​code>​ DROP INDEX skalowania_obserwacje_testy_index;</​code>​
   * Przywracanie ograniczeń kluczy obcych: <​code>​ALTER TABLE skalowania_obserwacje ADD FOREIGN KEY (estymacja) REFERENCES sl_estymacje_obserwacji(estymacja);​   * Przywracanie ograniczeń kluczy obcych: <​code>​ALTER TABLE skalowania_obserwacje ADD FOREIGN KEY (estymacja) REFERENCES sl_estymacje_obserwacji(estymacja);​
 ALTER TABLE skalowania_obserwacje ADD FOREIGN KEY (id_skali, skalowanie) REFERENCES skalowania(id_skali,​ skalowanie);​ ALTER TABLE skalowania_obserwacje ADD FOREIGN KEY (id_skali, skalowanie) REFERENCES skalowania(id_skali,​ skalowanie);​
 ALTER TABLE skalowania_obserwacje ADD FOREIGN KEY (id_testu, id_obserwacji) REFERENCES testy_obserwacje(id_testu,​ id_obserwacji);​ ALTER TABLE skalowania_obserwacje ADD FOREIGN KEY (id_testu, id_obserwacji) REFERENCES testy_obserwacje(id_testu,​ id_obserwacji);​
-CREATE INDEX skalowania_obserwacje_id_testu_index ON skalowania_obserwacje (id_testu, estymacja); 
 CREATE INDEX skalowania_obserwacje_testy_index ON skalowania_obserwacje (id_obserwacji,​ id_testu);</​code>​ CREATE INDEX skalowania_obserwacje_testy_index ON skalowania_obserwacje (id_obserwacji,​ id_testu);</​code>​
  
  
zpd_oszacowania_obserwacji.txt · ostatnio zmienione: 2015/09/08 21:09 przez zozlak