【问题标题】:Looking for a Betting UML Diagram advice寻找投注 UML 图的建议
【发布时间】:2015-07-07 04:11:22
【问题描述】:

我正在尝试开发一个投注系统,这是我的数据库模型 UML 图的一部分。

MATCH(match_id, home_team, away_team, time)
FIRST_HALF(match_id, home_team_goals, away_team_goals)
SECOND_HALF(match_id, home_team_goals, away_team_goals)
BETTYPE(bet_type_id, match_id, odd, bet_name)

我对我的 MATCH -> BETTYPE 关系有一些疑问。这是一个好的做法,还是最好在 MATCH 表中包含所有投注类型,例如:

MATCH(match_id, home_team, away_team, winner, first_half_winner, second_half_winner, home_team_goals, away_team_goals...)

哪个是更好的解决方案?第一还是第二? 谁能给我描述一个适合这个迷你应用程序的 UML 图?我想要一个架构,让我的工作在数据库查询方面更轻松。

提前谢谢你。

【问题讨论】:

    标签: database database-design uml relational-database database-schema


    【解决方案1】:

    首先,不要将赔率放在投注类型表中。每个投注都有不同的赔率,即使它们是相同的投注类型。
    关于将分数放在哪里,您有 2 个有效选项:

    1. 将半场、全场、加时和点球得分直接保存在比赛表中。

    优点:

    • 简单的平面表格快速且易于阅读

    缺点:

    • 保留多个可以为空的列,以便轻松避免它们

    示例表:

    TblMatch
    --------
    Match_Id (pk)
    Match_Date
    Match_Time
    Match_HomeTeam (fk to team)
    Match_AwayTeam (fk to team)
    Match_FirstHalfHomeTeam
    Match_FirstHalfAwayTeam
    Match_SecondHalfAwayTeam
    ....
    
    1. 保留分数表:

    优点:

    • 标准化
    • 灵活
    • 可扩展

    缺点:

    • 选择有点复杂,因为您需要连接 3 个表。

    示例表:

    TblMatch
    --------
    Match_Id (pk)
    Match_Date
    Match_Time
    Match_HomeTeam (fk to teams)
    Match_AwayTeam (fk to teams)
    
    TblScoreType
    ------------
    ScoreType_Id (pk)
    ScoreType_Name (unique)
    
    TblMatchScore
    -------------
    MatchScore_Id (fk to match)
    MatchScore_ScoreType (fk to score type)
    MatchScore_Team (fk to team)
    

    我可能会选择第二个选项。

    至于投注,有一个投注类型表和一个实际投注表:

    TblBetType
    ----------
    BetType_Id (pk)
    BetType_Name (unique)
    -- other relevant columns
    
    TblMatchBet
    ------
    MatchBet_Id (pk)
    Bet_BetType (fk to bet type)
    Bet_Match (fk to match)
    Bet_Odds
    
    TblBet
    ------
    Bet_Id (pk)
    Bet_MatchBet_Id (fk to match bet)
    Bet_Amount
    Bet_User (fk to users)
    -- other relevant columns such as date and time and stuff like that)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 2020-08-07
      • 2018-09-01
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多