wiki:ERModel

Version 10 (modified by 181085, 2 years ago) ( diff )

--

Актуелна верзија

Дијаграм

Податочни побарувања

Ентитети

  • Admin: Како што самото име кажува Админот ке биде ентитет кој ќе се креира директно во базата на податоци и ке има само еден. Тој ќе биде задолжен за одобрување на Возачот (Driver) профилите.
  • Кандидат клучеви: Admin_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност.
  • Листа атрибути на ентитетот:
    1. Name – Текстуален тип на податок, задолжително поле.
    2. Surname – Текстуален тип на податок, задолжително поле.
    3. Email – Текстуален тип на податок, задолжително поле кое мора да е во форма на xxxxxx@…
    4. Password – Текстуален тип на податок, заполжително поле, мора да има минимум 8 карактери, 1 специјален карактер и 1 цифра.
  • Driver: Овој ентитет ке ги чува податоците за сите возачи што ги има компанијата.
  • Кандидат клучеви: Driver_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност.
  • Листа атрибути на ентитетот:
    1. Name – Текстуален тип на податок, задолжително поле.
    2. Surname – Текстуален тип на податок, задолжително поле.
    3. Email – Текстуален тип на податок, задолжително поле кое мора да е во форма на xxxxxx@…
    4. Password – Текстуален тип на податок, заполжително поле, мора да има минимум 8 карактери, 1 специјален карактер и 1 цифра.
    5. Profile_picture – Слика која ќе се чува како BLOB тип на податок и ќе претставува профилна фотографија на возачот, не е задолжителна. Сите слики се зачувуваат во 300x500 големина.
    6. Price_per_km – Нумерички тип на податок, задолжително поле. Секој возач си има своја цена за тоа колку кошта превозот по изминат километар.
    7. Status – Булеан тип на податок, најпрвин поставен на Слободен, потоа при секое возење ќе се сетира автоматски на Зафатен и обратно.
    8. isApproved – булеан тип на податок, најпрвин поставен на false, доколку админот го одобри профилот на возачот, тогаш станува true.
    9. Rewards - мултивредносен атрибут составен од Grade кој што е нумерички тип на податок и е просек од оценките на патувањата за тој возач и Num_grades нумерички тип на податок што претставува бројот на оцени што ги има добиено за патувања.
    10. Level - Текстуален тип на податок, што ни е предифинирано и може да биде Beginner, Advanced, Expert.
  • Passenger: Вистинскиот корисник на апликацијата, патникот. Овој ентитет ни ги чува податоците за сите патници кој што ја користат апликацијата.
  • Кандидат клучеви: Passenger_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност.
  • Листа атрибути на ентитетот:
    1. Name – Текстуален тип на податок, задолжително поле.
    2. Surname – Текстуален тип на податок, задолжително поле.
    3. Email – Текстуален тип на податок, задолжително поле кое мора да е во форма на xxxxxx@…
    4. Password – Текстуален тип на податок, заполжително поле, мора да има минимум 8 карактери, 1 специјален карактер и 1 цифра.
  • Car: Овој ентитет ке ни служи за чување на инфомациите за сите автомобили кој што ги користат возачите.
  • Кандидат клучеви: Car_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност. Друга идеја беше да се користи license_plate атрибутот како примарен клуч, но со цел да останеме конзистенти во сите атрибути и полесно имплементирање на апликацијата, ќе користиме специјален Car_Id.
  • Листа атрибути на ентитетот:
    1. License_plate – Текстуален тип на податок, задолжително поле, мора да е во формат на XX-YYYY-XX, или XX-YYY-XX, каде X е буква, Y е цифра.
    2. Тype – Мултивредностен атрибут кој што се состои од Make (Текстуално поле, марка на автомобил, задолжително) Model (Текстуално поле, модел на автомобил, задолжително), Year(Нумеричко поле, година на автомобил).
  • Drive: Овој атрибут ќе ни служи за зачувување на сите потребни информации за сите патувања на патниците со возачите.
  • Кандидат клучеви: Drive_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност.
  • Листа атрибути на ентитетот:
    1. Status – Текстуален тип на податок, задолжително поле кое што ни покажува дали ова патување е завршено, побарано од страна на некој патник, потврдено од возач или комплетирано.
    2. Km_traveled – Нумерички тип на податок, задолжително поле што ни означува колку километри се извозени за одредено патување.
    3. Destination coordinates – Текстуален тип на податок, задолжително поле кое ни ја претставува дестинацијата на која ќе заврши патувањето.
    4. Pick_up_address – Мултивредносен атрибут кој што ќе ни го означува почетокот на патувањето, има Location Coordinates (координати за од каде ќе почне патувањето) и евентуално Street, City (текстуални полиња), Number (нумеричко поле) за адреса.
    5. Start_Time – Датум-време тип на податок, ни го означува времето кога некое патување има започнато.
    6. End_Time – Датум-време тип на податок, ни го означува времето кога некое патување има завршено.
  • Payment: Овој ентитет ќе ги зачувува сите наплати од возачите на патниците.
  • Кандидат клучеви: Payment_Id, специјално креиран атрибут кој што ќе ни претставува клуч во базата со цел конзистентност и едноставност.
  • Листа атрибути на ентитетот:
    1. Sum_payed – Нумерички тип на податок, изведен атрибут кој што ќе се пресметува од Km_traveled*Price_per_km.

Релации

  • Approve-Account: 1:N релација помеѓу Admin и Driver ентитетите и ни го претставува одобрувањето на возачките профили. Admin ентитетот е со делумно учество во релацијата додека Driver е со целосно учество. Во апликацијата ке имаме само еден админ профил кој ќе се користи за одобрување на сите возачи кој сакаат да станат дел од компанијата.
  • Confirm: 1:N релација помеѓу Driver и Drive и го претставува потврдувањето на патувањата од страна на возачите. Driver е со делумно учество во релацијата додека Drive е со целосно учество. За секое посебно патување имаме точно еден возач, додека еден возач може да изврши повеќе патувања.
  • Request: М:N релација помеѓу Drive и Passenger и го претставува побарувањето на превоз од страна на патниците. Passenger е со делумно учество во релацијата додека Drive е со целосно учество. Многу патници можат да побараат различни патувања.
  • Pays: 1:1 релација помеѓу Drive и Payment и го претставува плаќањето на превозот од страна на патниците. И Drive и Payment се со целосно учество во релацијата. За секое патување посебно имаме точно една наплата.
  • Drives: 1:1 релација помеѓу Driveр и Car и ни претставува кој возач каков автомобил вози. Driver е со делумно учество во релацијата додека Car e со целосно учество. Секој возач вози само еден автомобил.
  • Used: 1:1 релација помеѓу Drive и Car и ни претставува каков автомобил се користи при секое возење. Drive е со целосно учество во релацијата додека Car e со делумно учество. Секое патување се извршува со точно еден автомобил.

Историјат

Првичната верзија на ЕР дијаграмот.

Attachments (14)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.