我正在建立私人厨师预订服务,您可以在这里预订厨师来为您定制菜单。我在创建一个可以在保持数据完整性的同时准确表示域的SQL db模式时遇到了麻烦。
Booking
和Chef
创建一个Menu
,然后为每个MenuItems
选择他们想要的MenuCourse
Chef
定义了一组MenuItem
,供客户选择以创建其Booking
Menu
是MenuCourses
的集合。 (例如,名为“品尝菜单”的Menu
是6道菜的餐点,每个MenuCourse
的价格在$ 10-20之间)。 Chef
应该能够将其MenuItems
与多个Menus
和MenuCourses
关联。Booking
应包含选择的客户Chef
以及将要提供的Menu
(和MenuItems
)。 Booking
价格由Menu
和MenuCourse
选择决定(开胃菜的价格低于主菜的价格)在我当前的数据模型中,我有以下问题,不确定如何解决:
Booking
“ A”创建一个Chef
,但随后有一个BookingMenuItem
引用一个MenuItem
“ B”的Chef
(BookingMenuItem
的所有Booking
应该属于同一个Chef
)Booking
引用特定的Menu
(我需要进行定价,定价基于Menu
和MenuCourse
),但是该BookingMenuItem
的Booking
可以引用完全不同的Menu
或MenuCourse
是否可以重新设计数据库模式以解决我遇到的完整性问题?还是只需要在应用程序级别实施这些检查。谢谢!
背景我正在建立一个私人厨师预订服务,您可以在这里预订厨师来为您定制菜单。我在创建可以准确表示域的SQL数据库结构时遇到麻烦,而...
这会使用您模型中的表名,并尽可能紧随其后。我建议将menu_item
重命名为通用dish
,以避免造成混淆。