我是数据库设计的新手,我一直在练习尽可能多的问题。我碰巧遇到了以下问题(不,这不是我的任务!)据我所知,我创建了附加的概念模型。模型中缺少一些信息,因为从需求来看,我不清楚应该在哪里添加它们。我已经突出显示了我有疑问的行。
您的任务是设计一个数据库模式,该模式捕获为游客提供设施审查服务所需的信息,用于住宿、餐馆和计划旅行等设施。关于住宿,该服务会保存有关姓名、地址和住宿类型的信息。住宿类型可以是酒店、旅馆或住宿加早餐旅馆。我们还需要姓名和地址。还有一组可选的设施(应单独列出),例如房间类型(单人房、双人房或多人房)、房间内是否有电视、浴室等。可以使用多个设施到同一个地方。还有每晚的费用,可以按每人(旅馆)或每间客房(旅馆、床和早餐;因此,取决于住宿类型)指定。
对于吃饭的地方,我们有名称和地址(唯一且始终可用)。它们可以是餐馆、酒吧、酒馆、小酒馆和自助服务。应指定菜肴的种类、每餐的平均成本(分为 4 个可能的成本级别)、每日时间表(由开放和关闭时间组成)以及可选的一周中的停止天数(一天或多天) . 关于旅行,我们要指定景点名称列表(以及相应的地址,如果有的话)。对于每个旅游景点,我们都有游客访问它们的日期间隔。每个客户都可以自由文本评论每个地方(住宿或吃饭的地方,但不是旅游旅行),指定他/她的昵称(对所有客户来说都是唯一的),访问日期(或者日历间隔由两个日期指定)和一个整数分数(从 0 到 5)。每个客户可以多次访问同一地点并留下评论。绘制数据库概念设计的 ER 图。
这就是我想出的: 概念模型
该图像具有我能想到的模型。我的疑问是:
1)我的方法使用这么多概括是否正确?还有其他方法吗?
2)在上面的描述中,斜体和粗体的第一句话表示存在某些“可选的设施集”。这些属性应该添加到酒店、旅馆和 B&B 实体还是一般化的住宿实体?
3)在突出显示的第二句话中,是否应该像我一样将成本添加到酒店、旅馆和 B&B 中?否则,我应该如何进行建模?
4)在第三个突出显示的句子中,指定的属性应该列在每种类型的餐馆下还是应该添加到广义实体 Eatery 中?
非常感谢您提前提供的帮助!