我在设计数据库时感到困惑。
它是一个基于订阅的应用程序:
一个订阅可以有多个显示设备。
订阅时,将要求用户选择显示的设备之一。
记住这一点,我想出了这样的:
上述方法是否正确?
USER_SUBNS.DISP_DEV_CD(外键)应该引用 DISPLAY_DEVICES.DISP_DEV_CD 还是 SUBNS_DEVICES.DEV_CD?
我在设计数据库时感到困惑。
它是一个基于订阅的应用程序:
一个订阅可以有多个显示设备。
订阅时,将要求用户选择显示的设备之一。
记住这一点,我想出了这样的:
上述方法是否正确?
USER_SUBNS.DISP_DEV_CD(外键)应该引用 DISPLAY_DEVICES.DISP_DEV_CD 还是 SUBNS_DEVICES.DEV_CD?
几乎没有足够的信息来回答您的问题。
一个用户可以拥有多个订阅吗?
Display_Device 表是我手中的 iPhone 等实际设备的列表,还是只是类型?
如果显示设备是用户拥有的单个项目,那么您在用户和设备之间有一个 1 - many。
如果用户可以拥有多个订阅,那么您将拥有一对多的用户和订阅。如果每个订阅都可以有多个显示,并且每个显示可以在多个订阅中,那么显示和订阅之间存在多对多。
_不是你的问题,但是......
为什么你在你的 PK 中使用 varchars?
用户是否仅限于选择订阅/设备对 SUBNS_DEVICES?如果是这样,为什么没有从 USER_SUBNS 到 SUBNS_DEVICES 的引用?
为什么不是 SUBNS_DEVICES 和 USER_SUBNS 之间的多对多?