一個中年程式設計師對資料庫概念的理解

2020-12-06 標標編程

資料庫,在編程中是一個不可缺少的重要元素,也是程式設計師繞不開的一個知識點,學習資料庫知識就變成了一個必須的過程,不然,你的編程知識就不完美。那麼,我們到底對資料庫了解多少呢?除了會用SQL語句去資料庫裡查詢之外,我們是不是還要對資料庫作更進一步的了解呢,今天就和大家分享一下習資料庫的知識,回顧一下資料庫的概念。

資料庫的概念

什麼是資料庫

資料庫就是數據的倉庫。記得在七八十年代的時候,那時候我們國家每一個地方都會有糧庫,農民要交軍糧給當地的糧庫。糧庫呢,就是專門存放糧食的,我們叫它糧庫。資料庫呢,就是專門存放數據的。所以我們就叫它資料庫。

這個資料庫,他有很多數據類型,相同數據類型的會放在一起,就好比,存放槍枝彈藥的,那叫軍火庫,放糧食的那叫糧庫。再比如我們家裡的房子,客廳就是客廳,廚房房就是廚房,臥室就是臥室,你就不能把吃喝拉撒都放到到臥室裡吧,味道也不好聞呀。

什麼是資料庫

資料庫管理員

DBA是縮寫,它的全稱是DataBase Administraotr,這個DBA就是資料庫管理員。他的角色就好比看守糧倉的老頭,看守糧倉的這個老頭,每天都端祥地坐在倉庫門口,手拎個大茶杯,座在小板登上,旁邊還放著臺收音機。晚上還要巡視四周,像打更一樣,說不定還減著:「天乾物燥,注意火燭」。DBA角色與糧倉的老頭職責是一樣的,但兩者的收入一定是千差萬別的,DBA的收入至少是糧倉老頭的三倍收入還要多。能成為DBA的人都是牛人或者是強人,我們千萬不能小瞧它,DBA需要具備超強的、靈活的思維能力,還要具備超強的定力,毛毛燥燥的人肯定做不了DBA,打個比方,京東的DBA不小心誤刪了幾千條數據,後果是什麼,不言而喻。

資料庫管理員

操作資料庫

程式設計師,程式設計師在這個資料庫裡又衝當什麼角色呢?程式設計師就是操作資料庫的。

那我們還是舉個例子吧,當用戶想要一個東西,要去倉庫裡拿這個東西,首先你要去拿出一個憑證去找個倉庫老頭,然後才能把這個東西拿出來,拿出來之後才能交給用戶,這裡面拿那個東西的人就是程式設計師。程式設計師充當的角色,就是當用戶提出需要的數據時,程式設計師去資料庫裡把用戶想要的數據拿出來,然後呈現給用戶,使命就完成了。

怎樣數據存儲

先看一看原始人是怎樣存儲數據的,原始人每天打兩隻野兔,打頭野豬的,聽課本上講,他們是用個繩子,系個扣來記錄數據的。

到了古代人又進步了,有了自己的房子,把東西都放到房子裡,不同的房子放不同的物品,弄個50平的房子放鞋,30平的房子放十幾雙襪子。

到了現代,有了計算機之後,人們用硬碟存數據,好多人硬碟裡存了好多土特產,這個土特產可以理解為自己喜歡的東西。能不能用記事本、Excel來存儲數據,能,當然能了。現在好多個人或者小點的公司,用Excel存數據的很多。隨著科技的不斷進步,也有好多人開始用雲存儲數據。比如,百度雲盤,現在存儲數據的方式越來越多也越來越方便了。

數據存儲的特點

1、海量存儲

雖然記事本,excel表格都可以進行存儲數據,但是當產生大量的數據,比如QQ的信息,有上千萬條,甚至近億條個人數據,我們試想一下,如果把它存放在記事本裡或者exceI表格裡,就顯得非常不適合,就算能存放的下,當我們使用時,也覺得這樣存數據會存在問題,試想一下,我做個網站,從記事本來讀取數據,合適嗎,很顯然不合適。

2、數據完整性

當我們存儲數據時,比如存一個人的信息,姓名:老李,性別:公,年齡:1935歲,這樣存數據能正常保存得起來嗎,當然可以,但不符合常理,性別要麼是男,要麼是女,公顯然不符合常人來理解。年齡能活到千歲的肯定不是人,有可能是妖,正常人能活到百歲,就算高壽了。這樣存儲數據我們叫數據存儲不完整性,雖然能正常存儲。

3、數據並發性

數據的並發性,還是用記事本存儲數據舉列子,假如在記事本裡存了一條數據,這條數據內容是:「老張」,這時打開這個記事本,然後再次打開這個記事本,同一個記事本打開了兩次,這時在記事本裡把老張改寫成小張,然後關閉這兩個記事本,這時記事本裡存的是老張還是小張,有可能老張把小張復蓋掉。再比如上廁所,就一個坑,兩個人同時進去,不太雅觀也不適合吧,肯定是第一個人上完,然後再輪到第二個人才好吧。這樣才能保證數據不會被覆蓋。

4、數據安全性

對於存儲數據的安全,這是至關重要的,就像糧倉裡的糧食,誰都可以去取,是不可以的,不然的話,也不會請個老頭天天做在倉庫門口看守著。如果想順利地取得到東西,需要一個憑證或者是領導批的條子,老頭才會允許你進到倉庫裡取東西。這樣才能保證倉庫裡的東西是安全的。

使用資料庫來存儲數據

1、用資料庫來存儲數據可以解決數據的海量存儲問題,別說千條,上千萬條數據都沒有問題,不但數據存儲方便,讀取也很便捷和快速。

2、用資料庫來存儲數據可以解決數據完整性問題,比如年齡上千歲的問題,可以在資料庫裡設置約束來管理數據的不完整性問題,保存的歲數只能是1到150歲。

3、用資料庫來存儲數據可以解決數據並發性問題,資料庫有鎖的機制,就好比上廁所一樣,一個人進去之後,會從裡面把門鎖上,只有這個人出來後,另一個人才能進去。

4、用資料庫來存儲數據可以解決數據安全性問題,要想進到資料庫裡面,是需要用戶名和密碼的,經過驗證才能進入的。

以上就是一個中年程式設計師對資料庫的一些概念的理解,當然由於水平有限,本文中有理解不到或者理解錯誤之處在所難免,敬請讀者批評指正,或者在下方留言評論,有則改之無則加勉。

相關焦點

  • 理解資料庫與數據模型的概念
    2、理解資料庫資料庫可以理解為存儲數據的倉庫,每個數據項在數據倉庫中都有編號,通過編號就可以找到該數據項。例如,圖書館就是存儲圖書的倉庫,在圖書館存儲的每本圖書都有一個編號,編號表示了書的類別和順序號,同類別的書放在一個書架上,便於圖書管理員和讀者查找圖書。圖書館存儲的是圖書,資料庫存儲的是數據,每條數據稱為數據項。
  • 資深程式設計師大佬告訴你,如何成為一個C++高級程式設計師
    語言我們要成為一個程式設計師,學的東西會很多很雜,但是最開始一定要從語言開始學習,而學習語言最關鍵的莫過於選好一本書,學校的教材就算了,根本沒 有寫得好的。在此隆重推薦《C++ Primer》,這本書很厚,內容也很豐富,對知識的講解不僅僅停留在表面。如果這本書能有耐心看完,語言方面基本就沒有什麼大問題了,對以後的學習也打 下了一個很好的基礎。2.
  • 被同事坑了,程式設計師離職前用同事電腦把資料庫刪除,結果蒙了
    網際網路職業是一個水很深的職業,為什麼這樣說呢,雖然網際網路職業一般都是薪資待遇不錯的,但是這裡面的壓力和爾虞我詐只有當事人自己知道。對網際網路職業的人來說,資料庫是十分重要的,因為無論是對個人的工作開展還是對公司的發展都有著至關重要的作用,所以一般都會把資料庫保存下來,上了很多層的保護,是不允許刪除的。而職業論壇上有這麼一則帖子,講述的是一位程式設計師,最近想要離職,還想著把同事的資料庫給破壞掉,而這究竟是怎麼一回事呢?
  • 被嫌棄的35歲程式設計師
    1程式設計師的 35 歲魔咒不知道從什麼時候起,35 歲變成了一個很「殘酷」的年齡。35 歲的中浪,稍不留神,就可能被前浪和後浪拍打在沙灘上,連浪花都不剩。中年危機已是一個普遍的社會問題。走出短暫的焦慮期後,蘇銳意識到,年齡沉澱下的經驗果實對他走上創業之路大有裨益 — 對人的理解、對事物運行規律的體悟比 20 多歲清晰多了。「幹的活兒我挺喜歡的,還能掙錢,工資拿的還不低,為什麼要焦慮呢」,從業 20 多年的程式設計師任從文(化名)是個天生的樂天派。「我從來沒有產生過年齡焦慮。
  • 程式設計師的真實工資有多少?程式設計師可以幹多久?
    程式設計師的真實工資有多少?程式設計師可以幹多久?它同時也是同在打工的人們之間一個的禁忌。一般的程式設計師真是工資是多少?想必這是很多程式設計師想問而又問而不得的問題,下面小編就為大家介紹一下。
  • 程式設計師及嵌入式的一些學習建議
    有人說程式設計師可以說是一個吃青春飯的職業。而且做程式設計師很累,每天都是代碼,感到很枯燥無味,一個人如果做到35或者40來歲.估計他的程序生涯也差不多到頭了;也有人說程式設計師有兩條進階路線。一條是技術路線,由程式設計師,經系統分析師、系統設計師、項目經理、產品經理,直到架構設計師為歸宿。另一條是領導路線,由程式設計師,經開發小組負責人、工程負責人,奮鬥到項目經理。
  • 14 個實用的資料庫設計技巧,好用到爆
    在一般情況下,它們是一對一的關係:即一張原始單據對應且只對應一個實體。在特殊情況下,它們可能是一對多或多對一的關係,即一張原始單證對應多個實體,或多張原始單證對應一個實體。這裡的實體可以理解為基本表。明確這種對應關係後,對我們設計錄入界面大有好處。 〖例1〗:一份員工履歷資料,在人力資源信息系統中,就對應三個基本表:員工基本情況表、社會關係表、工作簡歷表。
  • 數據模型概念及類型劃分
    1、概念數據模型(Conceptual Data Model):簡稱概念模型,是面向資料庫用戶的實現世界的模型,主要用來描述世界的概念化結構,它使資料庫的設計人員在設計的初始階段,擺脫計算機系統及DBMS的具體技術問題,集中精力分析數據以及數據之間的聯繫等,與具體的數據管理系統(Database Management System,簡稱DBMS)無關。
  • SQL語言基礎:資料庫語言概念介紹
    1、概念介紹SQL(Structured Query Lanauage)結構化查詢語言是關係資料庫中最普遍使用的語言。主要包括查詢、數據操縱、數據定義、數據控制功能,是一種通用的、功能強大的關係資料庫的標準語言。
  • 程式設計師和工程師的不同
    ,可以迅速從程式設計師成長為工程師。當時我覺得太詫異了,從很多招聘啟事來看,「程式設計師」不就等於 「工程師」嗎,只是「工程師」更好聽一些而已。等我工作久了,才知道「程式設計師」和「工程師」真的是不一樣的——程式設計師只寫程序,工程師寫能在現實世界中創 造價值的程序。
  • 什麼是資料庫DataBase?資料庫和數據記錄的概念簡單講解
    大家好,在講資料庫之前,我用了很長的時間,和大家分享了很多VBA方面的一些知識點,其中很多是我個人對VBA的理解。從這講開始我們要在原先的基礎上深入的講解一些VBA的提高利用,就是我們要開始講解的資料庫。
  • 據說不知道這些大神的程式設計師不是真正的程式設計師
    沃思還提出了結構化程序設計概念,我們現在可能覺得是司空見慣了, 但是在1971年「自頂向下,逐步求精「的方法的確改變了人們對程序設計的思維方式,在程序設計中引起了一場革命,成為程序開發的標準方法,尤其是在後來的軟體工程中獲得了廣泛的應用。
  • 程式設計師是做什麼的?未來計算機變得智能,就不需要程式設計師了嗎?
    甚至不少程式設計師對他們是做什麼的都沒有清晰的概念。 計算機將我們的文明推入一個新的水平,使我們的生活更有意義並充滿樂趣,還彌補了我們大腦的缺陷。很可能計算機比人類更聰明。(不過,我有點關心如果這成為現實後,計算機還需要人類程式設計師嗎?) 現代計算機具有完全邏輯性、直接性和順從性。如果你知道它應該做什麼並且知道如何命令它,那麼和計算機一起工作是快樂的。唯一的問題是,計算機只會做你告訴它去做的。
  • DTCC 2020:資料庫工程師眼中的資料庫市場
    韋萬:其實工作內容和其它程式設計師沒有太大區別,涉及技術調研,需求分析,編碼實現,測試調優等各個方面。由於是做基礎軟體的,我們重視產品功能的競爭力的同時,對質量更加注重。比如我們的方案評審相對更嚴格,新功能和 bug fix 方案,需要確保其它同學,包括社區成員都能充分理解。
  • 程式設計師編程入門必知!程式設計師需要學什麼
    操作方法首先,編程所需的基礎也就是語言,選擇一種自己感興趣或者擅長的語言,這裡給大家羅列一個語言的分類:Python——一個非常適合初學者的語言 ,而且當你掌握它的時候它會變得更加強大。被用來開發了許多Web應用、甚至一些遊戲。Java——被無數個項目所使用,從遊戲到Web應用再到ATM軟體。HTML——對於任何Web開發者必不可少的起航點。
  • 學個資料庫竟然有笛卡爾,不會還有牛頓吧?
    那如何查詢出一個結果既顯示成員又顯示部門呢?就需要引入笛卡爾積的概念:格式:select * from member,department;查出來的數據就相當於成員表與部門表的乘積。在MySQL資料庫中全外連接是如何表示的?全外連接=左外連接+右外連接;所以多了一個C,那麼就要去重。語法格式也就是左外連接和右外連接相加。union :去掉重複的數據。
  • 眼界限制想像,阿里「程式設計師全棧修煉筆記」開源,全棧其實很簡單
    前言今天的技術領域真的是讓人眼花繚亂,除了前端的各種框架,後端的技術又出現了容器、微服務等概念。資料庫除了傳統的關係型資料庫,還有各種NoSQL資料庫紛紛登場,分布式資料庫的需求也越來越強;這還沒算上大數據、人工智慧等。這麼多的概念,我們甚至都不知道怎麼去選擇,如何去學習!
  • 模態是一個大多數設計師不能完全理解的UX概念
    一個貓咪 資料庫可以讓用戶上傳,瀏覽和評論可愛的貓咪動圖,很棒的想法。我們app的一個(簡易的)用戶流大致會是這樣:用戶打開軟體,他打開我們一些可用標籤中的一個(我們的貓咪資料庫),點擊其中一隻貓咪(進入到一隻貓咪的細節瀏覽),然後點擊評論部分(進入到評論區)。
  • 什麼是資料庫?資料庫的體系結構是如何劃分
    本篇將介紹的是資料庫的體系結構是如何劃分,有興趣的朋友可以了解一下!什麼是資料庫?可以從它的字面意思理解,資料庫是數據的集合。比如:我們在筆記本上把圖片或者文檔、電影等資料放到一個文件夾下,那麼這個文件夾就是一個資料庫。那麼如果運用在系統開發的時候呢?它所存儲的便是應用系統內的數據,數據的重要性不言而喻。資料庫的概念需要掌握才能更好的使用和發揮資料庫存儲數據的功能。
  • 《Python程式設計師面試算法寶典》PDF超清版開源了文末附下載方式
    全面介紹Python程式設計師面試筆試技巧和方法,教你如何以「不變應萬變」。√ 兩萬多行代碼,100多個知識點,全面覆蓋Python程式設計師各類面試題型。√ 15年開發經驗、實戰技巧總結,站在「巨人」的肩膀上,讓學習走捷徑。