gpt4 book ai didi

sql - 在这种情况下, "Day"表是个好主意吗?

转载 作者:行者123 更新时间:2023-12-04 09:09:35 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

去年关闭。




Improve this question




所以,我和一个 friend 正在设计一个 Workout Tracker 应用程序作为一个副项目。在此应用程序中,您可以拥有 Programs其中包括一组Workouts其中有一堆Sets .假设您每天只训练一次,并不总是想训练特定的 Workout ,相反,您希望在训练时添加练习。
所以,我们想到了创建一个名为 Day 的表。它将具有以下属性:

  • ID - 作为主键(可能是日期)
  • WorkoutID - 如果日期没有任何锻炼,则可为空。

  • 此外,还有一个名为 DayExercices 的辅助表。这将容纳当天所做的所有练习。
    这些方案将允许我们链接一个 Workout (这会将我们带到表 WorkoutExercices 中的练习)并且,如果用户想在那天添加任何其他练习,这是可能的,因为它将被添加到 DayExercices 中。 .
    然而,这会被认为是好的做法吗?我们应该改变数据库方案吗?
    这是当前的数据库方案。
    CurrentDatabaseScheme

    最佳答案

    所以基本上根据我的理解,锻炼确实可以每天进行不止一次,所以你需要这样的东西:
    ID,天,运动 ID
    Id 将是主键,因为您可以有多个相同的 Day 对,即运动 ID。
    此外,我快速查看了您的架构,在我看来,您似乎有一个圆圈。我建议扔掉 table WorkoutMuscles .锻炼是一组练习,而这些练习实际上是在训练您的肌肉。例如,假设您在锻炼下添加了一个新练习,这意味着您还需要更新 WorkoutMuscles .此外,我建议重命名 WorkoutExercises表到Exercises .这些表应该被命名为它们的实体,而不是它们之间的关系。
    如果您想更轻松地检索信息,您可以创建 View 。

    关于sql - 在这种情况下, "Day"表是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63380126/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com