wiki:DatabaseCreation

Version 13 (modified by 231093, 4 days ago) ( diff )

--

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: Обезбедува реален преглед на активни возења, вклучувајќи податоци за клиент, возач, компанија, број на патници и статус на возењето за оперативен мониторинг.

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.