The importance of a good database design is:
1) Data is in consistent form: - When the database is designed only relevant and required data will be stored. The layout of the table allows the data to be consistent.
Other ways to keep the data consistent are through implementation of primary keys and unique key constraints.
Cascading also allows for data consistency. By implementing cascading on a parent/child table it is ensured that only those child records exist with a valid parent record.
2) Elimination of redundant data: - A good database design should be normalized. When normalization is done data redundancy (or repetition) is reduced, and so is the size of the database.
3) Simpler queries: - If the database is well designed the queries will be simple, and their execution will be fast.
4) Performance: - The overall performance of the application is also dependent on the design of the database.
5) Maintenance: - This is by far the most important issue. A database should be well-designed so that it is easy to maintain. If it is not, a small change down the road could cause a lot of stored procedures, functions, views to be effected.