01、資料庫基礎篇

来源:https://www.cnblogs.com/Tumbler-zeng/archive/2020/03/17/12513896.html
-Advertisement-
Play Games

1. 什麼是資料庫 資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。 每個資料庫都有一個或多個不同的 API 用於創建,訪問,管理,搜索和複製所保存的數據。 我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。 所以,現在我們使用關係型資料庫管理系統(RDBMS)來 ...


1. 什麼是資料庫

資料庫(Database)是按照數據結構來組織存儲管理數據的倉庫。

每個資料庫都有一個或多個不同的 API 用於創建,訪問,管理,搜索和複製所保存的數據。

我們也可以將數據存儲在文件中,但是在文件中讀寫數據速度相對較慢。

所以,現在我們使用關係型資料庫管理系統(RDBMS)來存儲和管理大數據量。所謂的關係型資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的數據。

RDBMS 即關係資料庫管理系統(Relational Database Management System)的特點:

    • 1.數據以表格的形式出現
    • 2.每行為各種記錄名稱(欄位)
    • 3.每列為記錄名稱所對應的數據域
    • 4.許多的組成一張表單
    • 5.若幹的表單組成database

 

2、關係型資料庫與非關係型資料庫的區別

1、關係型資料庫最典型的數據結構是表,由二維表及其之間的聯繫所組成的一個數據組織
優點:
  1、易於維護:都是使用表結構,格式一致;
  2、使用方便:SQL語言通用,可用於複雜查詢;
  3、複雜操作:支持SQL,可用於一個表以及多個表之間非常複雜的查詢。
缺點:
  1、讀寫性能比較差,尤其是海量數據的高效率讀寫;
  2、固定的表結構,靈活度稍欠;
  3、高併發讀寫需求,傳統關係型資料庫來說,硬碟I/O是一個很大的瓶頸。

  2、非關係型資料庫嚴格上不是一種資料庫,應該是一種數據結構化存儲方法的集合,可以是文檔或者鍵值對等。
  優點:
    1、格式靈活:存儲數據的格式可以是key,value形式、文檔形式、圖片形式等等,文檔形式、圖片形式等等,使用靈活,應用場景廣泛,而關係型資料庫則只支持基礎類型。
    2、速度快:nosql可以使用硬碟或者隨機存儲器作為載體,而關係型資料庫只能使用硬碟;
    3、高擴展性
    4、成本低:nosql資料庫部署簡單,基本都是開源軟體。   缺點
    1、不提供sql支持,學習和使用成本較高;
    2、無事務處理;
    3、數據結構相對複雜,複雜查詢方面稍欠。   3、關係型資料庫術語
  • 資料庫: 資料庫是一些關聯表的集合。
  • 數據表: 表是數據的矩陣。在一個資料庫中的表看起來像一個簡單的電子錶格。
  • 列: 一列(數據元素) 包含了相同類型的數據, 例如郵政編碼的數據。
  • 行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。
  • 冗餘:存儲兩倍數據,冗餘降低了性能,但提高了數據的安全性。
  • 主鍵:主鍵是唯一的。一個數據表中只能包含一個主鍵。你可以使用主鍵來查詢數據。
  • 外鍵:外鍵用於關聯兩個表。
  • 複合鍵:複合鍵(組合鍵)將多個列作為一個索引鍵,一般用於複合索引。
  • 索引:使用索引可快速訪問資料庫表中的特定信息。索引是對資料庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。
  • 參照完整性: 參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關係模型必須滿足的完整性約束條件,目的是保證數據的一致性。
  • 表頭(header): 每一列的名稱;
  • (col): 具有相同數據類型的數據的集合;
  • (row): 每一行用來描述某條記錄的具體信息;
  • 值(value): 行的具體信息, 每個值必須與該列的數據類型相同;
  • 鍵(key): 鍵的值在當前列中具有唯一性。

4、MySql資料庫 

MySQL 是一個關係型資料庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 公司。MySQL 是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。

  • MySQL 是開源的,所以你不需要支付額外的費用。
  • MySQL 支持大型的資料庫。可以處理擁有上千萬條記錄的大型資料庫。
  • MySQL 使用標準的 SQL 數據語言形式。
  • MySQL 可以運行於多個系統上,並且支持多種語言。這些編程語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 對PHP有很好的支持,PHP 是目前最流行的 Web 開發語言。
  • MySQL 支持大型資料庫,支持 5000 萬條記錄的數據倉庫,32 位系統表文件最大可支持 4GB,64 位系統支持最大的表文件為8TB。
  • MySQL 是可以定製的,採用了 GPL 協議,你可以修改源碼來開發自己的 MySQL 系統。

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • (1) lsblk 查看硬碟信息 fdisk /dev/sdb 更改寫入磁碟信息 輸入 n 命令新建磁碟分區,輸入p 命令新建主分區sdb1,磁碟大小為3G 輸入 n 命令新建磁碟分區,輸入p 命令新建主分區sdb2,磁碟大小為2G 輸入 n 命令新建磁碟分區,輸入e命令新建擴展分區sdb3,磁碟大 ...
  • 1、首先查看伺服器系統內核,docker環境要求的內核必須在3.10或以上 執行:uname -r 版本為3.10,可安裝docker 2、切到root用戶下,更新yum源,使yum源為最新狀態 執行:yum update 3、安裝docker依賴的軟體包,yum-util 提供yum-config ...
  • ISSI IS62WV51216ALL/IS62WV51216BLL是高速8M位靜態RAM,組織為512K字乘16位。它是使用ISSI的高性能CMOS技術製造的。這種高度可靠的工藝加上創新的電路設計技術,可生產出高性能和低功耗的設備。 當CS1為HIGH(取消選擇)或CS2為LOW(取消選擇)或CS ...
  • 作為 Elasticsearch 的“表結構定義”的 Mapping,你可能需要瞭解下! ...
  • MySQL中定義數據欄位的類型對你資料庫的優化是非常重要的。 MySQL支持多種類型,大致可以分為三類:數值、日期/時間和字元串(字元)類型。 1、數字類型 類型大小範圍(有符號)範圍(無符號)用途 TINYINT 1 位元組 (-128,127) (0,255) 小整數值 SMALLINT 2 位元組 ...
  • 先創建表 1.普通索引 是最基本的索引,它沒有任何的限制。有以下幾種創建方式 (1)直接創建索引: 實例: indexName為索引名,mytable表名,username和city為列名,10為首碼長度,即索引在該列從最左字元開始存儲的信息長度,單位位元組 如果是CHAR,VARCHAR類型,首碼長 ...
  • 資料庫的操作不管是在Windows系統還是Linux系統的是一樣的。小編在此先以Windows系統下安裝的資料庫為例,Linux系統下如何安裝及其使用,在後面的大數據中會講。 1、創建資料庫 CREATE DATABASE 資料庫名; 如:create database review; 註意:在Wi ...
  • 關係資料庫管理系統(Relational Database Management System) 特點 1. 數據以表格的形式出現 2. .每行為各種記錄名稱 3. 每列為記錄名稱所對應的數據域 4. 許多的行和列組成一張表單 5. 若幹的表單組成database 術語 資料庫: 資料庫是一些關聯表 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...