01

SQL databáze pro taxi službu

Návrh relační databáze pro modelovou taxislužbu ProfiTaxi.
Projekt byl zaměřen na návrh datového modelu, propojení jednotlivých částí systému a následnou práci s daty pomocí SQL.

Cílem bylo vytvořit databázové řešení, které dokáže zachytit celý proces od zákazníka a objednávky až po samotnou realizaci jízdy, včetně
vazeb na řidiče, vozidla a jednotlivé pobočky taxislužby.

TECHNOLOGIE: SQL · SQL Server
OBLAST: Relační databáze
ROK: 2026
02

O projektu

Databáze vznikla jako řešení scénáře taxislužby, která provozuje vozidla, řidiče a pobočky v různých městech.
Datový model proto musel zachytit nejen samotné jízdy, ale také proces objednávání, zákaznické údaje, firemní kontrakty a provozní informace.

Jedním z důležitých principů návrhu bylo oddělení objednávky od skutečné realizace jízdy.
Objednávka představuje požadavek zákazníka, zatímco realizace obsahuje údaje o skutečně uskutečněné jízdě, například čas realizace, ujetou vzdálenost a výslednou cenu.

Databáze zároveň rozlišuje privátní a firemní zákazníky pomocí atributu clientType. Firemní zákazníci mohou být navázáni na kontrakt definující například cenu za kilometr nebo smluvený počet jízd.

Datový model:

Datový model databáze ProfiTaxi

Relační model:

Relační datový model taxislužby
03

Struktura databáze

Hlavní část databázového modelu tvoří zákazníci, objednávky, kontrakty a realizace jízd. Entita clients uchovává informace o zákaznících, zatímco order reprezentuje samotnou objednávku a její stav.

Na objednávku může navazovat záznam o realizované jízdě. Ten uchovává údaje, které vzniknou až při uskutečnění jízdy – například čas realizace, vzdálenost v kilometrech a celkovou cenu.

Druhá část modelu se věnuje provoznímu zázemí taxislužby. Obsahuje pobočky TaxiHub, zaměstnance, řidiče, vozidla a jejich majitele. Zaměstnanci jsou řešeni pomocí společné nadřazené entity, ze které vycházejí jednotlivé pracovní role.

Výstup procedur a dotazů:

Výstup procedur a SQL dotazů
04

Práce s daty

Součástí projektu nebyl pouze návrh databázového modelu, ale také praktická práce s daty pomocí SQL. Byly vytvořeny pohledy umožňující získávat konkrétní informace z propojených tabulek.

Jedním z vytvořených pohledů je například JIZDY_RIDICU, který poskytuje přehled uskutečněných jízd jednotlivých řidičů včetně čísla vozidla a míst odjezdu a příjezdu.

Další pohled NASMLOUVANE_KONTRAKTY pracuje s uzavřenými kontrakty, zákazníky a počtem uskutečněných jízd. Vlastní pohled byl následně navržen pro propojení vozidel s jejich aktuálními řidiči a filtrování podle dosaženého příjmu.

05

Uložené procedury

Praktická část projektu zahrnovala také vytvoření uložených procedur. Jedním z hlavních úkolů bylo vytvoření procedury REGISTRACE, která umožňuje zaregistrovat nového zákazníka společně s jeho kontraktem.

Procedura přijímá potřebné údaje jako vstupní parametry a následně zajišťuje jejich uložení do odpovídajících tabulek včetně správného propojení pomocí cizích klíčů.

Projekt tak ukazuje nejen návrh struktury databáze, ale také způsob, jakým lze nad vytvořeným modelem vytvořit konkrétní databázovou logiku.

06

Výsledek

Výsledkem je relační databázový model schopný reprezentovat hlavní provozní procesy taxislužby a jejich vzájemné vazby.

Projekt mi umožnil propojit návrh datového modelu s praktickou implementací v SQL a zároveň si vyzkoušet práci s pohledy, uloženými procedurami, primárními a cizími klíči a vztahy mezi jednotlivými entitami.