using the floor - ceiling approach, you have a separate record for each weight range, this allows to query the database based on the cart weight:
WHERE floor > Cart Weight AND ceiling < cart wight
to return the amount for the weight range.
The benefit here is that you are always using the same amount column in your results.
I thought you said you where going to have a separate table for each delivery type?
No, the idea is to create a recordset that pulls the correct delivery amount based on the cart wight, selected shipping type and shipping region
if you use a separate table for each delivery type, you'll need a recordset for each delivery type, and a rule for each delivery type.