sql >> Databáze >  >> RDS >> Database

Jak ukládat rozvrhy zaměstnanců do databáze

Úroveň:Začátečník

Mnoho organizací se potýká s běžným problémem ukládání rozvrhů zaměstnanců. Bez ohledu na to, jaká instituce:společnost, univerzita nebo prostě jednotlivec, mnoho subjektů potřebuje aplikaci k zobrazení rozvrhů. Pokusím se proto přijít s databázovým modelem a pak si v příštím článku povíme o jednoduché aplikaci pro ukládání rozvrhů zaměstnanců do databáze.

V současné době vypadá design následovně:

Model je docela přímočarý.

Tip – Přirozené a náhradní klíčové strategie

  1. Použijte náhradní primární klíč, kdykoli by se hodnoty v přirozeném klíči mohly změnit nebo když by přirozený klíč byl příliš složitý.
  2. Pokud se přirozený kandidátský klíč skládá z malého počtu sloupců (ideálně pouze jednoho) a jeho hodnoty se nemění – použijte jej jako přirozený primární klíč.

Další informace o přirozených a náhradních primárních klíčích.

employee tabulka obsahuje základní atributy popisující každého zaměstnance, např.:jméno, příjmení, adresa a telefonní číslo. Jméno a příjmení neidentifikují jednoznačně každý záznam (může být více osob se stejným jménem a příjmením), proto byl zaveden nový sloupec (id ), který se nazývá náhradní klíč .

schedule tabulka obsahuje dny a hodiny, kdy je každý zaměstnanec v práci. work_date sloupec uvádí den, kdy každý zaměstnanec pracoval. start_work_hour a end_work_hour sloupce označují pracovní dobu pro daný den.

Předpokládejme, že máme zaměstnance jménem Petr. 4. února byl v práci a čas začátku a konce si označil v rozvrhu.

Odpovídající řádek v schedule tabulka vypadá takto:


id id_zaměstnance pracovní_datum start_work_hour end_work_hour je_svátek je_víkend
1 1 2015-02-04 10 16 0 0


Při budování takového systému můžeme chtít vědět, kdo pracoval nejvíce nocí nebo kdo pracoval nejvíce víkendů/svátků. Aby bylo možné vygenerovat zprávy, které takové informace obsahují, použijte sloupce is_holiday a is_weekend byly představeny.

Pomocí tohoto přístupu budete muset mít samostatnou tabulku pro svátky, která obsahuje data svátků pro společnost. Když zaměstnanec zadá svou pracovní dobu, sloupce is_holiday a is_weekend lze aktualizovat pomocí spouštěče. Po vložení data a času spouštěč zkontroluje, zda je datum svátek nebo víkend, a do pole vloží správnou hodnotu.


  1. Aktualizujte pomocí parametru pomocí knihovny stálých místností

  2. Matice podporovaných verzí Oracle

  3. Jednoduchý dotaz k získání maximální hodnoty pro každé ID

  4. 2 způsoby, jak vrátit řádky, které obsahují pouze nealfanumerické znaky v MariaDB