Ensuring that all the necessary information is stored in the database Ensuring the possibility of obtaining data for all necessary requests Reducing redundancy and duplication of data Ensuring the integrity of the database Optimizing the speed of data access