New To Strapi... What's the database for? And my own custom REST end points?

Thank you @Eventyret . Follow up questions :

(1) So I can “connect” Strapi straight to a database instead of saving data through an API ?

(2) Ok, but what If I have REST points ready that don’t conform to the JSON schema of Strapi’s REST API? Can I write a custom data provider ? Because If this capability is missing then I will have to change my existing API end points.