【数据库】数据库基本概念:数据库管理系统 / 数据库 / 表 / 数据
0 前言
本文講解數(shù)據(jù)庫的最基本概念
推薦書籍:《MySQL 必知必會(huì)》
需要的軟件:MySQL 8.0
1 數(shù)據(jù)庫相關(guān)概念及其實(shí)戰(zhàn)應(yīng)用
1.1 數(shù)據(jù)(Data)
在人類世界中,數(shù)據(jù)可以是
- 數(shù)值型數(shù)據(jù)
- 十進(jìn)制數(shù)
- 非數(shù)值型數(shù)據(jù)
- 圖片
- 聲音
- 視頻
- 文字
- ……
在計(jì)算機(jī)世界中,數(shù)據(jù)是二進(jìn)制數(shù)。
映射人類世界計(jì)算機(jī)世界將人類世界的信息,映射到計(jì)算機(jī)世界,將人類世界信息轉(zhuǎn)換成二進(jìn)制數(shù),并且存儲(chǔ)到計(jì)算機(jī)的過程,就叫數(shù)據(jù)的存儲(chǔ)。
例如,你寫一個(gè)博客,保存起來,這就是存儲(chǔ)數(shù)據(jù)。
1.2 數(shù)據(jù)庫(Database DB)
1.2.1 概念
數(shù)據(jù)的存儲(chǔ),需要使用容器,就好比水的存儲(chǔ),需要使用水桶一樣,裝數(shù)據(jù)的容器,就是數(shù)據(jù)庫。
在人類世界,裝數(shù)據(jù)的容器,可以是文件柜
數(shù)據(jù),就是文件,并且,通常情況下,文件是放在文件夾里的。
這里就引出了幾個(gè)數(shù)據(jù)庫學(xué)科中的重要概念
- 數(shù)據(jù)庫 —— 文件柜
- 表 —— 文件柜里的文件夾
- 數(shù)據(jù) —— 文件夾里的資料
這樣,我想你能夠明白,這幾個(gè)概念之間的關(guān)系了。
值得注意的一點(diǎn)是,他們之間的關(guān)系,數(shù)據(jù)庫與數(shù)據(jù)庫,數(shù)據(jù)庫中的表和表,表中的數(shù)據(jù)和數(shù)據(jù),他們之間,都存在各種結(jié)構(gòu),也就是所謂的數(shù)據(jù)結(jié)構(gòu),這一點(diǎn)還是很重要的,但是現(xiàn)在先不談這個(gè)事情。
1.2.2 實(shí)戰(zhàn)
我們來用MySQL的命令,演示一下。
1.2.2.1 顯示數(shù)據(jù)庫
顯示數(shù)據(jù)庫:show databases;
它在資源管理器中,就是文件夾,我們來看一下
我展示出了路徑,你可以自己找一下,默認(rèn)C盤,可以看出,數(shù)據(jù)庫名稱與文件夾名稱之間是對(duì)應(yīng)的。
1.2.2.2 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫:create database <數(shù)據(jù)庫名稱>;
我們將數(shù)據(jù)庫的名字命名為FileCabinet(文件柜)好了。
我們?cè)俨榭匆幌聰?shù)據(jù)庫
你可以看見文件夾也有了這個(gè)
不過,不知道有沒有注意到,為什么是小寫了?
原因在于:MySQL在windows下,不區(qū)分大小寫,但是在Linux下區(qū)分大小寫,所以,為了能夠更容易匹配,就全部轉(zhuǎn)換為小寫。
1.2.2.3 使用數(shù)據(jù)庫
使用數(shù)據(jù)庫:use <數(shù)據(jù)庫名稱>;
這樣,你就能夠使用這個(gè)數(shù)據(jù)庫了,比如可以在里面創(chuàng)建表,再創(chuàng)建文件,等等。
1.2.2.4 顯示當(dāng)前數(shù)據(jù)庫中的表
指令:show tables;
結(jié)果顯示,這個(gè)數(shù)據(jù)庫中,沒有表,是空的,這也就是說,文件柜是新生產(chǎn)的,里面啥都沒有。
1.2.2.5 在數(shù)據(jù)庫中創(chuàng)建表
語法:create table <表的名字> (表的定義);
這里設(shè)計(jì)到SQL語言的數(shù)據(jù)類型,先不用管,只需要知道
- 我們?cè)跀?shù)據(jù)庫filecabinet中創(chuàng)建了一個(gè)表,名字叫student_file
- 表的定義部分,也就是()中的,帶表:這個(gè)表中的數(shù)據(jù),可以具備兩個(gè)屬性,一個(gè)是字符類型的name,一個(gè)是數(shù)字類型的age
1.2.2.6 查看剛剛創(chuàng)建的表
命令:show tables;
我們可以看見,在這個(gè)數(shù)據(jù)庫中,我們擁有了一個(gè)名字為student_file的表。我們還可以按照上一小節(jié)的內(nèi)容,在該數(shù)據(jù)庫中,創(chuàng)建更多的表。
我們進(jìn)入資源管理器中,看一下我們創(chuàng)建的表。
在文件夾filecabinet中,創(chuàng)建了一個(gè)ibd類型的文件,這也就是我們創(chuàng)建的表對(duì)應(yīng)的文件。
1.2.2.7 表的定義是什么意思?
剛剛我們提到了表的定義,和表的兩個(gè)屬性,name和age,那么,他們到底是什么意思?
舉一個(gè)例子你就明白了,你在學(xué)習(xí)工作中,是不是總要填表格?
我們現(xiàn)在創(chuàng)建一個(gè)Excel表格,將其命名為student_file。
然后,在表格內(nèi),寫上一些內(nèi)容
并明確要求,name一欄,要寫字符型數(shù)據(jù),age一欄,要寫數(shù)字,之后讓同學(xué)們填寫。
這樣一來
- 張三、李四和王五,寫在了name一欄,并且是char類型的數(shù)據(jù)
- 18、19和20,寫在了age一欄,并且是int類型的數(shù)據(jù)
這也就是說,我們的表student_file,具備兩個(gè)屬性char類型的name和int類型的age,并且可以在里面填寫符合標(biāo)準(zhǔn)的信息。
這也就是所謂表定義的意義,它指明了整個(gè)表能夠填入什么樣的數(shù)據(jù)。
1.2.2.8 其他
后續(xù)還有表內(nèi)數(shù)據(jù)的填寫等等,以后再說。
1.2.3 小結(jié)
我們來總結(jié)一下本小節(jié)的重要內(nèi)容:數(shù)據(jù)管理系統(tǒng)、數(shù)據(jù)庫、表和數(shù)據(jù),理清他們之間的邏輯關(guān)系。
對(duì)于一片計(jì)算機(jī)存儲(chǔ)空間,可以創(chuàng)建多個(gè)數(shù)據(jù)庫,創(chuàng)建的數(shù)據(jù)庫需要有<名稱>,在資源管理器中,表現(xiàn)為創(chuàng)建了多個(gè)文件夾。
對(duì)于每一個(gè)數(shù)據(jù)庫,內(nèi)部都可以創(chuàng)建多個(gè)表,創(chuàng)建的表需要有<名稱>和(屬性),在資源管理器中,體現(xiàn)為在數(shù)據(jù)庫文件夾內(nèi),創(chuàng)建多個(gè)文件。
對(duì)于每一個(gè)表,表內(nèi)包含了符合其屬性的數(shù)據(jù),在資源管理器表現(xiàn)為,表對(duì)應(yīng)的文件中的內(nèi)容。
而DBMS,就是能夠方便管理數(shù)據(jù)庫、表、數(shù)據(jù)的軟件。
補(bǔ)充:與計(jì)算機(jī)組成原理聯(lián)系,可以將DBMS看成CPU的控制器,掌控著各個(gè)器件的運(yùn)行方式。
1.3 數(shù)據(jù)庫管理系統(tǒng)(Database Management System DBMS)
DBMS,就是方便人類操作數(shù)據(jù)庫的軟件,比如MySQL,SQL Server等等,都是數(shù)據(jù)庫管理系統(tǒng),都是軟件,上一小節(jié)我們使用的各種指令,就是在MySQL軟件上進(jìn)行的。
還有一個(gè)概念:數(shù)據(jù)庫管理員(Database Administrator DBA)
DBA,就是管理數(shù)據(jù)庫管理系統(tǒng)的人,你可以理解為,圖書館管理員,他需要管理整個(gè)圖書館的各個(gè)書柜,書柜也就是數(shù)據(jù)庫。
1.4 數(shù)據(jù)庫系統(tǒng)(Database System DBS)
重點(diǎn)不是數(shù)據(jù)庫管理系統(tǒng),而是系統(tǒng),我們知道很多系統(tǒng),比如計(jì)算機(jī)系統(tǒng),選課系統(tǒng)……談及系統(tǒng),必須要談及其所在的層次,他代表其所在層次領(lǐng)域的全部生態(tài)。
例如數(shù)據(jù)庫系統(tǒng),他就包含
- 數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫管理員
- 數(shù)據(jù)庫
- 數(shù)據(jù)
- 用戶
等等,整個(gè)數(shù)據(jù)庫學(xué)科生態(tài)的全部?jī)?nèi)容,及其結(jié)構(gòu)關(guān)系,甚至還有包含其與外界的聯(lián)系,系統(tǒng)是個(gè)很復(fù)雜的事情,你這樣簡(jiǎn)單理解就可以了。
DBSDBA應(yīng)用系統(tǒng)/用戶等DBMSDBTABLEDATA總結(jié)
以上是生活随笔為你收集整理的【数据库】数据库基本概念:数据库管理系统 / 数据库 / 表 / 数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成都欢乐谷除了门票 还要什么费用
- 下一篇: 【操作系统】虚拟化CPU、Memory,