Database Design Explanation
Our database with information for ABC Ferries check-in process contains the following category, intersection, object and transaction tables.
EmployeeJob Category Table:
The EmployeeJob table is a category table listing the different positions employees working for ABC Ferries hold. The purpose of the table is to assign a mutually exclusive job position to each employee, as well as a description of the tasks associated with the position. The primary key, EmployeeJobID allows each position to be associated with a number, the EmployeeJob…show more content… Because of this, one passenger could have multiple ferry tickets for different trips, and one ticket could list the information for multiple passengers traveling in the same vehicle. The PassengerTicketAllocation Intersection table allows ABC Ferries to find out which trips an individual person has scheduled, and also the individuals travelling together on the same itinerary. The intersection table also ensures that every passenger is accounted for, whether or not they have their own vehicle. The primary key is PassengerTicketID, and the foreign keys are TicketID and PassengerID. The purpose of the foreign keys are to connect the table to the Ticket Table and the Passenger table…show more content… The table contains the employee's physical place of residence using EmployeeMailingAddress, so that if the employee decides to be paid by mail, we would be able to send the check to their place of residence. We include their first name, last name, date of birth, and years with the company. This is nice to have because we can tell who to make the check payable to and also when the employee will be nearing retirement.
The primary key in this table is the EmployeeID key. It stores the ID number of the employee which will be used for the employee when they are clocking both in and out from work. The employee identification number will be printed on receipts after they assist individuals with purchasing tickets in person or over the