當前位置:首頁 » 數據倉庫 » 資料庫設計多張表的好處
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫設計多張表的好處

發布時間: 2022-09-26 22:58:30

A. 資料庫設計時,是使用多表格好還是少表格好呢

這要看你處理的對象、、表格盡量少、、但類別必須分清楚。。

B. 資料庫設計時,表越多是不是越好呢

很明顯不是,表的存在只為了業務的需要,甚至可以忽略三大範式,
分子表的原因在於 子表作為獨立的實體存在,或者子表經常被更新或者修改

C. 在資料庫設計時,存在多張表有關系時該怎麼設計為最優

所謂的三範式了解就行,完全照做死得快
像你這種表,一定要先定義需求
比如用戶有多個角色,就需要建立一個用戶角色對應表
比如用戶只有一個角色,那在用戶表加個欄位就行
另外最好不要弄什麼外鍵之類的,原來我也弄,後來煩得要死,總是約束錯誤之類的,編個程序都不省心,結果全給去了,只要邏輯沒有錯誤,數據就不會出錯。

D. SQL中設計為一張表好還是二張表好

根絕情況而定吧。
如果你商品類別繁多,每種商品的屬性繁多的話,還是用2張表吧。
一張表優點: 一條SQL語句解決問題,省事; 缺點是擴展性不強,結構性不強,層次性不強。
兩張表的優點: 層次結構清晰,靈活性強; 缺點是有一定的數據冗餘,SQL語句稍稍優點長,數據增刪改比一個表稍微麻煩點。

E. 設計資料庫時是設計表越少越好,還是越多越好

1,數據表與數據表之間有關聯(Relationship)是肯定的,但是不一定要用外鍵(ForeignKey),為什麼?外鍵本質是一種約束(Constraint),該約束決定了你在增刪改查的時候都會有額外開銷。【實際上資料庫在處理外鍵的時候估計也是創建一個中間表根據中間表來做關聯操作,完成後再刪除】2,「對於「N對N」的關系,兩個Model之間肯定是需要一張中間表的,比如Student、Class之間選課關系,是多對多的,肯定需要一張Enroll的表來維持,記錄兩個表的主鍵(PrimaryKey),但是不需要在資料庫層加外鍵約束,只需要加兩個索引,或作為聯合主鍵。3,至於查詢,盡量不用JOIN。但是問題是我確確實實是需要知道多個表的信息。比如我要知道某門課(Class,已知ID)的信息,同時還有選上該課(Enrolled)的學生信息(Student)。使用JOIN?沒問題,我相信你可以寫出一個很長的JOIN語句。但是,可能有的地方大概這樣實現的(偽代碼):getClassInfo(@class_id){SELECTclass_col1,class_col2FROMclassWHEREclass.id=@class_id}getStudentInfo(@class_id){SELECTstudent_col1,student_col2FROMstudentWHEREstudent.idIN(SELECTenroll.student_idFROMenrollWHEREenroll.class_id=@class_id)}兩種方案各有優缺。後者最大的一個優點是靈活,比如我們引入緩存(Caching)。一般來說,一個學校class數量不多,並且經常被查詢,系統可能會引入緩存層(如memcached、redis)來存放class對象。那麼上面的getClassInfo其實會變為{if(memcached.has(@class_id)!=null){returnmemcached.get(@class_id);}//查詢資料庫(只有class表),和上面的SQL一樣memcached.set(@class_id,class_object);returnclass_object;}

F. 請教:性能上,Access是一個資料庫多個表好,還是多個資料庫各自一個表好

當然在一個資料庫多個表好,原因有三個:
1.多表聯合查詢方便
2.連接字元串用變數存儲簡單,增加運行效率,太多的連接路徑佔用系統內存,也容易造成溢出,你不好維護,每個連接都要求做異常處理麻煩不說還影響性能。
3.佔用資源,ACCESS驅動器多開佔用資源,本身ACCESS就是一個獨占形式的資料庫,你開發的軟體也不能增加客戶端。
完全可以測試一下,用兩種方法連接分別做套程序,一起運行最小化到後台,查看一下任務管理器,佔用內存大小一比較就可以知道答案了,我是覺得用ACCESS不如SQL,不支持多用戶,跟一個資料庫建多少表是沒多大關系的,只要不超過他的閥值。
一庫一表真的不是很好的辦法,查詢邏輯煩瑣不說還及其消耗內存,真是數據量太大,那就早點用SQL,SQL可以把幾個資料庫整合在一起

G. 資料庫表設計:用戶單表(添加用戶角色欄位)還是多用戶表(每種角色一個表)

如果你的用戶和角色是多對多的關系,單表肯定是不行的!

H. 資料庫的表越多越好嗎還是能省就省

資料庫的表的多少取決於設計階段,也關繫到整個應用系統的穩定和強壯。
根據項目邏輯以及數據三範式標准來設計,當然三範式可能相對苛刻,那麼最好能保證二範式
來保證數據完整性,對後期需求擴張,維護起到至關重要的作用。
希望你能去認真的看看這方面的設計,對你會有用的
希望能幫到你