A term is not a category or tag on its own. It must be given context via the term_taxonomy table.
The term_taxonomy table places a term within a taxonomy. This is what
makes a term a category, a tag or part of a custom taxonomy (or in a
combination of taxonomies).
term_id is the ID of a term in the terms table.
term_taxonomy_id is a unique ID for the term+taxonomy pair.
term_id is always unique just like the
Both have an
Auto Increment in the table structure.
wp_term_taxonomy makes sure for example that a category is created, so wordpress can interfere with it e.g Woocommerce uses:
product_cat, all of them are the so called custom taxonomies.
This table also binds the parent/children structure. With it's column
The final table, term_relationships, relates objects such as posts or links to a term_taxonomy_id from the term_taxonomy table.
If we pick Woocommerce again as an example, this table links post type
products to their taxonomy
product_cat, which contains a namy e.g Computers which is of course retrieved from the table
wp_terms. This table contains the
term_group. (term_group I personally have never used)
Hopefully the above makes things a bit more clear about the differences and how Wordpress uses these tables.