IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Návrh relační databíze (cvičení na ERD)

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Ladis
Člen
Avatar
Ladis:25.3.2016 14:30

Dobrý den a ahoj,

V současné době dálkově studuji fakultu informatiky pro rozšíření svého vzdělání v oblasti IT, jež je zaměřená na programování. Jsem zaměstnán ve firmě, věnujicí se správě počítačových sití středních a malých podniků. Toť na úvod :)), zmíněnou problematiku řeším pouze pro rozšíření obzorů a bližšího pochopení některých principů, se kterými se v praxi setkávám. Předem se proto omlouvám, za ne uplně dokonalé znalosti řešeného problému. Rozhodně neplánuji být programátorem na plný úvazek, stačí mi pochopit problematiku a být schopen debaty při řešení takovýchto záležitostí.

Nyní už ke konkrétnímu příkladu. Mám za úkol navrhnout relační databázi v Oracle, později nad ní provést některé základní operace a vytvořit několik skriptů pro testovací účely. Zadání jsem si vymyslel na základě reálného prostředí tří firem, které spolu spolupracují na projektech (některé záležitosti mohou být pro účely pochopení problematiky zjednodušeny oproti realitě) a jedná se vlastně o evidenci projektů.

Uvažované prostředí:

  • tři firmy, se společnými výrobními halami v jednom objektu (budově)
  • každá firma má své vlastní projekty
  • každá firma má své zaměstnance
  • každý zaměstnanec má určitou kvalifikaci, na základě které může plnit nějaký proces
  • zaměstnanec může být přiřazen na více projektů
  • zaměstnanec v rámci jednoho projektu může vykonávat pouze jeden proces, může však být nasazen na proces z jiného projektu
  • každý projekt se skládá z několika procesů (uvažujme např. vstupní kontrola, svařování, měření, odvádění zakázky atp.)
  • na projektu pracuje vždy více zaměstnanců - zpravidla je v rámci jednoho projektu k jednomu procesu přiřazen jeden zaměstnanec
  • firmy spolu spolupracují a to tím způsobem, že si vypůjčují v případě potřeby zaměstnance s určitou kvalifikací pro plnění nějakého procesu - například v případě, kdy firma A v danou chvíli nemá pro proces P volného zaměstnance. Firma B tak zapůjčí zaměstnance, který je kvalifikovaný k tomu, aby proces P vykonával.

Jako nadstavba tohoto příkladu by se dalo řešit dále například to, že je pouze omezený počet pracovišť, na kterých lze proces P být vykonáván. Např. pro pájení zde v celém objektu jsou pouze dvě dostupná pracoviště. Tudíž projekty se musí plánovat tak, aby se jednotlivé procesy nepřekrývali - toto však zatím neřeším, a asi ani řešit nebudu, ještě uvidím. Není to pro mne důležitá informace v tomto momentě, jde mi zejména o to, abych měl přehled ohledně provedených a aktuálně běžicích projektech a o zaměstnancích, kteří jsou danému projektu přiřazeni.

V případě zhotovení GUI by například vedoucí výroby měl být schopen s aplikací a touto databází provádět následující úkony:

  1. Definovat projekt a přiřadit mu jednotlivé procesy
  2. Definovat proces (např. v případě nové zakázky (projektu, kde se ještě nevyskytuje žádný ze známých procesů)
  3. Vytvořit zaměstnance a přiřadit mu jeho kvalifikaci
  4. Přiřadit zaměstnance k projektu a tedy i k nějakému konkrétnímu procesu na základě kvalifikace (ne každý zaměstnanec může provádět každý proces)
  5. dohledat čas, v jakém byl projekt prováděn
  6. dohledat jaký zaměstnanec se na kterém projektu podílel a jaký konkrétní proces vykonával
  7. sledovat právě probíhajicích projektů a nasazených zaměstnanců

Snad jsem na nic nezapomněl :-). Mohu tedy poprosit o kritiku tohoto příkladu? Určitou formu diagramu jsem zhotovil, nemyslím si však, že by byla 100% dobře, stále mi uplně do hlavy nejde pochopení relačních vazeb a toho, jaký atribut vlastně v které tabulce budu potřebovat.

Děkuji

Editováno 25.3.2016 14:31
Odpovědět
25.3.2016 14:30
Budoucnost už není to, co bývala.
Avatar
Ladis
Člen
Avatar
Ladis:28.3.2016 16:31

Opravdu se nenajde nikdo na debatu? :)

Nahoru Odpovědět
28.3.2016 16:31
Budoucnost už není to, co bývala.
Avatar
mayo505
Tvůrce
Avatar
Odpovídá na Ladis
mayo505:28.3.2016 18:38

ono je to asi tým, že sa to nikomu nechce čítať lebo je to strašne dlhé :D

čo som tak narýchlo pozrel, ten diagram mi príde ako tak v pohode, akurát si nie som istý tým vzťahom zamestanec - kvalifikácia - proces. Ako by to tam malo fungovať? Lebo ak jedna kvalifikácia oprávňuje k viacerým procesom a jeden zamestnanec môže mať viacej takých kvalifikácií, skôr by som to robil takto (jedná sa o mená tabuliek a ich vzťahy):
zamestnanec - (m:n pomocou pivotnej tabuľky) - kvalifikacia (m:n pomocou pivotnej alebo 1:n podľa toho či proces môže patriť do viacerých kvalifikácií) - proces

A ešte mám pocit, že ti tam chýba to, že nejaký zamestnanec na niečom pracuje

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
28.3.2016 18:38
Avatar
Ladis
Člen
Avatar
Odpovídá na mayo505
Ladis:8.4.2016 22:15

Omlouvám se, koukám na to až teď. Během té doby, jsem to dostal do tohoto stavu :) a pro teď mi to takto stačí. Velký díky za Tvůj čas!

Nahoru Odpovědět
8.4.2016 22:15
Budoucnost už není to, co bývala.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.