如果是資料庫的基本原理,那麼非常簡單:就是一種將資料從應用中獨立出來的方法,這個方法可以歸結三個世界,兩次抽象,從真實世界抽象到資訊世界,從資訊世界抽象到機器世界。除此之外,這個方法還提供了訪問資訊世界和機器世界的手段,還要保證世界的可靠性:資料的定義、資料的操縱、資料的約束。至此,就滿足應用對於資料的需要,也滿足了管理的資料的需要,即一少三性。至於資訊世界,只要有點資料結構中的抽象資料型別就可以了,至於機器世界,只要有點資料結構的物理儲存知識就可以了。
基本應用技術,也很簡單的,主流就是sql,加一點正規化,再加一點關係運算、再加一點最佳化。如此而已。
什麼,資料庫原理?把資料結構真正讀懂了就可以了,一直讀到外儲存那裡。
但是,工程性就有複雜了。從專案開發的角度、從軟體工程的角度、從專案管理的管理,總之,從工程的角度來說,資料庫與專案執行環境、開發條件、開發人員,業務邏輯糾結在一起。最核心的問題是:在哪裡操縱資料。資料庫自然是儲存資料的,但是資料庫還有操縱資料的功能,還有儲存過程這種具有業務邏輯實現的功能。這是撕逼常發生之處。當然,經常撕逼的地方還有:正規化、最佳化、快取、執行緒池這幾個地方。
想必作為一個產品狗,你幾乎不可能自己去開發,無非就是在和開發崗撕逼。
任何技術,都有侷限性,從技術本身來說有侷限性,從專案工程的實施上來說有侷限性,甚至從技術人員、技術團隊上都有侷限性。資料庫也是這樣。
但是,沒有一線的技術開發實驗經歷,往往很難透徹地瞭解資料庫的技術侷限性在哪裡。
要不,你就建立老闆,建立合適的機制,建立一個可靠的團隊。
要不,你自己就親自到一線,去了解,在環境和業務的限制下,資料庫技術的適用性。
如果是資料庫的基本原理,那麼非常簡單:就是一種將資料從應用中獨立出來的方法,這個方法可以歸結三個世界,兩次抽象,從真實世界抽象到資訊世界,從資訊世界抽象到機器世界。除此之外,這個方法還提供了訪問資訊世界和機器世界的手段,還要保證世界的可靠性:資料的定義、資料的操縱、資料的約束。至此,就滿足應用對於資料的需要,也滿足了管理的資料的需要,即一少三性。至於資訊世界,只要有點資料結構中的抽象資料型別就可以了,至於機器世界,只要有點資料結構的物理儲存知識就可以了。
基本應用技術,也很簡單的,主流就是sql,加一點正規化,再加一點關係運算、再加一點最佳化。如此而已。
什麼,資料庫原理?把資料結構真正讀懂了就可以了,一直讀到外儲存那裡。
但是,工程性就有複雜了。從專案開發的角度、從軟體工程的角度、從專案管理的管理,總之,從工程的角度來說,資料庫與專案執行環境、開發條件、開發人員,業務邏輯糾結在一起。最核心的問題是:在哪裡操縱資料。資料庫自然是儲存資料的,但是資料庫還有操縱資料的功能,還有儲存過程這種具有業務邏輯實現的功能。這是撕逼常發生之處。當然,經常撕逼的地方還有:正規化、最佳化、快取、執行緒池這幾個地方。
想必作為一個產品狗,你幾乎不可能自己去開發,無非就是在和開發崗撕逼。
任何技術,都有侷限性,從技術本身來說有侷限性,從專案工程的實施上來說有侷限性,甚至從技術人員、技術團隊上都有侷限性。資料庫也是這樣。
但是,沒有一線的技術開發實驗經歷,往往很難透徹地瞭解資料庫的技術侷限性在哪裡。
要不,你就建立老闆,建立合適的機制,建立一個可靠的團隊。
要不,你自己就親自到一線,去了解,在環境和業務的限制下,資料庫技術的適用性。