Changes between Version 8 and Version 9 of ConceptualModel
- Timestamp:
- 01/09/25 12:12:17 (6 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ConceptualModel
v8 v9 7 7 * **Entity: Admin** 8 8 * **Description**: An entity that disjointly specializes from the `Account` entity and uniquely identifies administrators of the system. 9 * **Primary Key**: ` email` - Entered when creating the account.9 * **Primary Key**: `account_id` - Artificially generated identifier. 10 10 * **Attributes**: None additional to those inherited from `Account`. 11 11 12 12 * **Entity: Student** 13 13 * **Description**: A specialization of the `Account` entity for students enrolled at universities. 14 * **Primary Key**: ` email`.14 * **Primary Key**: `account_id` - Artificially generated identifier. 15 15 * **Attributes**: 16 16 * **university**: The university the student attends. … … 19 19 * **Entity: Account** 20 20 * **Description**: Contains main information about application users. 21 * **Primary Key**: ` email`.21 * **Primary Key**: `account_id` - Artificially generated identifier. 22 22 * **Attributes**: 23 23 * **name**: User's first name. … … 27 27 * **Entity: Vehicle** 28 28 * **Description**: Generalization entity for all means of transport available on the system. 29 * **Primary Key**: `plate_num` - The registration/plate number of the vehicle. 29 * **Primary Key**: `vehicle_id` - Artificially generated identifier. 30 * **Candidate Key**: `plate_num` - The registration/plate number of the vehicle. This is not used as a primary key due to its augmentative nature. 30 31 * **Attributes**: 31 32 * **model**: The specific model of the vehicle. … … 34 35 * **year_manufactured**: Year the vehicle was manufactured. 35 36 37 36 38 * **Entity: Automobile** 37 39 * **Description**: A disjoint specialization of the `Vehicle` entity for cars. 38 * **Primary Key**: ` plate_num`.40 * **Primary Key**: `vehice_id` - Artificially generated identifier. 39 41 40 42 * **Entity: Bus** 41 43 * **Description**: A disjoint specialization of the `Vehicle` entity for buses. 42 * **Primary Key**: ` plate_num`.44 * **Primary Key**: `vehicle_id` - Artificially generated identifier. 43 45 44 46 * **Entity: Train** 45 47 * **Description**: A disjoint specialization of the `Vehicle` entity for trains. 46 * **Primary Key**: ` plate_num`.48 * **Primary Key**: `vehicle_id` - Artificially generated identifier. 47 49 48 50 * **Entity: Van** 49 51 * **Description**: A disjoint specialization of the `Vehicle` entity for vans. 50 * **Primary Key**: ` plate_num`.52 * **Primary Key**: `vehicle_id` - Artificially generated identifier. 51 53 52 54 * **Entity: Trip** … … 90 92 * **Entity: Route** 91 93 * **Description**: Describes a scheduled/frequent route between two or more places. 92 * **Primary Key**: ` id` - An artificialID for the route.94 * **Primary Key**: `route_id` - An artificially generated ID for the route. 93 95 * **Attributes**: 94 96 * **free_seats**: Derived attribute indicating available seats. … … 103 105 * **Entity: Driver** 104 106 * **Description**: A disjoint specialization of the `Account` entity for individuals responsible for vehicle operation. 105 * **Primary Key**: ` email`.107 * **Primary Key**: `account_id` - Artificially generated identifier. 106 108 * **Attributes**: 107 109 * **years_exp**: Number of years the driver has been active. … … 109 111 * **Entity: Location** 110 112 * **Description**: Contains geographical points for route stops (along the way or final destinations). 111 * **Primary Key**: Composite key (`latitude`, `longitude`). 113 * **Primary Key**: `location_id` - Artificially generated identifier. 114 * **Candidate Key**: The composite key (`latitude`, `longitude`). Not used due to its unnecessary complexity for implementation and referencing. 112 115 * **Attributes**: 116 113 117 * **name**: Descriptive name of the location. 114 118