As you can calculate the value -- quite easily in this case -- it is redundant. You should almost never store redundant data. This means that every place where you update either price or people, you must be sure to update total. If you forget to do this in even one place, the data is now inconsistent. So suppose you now have a record that says price=$10, people=3, total=$40. If you have different programs displaying information in different ways -- different totals or subsets or whatever -- the user could get different answers to the same question depending on how he asked it. While it's bad to get a wrong answer, it's even worse to sometimes get a right answer and sometimes a wrong answer, because then it may not be clear how to fix the problem. I mean, if I see that a certain customer shows 2 people when he should show 3, presumably there is some screen I can go to, overtype the 2 with a 3, click save or whatever, and it's fixed. But if it says $10 times 2 people = $30, where do I go to fix it? How?
You may say that the record is only updated in one place so there's no problem. But that's today. What if tomorrow you or some other programmer adds a new function to do a different sort of update?
I'm working on a system right now that is filled with redundant data. Basic information about each of our company's products is stored in an "item" table. For each unit in stock we have a stock record, and instead of simply referring to the item record, they copy all the data for each stock unit. When an item is sold, we copy all the data to the sale record. If something is returned, we copy all the data to the return record. Etc etc for several other record types. This causes endless trouble. We once had a problem where a user ran a query looking for items with certain characteristics and the list of hits included items that did not meet the search criteria. Why? Because the query finds all the item records that meet the search criteria, that tries to match those item records against stock records by part number ... but some of the stock records did not match the item record on other criteria for various reasons. Right now I'm working on fixing a problem where cost data is not always copied from stock records to sale records properly. I'd love to just redesign the database to eliminate all the redundant data, but that would be a huge project.
Sure, there are times when the performance penalty to recalculate some piece of data is just too high. Like, if you need to read thousands of transaction records to calculate the current balance, and you regularly want to display the current balance, that might just be too much of a performance burden and you're better to store it redundantly. But I would be very slow to do that sort of thing. Make sure it's really really a serious performance issue.
Multiplying two numbers together that are in a record that you're already reading anyway? No way. I can't imagine that that would cause any performance issues. If you're database engine can't multiply two numbers in a tiny percentage of the time that it takes to read a record, get a new database engine.