有關資料庫有嚴格的定義,本文結合自己的理解,通俗簡短的介紹下資料庫:
首先我們想一想,電腦的組成上有一大塊的硬碟是用來幹什麼的?用來存放資料的。這個硬碟就相當於乙個大型倉庫,裡面空空如也,就是乙個大的空著的空間。
一般是誰能往裡面放置東西呢?各種軟體。然而每一種軟體存放資料的方式是不一樣的,比如對於同樣的資料,比如說乙個員工的資訊(包括**、姓名、位址等),軟體a直接將這些資料生成乙份pdf檔案存起來,軟體b將這些資料生成一張檔案存起來,軟體c將**和其他的文字資訊分開儲存,文字資訊儲存在乙份word文件中,這樣每乙個員工的資訊就是乙份文件,乙份word文件,軟體d將所有的員工資訊的文字部分全部寫入同乙份word文件中,等等等等。
上面的舉例只想說明一點,那就是對於同樣的乙份資料,不同的軟體系統可能有不同的儲存策略,也有著各自的優劣方面。
有專門的公司研究資料的存放,也有著很多種資料存放策略。比如oracle資料庫、mysql資料庫、mariadb資料庫、sql server資料庫、access資料庫、另外一些不常用的(db2、postgresql、informix、sybase等)。
使用這些現成的資料庫,比自己做一套完整的資料庫作業系統要方便高效,畢竟術業有專攻,分工見高效。
現在我要做一款酒店管理系統,涉及到大量的資料並進行操作(儲存、查詢、修改、刪除),這麼大量的資料,我肯定要選擇一款合適的資料庫軟體來做資料的儲存管理,將這些資料按照某種策略存放在硬碟中。
選擇好之後,我就需要將資料庫軟體安裝在我的電腦中,安裝好以後就意味著我可以使用這款資料庫軟體來使用我電腦上的硬碟空間了。
接下來就是使用資料庫了,一般的軟體是用介面進行人機操作,但是大量的資料儲存等處理用人工點選滑鼠、操作鍵盤那肯定是不顯示的。因此資料庫會提供對它自身進行操作的介面,這些操作命令組合在一起就相當於一門「操作語言」了,使用這門語言就可以很好的對安裝在電腦中的資料庫進行操作了,既然是命令列的形式,那麼我自己的軟體就可以直接用**的方式操作這門語言,盡可能的自動化完成資料的各種操作。
但是如果每種資料庫都有自己的一套資料庫操作語言,那對軟體開發者們來說學習成本也就太大了,因此就有了在應用層面的統一語言----sql語言。
說到這裡,需要樹立一種觀念,應用層面一定要保證簡潔統一,所以處於中間層面的(硬體和應用層之間的)就要擔負起「相容」的偉大責任。想想一下作業系統的作用,主要就是做各種硬體的相容。
因此,各種資料庫也要做對系統的相容和對sql的相容。
說到這裡,也可以理解下高階開發和底層開發的主要工作了。底層開發的主要責任就是「更穩地相容上下游」和「更好地驅動硬體」,這樣高階開發才可以節省掉花在相容上面的精力,這樣才能更加「平穩地」去面向應用層面做開發。
為什麼要學資料庫
資料庫系統 database system 是由資料庫及其管理軟體組成的系統。資料庫就是儲存資料的地方,穿鷗汀意義不包括檔案 資料庫是由兩部分組成 db資料庫本身,我們看不見的 資料庫管理系統 現在世界上資料庫分為三類 rdbms rdbms關聯式資料庫管理系統 relational databas...
為什麼要選擇MySQL資料庫
什麼是mysql?mysql是乙個多使用者 多執行緒的sql資料庫,是乙個客戶機 伺服器結構的應用,它由乙個伺服器守護程式mysqld和很多不同的客戶程式和庫組成。sql structured query language結構化查詢語言 是目前使用最廣的並且是標準的資料庫語言。sql語言使得訪問或更...
為什麼使用資料庫
儘管檔案系統可以解決不少問題,有些問題是檔案系統所無法 解決的,如果給檔案系統加上這些特性,那麼檔案系統也就成 為了乙個資料庫。1.資料的冗餘與資料不一致 重複資料多,而且對於分布式,有可能出現 資料無法同步的問題。2.資料訪問困難,資料孤立 因為資料儲存沒有採取同樣的格式,使得使 用統一的介面訪問...