【问题标题】:Theater Seat Storage in DBDB中的剧院座位存储
【发布时间】:2011-05-12 06:11:14
【问题描述】:

我不确定如何准确存储预订系统的座位。到目前为止,我一直在想我不需要这些桌子。我也打算把它作为一个网页来做。

  • 显示
    • 身份证
    • Theather_Id
    • 姓名
    • 年龄分级
  • 剧院
    • 身份证
    • 姓名
  • Show_Time
    • 身份证
    • Show_Id
    • 时间
  • Show_Day
    • show_time_id
  • Seat_Category
    • 身份证
    • 姓名
  • 座位状态
    • 身份证
    • 姓名
  • 预订
    • 身份证
    • 行号
    • 座位号
    • 用户名(可为空)
    • seatstatus_id
    • show_timeid
    • 日期
  • 用户
  • 会员
  • Show_Seat_Price
    • show_id
    • seat_category_id
    • start_row
    • start_no
    • end_row
    • end_seat
    • 价格

我最大的问题是如何将座位阵列存储在数据库中,我还希望对座位进行分类,例如青铜、银、金,每个部分都有一个分配的价格。

空布局:

前面
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
1 1 1 1 1 1 1
返回

但由于我需要金、银和青铜的类别,这使事情变得更加复杂

【问题讨论】:

    标签: c# asp.net database


    【解决方案1】:

    您应该将每个可能的座位作为单独的记录存储在数据库中,数组确实不是存储在数据库中的标准做法;他们必须打破一两种正常形式,但我不记得是哪一种;)

    每个站点都有一个行号、列号等,以及一个唯一的 ID。这样您就可以获取每个座位的历史记录、存储每个座位的附加属性等。好多了!如果座位坏了,您可以用标志等禁用它 - 如果只有某些座位适合残疾人(例如靠近过道),您也可以将其标记为这样,并查询有多少“无障碍”座位左边。事实上,肯定好多了:)

    要填充,您需要编写一个存储过程/初始化实用程序。

    【讨论】:

      【解决方案2】:

      既然您已经有了座位的数字数组,那么如何调整该数组使其看起来像这样?

      FRONT
      0 0 3 3 3 0 0
      0 3 3 3 3 3 0
      1 2 2 2 2 2 1
      1 1 1 1 1 1 1
      BACK
      

      ...其中 1、2 和 3 代表青铜、白银和黄金。 (我用了你给出的同一个例子,并猜测哪个座位是哪个类别)

      希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-04
        • 2022-11-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多