OLTP systems emphasize short, frequent transactions with a focus on data integrity and query speed. OLAP systems handle fewer but more complex queries involving data aggregation. OLTP uses a normalized schema for transactional data while OLAP uses a multidimensional schema for aggregated historical data. A data warehouse stores a copy of transaction data from operational systems structured for querying and reporting, and is used for knowledge discovery, consolidated reporting, and data mining. It differs from operational systems in being subject-oriented, larger in size, containing historical rather than current data, and optimized for complex queries rather than transactions.