回覆列表
  • 1 # JustinCHN

    較為準確的答案我認為是,it depends; 無論是語言還是資料庫都是工具,除非恰恰選擇了使用這門語言開發專業的資料庫。

    某種程度上每種語言都可以做研發,但是具體採用哪一種依賴於當時的環境及認知程度;資料庫當然也很重要,但是可能侷限在需要它的場合。

    所以,最後簡單一點的小結就是,時刻準備著!基礎性的東西還是夯實較好。

  • 2 # 東風高揚

    謝謝邀請。從未來的發展來說下這個問題。首先,你的目標是什麼是很關鍵的。只是相當好編碼員,還是要當設計工程師?如果只是當好專案經理或者組長分配給你的編碼任務,你可以只是瞭解資料庫的皮毛,淺嘗輒止。如果今後你還想涉及到系統的框架、資料庫、業務邏輯、最佳化方面的設計,那麼很明確必須學習好資料庫相關知識。不然,你連欄位型別都不十分明瞭的話,那設計出來的東西完全就是二不掛五,問題錯誤不斷,根本不可能使用。

    從長遠來說,學習好資料庫相關知識是你走得更長遠的助力。從目前來看,佔主流的還是常用的資料庫,比如:DB2、Mysql、SQLserver、Oracle等等,但鑑於大資料和分散式應用越來越多,noSql型別資料庫也越來越多,漸漸佔了相當的比例。要學習好普遍的關係型資料庫,要從事設計工作,大致要了解這些方面。

    一:需求分析:主要是分析使用者需求,是設計資料庫的起點,重點是“資料”和“處理”,要求有安全性、完整性。

    [資料字典]:對資料流程圖中的各個要素做出詳細說明,是對資料收集與分析獲得的主要成果。如1.資料庫中所有模式物件:表,檢視,簇,索引。2.分配、使用空間。3.約束資訊完整性。4.使用者名稱、角色與許可權。5.訪問或操作記錄(審計)資訊。6.其他產生的資料庫資訊。

    二:概念設計:透過對使用者需求進行綜合、歸納與抽象,形成概念模型:E-R模型

    [E-R模型]:Entity-Relationship Model(實體聯絡模型,提出者美籍華人P.P.Chen)。

    三:邏輯設計:把概念結構設計好的基本E-R圖轉換為關係資料模型。

    要解決的問題是:實體和實體間聯絡轉換為關係模式;確定這些關係模式的屬性和碼。

    【資料模型最佳化】:確定資料依賴,注意並不是規範化程度越高的關係就越優。學習資料庫三大正規化。

    四:物理設計:為邏輯資料模型選取一個最適合應用要求的物理結構。

    確定資料庫的物理結構(存取方法,儲存結構)、對物理結構進行評價(時間&空間效率)。資料庫系統是多使用者共享系統,對同一個關係要建立多條存取路徑,需根據關係資料庫管理系統支援的存取方法確定選擇,常用有:索引方法&聚簇方法。

    五:資料庫實施:1,資料的載入;2,應用程式的編碼和除錯。

    六:執行和維護:分批地組織資料入庫,如果除錯要修改資料庫設計,便重新組織資料入庫。先輸入小批次資料做除錯用,待試執行基本合格後在大批次輸入資料,逐步增加資料量,逐步完成執行評價。(要做好資料庫轉儲和恢復工作)

    編碼不單單是敲一些程式碼而已,其實程式設計師會涉及到處程式碼外的很多方面的知識,瞭解得越多,學得越深,就會走得更遠,走得更高。Nosql資料庫也可以多瞭解,主要有,鍵值(Key-Value)儲存資料庫、列儲存資料庫、文件型資料庫、圖形(Graph)資料庫等。

  • 3 # 一介啤夫

    其實,稍微大點的公司,是不會讓你用c++直接訪問資料庫的,都是通過後端,而後端基本被java和go壟斷。

    唯一可以學學的是sqlite,是目前最好的基於檔案型資料庫,做客戶端開發很多都會用到它。也簡單,增刪改查操作加提交事務機制一天包會。

    工作了就是先把本職工作做好,再把有限的時間用來學習有用的東西,而資料庫對於c++來說,絕對不是主要學習方向。

  • 4 # buzibuzi

    現在主流的事務關係型或非事務關係型資料庫系統,大多使用C/C++進行開發,只要使用C/C++開發,一般都會提供基於C/C++的連線庫。如果要求高效能,那麼使用C/C++開發與資料庫相關的程式是很常見的選擇。如果不是開發資料庫系統而僅僅只是使用,那麼需掌握諸如事務完整性、主外來鍵、正規化設計等與資料庫密切相關的概念,多花時間好好掌握SQL語言。雖然各個資料庫系統有差異,掌握了上述共通知識,再掌握實際所使用的資料庫系統的特異性知識,一般的開發任務可以勝任了。

  • 中秋節和大豐收的關聯?
  • 網傳辛有志大災之時兩次捐款,讓我對網紅稍有改觀,你怎麼看待網紅呢?