Regarding #1, see these links, which may provide specific needed detail for your answer:
Link Removed
Link Removed
As a minimum, at least throw in words such as "normalization" to demonstrate that you recognize that there is a structured approach to organizing the data.
No. 2 is the one you're hung up on? You may be over-thinking it. The end users are the people who will be using the database. The question of who they would be is probably to get you to focus on them and their perspective rather than your own. Accommodating their needs involves providing for the information they need to get from the database and making it user-friendly for them to do so. Start with the purpose of the database. It is being created to serve a need so it is desirable for it to provide all of the needed information (rather than serve as a source for part of the information and the user has to go somewhere else for the rest), and to not bury that information in a mountain of extraneous stuff.
The user-friendly aspect involves thinking about how the user will want to approach a query. What do they need to know before they can begin. The objective is to require only that knowledge needed to ask their question. For example, you could create a very flexible database capable of providing a customized report showing any level of granularity or summarization using myriad keys. If the user has to go through training first to understand how you have structured the data, the identity of all of the possible keys, and how to ask for what they want, it isn't user friendly. They shouldn't need to be a programmer or have to understand what is behind the curtain. If you need the capability for great flexibility and granularity, a friendlier approach would be to step the user through a series of questions or menus to define what they need (and if they don't need something, it shouldn't be required in order to get a result). Also, it is desirable for the report or result to be understandable and self-explanatory (plain English, no jargon or cryptic abbreviations).
As the question was posed, you were asked to think of a specific application. Use this perspective to tailor an answer to that application.