Database Design for Airline Reservation System

I'm creating a very simple database system for an airline company, for learning purposes. Flight, passenger and payment are my entities and I've used relational format for the relationships between them. How can I show relationships for entities that I created? How can I show normalization in a relationship? (At least Third Normal Form.)

776 1 1 gold badge 7 7 silver badges 18 18 bronze badges asked Jul 1, 2011 at 6:52 41 1 1 gold badge 1 1 silver badge 4 4 bronze badges

2 Answers 2

It seems you are looking for a tool, that verifies the normalization. There is no such tool (at least I can't think of any since it would be almost impossible do write checks for the noralization).

If you want to see if your schema verifies, use simple logic by observing it. If you are not sure, look at the examples in WIkipedia for 1NF, 2NF and 3NF. Does your model have the same structure as these examples? If yes, than you adhere to normalization.

Your model may look like this (showing only PKs and FKs and example)

flight ------------------- flight_id (PK) destination [. ] passengers ----------------- passenger_id surname lastname nr_of_seats [. ] payment -------------------- payment_id date price [. ] -- Your join table, that lets you connect all the data. I assume that the a passenger may book a flight more than once, so I join them together with a certain flight and payment. reservation ---------------------- flight_id passenger_id payment_id [. ] 

If you want tools to visuallize your database, pick one from the list that applies to your DBMS. It lets you check how your entities are connected together.