wiki:DatabaseCreation

Database Creation

Во овој дел е прикажан процесот на креирање и иницијализација на базата на податоци преку DDL и DML скрипти, како и дефинирање на погледи (views) за поедноставување на одредени пребарувања и прикажување на податоците.

DDL скрипта за креирање на табелите

ddl.sql

Во оваа DDL скрипта се поставени повеќе ограничувања со цел да се спречи внесување невалидни податоци и да се зачува конзистентноста на самиот систем. На пример, кај корисниците се проверува дали email адресите и телефонските броеви се во валиден формат, дали лозинката има минимална должина и дали датумот на раѓање е реален. Слични проверки има и кај компании, возила, регистрации и плаќања, каде што не се дозволени негативни цени, невалидни координати или датуми што логички не се точни.

Дополнително, поставени се ограничувања со кои се осигурува дека:

  • датумот на истекување е секогаш по датумот на издавање,
  • крајното време на возење е по почетното,
  • rating вредностите се во дозволен опсег,
  • секвенците (seqno) се уникатни во рамки на еден ентитет,
  • еден preference може да се однесува или на компанија или на freelance возач, но не на двата истовремено.

DML скрипта за пополнување на табелите

dml.sql

Погледи

views.sql

  • vw_unassigned_requests: Ги прикажува сите барања за превоз кои сe уште немаат добиено понуда (т.е. се во статус pending), заедно со основни информации за клиентот кој го креирал барањето. Се користи за диспечерите или слободните возачи да имаат преглед на моментално активните барања на пазарот кои чекаат да бидат опслужени.
  • vw_live_offers_for_customer: Прикажува активни понуди за одредени клиенти, со детали за цената, ETA и податоци за возачот и клиентот за полесна комуникација и следење. Овој поглед ја имплементира логиката на патничкиот интерфејс, овозможувајќи му наклиентот да ги види и спореди сите пристигнати понуди за неговото барање пред да избере.
  • vw_available_drivers: Ги враќа возачите кои моментално се достапни за возење, земајќи ги предвид валидноста на возачката дозвола и дали моментално се на смена. Ова е клучно за системот за распределба бидејќи спречува доделување на возења на нерегуларни или зафатени возачи.
  • customer_payments_ride: Прикажува информации за извршени плаќања од клиенти поврзани со завршени возења, вклучувајќи износ, метод на плаќање и време на завршување на возењето. Се користи во делот за финансиско работење и сметководство на апликацијата за следење на приходот и верификацијата на трансакциите.
  • vw_active_ride_vehicle_details: Ги прикажува клучните информации за возилото (бренд, модел, регистарска табличка) и возачот (име, телефон, проценето време на пристигнување - ETA) за возења кои се моментално активни (in_progress), со цел патникот лесно да го препознае таксито кое доаѓа да го земе. Намената му е да обезбеди релевантни информации на екранот на патникот за лесно да го препознае такси возилото кое доаѓа да го земе.
  • reports_on_drivers_rides: Прикажува пријави поврзани со возења, заедно со податоци за возачот и возилото, со цел следење на инциденти и проблеми. Овој поглед ја имлементира логиката за администраторска контрола и поддршка на корисници, овозможувајќи брзо пронаоѓање на инциденти, поплаки или технички проблеми при некој превоз.
  • reviews_on_drivers: Прикажува оценки и коментари за возачите базирани на завршени возења, за анализа на квалитетот на услугата. Се користи од страна на менаџментот или компаниите за аналитика на квалитетот на услугата, ранкирање на возачите и пресметување на нивниот просечен рејтинг во системот.
  • user_message_driver: Ги прикажува пораките испратени од клиенти до возачи во рамки на конкретно возење, со цел следење на комуникацијата. Неговата употреба е во модулот за комуникација, овозможувајќи увид во историјата на разговорите во реално време или за потребите на решавање на спорови.
  • vw_live_ride_monitor: Обезбедува реален преглед на активни возења, вклучувајќи податоци за клиент, возач, компанија, број на патници и статус на возењето за оперативен мониторинг. Ова е главниот поглед наменет за контролниот панел на диспечерите (оперативен мониторинг) со цел следење на тековната состојба и капацитетите на мрежата од возила.
Last modified 8 hours ago Last modified on 06/15/26 22:43:49

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.