Changes between Version 18 and Version 19 of ERModel
- Timestamp:
- 11/17/22 15:42:39 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TabularUnified ERModel
v18 v19 1 1 == ''ЕР дијаграм'' 2 2 3 [[Image(ERmodel_v 2.jpg)]]3 [[Image(ERmodel_v3.png)]] 4 4 5 5 == ''Податочни побарувања'' 6 6 **Ентитети** 7 7 8 1. Users - ентитет со кој се претставуваат корисниците во системот8 1. Users - ентитет со кој се претставуваат корисниците во системот 9 9 10 10 * user_id - нумерички тип (примарен клуч кој што е serial) … … 19 19 * modified_on - датум (datetime) (nullable) 20 20 21 2. Administrators - ентитет кој ги дефинира администраторите (корисниците кои ги имаат сите привилегии)21 2. Administrators - ентитет кој ги дефинира администраторите (корисниците кои ги имаат сите привилегии) 22 22 * ги наследува сите атрибути од users ентитетот и нема дополнителни атрибути 23 23 24 3. Clients - ентитет кој ги дефинира корисниците регистрирани како клиенти24 3. Clients - ентитет кој ги дефинира корисниците регистрирани како клиенти 25 25 * ги наследува сите атрибути од Users ентитетот и има дополнителен атрибут 26 26 * address - текстуален тип (nullable) 27 27 28 4. Business_Users - ентитет кој ги дефинира бизнис корисниците28 4. Business_Users - ентитет кој ги дефинира бизнис корисниците 29 29 * ги наследува сите атрибути од users ентитетот и нема дополнителни атрибути 30 30 31 5. Delivery_Men - ентитет кој ги дефинира доставувачите на автомобили31 5. Delivery_Men - ентитет кој ги дефинира доставувачите на автомобили 32 32 * ги наследува сите атрибути од users ентитетот и 33 33 * salary - нумерички тип (задолжителен) 34 34 * date_of_employment - датум (задолжителен атрибут) 35 35 36 6. Companies - ентитет кој ги дефинира rent a car компаниите36 6. Companies - ентитет кој ги дефинира rent a car компаниите 37 37 * company_id - нумерички тип (примарен клуч) 38 38 * company_name - текстуален тип (задолжителен атрибут и уникатен) … … 44 44 * modified_by- датум (datetime) (nullable) 45 45 46 7. Locations - ентитет кој ги дефинира локациите на компаниите46 7. Locations - ентитет кој ги дефинира локациите на компаниите 47 47 * location_id - нумерички тип (примарен клуч и serial) 48 48 * company_id - надворешен клуч од Companies. … … 51 51 * street_number - нумерички тип (задолжителен атрибут) 52 52 53 8.Brands 54 * brand_id - нумерички тип (примарен клуч и serial) 55 * brand_name - текстуален тип (задолжителен атрибут) 56 * origin_country - текстуален тип (задолжителен атрибут) 53 8. Contracts 54 * signed_date - датум (парцијален клуч) 55 * address - текстуален тип (задолжителен атрибут) 56 * from_date - датум (задолжителен атрибут) 57 * to_date - датум (задолжителен атрибут) 57 58 58 9. Models59 9. Models 59 60 * model_id - нумерички тип (примарен клуч и serial) 60 61 * model_name - текстуален тип (задолжителен атрубут) … … 67 68 * vehicle_type - текстуален тип (задолжителен атрибут) 68 69 69 10. Vehicles70 10. Vehicles 70 71 * vehicle_id - нумерички тип (примарен клуч и serial) 71 72 * chassis_number - нумерички тип (задолжителен атрибут) … … 73 74 * fuel_efficiency - текстуален тип (задолжителен атрибут) 74 75 75 11. Registrations76 11. Registrations 76 77 * registraion_id - нумерички тип (примаен клуч и serial) 77 78 * plate_num - текстуален тип (задолжителен атрибут) … … 80 81 * is_available - boolean (задолжителен атрибут) 81 82 82 12. Payments83 12. Payments 83 84 * payment_id - нумерички тип (примарен клуч и serial) 84 85 * date - датум (задолжителен атрибут) 85 86 * time - време (задолжителен атрибут) 86 87 87 13. Payment_Cards88 13. Payment_Cards 88 89 * card_id - нумерички тип (примарен клуч и serial) 89 90 * card_number - текстуален тип (задолжителен атрибут) … … 100 101 * is_responsible_for - M:N релација помеѓу Delivery Men и Vehicles. Еден доставувач е одговорен за повеќе возила и за едно возило се одговорни повеќе доставувачи. 101 102 * delivered_car_to - M:N релација помеѓу Delivery Men и Clients. На еден клиент автомобилот може да му го достават повеќе доставувачи, еден доставувач може да им го достави автомобилот на повеќе клиенти. 102 * is_a - 1:N релација помеѓу Brands и Vehicles. Едно возило е само од еден бренд, еден бренд има повеќе возила. 103 * is_part_of - 1:N релација помеѓу Brands и Models . Еден бренд има повеќе модели, еден модел е произведуван само до еден бренд. 104 * has - 1:1 релација помеѓу Vehicles и Registrations. Едно возило има само една регистрација, една регистрација му припаѓа само на едно возило. 103 * signed_by - 1:N релација помеѓу Clients и Contracts. Еден корисник може да потпише (склучи) повеќе договори додека еден договор се склучува само со еден корисник. 104 * paid_with - 1:N релација помеѓу Payment_Cards и Payments. Со една картичка може да бидат извршени повеќе плаќања, едно плаќање се извршува само со една картичка, при тоа одеднаш се плаќа целата сума (нема рати). 105 * is_a - 1:N релација помеѓу Models и Vehicles. Едно возило е само од еден модел, еден модел има повеќе возила. 106 * has - 1:1 релација помеѓу Vehicles и Registrations. Едно возило има само една регистрација, една регистрација му припаѓа само на едно возило. Секое возило мора да има регистрација. 105 107 * owns - 1:N релација помеѓу Clients и Payment Cards. Еден корисник може да поседува повеќе платежни картички, додека една картичка му припаѓа само на еден корисник. 106 * rents - 1:N релација помеѓу Clients и Vehicles. Еден корисник може да изнајми повеќе возила, едно возило може да биде изјанмено само од еден клиент во даден момент.108 * for_renting - 1:N релација помеѓу Vehicles и Contracts. Со еден договор се позајмува едно возило а за едно возило може да бидат склучени повеќе договори. 107 109 * made - 1:N релација помеѓу Clients и Payments. Еден клиент може да изврши повеќе плаќања, а едно плаќање е направено само од еден клиент. 108 110 * verified_by - 1:N релација помеѓу Adiminstrators и Companies. Еден администратор може да верификува повеќе компании, една компанија е верификувана од еден администратор. … … 111 113 **[https://develop.finki.ukim.mk/projects/OCRent/attachment/wiki/ERModel/ERmodel_v1.jpg "1. Верзија 1"]** - Ни беше забележано од демонстраторот дека ни фали релација помеѓу компанија и администратор. Brands и Models не треба да бидат слаби ентитети. Кардиналноста на works_for релацијата треба да биде обратно. Да додадеме id-ја на некои ентитети каде што фалеше. 112 114 113 **[https://develop.finki.ukim.mk/projects/OCRent/attachment/wiki/ERModel/ERmodel_v2.jpg "2. Верзија 2"]** 115 **[https://develop.finki.ukim.mk/projects/OCRent/attachment/wiki/ERModel/ERmodel_v2.jpg "2. Верзија 2"]** - По сугестија на професорот ентитетите Models, Locations и Payments ги направивме повторно слаби ентитети. Исто така ни беше забележано дека изнајмувањето на автомобили треба да оди преку нов ентитет Contracts а не преку Clients, и сите информации во врска со изнајмувањето да бидат чувани во договорот. Ентитетот Brands го избришавме и решивме тој податок да го чуваме како атрибут на Vehicles. 116 117 **[https://develop.finki.ukim.mk/projects/OCRent/attachment/wiki/ERModel/ERmodel_v3.jpg "3. Верзија 3"]**