Approaches to database programming

Discuss the three main approaches to database programming listed below

  1. Embedding database commands in a general-purpose programming language.
  2. Using a library of database functions or classes.
  3. Designing a brand-new language.

What are the advantages and disadvantages of each approach?