MySQL 数据库基础(一)(数据库的简介)
生活随笔
收集整理的這篇文章主要介紹了
MySQL 数据库基础(一)(数据库的简介)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 一、數據庫的基本概念
- 1. 數據(Data)
- 2.數據庫表與和數據庫(DB)
- 3.數據庫管理系統(DBMS)
- 4.數據庫系統(DBS)
- 二、數據庫發展史
- 1.初級階段——第一代數據庫
- 2.中級階段——第二代數據庫
- 3.高級階段——第三代數據庫
- 三、當今主流數據庫介紹
- 1.關系數據庫
- 2.非關系數據庫
- 四、關系數據庫的基本概念
- 1.關系數據庫的基本結構
- 2.主鍵
- 3.外鍵
- 4.數據完整性規則
- 5.關系數據庫應用
前言
- 隨著科技的發展,我們邁入了“信息大爆炸時代”,大量的數據、信息在不斷地產生,伴隨而來的就是如何安全、有效地存儲、檢索和管理他們
- 對于數據的有效存儲、高效訪問、方便共享和安全控制已經成為了當今值得重視的問題
- 所以使用數據庫很有必要!
- 現在看來,使用數據庫可以高效且條理分明的存儲數據,使人們能夠更加迅速、方便地管理數據
- 總結一下,數據庫具有以下特點:
- 可以結構化存儲大量的數據信息,方便用戶進行有效的檢索和訪問
- 可以有效地保持數據信息的一致性、完整性,降低數據冗余
- 可以滿足應用的共享和安全方面得要求
一、數據庫的基本概念
1. 數據(Data)
- 描述事物的符號記錄稱為數據(Data)
- 數據不僅僅包括數字,文字、圖形、圖像、聲音、檔案記錄等都是數據
- 在數據庫中,數據是以“記錄”的形式按統一的格式進行存儲的,而不是雜亂無章的
- 這樣,數據的存儲就能夠井然有序
- 如下圖中存儲的一行數據,在數據庫中稱為一條“記錄”(Record),每條記錄中的每一個輸出稱為“列”,圖中的編號、姓名、性別、年齡都是列名
| 1 | 王一 | 男 | 12 |
| 2 | 王二 | 女 | 14 |
| 3 | 王三 | 男 | 16 |
2.數據庫表與和數據庫(DB)
- 將不同的記錄組織在一起,就形成了數據庫(Database,DB)的“表”(Table)
- 表是用來存儲具體數據的
- 數據庫是表的集合,是以一定的組織方式存儲的相互有關的數據集合
- 且通常,數據庫并不是簡單地存儲這些數據,還要表示它們之間的關系;就比如書和人之間的關系,書的作者是某個人,因此也需要建立書與人的“關系”
- 這種對應關系也需要用數據庫來表示,因此關于關系的描述也是數據庫的一部分
3.數據庫管理系統(DBMS)
- 數據庫管理系統(Databas Management System,DBMS)是實現對數據庫資源有效組織、管理和存取的系統軟件
- 它在操作系統的支持下,支持用戶對數據庫的各項操作:
| 數據庫的建立和維護 | 包括建立數據庫的結構和數據的錄入與轉換、數據庫的轉儲與恢復、數據庫的重組與性能堅實等功能 |
| 數據定義功能 | 包括定義全局數據結構、局部邏輯數據結構、存儲結構、保密模式及信息格式等功能;保證存儲在數據庫中的數據正確、有效和相容,以防止不合語義的錯誤數據被輸入或輸出 |
| 數據操縱功能 | 包括數據查詢統計和數據更新兩個方面 |
| 數據庫的運行管理功能 | 這是數據庫管理系統的核心部分,包括并發控制、存取控制、數據庫內部維護等功能 |
| 通信功能 | DBMS 與其它軟件之間的通信,如 Access 能與其它 Office 組件進行數據交換 |
4.數據庫系統(DBS)
- 數據庫系統(Database System,DBS)是一個人機系統,一般由硬件、OS、數據庫、DBMS、應用軟件和數據庫用戶(包括數據庫管理員)組成
- 用戶可以通過 DBMS 或應用程序操作數據庫
- 應用程序是利用 DBMS ,為解決某個具體的管理或數據處理的任務而編制的一系列命令的有序集合
- 數據庫管理員(Database Administrator,DBA)負責數據庫的更新和備份、數據庫系統的維護、用戶管理等工作,保證數據庫系統的正常運行
- 注:數據庫、數據庫系統、數據庫管理系統甚至數據庫表等名詞,在日常討論中通常不嚴格區別,可以根據具體情況判斷出實際所指是什么
二、數據庫發展史
1.初級階段——第一代數據庫
- 自20世紀60年代起,第一代數據庫系統問世
- 它們是層次模型與網狀模型的數據庫系統,為統一管理和共享數據提供了有力的支撐
- 在這個階段中,數據庫的代表是 1969 年 IBM 公司研制的層次模型的數據庫管理系統——IMS(Information Management System,信息管理系統)和 20 世紀 70 年代美國數據系統語言協會(CODASYL)下述數據庫任務組(DBTG)提議的網狀模型
2.中級階段——第二代數據庫
- 20 世紀 70 年代初,第二代數據庫——關系數據庫開始出現
- 自從 1970 年 IBM 研究員闡述了關系模型的概念后,IBM 大力投入關系數據庫的研究
- 關系數據庫的底層實現起來比較容易,所以很快被采用,并進入了眾多商業數據庫的研發計劃,Oracle 就是當時順應關系數據模型的出現而成立的一家專做(關系)數據庫的公司
- 20 世紀 80 年代初,IBM 公司的關系數據庫系統 DB2 問世,而 Oracle 公司也將 Orale 移植到桌面計算機上
- 這時,作為第二代數據庫系統的關系數據庫,開始逐步取代層次與網狀模型的數據庫,成為行業主流
- 到目前為止,關系數據庫系統仍占領數據庫應用的主要地位
- 關系數據庫系統將結構化查詢語言(Structured Query Language,SQL)作為數據定義語言(DDL)和數據操作語言(DML),它一誕生就成為關系數據庫的標準語言
- SQL 使得關系數據庫中數據庫表的查詢可以通過簡單的、聲明性的方式進行,大大簡化了程序員的工作
3.高級階段——第三代數據庫
- 傳統關系數據庫是以商業應用、事務處理為背景發展起來的,還需要有新的數據庫系統以滿足不同的、新的領域的要求
- 自 20 世紀 80 年代開始,適用不同領域的新型數據庫系統不斷涌現
- 特別是面向對象的數據庫系統,實用性強、適應面廣
- 20 世紀 90 年代后期,形成了多種數據庫系統共同支撐應用的局面
- 當然了,在商務應用方面,還是關系數據庫占主流,不過,已經一些新的元素被添加進主流數據庫系統中,例如,Oracle 支持的“關系——對象”數據庫模型
三、當今主流數據庫介紹
1.關系數據庫
- 面向 Windows 系統
- 簡單、易用
- 面向所有主流平臺
- 安全且完善
- 操作復雜
- 面向所有主流平臺
- 大型、安全、完善
- 免費、開源和體積小
2.非關系數據庫
- 非關系數據庫也被稱為 NoSQL(Not Only SQL),存儲數據不以關系模型為依據,不需要固定的表格式
- 非關系型數據庫作為關系型數據庫的一個補充,在日益快速發展的網站時代,發揮著高效率與高性能
- 非關系型數據庫的優點:
- 滿足數據庫高并發讀寫的需求
- 能對海量數據高效率存儲與訪問
- 滿足數據庫高擴展性與高可用性的需求
四、關系數據庫的基本概念
- 關系數據庫系統是基于關系模型的數據庫系統,是關系模型應用到數據庫領域的實例化
- 它的基本概念來自于關系模型
1.關系數據庫的基本結構
- 關系模型的數據結構使用簡單易懂的二維數據表,即反映事物及其聯系的數據描述是以平面表格形式體現的
- 在每個二維表中,每一行稱之為一條記錄,用以描述一個對象的信息;每一列稱之為一個字段,用以描述對象的一個屬性
- 數據表與數據庫之間存在相應的關聯,這些關聯用來查詢相關的數據
- 關系數據庫是由數據表之間的關聯組成的,可用簡單的“實體——關系”(E-R)圖來表示
- E-R 圖中包含了實體(數據對象)、關系和屬性這三個要素
- 實體:也稱為實例,對應現實世界中可區別于其他對象的“事件”或“事物”,如銀行客戶、銀行賬戶等
- 屬性:實體所具有的某一特性,一個實體可以有多個屬性;如銀行客戶實體集中的每個實體均具有姓名、住址、電話等屬性
- 聯系:實體集之間的對應關系稱為聯系,也稱為關系;如銀行客戶和銀行賬戶之間存在”儲蓄“的關系
- 所有實體及實體之間聯系的集合構成一個關系數據庫
- 在每個二維表中,每一行稱為一條記錄,用來描述一個對象的信息
- 每一列稱為一個字段,用來描述對象的一個屬性
- 雖然在銀行客戶看來,自己的賬戶和別人的賬戶是完全不一樣,且是唯一的,但是,銀行內部往往還是會使用內部編碼來區分和管理不同的業務
2.主鍵
- 數據表中的每行記錄都必須是唯一的,而不允許出現完全相同的記錄,通過定義主鍵(主關鍵字,Promary Key)可以保證記錄(實體)的唯一性
- 鍵,即關鍵字,它是關系模型中一個非常重要的元素
- 主鍵唯一標識表中的行數據,一個主鍵值對應一行數據,主鍵由一個或多個字段組成,其值具有唯一性,不允許取空值(NULL)
- 一個表只能有一個主鍵
- 如果一個屬性集能唯一地標識表的一行而又不含有多余的屬性,那么這個屬性集稱為候選鍵
- 表中可以有多個候選鍵,但是只能有一個候選鍵可以選做表的主鍵,所有其他候選鍵稱為備用鍵
- 例如下圖,“編號”、“姓名”、“性別”、“年齡”、“專業編號”都可以說是候選鍵,而可以定義“編號”為主鍵
| 1 | 徐一 | 男 | 21 | 1 |
| 2 | 徐二 | 男 | 22 | 3 |
| 3 | 徐三 | 男 | 18 | 3 |
| 4 | 徐四 | 女 | 18 | 5 |
3.外鍵
- 一個關系數據庫通常包括多個表,通過外鍵(Foreign Key)可以使這些表關聯起來
- 外鍵是用于建立和加強兩個表數據之間的鏈接的一列或多列,通過表中主鍵值得一列或多列添加到另一個表中,可創建兩個表之間的鏈接
- 這個列就稱為第二個表的外鍵
- 如下表所示,字段“專業編號”是該表的主鍵,而上表中也有一個相同的字段“專業編號”,則該字段稱為外鍵
| 1 | 云計算運維 |
| 3 | 大數據開發 |
| 5 | 人工智能 |
- 主鍵的表稱之為“主表”,外鍵的表稱之為“從表”
- 主表和從表總是成對出現的,相互之間以“外鍵”形成關聯
4.數據完整性規則
為了維護數據庫中的數據與現實世界的一致性,關系數據庫的數據與更新操作必須遵循下列四類完整性規則:
- 實體完整性規則要求關系中的元組在主鍵的屬性上不能有空值
- 如果出現空值,那么主鍵值就起不到唯一標識元組的作用
- 例如,在主鍵的表中,每個人都有自己對應的“編號”,用來唯一標識每個人的信息記錄,這個“編號”往往被設為該表的主鍵,以方便其他數據庫表的關聯應用
- 依照實體完整性規則,“編號”字段不允許為空
- 域完整性也稱列完整性,指定一個數據集對某一個列是否有效或確定是否允許空值
- 若在主鍵的表中,定義“性別”字段只能取值為“男”或“女”,那么該列就不會輸入一些其他無效的值了
- 如果兩個表之間相互關聯,那么引用完整性規則要求不允許引用不存在的元組
- 例如,在主鍵的表中記錄了所有人的信息,下表中記錄了人們的興趣和愛好
- “鄭三”在主鍵的表中時不存在,但在上表中卻有了他興趣愛好的記錄,這樣的情況是不允許的
| 1 | 徐一 | 打球 | 街舞 |
| 2 | 徐二 | 唱歌 | 喊麥 |
| 3 | 鄭三 | 洗腳 | 按摩 |
- 用戶定義的完整性規則是針對某一具體數據的約束條件,由應用環境決定
- 它反應了某一具體應用所涉及的數據必須滿足的語義要求
- 系統提供定義和檢驗這類完整性的機制,以便用統一的系統方法進行處理,不再由應用程序來承擔這項工作
5.關系數據庫應用
- 12306用戶信息系統
- 淘寶賬號系統
- 聯通手機號信息系統
- 銀行用戶賬號系統
- 網站用戶信息系統
- …
總結
以上是生活随笔為你收集整理的MySQL 数据库基础(一)(数据库的简介)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据分析的六大黄金法则
- 下一篇: 手把手教你solidworks重力下落物