我正在學習數據庫課程,我有幾個關於計算問題的問題。任何見解都非常感謝。數據庫規範化和子查詢
首先,我聽到它拋出了「沒有算法」來將關係轉換爲無損和依賴保持的BCNF。其原因是,對於某些關係,BCNF中不存在與期望屬性的關係。我覺得這是誤導,因爲你可以說沒有算法用相同的邏輯找到二次方程的兩個實數解。當然,你不能...但是對於歸一化問題,我認爲應該有可能確定是否存在具有兩個屬性(決策問題)的BCNF變換,並且如果決策問題發出「是」,則應該有算法計算一個等效的BCNF表示。我的思想是正確的,還是我說過的錯誤?
我的第二個問題關於子查詢。 SQL中涉及子查詢的任何查詢都可以在沒有子查詢的情況下重寫嗎?我知道這不是很好 - 我想我們堅持基本的SQL(大多數/所有系統共享)並限制子查詢選擇從屬於頂層的語句(允許頂層集操作) 。
感謝您的支持。對於第一個,我想有一個有限數量的不同的,有意義的分解......所以一個算法將生成它們並檢查它們。對於第二個...我們同意有一些查詢可以消除子查詢。但是,有些事情只能通過子查詢完成嗎? – Patrick87