Answer to Question 1
Data in operational systems is regularly updated by the users. In operational databases, in addition to issuing queries for the retrieval of data, users routinely insert, modify, and delete data. On the other hand, the end users of analytical databases are only able to retrieve data, and updates of the data by the end users are not allowed.
Answer to Question 2
The reason this query is invalid is that aggregate functions, such as COUNT(), give results across multiple records, and this result cannot be mixed with column values of individual records. The query would have worked if it ended with the 'GROUP BY productname' clause.