2016-04-01 9 views
0

モバイルアプリのデータベースを作成したい場合は、現在利用可能なすべての(フリー/ディスコ)教室をユーザー(学生)に表示します。現在利用可能な教室のデータベース

たとえば、学生は月曜日の11:00にアプリを開いて、アプリには の教室303が表示されます。

ClassroomLib:301

|08:00-09:30|09:31-11:10|11:11-12:50|12:51-14:30|14:31-16:10|16:11-17:50| 
SAT| available|   |   |   |available |available | 
SUN|   |   |   |available |   |available | 
MON|   |   |available |   |   |available | 
TUE|   |   |   |available |   |   | 
WED|   |available |   |   |   |   | 
THU|   |   |   |   |available |available | 

ClassroomLib:私は教室のたくさん持っ

CREATE TABLE classrooms(
classroomId INTEGER PRIMARY KEY AUTOINCREMENT, 
classroomLib VARCHAR(50) NOT NULL, 
); 
CREATE TABLE schedules(
dayWeek INTEGER PRIMARY KEY, 
hStart TEXT PRIMARY KEY, 
hEnd TEXT PRIMARY KEY, 
); 
CREATE TABLE dispos(
classroomId INTEGER PRIMARY KEY, 
dayWeek INTEGER PRIMARY KEY, 
hStart TEXT PRIMARY KEY, 
hEnd TEXT PRIMARY KEY, 
classroomDispo INTEGER, #boolean 
); 

、それぞれについて:303

|08:00-09:30|09:31-11:10|11:11-12:50|12:51-14:30|14:31-16:10|16:11-17:50| 
SAT|   |available |   |   |available |available | 
SUN|   |   |   |   |   |   | 
MON|   |available |   |   |available |   | 
TUE|   |   |   |   |   |   | 
WED|   |   |available |   |available |available | 
THU|   |   |   |   |available |available | 

私は次のようにDBを設計し教室には36のエントリがありますが、より良いアーキテクチャはありますか?

+0

スケジュールされていないタイムスロットの行が本当に必要ですか? –

+0

いいえ、私はスロットを変更/追加する方法が必要です。 –

答えて

0

アプリケーションを分割します。

データベースを使用して生の情報を保存します。おそらく、何時間に何のアクティビティが割り当てられているのでしょうか。

アプリケーションを使用して、「利用可能な」ものを派生させ、出力をきれいに印刷します。

この分割は「より簡単に」生かせるでしょう。

関連する問題