Columns will not slow down the database as such, but keep in mind that adding a boolean column for each style of music is very bad. Over time, the possible musical styles in your application are likely to change: perhaps new ones should be added, redundant or useless should be deleted, whatever. With the proposed design, you will have to change the database structure to add new columns to the table. This is usually painful, error prone, and you will also have to go through all your inquiries to make sure they don't break due to the new structure.
You must design your database schema so that it is flexible enough to allow dispersion over time in the contents of your application. For example, you may have a table with one row for each musical style, defining its identifier and its name, description, etc. Then a relationship table that contains the relationship between the entity (event, if I understand your question correctly) and the musical style from the main table. You ensure consistency by putting foreign keys in place to ensure that the data is always clean (for example, you cannot reference a music style that is not in the main table). Thus, you can change the styles of music without affecting anything in the structure of the database.
Reading bits in database normalization will help you a lot; You do not need to fully work with a fully normalized database, but an understanding of the principles that will help you develop efficient and clean database structures.
source share