It depends. A bit of redundancy is allowed if comes with measured performance benefits. And this is if and only if you really need that performance boost, aka if it's a bottleneck in your application. So is it really that difficult to compute the ratio in your code? In your specific example I don't feel like the additional redundancy is justifiable. In my experience it's very rare to have a good reason to add redundant columns. In conclusion, from what I read in your question, no, you shouldn't add that column. Though I may not know the whole story. Also, as others have mentioned, you can always use [computed columns](https://msdn.microsoft.com/en-us/library/ms188300.aspx) ([in MySQL called generated columns](http://mysqlserverteam.com/generated-columns-in-mysql-5-7-5/)) if you're really set on solving this in the database.