I'm going back teaching Database Design and something I always tell my students is that we must involve the right end-user, that is very very important to achieve a good database design. It's almost like becoming the good cop from a movie trying to get the confession from the criminal, in our case to get the real problem to solve. This will make that the end-user participates actively in the system's development and in the end this will be his system too.
This type of topics are those that in most of the time one does not find in books. The purity of the normalizations, associations, diagrams and many other topics usually set aside the important human issue. So let me share two experiences where end-users were really important.