A good database design depends on tools required to minimize redundancy and anomalies, preserve known functional dependencies, prevent spurious information from emerging, and identifying keys. Below is a tool created with these aims in mind. Specifically...
Important to keep in mind is the order of attributes and functional dependencies entered matters and that such things like the key or minimal cover determined can depend on it.
If you enjoy this database design tool, also please consider reviewing my B+ Tree Simulator