To support the pages, you use managed beans which are simply known as backing beans (since they support pages). You may be able to use one backing bean to support couple of views if your views are not that complex. Otherwise you will write one backing bean for one view. Less is good if you can do it without diluting the focus of the backing bean.
For data access from the database (CRUD operations), you may use other managed beans. Such a bean will be used in many other places (many other managed beans). It's just implementing good separation of concerns.
You can have a look at this which illustrates the above points:
Best way to use JPA in web-tier