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

Z Prirucky
 
(Není zobrazeno 14 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>
<s>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></s>


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. (7.5.2024) Při některých akcích (zápis poznámky, čtení práv) je prováděna kontrola a příp. zápis: id_pozn - uzivatel - prava. (hd 73093) </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>
* Při [[Export databáze]] dochází ke zkreslení údajů. Je potřeba opravit ''poznam_hlavicky.prog_jmeno'' a ''poznam_id.prog_jmeno'' (z hodnoty např. "jméno" na EVIDENCE nebo POMERY).
* Přehled poznámek vybraného zaměstnance: <small>SELECT *  FROM poznam_id where os_cislo in (XXX); SELECT * FROM poznam_txt where id_pozn in (select id_pozn from poznam_id where os_cislo in (XXX));</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 25. 8. 2026, 11:10

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. (7.5.2024) Při některých akcích (zápis poznámky, čtení práv) je prováděna kontrola a příp. zápis: id_pozn - uzivatel - prava. (hd 73093)
  • 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;
  • Při Export databáze dochází ke zkreslení údajů. Je potřeba opravit poznam_hlavicky.prog_jmeno a poznam_id.prog_jmeno (z hodnoty např. "jméno" na EVIDENCE nebo POMERY).
  • Přehled poznámek vybraného zaměstnance: SELECT * FROM poznam_id where os_cislo in (XXX); SELECT * FROM poznam_txt where id_pozn in (select id_pozn from poznam_id where os_cislo in (XXX));

Odkazy