Over the years, new database models and DBMSs emerged to cope with the evolving requirements from such systems, and the new data. The variety of DBMSs and their models have led to using a hybrid approach, called polyglot persistence, in which each type of data is handled by the most suitable database technology. However, the selection and design of the new models and multimodel database gain limited attention resulting in either model-specific design approaches or design based on best practices. In this tutorial we review the stat-of-the-art database design methods, emphasizing their underlying models and analyze these methods considering various desired properties we devised. We further provide insights regarding the selection of the proper databases and introduce a model-based approach for performing that selection. To complete the flow, we further present a prototype of a model-based programming framework in which the application development is agnostic to the database technology, though utilize the appropriate one.