The table structure looks like it would work,
I think you would need to create 2 rules for each type that can be defined in the Coupon Type column, 1 for it the coupon is a dolor amount, and the other for if the coupon is a percentage.
for the dolor amount coupons the calculations will use the Flat rate
for the most part the triggers will use the If today is after the Coupon Valid From date AND before the Coupon Valid To
if the coupon applies to all products, the calculation will use the based on cart subtotal if its as percentage.
for the specific items or category coupons, the subtotal of items with a specific column value triggers will be used.