正确的数据库架构

时间:2014-07-23 09:24:35

标签: database database-design

我不知道如何为商店设计我的mysql webdatabase。

该场景适用于销售导游的网站。

每次巡演都可以是私人巡回赛,半私人巡回赛或团体巡回赛。每人的价格根据旅游类型而变化。但也适用于私人旅行,每人的价格根据人数而有所不同。但是根据旅行的不同,它会有不同的数量。我如何创建一个巡回演唱会/产品'记录?

e.g。让我们说:

梵蒂冈之旅(游览有各种数据 - 名称,描述,会面点,持续时间等)。半私人旅游费用为每人50欧元。团体旅游费用为每人45欧元。私人旅游费用(1-2人为140欧元),3人为180欧元,4人为200欧元,5人为225欧元或6人为240欧元或7人或以上,费用为43欧元人。 然而,对于体育馆之旅(游览有相同的数据 - 名称,描述,会面点,持续时间等),半私人费用为每人40。团体费用为每人25。私人旅游费用(1-2人100欧元),3人135欧元,4人160欧元,5人175欧元或6人180欧元或7人或以上费用25欧元人

我如何构建数据库中的数据 - 2个表? 3桌?

完全糊涂......

由于

汤姆

1 个答案:

答案 0 :(得分:0)

据我所知,你的帖子价格根据三种不同的东西而改变:

  1. 游览:梵蒂冈之旅的价格与Colloseum之旅的价格不相似。
  2. 旅游类型:私人,半私人或团体旅游。
  3. 巡演中的人数。
  4. 由于在任何给定的选项上没有每人的确切(恒定)价格,我会采用三表方法。

    数字图在下图中详述,并在以下假设下工作:

    • 有三个表:游览(包含每个游览的描述); TourPriceOptions (包含各个价格选项记录)和 TourType (在任何时候,它都只包含三个记录:私人,半私人和团体旅游);

    • 您只需要做两个假设:

      • 游览可以有多种价格选择(1对多关系)
      • 价格选项只能有一种游览类型(1对1关系)

    如何编写代码:

    • 每当商店的管理员在商店的后端创建另一个游览时,他应该能够添加多个价格选项。为此,您需要:

      • 创建一个新的游览一个函数,该函数在数据库中插入一个新条目。
      • 获取最近创建的游览的ID:如果在任何给定时间只有一个人添加信息,那么编写一个返回最新添加的id的函数是一个不错的选择游。
      • 根据id_tour添加定价选项:根据id_tour变量插入新的价格选项。请记住从其中一个已预定义的类别中分配tour_type。
    • 每当您想要返回这些值时,只需编写一个查询,允许您根据用户当前正在浏览的游览检索信息。

    其他研究方法:动态表单 - 当您不知道管理员可能希望为特定游览添加多少价格选项时,他们会帮助您

    ERR diagram of the database