亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想詢問和交流一下數據庫表設計的策略,希望大家指點一下?

想詢問和交流一下數據庫表設計的策略,希望大家指點一下?

偶然的你 2018-10-24 08:44:53
目前在做一個數據管理系統的數據庫表設計,但是遇到了這樣一個情況:比如說有兩類數據,一類是分組 group,一類是成員 member;然后每一個 group 還有很多其他信息(比如歸屬地、類別等等),每一個 member 還有很多其他信息(比如姓名、性別等等)。group 和 member 是多對多的,也就是說,一個 group 可以有多個 member、一個 member 可以對應多個 group。所以我目前的想法是設計成三個表:group 信息表,主鍵 groupIdmember 信息表,主鍵 memberId鏈接表,有 groupId 和 memberId 兩個字段,用于存儲對應關系。但是實際上,除了 member,group 還會和事件 event 也是多對多的關系、還有等等其他的信息,總之各種多對多。所以這樣造成的結果是有很多有兩個字段(不算表的自增id)的鏈接表,這樣表特別多,維護起來有點麻煩。而且這樣的話還總是需要設置 on delete cascade 等等,有點麻煩。不知道自己所做的方式是不是正確的方式,沒有數據庫專業人員輔助自己設計這么多表也有點慌...以及這種情況有沒有稍微清晰的一點方式呢?以及有沒有什么隱患?
查看完整描述

1 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

我的建議是
1.去掉on delete cascade,使用程序關聯刪除,因為使用on delete cascade會消耗數據庫資源
2.如果覺得表特別多,那數量究竟是又多少呢?能不能使用ER圖的形式標示出來,不管是DBA或者是其他開發人員心里都有底
3.是不是真的有那么多多對多的關系呢?其實有些需求應該是莫須有的,建議review一下是否真有那么多多對多的關系。
舉個例子,只是舉個例子:
從一個公司的層面上來說,不會存在一個人在兩個部門的情況
那在表設計的時候完全不需要考慮多對多的情況,直接一對一就好了。

查看完整回答
反對 回復 2018-10-24
  • 1 回答
  • 0 關注
  • 523 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號