Database Creation
Во овој дел е прикажан процесот на креирање и иницијализација на базата на податоци преку DDL и DML скрипти, како и дефинирање на погледи (views) за поедноставување на одредени пребарувања и прикажување на податоците.
DDL скрипта за креирање на табелите
Во оваа DDL скрипта се поставени повеќе ограничувања со цел да се спречи внесување невалидни податоци и да се зачува конзистентноста на самиот систем. На пример, кај корисниците се проверува дали email адресите и телефонските броеви се во валиден формат, дали лозинката има минимална должина и дали датумот на раѓање е реален. Слични проверки има и кај компании, возила, регистрации и плаќања, каде што не се дозволени негативни цени, невалидни координати или датуми што логички не се точни.
Дополнително, поставени се ограничувања со кои се осигурува дека:
- датумот на истекување е секогаш по датумот на издавање,
- крајното време на возење е по почетното,
- rating вредностите се во дозволен опсег,
- секвенците (seqno) се уникатни во рамки на еден ентитет,
- еден preference може да се однесува или на компанија или на freelance возач, но не на двата истовремено.
DML скрипта за пополнување на табелите
Погледи
vw_unassigned_requests: Ги прикажува сите барања за превоз кои сe уште немаат добиено понуда (т.е. се во статус pending), заедно со основни информации за клиентот кој го креирал барањето.vw_live_offers_for_customer: Прикажува активни понуди за одредени клиенти, со детали за цената, ETA и податоци за возачот и клиентот за полесна комуникација и следење.vw_available_drivers: Ги враќа возачите кои моментално се достапни за возење, земајќи ги предвид валидноста на возачката дозвола и дали моментално се на смена.customer_payments_ride: Прикажува информации за извршени плаќања од клиенти поврзани со завршени возења, вклучувајќи износ, метод на плаќање и време на завршување на возењето.all_drivers: Прикажува листа на сите возачи без разлика дали се регистрирани како возачи во компанија или како фриленс возачи, заедно со основни кориснички податоци (име, презиме, телефон, email) и ознака дали припаѓаат на компанија (from_company = true) или се фриленс возачи (from_company = false).reports_on_drivers_rides: Прикажува пријави поврзани со возења, заедно со податоци за возачот и возилото, со цел следење на инциденти и проблеми.reviews_on_drivers: Прикажува оценки и коментари за возачите базирани на завршени возења, за анализа на квалитетот на услугата.user_message_driver: Ги прикажува пораките испратени од клиенти до возачи во рамки на конкретно возење, со цел следење на комуникацијата.vw_live_ride_monitor: Обезбедува реален преглед на активни возења, вклучувајќи податоци за клиент, возач, компанија, број на патници и статус на возењето за оперативен мониторинг.
Attachments (3)
- ddl.sql (18.4 KB ) - added by 2 days ago.
- dml.sql (81.7 KB ) - added by 2 days ago.
- views.sql (4.6 KB ) - added by 2 days ago.
Download all attachments as: .zip
