我想在MySQL中爲DB設計提出建議。MySQL數據庫設計建議
我有一張表Movie_Celebrity_Role其中包含電影ID,名人id,角色ID。 此表格是電影,名人(CelebName & CelebID)和角色(例如:製作人,導演等等)表格之間的鏈接。
我有另一個表Movie_Company_Role這是上述類似,但在這裏,而不是明星,公司ID存儲鏈接到公司表和角色是不同的,如製作公司等
我的問題是,有一些領域,如媒體關係,可能有公司和明星。
因此,如果我創建另一個表爲MoviedID_CelebID_CompID_RoleID當連接表時,我將得到重複錯誤,因爲celebs表和Companies表必須在匹配此表以及Movie_celeb_role和Movie_comp_role時連接。
請建議如何去做這件事。
我想我的網站上得到的結果是這樣的:
生產者 Celeb1 Celeb2
主任 Celeb1 Celeb3
... ... ...
媒體關係 Celeb2 C ompany1 Company12
PS:另外當我點擊這個頁面上的名人或公司鏈接時,它必須去慶祝頁面或公司頁面,其中名人或公司相關聯的電影必須與角色一起列出。
因此,你保存在語義上不同的東西(公司角色和「名人」角色)在同一個表?如果公司角色需要額外的列,會發生什麼? – Jacob
你在哪個表格中有「媒體關係」字段(列)?它是否存儲CelebId或CompanyID? – RKh
@RPK媒體關係再次扮演角色,可以由公司或個人(名人)執行。媒體關係將存儲在角色表中的角色名稱中。 – Kenh