Database: The database is something akin to an excel sheet with lots of info inside it. If you needed to store the list of cities, add or delete companies then the frontend would make the request and the backend would access this database and do it for you. Examples of some database management systems are MySQL, PostgreSQL etc.
Server: One final thing that should be cleared up here is where these different bits of code are run. Right now, all the user has is the frontend and backend code that have the ability to talk to one another but they need to be running in order to be able to do this. The way this happens is that the frontend code is run by your web browser (Chrome, Firefox) while the backend code is run by a web server. A server is just a machine where your code can be run. It can be your own computer if you are running a local server or you can use a web hosting service like GoDaddy where your files run on GoDaddy’s servers and you pay them to do so.
Communication between backend and frontend: Now there are many different ways by which the frontend and backend communicate with each other. Basically, whether they are using English, Spanish, Chinese, Arabic or Hindi to speak to each other, such as Server Rendered Apps, AJAX Architecture or Isomorphic applications. If you want to learn more about these then click HERE.