ランダムな定休日を登録させる設計


観光地リストのデータを作成しているのですが、定休日の設定で困っています。

具体的には

**close_mon** ~ **close_sun**

のカラムを用意して0, 1で判断しているのですが、場所によっては  
「第二火曜日と第三月曜日は休み」や「振替休日休館」等ランダムな場合が多くあります。

こういったケースの場合はどのようにテーブルカラムを用意して設計をするのが好ましいのでしょうか？




個人的なやり方になりますが、大雑把でいいなら定休日は  
大体同じパターンに収束するのでパターン部分を別テーブルにします。

> テーブル1  
>  close_id 定休日パターンに紐付けるIDカラム
>
> テーブル2  
>  close_id  
>  close_pattern 定休日のパターン(計算式)

予想される休日のパターン数がある程度の数に収束するならこれで、  
極端に多くなる(数千パターンとか)になるなら更に分解して作りこみますね。  
例えば「第二火曜日と第三月曜日は休み」は  
「第二火曜日」と「第三月曜日」の定休日を合わせたものです。

他に完全ランダムな場合のやり方としてはカレンダーテーブルを用意して  
全日ON/OFF設定してしまうとかですね。

[code]

    shop_holiday   -テーブル例
     id,year,switch -カラム
     a01,2015,11100011100000～365桁の1と0で休日を表現 -データ
    
[/code]

