Hi Guys,

I wonder about some aspects of the architecture of the database schema.

There are some strange cases with foreign keys. For example the DB table *
Similar_Artist*, has 2 foreign keys of types VARCHAR, that reference the
name field of table *Artist, *which is again of type VARCHAR. Don't you
think it would be better that table *Similar_Artist* had 2 foreign keys of
types BIGINT UNSIGNED that would reference the field id of table *Artist* ?
In general referencing is much better done on the basis of IDs instead of
strings for example.

Moreover, this creates a problem when the MySQL is used on the backend.
MySQL has a limitation of 1000 bytes for the maximum key length. Depending
on the encoding used, a character string even of small length can exceed
this limit, and therefore can not be used as a key.

The same thing applies also for the artist foreign key of  table Tags...

I came upon these issues when trying to install GNUkebox in order to write
some instructions on how the installation has to be done.
I think it's better to correct these database issues though before writing
any tutorials. What's your opinions? Is there a reason why this dbase schema
was used? Or shall I start making corrections?

Regards,
Pambo

Reply via email to