私がまとめているかなり単純なアプリのデータベースを正しくモデル化する方法に苦労しています。アプリは、私がいくつかのフレームワークを学ぶために使用している単純なものです。毎週、オフィスの誰かが順番にビールを持ち込む必要があります。これはローテーションで行われ、特定の順序に従って順番に実行されます。たまに誰かがいないので、彼らは自分の順番をスキップしますが、次の週(または実際に彼らができる最初の次の週)にそれを取る必要があります。もちろん、スタッフも来て、スタッフが去っているので、これを説明する必要があります。当初、私はこれを酒飲みとラウンドの観点からモデル化しました。誰かがラウンドを購入するたびに、ラウンドテーブルに入れられ、ラウンド数が最も少ない順番で最初に誰が次になります。
これは現在私が持っているものです:
CREATE TABLE `rounds` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`drinker_id` int(11) NOT NULL,
`description` text COLLATE utf8_unicode_ci NOT NULL,
`created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
)
CREATE TABLE `drinkers` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
)
人々が行き来し、人々が順番をスキップできるように、これをどのように再モデル化できるかについてのアイデアはありますか?
ありがとう。