說到資料庫,我們首先要瞭解的應該是它的歷史或者說前身。細緻的說,資料庫的發展主要經歷了三個階段:1、人工管理階段 2、文件系統階段 3、資料庫系統階段。如何來理解呢?實質上,資料庫,顧名思義,就是管理數據的倉庫。那麼顯然,這不是一個真實的倉庫,而只是一個電子倉庫。為什麼我們要有這麼一個電子的倉庫呢? ...
說到資料庫,我們首先要瞭解的應該是它的歷史或者說前身。細緻的說,資料庫的發展主要經歷了三個階段:1、人工管理階段 2、文件系統階段 3、資料庫系統階段。如何來理解呢?實質上,資料庫,顧名思義,就是管理數據的倉庫。那麼顯然,這不是一個真實的倉庫,而只是一個電子倉庫。為什麼我們要有這麼一個電子的倉庫呢?這便涉及了資料庫的優勢和主要用途。讓我們來考慮這樣一種情景:新生開學,有大量新的學生信息。如果在人工管理階段,我們可能會用紙筆把它們記錄下來,並且分門別類。然而,這種做法應該說是十分費力的。到了文件系統階段,由於電腦的出現,我們可以更為便捷的把它們記錄在電腦上,並且易於攜帶。儘管如此,我們還是有些問題沒能處理。其中之一便是共用問題。舉個例子,如果其他人想要使用這些信息,可能他們能夠複製一份。然而,假如我們想要更改某些信息呢?當然,我們可以很容易的改動原始數據。可是,那些Copy呢?難道一一修改?這顯然不太現實。這樣,我們便能輕易的理解資料庫的主要優點了。因為我們可以將資料庫置於伺服器端,通過給予不同的用戶以不同的訪問許可權來實施管理。說的直白一點,我們把資料庫這個電子檔案放到某個電腦上,大家都能通過網路去查看其中的信息,但並非每個人都能隨意更改其中的內容。為什麼呢?因為如果誰都能輕易更改,資料庫早就不成樣了。事實上,用戶只有部分許可權修改在某些特定的條件下修改部分內容。
我為什麼要花時間寫一些幾乎與具體學習內容毫不相關的東西?因為我覺得它比那些具體的內容更加珍貴,也更容易令人忽視。也許,學完資料庫以後,你會建表,也會查詢。可是,問你資料庫是什麼,有什麼用?你卻不一定答得出來。那麼我說,你與一個技術工人無異,知其然而不知其所以然!我相信,一個真正的軟體工程師,決不會把自己局限在完成某項具體的任務上。而是希望自己用心做出更加優秀、更加完美,能夠表現自己靈魂的作品。