Train Fare Database Normalisation I have a database to normalize. The database has details of train ticket fares.

The trains have different fares depending on the distance and I have to store these fares in the database

It is not an option to calculate the fare based on distance because the fare is followed strictly by the fare chart. The only way I can think of to store the values is like this is in the following table. However using this half the table is going to have NULL values.

+--------------+-----------+-----------+-----------+-----------+
| Station Name | Distance  | Station A | Station B | Station C |
+--------------+-----------+-----------+-----------+-----------+
| Station A    |         0 | 0         | 10        |        25 |
| Station B    |         1 | NULL      | 0         |        10 |
| Station C    |         2 | NULL      | NULL      |         0 |
+--------------+-----------+-----------+-----------+-----------+


Can you suggest a better way to normalize the database.
You want to convert the pivot table into a normalized table.  Store each cell in your chart as a row in a FARE table.  The business key of this table is Origin + Destination and the non-key columns are Distance and Amount.