Object data modelling 2

Therefore, in order to convert the first normal form entities listed in Table 2 to second normal form, each entity will be broken down into two entities as shown in the table below (changes are highlighted by red font):
Considering the above definition, all the entities, except Gate and Seat, are not in third normal form because they contain non-key field(s) which is dependent on other non-key field(s). Therefore, in order to convert the second normal form entities listed in Table 3 to third normal form, several new entities needs to be created as shown in the table below (changes are highlighted by red font):
In real-world, the same flight number can be used for several flights, scheduled at different date and time. Therefore, if we keep Flight Number as the primary key in Flight entity, then it would not allow us to schedule more one than flight for any particular flight number at a time. Also, to schedule a new flight for any particular flight number, we would require to over-write the previous details of flight, such as, departure airport, departure date and time, and etc., with new details of flight, hence, not allowing us to maintain history of flights which would not be desirable in real-world.
In real-world, a different plane might be allocated to the particular flight number in every scheduled flight, and therefore, every time a flight may have different seat classes and rates depending on the allocated plane. The current design is not capable enough to deal with this