Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 用于存储INT的数据库架构_Mysql_Sql_Database_Schema - Fatal编程技术网

Mysql 用于存储INT的数据库架构

Mysql 用于存储INT的数据库架构,mysql,sql,database,schema,Mysql,Sql,Database,Schema,我对数据库真的很陌生,所以请容忍我 我有一个网站,人们可以去那里索取即将到来的音乐会的门票。用户可以申请纽约或达拉斯的机票。类似地,对于这些地区中的每一个,他们都可以申请贵宾票或普通票 我需要一个数据库来记录有多少人申请了每种类型的机票(VIP和纽约或VIP和达拉斯或Regular和纽约或Regular和达拉斯)。这样,我的票就不会用完了 这个数据库应该使用什么模式?我应该先有一行,然后有4列(VIP&NY、VIP&Dallas、常规&NY和常规&Dallas)?问题是它似乎不是很灵活,因此我不

我对数据库真的很陌生,所以请容忍我

我有一个网站,人们可以去那里索取即将到来的音乐会的门票。用户可以申请纽约或达拉斯的机票。类似地,对于这些地区中的每一个,他们都可以申请贵宾票或普通票

我需要一个数据库来记录有多少人申请了每种类型的机票(
VIP和纽约
VIP和达拉斯
Regular和纽约
Regular和达拉斯
)。这样,我的票就不会用完了


这个数据库应该使用什么模式?我应该先有一行,然后有4列(VIP&NY、VIP&Dallas、常规&NY和常规&Dallas)?问题是它似乎不是很灵活,因此我不确定它是否是好的设计。

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

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

你要做的是一张有城市的桌子和一张有门票类型的桌子。 然后创建与[城市、票证类型、票证数量]的弱关联

该表将有2个外键,因此“弱”

但这使您可以添加或删除城市等,您也可以添加音乐会表,您的弱表将有另一个外键“concert”


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

你想要做的是一张有城市的桌子和一张有门票类型的桌子。 然后创建与[城市、票证类型、票证数量]的弱关联

该表将有2个外键,因此“弱”

但这使您可以添加或删除城市等,您也可以添加音乐会表,您的弱表将有另一个外键“concert”


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

要使其灵活,您可以:

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
通过这种方式,你可以添加更多的城市,更多的类型,并且你可以在购买中插入它们


当你想知道你卖出了多少时,你可以数一数,以使它更灵活,你可以这样做:

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
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` 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
}
这是表的简单表示形式。理想情况下,您应该有单独的语言环境和类型表。你的桌子看起来像这样:

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


也许还包括一个音乐会的专栏?我不需要两个专栏吗?一个用于描述(例如纽约和VIP),然后另一个用于数量?正如布里兰所说:为什么不为城市设立一个专栏?我不是这么说的。我想我们现在有四个栏目(音乐会、城市、VIP/常规、计数)。一个栏目代表城市,一个栏目代表门票类型,然后一个栏目代表数量?也许还有一个栏目涉及音乐会?那么我不需要两个栏目吗?一个用于描述(例如纽约和VIP),然后另一个用于数量?正如布里兰所说:为什么不为城市设立一个专栏?我不是这么说的。我想我们现在最多有四列(音乐会、城市、VIP/常规、计数)。一列表示城市,一列表示门票类型,然后一列表示数量?这整个数据库是仅用于一场音乐会,还是将保留以存储未来音乐会的数据?这整个数据库是否仅用于一场音乐会,或者它会被保存起来存储未来音乐会的数据吗?我想你希望他存储个人客户?只有当
uid
是somewhere.Right的外键时,此架构才有意义。我确实假设他的用户是他的应用程序的一部分,实际上有一个专用表。你提出了一个很好的观点。好吧,如果没有用户ID,这个表本质上是在存储重复数据(auto_increment列不算,因为它没有任何意义)。@Brilliand-Yeah。我真的希望他能存储一些用户信息。如果他不需要注册来申请门票,他应该收集一些额外的用户信息。我至少会收集名字。也许收集IP也是一种很好的方式……我想你希望他存储个人客户?只有当
uid
是somewhere.Right的外键时,此架构才有意义。我确实假设他的用户是他的应用程序的一部分,实际上有一个专用表。你提出了一个很好的观点。好吧,如果没有用户ID,这个表本质上是在存储重复数据(auto_increment列不算,因为它没有任何意义)。@Brilliand-Yeah。我真的希望他能存储一些用户信息。如果他不需要注册来申请门票,他应该收集一些额外的用户信息。我至少会收集名字。也许收集IP也是一种很好的方式。。。