Table restructuring for efficiency? I am moving data from Access to SQL Server. One of the tables I'm working with has some columns like this:
ID | Date | Sensor1 | Sensor2 | Sensor3 | Sensor4 | Sensor5 | Sensor6 | Sensor7 | Sensor 8 | Sensor9  

Certain Facts:
At any point atleast 3  of these columns would be filled.
More Sensors could be added in the future
This table in entirety has 120 columns (above is just a portion)
ID is TinyInt
Sensor data is Decimal(4,2)  

When I looked at the table structure and the Nulls due to the facts above, I thought of changing it to a structure like this:  

ID |Date | Sensor_NO | Data  

My question is:
Considering I'm breaking down a huge table. This sort of table restructuring would make it much more difficult to join the individual tables because I will have to transpose the table first and then join the various tables based on ID.
Would my proposed structure going to improve efficiency to a point where it is worth the work of creating JOINS later? Would you consider such a transformation?
Only you can answer if the the change is worth the effort. 

Yes restructuring would be marginally more efficient. The main advantage being that new sensors can be added in the future without altering your table structure. The downside is that it's harder to enforce business rules and logic. 

The advantage of your current design is that if the sensor types are consistent per column you could have different data types, int, float, bit, varchar etc, whereas if you put all of your sensor values in a single column you'll need to use the lower common denominator (most likely a varchar). 

Given that you're talking about sensors, I expect you will be recording over time, so you'd probably need a timestamp, and decide on what else need to be stored with the value. Quality codes? non-detects? what about the sensor type?