C與Python實戰(zhàn) 2018-07-15 09:04:50 1、什么是數(shù)據(jù)庫從字面意思理解,首先數(shù)據(jù)庫是一個存放東西的庫,里面存的東西是數(shù)據(jù)。以下解釋來自百度百科: 數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的建立在計算機存儲設備上的倉庫 。 想象一下這個場景:某高中二年級有三個班,期末考試成績下來了,每個班的學生的成績都打印在了一張A4紙上,而每個班的成績單都放在一個檔案袋里,最后所有的檔案袋都放在李主任那里保管。如下圖所示: 01 成績表類比數(shù)據(jù)庫 每個班的成績表上記錄著該班所有學生的成績,其內(nèi)容大概是下面這個樣子: 排名 姓名 語文 數(shù)學 英語 總分 1 李元芳 99 99 99 297 2 后裔 99 98 98 295 3 孫尚香 95 95 95 285 該表中所有成員的數(shù)據(jù)結(jié)構(gòu)都相同,也就是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)。 檔案袋可類比于數(shù)據(jù)庫,成績表可類比于數(shù)據(jù)庫中的表,而李主任則類比于數(shù)據(jù)庫服務器。開學來了老師們都要聯(lián)系李主任去拿檔案袋,我們在使用數(shù)據(jù)庫時也要首先連接數(shù)據(jù)庫。 2、數(shù)據(jù)庫的分類數(shù)據(jù)庫通常分為層次式數(shù)據(jù)庫、網(wǎng)絡式數(shù)據(jù)庫和關系式數(shù)據(jù)庫三種。而不同的數(shù)據(jù)庫是按不同的數(shù)據(jù)結(jié)構(gòu)來聯(lián)系和組織的。 在當今的互聯(lián)網(wǎng)中,最常見的數(shù)據(jù)庫模型主要是兩種,即關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫<NOSQL>。 2.1 關系型數(shù)據(jù)庫 關系模型就是指二維表格模型,因而一個關系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系組成的一個數(shù)據(jù)組織。當前主流的關系型數(shù)據(jù)庫有Oracle、DB2、PostgreSQL、Microsoft SQL Server、Microsoft Access、MySQL、浪潮K-DB等。 2.2 非關系型數(shù)據(jù)庫 非關系型數(shù)據(jù)庫,又被稱為NoSQL(Not Only SQL ),意為不僅僅是SQL,對NOSQL 最普遍的定義是“非關聯(lián)型的”,強調(diào)Key-Value 存儲和文檔數(shù)據(jù)庫的優(yōu)點 。主要代表有MongoDB,Redis、CouchDB等。 3、數(shù)據(jù)庫的組成數(shù)據(jù)庫是相關數(shù)據(jù)的集合,一個數(shù)據(jù)庫通常包含如下組成部分:
4、MySQL簡介作為本系列文章的主角,下面要介紹一下 MySQL。 MySQL 是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。 隨著 MySQL 被 Oracle 收購,MySQL 的用戶和開發(fā)者開始質(zhì)疑開源數(shù)據(jù)庫的命運,有一部分人開始尋找 MySQL 的替代品,其中比較主流的有: Percona Server 、MariaDB、 Drizzle。值得一提的是 MariaDB 的創(chuàng)始人正是 MySQL 的創(chuàng)始人。 |
|