簡體   English   中英

用於存儲int的數據庫架構

[英]Database schema for storing ints

我真的是數據庫新手,請耐心等待。

我有一個網站,人們可以在那里索取即將舉行的音樂會的門票。 用戶可以要求購買紐約或達拉斯的門票。 同樣,對於這些語言環境中的每個語言環境,他們都可以請求VIP票證或普通票。

我需要一個數據庫來跟蹤有多少人要求每種票證( VIP and NYVIP and DallasRegular and NYRegular and Dallas )。 這樣,我不會用完票。

我應該為該數據庫使用哪種模式? 我應該一行然后四列(VIP&NY,VIP&Dallas,Regular&NY和Regular&Dallas)嗎? 問題在於它似乎不太靈活,因此我不確定它是否是好的設計。

您應該有一列包含數量,一列指定類型(VIP),另一列指定城市。

為了使其更加靈活,您可以執行以下操作:

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個外鍵,因此為“弱”。

但是,這使您可以添加或刪除城市等。還可以為音樂會添加表,而弱表中將有另一個外鍵“音樂會”。

我認為這是最正確的方法。

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM