| | 6 | |
| | 7 | Во оваа DDL скрипта се поставени повеќе ограничувања со цел да се спречи внесување невалидни податоци и да се зачува конзистентноста на самиот систем. На пример, кај корисниците се проверува дали email адресите и телефонските броеви се во валиден формат, дали лозинката има минимална должина и дали датумот на раѓање е реален. Слични проверки има и кај компании, возила, регистрации и плаќања, каде што не се дозволени негативни цени, невалидни координати или датуми што логички не се точни. |
| | 8 | |
| | 9 | Кај некои табели се користи автоматско бришење на зависните записи со цел да не останат невалидни податоци во базата. Ова е применето кај улогите на корисници, reviews, reports и waypoints поврзани со requests или rides. На други места се користи забрана за бришење кога податокот се уште активно се користи, како кај возила, компании и валути, за да не се наруши интегритетот на системот. Во одредени случаи се користи поставување на вредноста на null, особено кај offers, chat messages и ownership записи, со цел да се зачува историјата на податоците иако поврзаниот ентитет повеќе не постои. |
| | 10 | |
| | 11 | Дополнително, поставени се ограничувања со кои се осигурува дека: |
| | 12 | - датумот на истекување е секогаш по датумот на издавање, |
| | 13 | - крајното време на возење е по почетното, |
| | 14 | - rating вредностите се во дозволен опсег, |
| | 15 | - секвенците (seqno) се уникатни во рамки на еден ентитет, |
| | 16 | - еден preference може да се однесува или на компанија или на freelance возач, но не на двата истовремено. |