@Samuel's answer is fine, nevertheless I like to play the devil's advocate here and argue for a slightly different point of view. IMHO
It is - more or less - a matter of taste.
If you store one or seven integers per record in a database will be most likely negligible for any kind of real world application, as long as you do not expect to manage several billions of reminders, so "Resources" is not really relevant here (note, for this specific use case, it is most likely the number of boolean values will stay 7, over the whole life time of your application).
Queries for a dynamically given weekday when using one column per day get a little bit longish, but not really more complex than when using a bit array. A query like
SELECT * FROM reminders WHERE
is obviously longer than
SELECT * FROM reminders WHERE DaysArray=:x, and you need to initialize the boolean/integer arguments x1 to x7 in code to the correct values for a given day of the week, however, I do not call this "more complex". In fact, a bitarray column is not 100% self-documenting, since it is not obvious if the days are ordered from left to right or right to left, or if the first but refers to sunday or monday.
- using an additional table `reminder_days' allows shorter queries than a solution with seven individual columns, but these are definitely more complex than for the other two approaches. It would be clearly preferable if there is a chance the records in "reminder_day" will ever become subject to change, but for this case, I think this will also be just a matter of taste.
So if I have three almost equivalent solutions, I would probably prefer to use the one where I have the fewest amount of code to type, since I am lazy guy and I am used to bitarrays. But other people might think differently, and prefer a solution where the names of the days of the week occur explicitly as column names or records in the database.
So there is no obviously "best" solution, any of the three will work, and any of them has some pros and cons. Just pick your choice.