wiki:ER

Version 14 (modified by 221071, 13 days ago) ( diff )

--

Domify

ER Дијаграм

No image "ERmodel_v2.png" attached to ER

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

Ентитети

User – Генерален ентитет кој што дефинира корисници на апликацијата.

  • id – нумерички тип (примарен клуч)
  • first_name – текстуален тип (задолжителен атрибут)
  • last_name – текстуален тип (задолжителен атрибут)
  • email – текстуален тип (задолжителен атрибут)
  • password_hash – текстуален тип (задолжителен атрибут)
  • date_of_birth – датумски тип (задолжителен атрибут)
  • rating- нумерички тип (задолжителен атрибут)
  • bio - текстуален тип (опционален атрибут)

Property – Ентитет кој ги претставува недвижнините што се нудат за изнајмување.

  • id – нумерички тип (примарен клуч)
  • title – текстуален тип (задолжителен атрибут)
  • description – текстуален тип (задолжителен атрибут)
  • created_at – датумски тип (задолжителен атрибут)

PropertyType – Категорија на недвижнини (стан, куќа, деловен простор и сл.).

  • id – нумерички тип (примарен клуч)
  • name – текстуален тип (задолжителен атрибут)

PropertyImage – Слики поврзани со одредена недвижнина.

  • id – нумерички тип (примарен клуч)
  • image – слика тип (задолжителен атрибут)

Unit – Посебна единица/станбен простор во рамките на недвижнина.

  • id – нумерички тип (примарен клуч)
  • unit_number – текстуален тип (задолжителен атрибут)
  • floor – нумерички тип (задолжителен атрибут)
  • bedrooms – нумерички тип (задолжителен атрибут)
  • bathrooms – нумерички тип (задолжителен атрибут)
  • area_sq_m – нумерички тип (задолжителен атрибут)
  • rent_amount – нумерички тип (опционален атрибут)

Listing – Оглас за достапност на одредена единица.

  • id – нумерички тип (примарен клуч)
  • available_from – датумски тип (задолжителен атрибут)
  • available_to – датумски тип (задолжителен атрибут)
  • status – текстуален тип (достапно, изнајмено итн.) (задолжителен атрибут)
  • description – текстуален тип (опционален атрибут)

Lease – Договор за изнајмување помеѓу Изнајмувач и Издавач.

  • id – нумерички тип (примарен клуч)
  • start_date – датумски тип (задолжителен атрибут)
  • end_date – датумски тип (задолжителен атрибут)
  • rent_amount – нумерички тип (задолжителен атрибут)
  • deposit_amount – нумерички тип (задолжителен атрибут)

Payment – Информации за уплатите поврзани со договорот за кирија.

  • id – нумерички тип (примарен клуч)
  • amount – нумерички тип (задолжителен атрибут)
  • status – текстуален тип (на пример: успешно, неуспешно) (задолжителен атрибут)
  • payment_date – датумски тип (задолжителен атрибут)

PaymentMethod – Начин на плаќање (картичка, трансакција, готово).

  • id – нумерички тип (примарен клуч)
  • name – текстуален тип (задолжителен атрибут)

TenantProfile – Профил на изнајмувачот. Произлгегува од User.

  • id – нумерички тип (примарен клуч)
  • first_name – текстуален тип (задолжителен атрибут)
  • last_name – текстуален тип (задолжителен атрибут)
  • email – текстуален тип (задолжителен атрибут)
  • password_hash – текстуален тип (задолжителен атрибут)
  • date_of_birth – датумски тип (задолжителен атрибут)
  • rating – нумерички тип (задолжителен атрибут)
  • bio – текстуален тип (опционален атрибут)

LandlordProfile – Профил на сопственикот. Произлгегува од User.

  • id – нумерички тип (примарен клуч)
  • first_name – текстуален тип (задолжителен атрибут)
  • last_name – текстуален тип (задолжителен атрибут)
  • email – текстуален тип (задолжителен атрибут)
  • password_hash – текстуален тип (задолжителен атрибут)
  • date_of_birth – датумски тип (задолжителен атрибут)
  • rating – нумерички тип (задолжителен атрибут)
  • bio – текстуален тип (опционален атрибут)
  • managed_properties_count – нумерички тип (задолжителен атрибут)
  • is_agent - булова вредност (задолжителен атрибут)

ServiceRequest – Барање за сервис или поправка од страна на изнајмувачот.

  • id – нумерички тип (примарен клуч)
  • description – текстуален тип (задолжителен атрибут)
  • request_date – датумски тип (задолжителен атрибут)
  • status – текстуален тип (задолжителен атрибут)

ServiceCategory – Категорија на услуги за сервисни барања (електрика, водовод и сл.).

  • id – нумерички тип (примарен клуч)
  • name – текстуален тип (задолжителен атрибут)

MaintenanceLog– Евиденција за извршени сервисни активности.

  • id – нумерички тип (примарен клуч)
  • description – текстуален тип (задолжителен атрибут)
  • maintenance_date – датумски тип (задолжителен атрибут)

Inspection – Инспекција на единица за време или по завршување на договор.

  • id – нумерички тип (примарен клуч)
  • inspection_date – датумски тип (задолжителен атрибут)
  • notes – текстуален тип (задолжителен атрибут)

Document – Датотеки поврзани со договори или кориснички профили.

  • id – нумерички тип (примарен клуч)
  • file_type – текстуален тип (PDF, JPG и сл.) (задолжителен атрибут)
  • file_url – текстуален тип (задолжителен атрибут)
  • uploaded_at – датумски тип (задолжителен атрибут)

Address –Податоци за локација на корисници и недвижнини.

  • id – нумерички тип (примарен клуч)
  • street – текстуален тип (задолжителен атрибут)
  • city – текстуален тип (задолжителен атрибут)
  • number– текстуален тип (задолжителен атрибут)
  • country – текстуален тип (задолжителен атрибут)

Message - Порака помеѓу сопствникот и изнајмувачот за одредено изнајмување.

  • id - нумерички тип (примарен клуч)
  • sent_at - датум тип(задолжителен атрибут)
  • content - текстуален тип(задолжителен атрибут)

Релации

  • lives– 1:N релација помеѓу Address и User, каде што една адреса може да биде споделувана од повеќе корисници, а секој корисник мора да има една адреса
  • owned_by – 1:N релација помеѓу User и Property, каде што секој сопственик (корисник) може да има повеќе недвижнини, а секоја недвижнина мора да припаѓа на еден сопственик (целосно учество од страна на Property).
  • is_type – 1:N релација помеѓу PropertyType и Property, каде што секоја недвижнина има еден тип, а еден тип може да се користи за повеќе недвижнини (целосно учество од страна на Property).
  • located – 1:1 релација помеѓу Address и Property, каде што секоја недвижнина има локација (адреса), а една адреса може да се користи за една недвижнина.
  • comprised_of – 1:N релација помеѓу Property и Unit, каде што секоја недвижнина може да има повеќе единици, а секоја единица мора да припаѓа на една недвижнина (целосно учество од двата ентитета).
  • listed – 1:N релација помеѓу Unit и Listing, каде што секоја единица може да има повеќе огласи во различен период, а секој оглас мора да биде поврзан со една единица (целосно учество од страна на Listing).
  • image – 1:N релација помеѓу Property и PropertyImage, каде што една недвижнина може да има повеќе слики, а секоја слика мора да припаѓа на една недвижнина (целосно учество од страна на PropertyImage).
  • is_for– 1:N релација помеѓу Unit и Lease , каде што секое изнајмување се однесува на една единица, а една единица може да биде изнајмена повеќепати (во различни периоди) (целосно учество од страна на Lease).
  • tenant – 1:N релација помеѓу TenantProfile и Lease, каде што еден изнајмувач може да има повеќе изнајмувања, а секое изнајмување мора да припаѓа на еден изнајмувач(целосно учество од страна на Lease).
  • landlord – 1:N релација помеѓу LandlordProfile и Lease, каде што секое изнајмување мора да има еден сопственик , a еден сопственик може да биде дел од повеќе изнајмувања (целосно учество од страна на Lease).
  • payment_is_for_lease – 1:N релација помеѓу Lease и Payment, каде што секое изнајмување може да има повеќе наплаќања, а секое плаќање мора да се однесува на некој договор (целосно учество од Payment).
  • refers_to – 1:N релација помеѓу PaymentMethod и Payment, каде што секое плаќање мора да користи одреден начин на плаќање, а еден начин на плаќање може да се користи од повеќе плаќања (целосно учество од Payment).
  • servicerequest_is_for_lease – 1:N релација помеѓу Lease и ServiceRequest, каде што едно изнајмување може да има повеќе сервисни барања, а секое барање мора да биде поврзано со едно изнајмување.
  • type – 1:N релација помеѓу ServiceCategory и ServiceRequest, каде што секое сервисно барање мора да има категорија, а една категорија може да ја имаат повеќе сервисни барања (целосно учество од страна на ServiceRequest).
  • maintenancelog _for_ servicerequest – 1:N релација помеѓу ServiceRequest и MaintenanceLog, каде што едно барање може да има повеќе записи за поправки, а секој запис мора да биде поврзан со едно барање (целосно учество од MaintenanceLog).
  • inspection _for_ lease - 1:N релација помеѓу Lease и Inspection, каде што инспекцијата се врши во рамки на некоe изнајмување, а за едно изнајмување може да има повеќе инспекции.
  • document _refers_to_user– 1:N релација помеѓу User и Document, каде што корисник може да има повеќе документи, а секој документ мора да биде поврзан со еден корисник.
  • document _is _for_lease – 1:N релација помеѓу Lease и Document, каде што едно изнајмување може да има повеќе документи, а секој документ мора да биде поврзан со еден договор.
  • user_from_message - 1:N релација помеѓѕ User и Message, каде што е еден корисник може да испрати повеќе пораки, а секоја порака е испратена од еден корисник (целосно учество од Message).
  • user_to_message - 1:N релација помеѓѕ User и Message, каде што е еден корисник може да добие повеќе пораки, а секоја порака е пратена до еден корисник (целосно учество од Message).
  • about - 1:N релација помеѓу User и Leasing, каде што едно изнајмување може да биде дел од повеќе пораки, а една порака се однесува за едно изнајмување (целосно учество од Message).
  • listing_is_for_lease - 1:1 релација помеѓу Listing и Lease, каде што едно изнајмување може да биде дел од едно огласување, а едно огласување се однесува за едно изнајмување (целосно учество од Lease).

Историјат

Верзија 1 - Почетна верзија

Верзија 2 - Промена во оваа верзија e тоа што релацијата is_for помеѓу Lease и Unit е отстранета и е додадена како 1:1 релација помеѓу Lease и Listing.

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.