我对数据库很陌生,所以请耐心等待。
我有一个网站,人们可以去申请即将举行的音乐会门票。用户可以申请纽约或达拉斯的门票。同样,对于每个区域设置,他们都可以申请VIP门票或普通门票。
我需要一个数据库来跟踪有多少人请求了每种类型的故障单(VIP and NY
或VIP and Dallas
或Regular and NY
或Regular and Dallas
)。这样,我就不会用完门票。
我应该为此数据库使用什么架构?我应该有一行然后是4列(VIP和NY,VIP& Dallas,Regular& NY和Regular& Dallas)?这个问题是它看起来不太灵活,因此我不确定它是不是很好的设计。
答案 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
}