
Rather than rushing to create tables the best place to start your database is with a data dictionary. This tool will not only get you thinking about what you need, but it will become a key part of your database documentation. Even though you maybe working alone at the moment, one day there maybe a team or you want to hand over administrating the database to someone else, a data dictionary is so important for this.
It is possible to avoid data redunancy within a database by planning carefully. Data redunancy is when you end up with the same data in more than one table, this is usually caused by not normalising your tables. If you spend time on your data dictionary you will get your keys organised and see the best path for a clean database.
Benefits of a Data Dictionary
Here are some key benefits:
Spending time on documentation will always lead to a better product.
Creating the right Primary and Foreign keys will make data normalisation much easier.
Data anomalies can be seen quicker by controlling the field types. Also, verifying input is simpler.
Trustworthy data: Having a data dictionary improves collaboration and makes returning to the project much easier.
Regulatory compliance: Data dictionaries help enforce database management and programming standards, making audits easier.
Documenting is always beneficial, just ensure you keep it up-to-date.
What Goes In?
Here are some important things to include in your data dictionary:
List of table names - this will include fields, field type & keys (primary & foreign)
Relationships between tables - one-to-one and one-to-many
Data Owner - Note the person/team responsible for the data.
Rules - This includes business rules. What can and cannot be done and who can do it.
Glossary - A list of terms and definitions
It can be useful to include the source of the data, too. Is it manually entered or scraped off a website?
A Data Dictionary is the first step of good Data Governance. Here at DBackbone we are always happy to answer your questions, just write in the comments section below.