2011-02-05 35 views
0

我想創建一個簡單的Web應用程序,它將有一個從用戶到項目的連接。 假設每個用戶都會分配給他一些項目(在這種情況下,系列和劇集以及其中的很多項目)。一個大系統的數據庫結構

我該如何規劃像這樣的系統(表格,字段等)的數據庫結構?這是我第一次遇到這種情況。

回答

1

看起來像一個典型的M:N關聯。

create table person (
    id number not null primary key, 
    username varchar not null, -- login 
    -- email, etc 
); 

create table episode (
    id number not null primary key, 
    ordinal number not null, -- which episode in the series 
    name varchar not null, 
    -- whatever else, for instance, a link to series: 
    -- series_id not null number foreign key referencing series(id) 
); 

-- the link table you asked about 
create table person_x_episode (
    person_id number not null foreign key referencing person(id), 
    episode_id number not null foreign key referencing episode(id), 
    -- whatever else, like seen date, rating, etc 
); 

如果你需要系列和季節細分或用戶組等,你會有更多的表格。

0

基礎知識是一個用戶表和一個項目表。這些有時稱爲「主」表。然後你有一個交叉引用表,users-items,它具有項目的外鍵和用戶的外鍵。這有時稱爲「多對多」表。

至於欄目和其他細節,你必須告訴我們更多關於你想跟蹤的內容。一般來說,每個事實都成爲表格中的一列。因此,對於一個電視劇(我猜這裏因爲你沒有告訴我們很多),你可能會有一個賽季的季節,第一季,第二季等,這一季出現了。

也許然後在項目表(這可能應該被稱爲系列)的子表,該表列出了該季節的星星。

如果您提供更多詳細信息,我可以編輯一些答案。