用于存储int的数据库模式

时间:2013-07-30 23:35:36

标签: mysql sql database schema

我对数据库很陌生,所以请耐心等待。

我有一个网站,人们可以去申请即将举行的音乐会门票。用户可以申请纽约或达拉斯的门票。同样,对于每个区域设置,他们都可以申请VIP门票或普通门票。

我需要一个数据库来跟踪有多少人请求了每种类型的故障单(VIP and NYVIP and DallasRegular and NYRegular and Dallas)。这样,我就不会用完门票。

我应该为此数据库使用什么架构?我应该有一行然后是4列(VIP和NY,VIP& Dallas,Regular& NY和Regular& Dallas)?这个问题是它看起来不太灵活,因此我不确定它是不是很好的设计。

4 个答案:

答案 0 :(得分:2)

您应该有一个列包含数量,一列指定类型(VIP),另一个列指定城市。

答案 1 :(得分:2)

为了使其灵活,你可以这样做:

Table: 
    location
Columns:
    location_id  integer
    description  varchar

Table
    type
Columns:
    type_id      integer
    description  varchar

table 
    purchases
columns:
    purchase_id integer
    type_id     integer
    location_id integer

通过这种方式,您可以添加更多城市,更多类型,并始终将其插入购买中。

当你想知道你卖多少时,你就算数了

答案 2 :(得分:0)

您要做的是拥有一个包含城市的表和一个包含故障单类型的表。 然后你创建一个弱的关联与[城市,票类型,票数]。

该表将有2个外键,因此"弱"。

但是这可以让你添加或删除城市等等。你也可以为音乐会添加一个表格,而你的弱桌子则会有另一个外键"音乐会"。

我认为这是最正确的方法。

答案 3 :(得分:0)

CREATE TABLE `tickets` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `locale` varchar(45) NOT NULL,
   `ticket_type` varchar(45) NOT NULL
}

这是表格的简单表示。理想情况下,您将拥有适用于区域设置和类型的单独表。你的桌子看起来像这样:

CREATE TABLE `tickets` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `locale_id` int(11) NOT NULL,
   `ticket_type_id` int(11) NOT NULL
}