Airline reservation system I'm making a simple airline reservation system. But I'm not sure about the design decisions I made. Concretely, I'm trying to implement following constraints:


each Aircraft can have one or more TravelClasses
each Aircraft has many Seats.
each Flight has only one AircraftInstance (of Aircraft)
prices for Flight differ for TravelClasses that are known through AircraftInstance assigned to Flight
Client must know which seats are available for Flight booking and a price of the seat


What I have for now:


Please, leave suggestions. Thank you!
Two general principles I would commend to you.  One - name your relationships so you understand why one entity type connects to another.  You may find there are more than one relationships between any two, or that some you have imagined has do not represent anything concrete in the user's world.  Two - imagine some of the uses cases for this system.  Think about the queries you would need to write to fulfill each.  Walk through your data model to ensure it supports your queries and constraints.

The data model posted encodes many, many more rules than those you have listed.  It would be impossible for a third party to validate the model in its entirety without all the rules.  This is a large task which would typically take some days in a room with user representation, in my experience.