我有一個表讓我們把它稱爲MainTable,這個表的每一行都有幾個公共字段,但是取決於我們說的field1的值,那麼行可以有例如,如果field1是1,那麼最多存儲一個field2和field3的行,並且如果field1是2,則最多存儲field4和field5的行,並且即使在類型中,field2/field3也不同於field4/field5,請一些幫助,我需要一個解決方案來設計數據庫與這種條件下,我不知道如果把所有的字段在MainTable中或爲額外的數據創建不同的表,字段1的值posibles是30.sql數據庫 - 表中的每一行在不同表格中有額外的數據
回答
你所問的是包括某些行,而不是信息每一行,所以你會有很多列與當前設計的空值。
你要做的是使用外鍵創建附加表和鏈接。
想象一下,你有一個表Cars
與領域
car_id, color, size, num_wheels
但有些車的娛樂和驅動車輛有aditional的性質。因此,而不是在你的Cars
表中添加aditional的列創建另一個表RV_cars
car_id, bathroom_size, num_bed, bol_tv
所以,如果你想獲得一個RV車的所有信息,你做
SELECT C.*, R.*
FROM Cars C
join RV_cars R
ON C.car_id = R.car_id
好吧,我明白了,這就是爲什麼我問,看看什麼更好,空字段或額外的表,每個表的car_id是相同的?如果這是解決方案,那麼我需要有30個額外的表,如RV_cars,是嗎?即使是關於所有車輛的未來諮詢或報告。 –
關於car_id字段的問題我的意思是如果car_id是第二張表的主鍵或者只是一個外鍵,感謝您的幫助。 –
對於這種情況'RV_car'既可以是'PK'也可以是'FK',但最好的做法是有一個不同的PK,比如'RV_car_id',以備日後在其他表上使用。是的,如果您創建了附加表來存儲相關信息。例如,你可以用'tire_id,width,radio,material'爲輪胎添加另一個表格,並將'tire_id'保存到'cars'表格 –
嘗試使用noSQL數據存儲。如果我明白你 - 你會有大約15對不同的領域,所以關係數據庫不適合你。或u需要在主表中創建16個表(1主,15 extra
數據),並保持鍵
- 1. SQL Server CE計數數據庫中每個表中的行數
- 2. PowerShell中的SQL Server數據表額外的 「行」
- 3. 爲數據庫中的每一行分隔數據表。 .NEt
- 4. 如何在數據表中添加不是數據庫的額外字段
- 5. 更新不同表中的數據sql數據庫
- 6. 複製Microsoft SQL Server中不同數據庫的數據表
- 7. 數據庫表中每行的活動
- 8. ng-repeat中每個數據的不同表格行Angular
- 9. 從數據庫中的一個表更新數據到不同數據庫中的另一個表不工作
- 10. 使用不同數據庫中表格的值更新表格
- 11. hook_user():在數據庫中插入額外的字段不僅僅是表格
- 12. 在SQL數據庫中的每個新插入上更新數據表(同步)
- 13. 休眠表在不同的數據庫中有不同的列
- 14. 數據庫中所有表的列表以及每個表中的行數?
- 15. 圖表 - 有額外的數據
- 16. 爲數據表中的每一行生成不同的pdf
- 17. 每行不同列號的數據表
- 18. 在SQL Server中歸檔數據庫表:相同的數據庫還是不同的數據庫?
- 19. 從不同的表格更新數據庫中的表
- 20. 在SQLite數據庫表中添加額外的列
- 21. 提交表格的每一行,將該行的數據插入到數據庫
- 22. 使用LINQ to SQL,其中數據庫表可以有額外的列
- 23. 比較同一表中的數據 - SQL
- 24. 數據庫設計:大表vs查詢數據中每一行的實體表
- 25. 在數據網格視圖中爲每行添加一個額外的列
- 26. 更新不同數據庫中其他表的數據庫中的表(相同的sql實例)
- 27. 從R中的數據表合併中查找額外的行
- 28. 表有外鍵時同步數據庫
- 29. 合併一行中的MySQL數據庫表的每2行
- 30. 向數據庫添加額外的表格
你能不能包括數據的例子?我無法想象您的需求。 –