abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    včera 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 9
    včera 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 2
    včera 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    včera 13:11 | IT novinky

    Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.

    Ladislav Hagara | Komentářů: 2
    6.5. 21:33 | Komunita

    Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.

    Ladislav Hagara | Komentářů: 5
    6.5. 21:11 | IT novinky

    Stack Overflow se dohodl s OpenAI o zpřístupnění obsahu Stack Overflow pro vylepšení OpenAI AI modelů.

    Ladislav Hagara | Komentářů: 1
    6.5. 17:55 | Nová verze

    AlmaLinux byl vydán v nové stabilní verzi 9.4 (Mastodon, 𝕏). S kódovým názvem Seafoam Ocelot. Přehled novinek v příspěvku na blogu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.5. 17:11 | IT novinky

    Před 50 lety, 5. května 1974 v žurnálu IEEE Transactions on Communications, Vint Cerf a Bob Kahn popsali protokol TCP (pdf).

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (7%)
     (14%)
     (16%)
    Celkem 139 hlasů
     Komentářů: 9, poslední včera 22:07
    Rozcestník

    Dotaz: ako spravne uchovavat historiu v sql

    8.2.2023 22:18 frufru
    ako spravne uchovavat historiu v sql
    Přečteno: 1052×
    zdravim, potreboval by som poradit ako riesit nasledujuci problem.

    mam
    tabulku zaznamy kde su stlpce id, datum, kusy, operacia_id
    tabulku operacie kde su stlpce id, nazov, sadzba_id
    tabulka sadzby kde su stlpce id, hodnota_sadzby, platna_od, platna_do

    sadzba sa moze v case menit - ked sa zmeni tak vytvorim novy riadok v tabulke sadzby s rovnakym id a roznou hodnotou sadzby a datumami platnosti.

    aky je spravny sposob na ukladanie takychto "historickych" dat?

    lebo toto sice funkcne je, ale nepripada mi to ako spravny navrh. navyse takychto stlpcov, kde sa data casovo menia a chcem mat aj ich historiu mam v realnej db viac. vysledny select potom musi okrem spojovacej podmienky, pridat aj podmienku na vyber spravnej sadzby pre dany datum.
    SELECT
      *
    FROM
      zaznamy z
        LEFT JOIN
          operacie o ON o.id = z.operacia_id
        LEFT JOIN
          sadzba s ON s.id = o.sadzba_id
            AND
          z.datum BETWEEN s.platna_od AND s.platna_do
    
    vopred dakume kazdemu, kto mi pomoze vybrat sa spravnym smerom :-)

    Odpovědi

    8.2.2023 23:21 BoneFlute | skóre: 3
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    Je nějaký důvod, proč evidovat platnost pro každý sloupec extra?

    Pokud máš splněno, že tě zajímá jen aktuálně platný záznam, nebo naopak historický, tak je možné historické záznamy odlifrovat do extra tabulky (něco jako sadzba_history).

    Přijde mi celkem pochopitelné, že když mám historické záznamy, tak musím uvést pro jaké období záznamy chci.

    9.2.2023 00:06 frufru
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    dovod preco evidovat platnost pre kazdy stlpce extra moze byt napr. pri udajoch o zamestnancoch. zamestnanec moze mat pracovnu poziciu, pracuje na urcitom oddeleni, ma veduceho,atd. moze napr. zmenit iba pracovnu poziciu a ostava na rovnakom oddeleni pod rovnakym veducim, preto kazdy takyto stlpec by mal mat extra evidovanu platnost.
    12.2.2023 05:41 BoneFlute | skóre: 3
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    Rozumím. V takovém případě bych to dělal přes řádku a nepáral bych se s tím.
    AraxoN avatar 9.2.2023 06:29 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    Dôvod to môže mať. Napríklad vo fakturačnom systéme. Majme cenu, ktorá sa mení k 1.1., ale v decembri sa fakturuje predpokladaná spotreba v januári, zároveň s vyúčtovaním za december. Vtedy sa môžu rôzne ceny za to isté stretnúť dokonca aj na jednej a tej istej faktúre.
    9.2.2023 14:31 frufru
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    este podotazka...

    mal by som pre tabulku sadzby pouzit unikatny index ktory bude zlozeny z id, platna_od, platna_do za predpokladu, ze hodnota sadzby ktora sa bude v priebehu casu menit a moze byt teoreticky v roznych obdobiach aj rovnaka a zaroven datumy platnosti sa nebudu nikdy prekryvat?

    dik za odpovede.
    9.2.2023 17:28 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    Ako riešiš zľavu pre VIP klientov?
    debian.plus@protonmail.com
    9.2.2023 17:33 z_sk | skóre: 34 | blog: analyzy
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    Ako chceš riešiť zľavu pri väčšom množstve?
    debian.plus@protonmail.com
    10.2.2023 20:25 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    Pokud s těmi historickými hodnotami potřebujete běžně pracovat, pak to ukládejte tak, jak píšete. Pokud obvykle pracujete s aktuální hodnotou a jenom občas potřebujete zjistit historické údaje, je lepší mít v hlavní tabulce jen aktuální záznam a vedle mít tabulku s historií.

    platnost_od a platnost_do budou v tabulce jen jednou, přičemž ničemu nevadí, pokud v záznamech pro různá období budou některé hodnoty stejné. Pokud se ale ty hodnoty mění úplně nezávisle na sobě, pak určitě nepatří do jedné tabulky, takže nebudete mít problém s více platnost_od a platnost_do v jedné tabulce.
    23.2.2023 09:28 Superexpert_na_databazy
    Rozbalit Rozbalit vše Re: ako spravne uchovavat historiu v sql
    V nasej aplikacii historiu udrziavame pomocou views. Mame jednu tabulku so vsetkymi cenami, ktore sa menia v case, cennik(id, datum, schvalovatel, tovar_kategoria_id, tovar_id, cena, dph). Nad touto tabulkou mame porobene views, ktore aplikacii serviruju vzdy poslednu aktualnu cenu. Tak isto cez views robime prehlady, statistiky a reporty.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.