DB tabulky (Poznámky): Porovnání verzí

Z Prirucky
 
(Není zobrazeno 10 mezilehlých verzí od stejného uživatele.)
Řádek 9: Řádek 9:
</small>
</small>


== Individuální poznámky ==
<small>
<small>
SELECT * FROM poznam_hlavicky;
SELECT * FROM poznam_prava_hlav;
SELECT * FROM poznam_id;
SELECT * FROM poznam_txt;
SELECT * FROM poznam_prava;
</small>
Po insertech pomocí sql (mimo aplikaci) je potřeba spustit příkaz
<small>
<small>
Tabulky jsou provázány prostřednictvím sloupce id_pozn. V tabulce poznam_id je ve sloupci os_cislo uloženo osobní číslo, k němuž se poznámka vztahuje. Pokud byla poznámka zadávána v agendě Pracovní poměr, je vyplněn také sloupec cislo_pom.
delete from serial_cols2 where tabname in ('poznam_hlavicky', 'poznam_prava_hlav', 'poznam_id', 'poznam_txt', 'poznam_prava');
</small>


Pozn. 1. Smazání těch hlaviček poznámek u zaměstnanců, které nemají vyplněn obsah (hlavička byla založena hromadnou akcí ke všem zaměstnancům; poté některým zaměstnancům byl vyplněn obsah, jiným ne).
== Příklad 1 - individuální poznámka ==
[[Image: Poznamky priklad1.png|550px]]


: delete from poznam_prava where id_pozn in (select id_pozn from poznam_id where hlavicka = 'XXXXXXX' and id_pozn not in (select distinct id_pozn from poznam_txt));
[[Image: Poznam id priklad1.png|350px]]
: delete from poznam_id where hlavicka = 'XXXXXXX' and id_pozn not in (select distinct id_pozn from poznam_txt);
[[Image: Poznam txt priklad1.png|250px]]
[[Image: Poznam prava priklad1.png|150px]]


Pozn. 2. Smazání hlavičky poznámky a všech souvisejích textů pro všechny zaměstnance.
== Schéma ==
[[Image: Poznamky tabulky.png|750px]]


: delete from poznam_prava where id_pozn in (select id_pozn from poznam_id where hlavicka = 'XXXXXXX');
== Komentáře ==
: delete from poznam_txt where id_pozn in (select id_pozn from poznam_id where hlavicka = 'XXXXXXX');
* <small>poznam_prava.prava</small> - ''S'' (právo ''Prohlížení''), ''SU'' (právo ''Prohlížení'' a ''Změny'')
: delete from poznam_id where hlavicka = 'XXXXXXX';
* Pokud je v db tabulce "poznam_prava" uveden přístup daného uživatele alespoň na jedno osobní číslo (tj. jednoho zaměstnance), postačí to k tomu, že na danou individuální hlavičku poznámky má uživatel právo pro všechna osobní čísla (zaměstnance). <small>Pokud u nějakého zaměstnance ukážu na individuální poznámku a kliknu na Práva a pak nastavím práva určitým uživatelům, stane se to, že je jim do db tabulky "poznam_prava" přidáno vícero řádků - tolik, kolik existuje stejných hlaviček individuálních poznámek. Ale pokud později jinému zaměstnanci přidám stejnou hlavičku poznámky, řádky se již nepřidají. To však neznamená, že uživatel nemá právo na poznámku tohoto jiného zaměstnance - vyhodnocuje se dle existence resp. počtu záznamů. (7.5.2024) </small>
* <small>Přehled všech použitých hlaviček v poznámkách: select hlavicka, count(*) as pocet from poznam_id group by hlavicka order by hlavicka;</small>


Pozn. 3. Informaci o tom, ke kterému osobnímu číslu se poznámka vztahuje, obsahoval dříve sloupec id_pozn (tab poznam_id), který obsahoval textovou informaci "os_cislo = XY", kde XY bylo konkrétní osobní číslo. Nyní je tento sloupec prázdný, přičemž přechod na nový způsob ukládání včetně převedení stávajících dat proběhl automaticky - po prvním otevření agendy poznámek (v záložkových oknech os.údajů nebo prac.poměrů) se uživateli zobrazilo upozornění a proběhla dávková úprava dat. Úprava byla k dispozici od srpna 2011, přičemž současně bylo potřeba ošetřit další místa výskytu poznámek včetně jednorázové funkce 34-změna osobního čísla.
</small>
</small>
== Odkazy ==
== Odkazy ==
* [[Poznámky]]
* [[Poznámky]]

Aktuální verze z 7. 5. 2024, 12:45

DB tabulky (Poznámky)

  • poznam_hlavicky
  • poznam_prava_hlav
  • poznam_id
  • poznam_txt
  • poznam_prava

SELECT * FROM poznam_hlavicky;
SELECT * FROM poznam_prava_hlav;
SELECT * FROM poznam_id;
SELECT * FROM poznam_txt;
SELECT * FROM poznam_prava;

Po insertech pomocí sql (mimo aplikaci) je potřeba spustit příkaz

delete from serial_cols2 where tabname in ('poznam_hlavicky', 'poznam_prava_hlav', 'poznam_id', 'poznam_txt', 'poznam_prava');

Příklad 1 - individuální poznámka

Poznamky priklad1.png

Poznam id priklad1.png Poznam txt priklad1.png Poznam prava priklad1.png

Schéma

Poznamky tabulky.png

Komentáře

  • poznam_prava.prava - S (právo Prohlížení), SU (právo Prohlížení a Změny)
  • Pokud je v db tabulce "poznam_prava" uveden přístup daného uživatele alespoň na jedno osobní číslo (tj. jednoho zaměstnance), postačí to k tomu, že na danou individuální hlavičku poznámky má uživatel právo pro všechna osobní čísla (zaměstnance). Pokud u nějakého zaměstnance ukážu na individuální poznámku a kliknu na Práva a pak nastavím práva určitým uživatelům, stane se to, že je jim do db tabulky "poznam_prava" přidáno vícero řádků - tolik, kolik existuje stejných hlaviček individuálních poznámek. Ale pokud později jinému zaměstnanci přidám stejnou hlavičku poznámky, řádky se již nepřidají. To však neznamená, že uživatel nemá právo na poznámku tohoto jiného zaměstnance - vyhodnocuje se dle existence resp. počtu záznamů. (7.5.2024)
  • Přehled všech použitých hlaviček v poznámkách: select hlavicka, count(*) as pocet from poznam_id group by hlavicka order by hlavicka;

Odkazy