database – DB table for weather station readings

I want to create a DB table to keep the sensor readings from the physical sensors (weather station). What I was thinking is to create following:

+--------------------------+
|         readings         |
+----+------+------+-------+
| id | type | unit | value |
+----+------+------+-------+
| 1  | 1    | 1    | 35.0  |  -- type: temperature, unit: Celsius
+----+------+------+-------+
| 2  | 1    | 2    | 145.1 |  -- type: temperature, unit: Fahrenheit
+----+------+------+-------+

Then I have 2 more tables to store the reading types and units:

+-------------------+
|   reading_types   |
+----+--------------+
| id | reading_type |
+----+--------------+
| 1  | temperature  |
+----+--------------+
| 2  | humidity     |
+----+--------------+

+--------------------------------+
|          reading_units         |
+----+--------------+------------+
| id | reading_type | unit       |
+----+--------------+------------+
| 1  | temperature  | Celsius    |
+----+--------------+------------+
| 2  | temperature  | Fahrenheit |
+----+--------------+------------+
| 3  | humidity     | Percent    |
+----+--------------+------------+

Would that be a good approach? How can I avoid assigning wrong unit to the reading, for example adding a record for humidity with Celsius unit? Off course it can be handled in the code, but how to make sure that data integrity will be kept? Should I create one more linking table similar to below?

+----------------------------------------+
|         reading_types_and_units        |
+----+-----------------+-----------------+
| id | reading_type_id | reading_unit_id |
+----+-----------------+-----------------+
| 1  | 1               | 1               |
+----+-----------------+-----------------+
| 2  | 1               | 2               |
+----+-----------------+-----------------+
| 3  | 2               | 3               |
+----+-----------------+-----------------+
| 4  | 3               | 4               |
+----+-----------------+-----------------+