自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

數(shù)據(jù)庫 SQL Server
在數(shù)據(jù)分析面試中,有一類知識絕對是面試官重頭考察的內(nèi)容,但是很多人卻常常忽略,也就是——數(shù)據(jù)庫與SQL!

 在數(shù)據(jù)分析面試中,有一類知識絕對是面試官重頭考察的內(nèi)容,但是很多人卻常常忽略,也就是——數(shù)據(jù)庫與SQL!

數(shù)據(jù)庫是什么?

你可以把數(shù)據(jù)想象成一個個文件夾,數(shù)據(jù)庫就是一個一個文件柜,這個文件柜存放著非常多的數(shù)據(jù),無論這個數(shù)據(jù)是什么、或者是如何組織的

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

這里要注意,人們通常用數(shù)據(jù)庫這個術(shù)語來代表他們使用的數(shù)據(jù)庫軟件,這是不正確的,這是以前你混淆的根源

確切的說,數(shù)據(jù)庫軟件應該稱為DBMS,也就是數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫就是由DBMS創(chuàng)建和操縱的,比如我們可以在sql sever創(chuàng)建一個數(shù)據(jù)庫

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

也就是說DBMS就像是一個圖書管理員,你不直接訪問數(shù)據(jù)庫,而是利用DBMS訪問數(shù)據(jù)庫,讓圖書管理員幫你找一個文件柜。

數(shù)據(jù)庫的分類?

這里所說的數(shù)據(jù)庫都指的是數(shù)據(jù)庫管理系統(tǒng),這按照早期的數(shù)據(jù)庫理論,比較流行的數(shù)據(jù)庫模型有三種,分別為層次式數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系型數(shù)據(jù)庫。

而在當今的互聯(lián)網(wǎng)企業(yè)中,最常用的數(shù)據(jù)庫模式主要有兩種,即關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。

關(guān)系型數(shù)據(jù)庫模型是把復雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二維表格形式)

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

在關(guān)系型數(shù)據(jù)庫中,對數(shù)據(jù)的操作幾乎全部建立在一個或多個關(guān)系表格上,通過這些關(guān)聯(lián)的表格分類、合并、連接或選取等運算來實現(xiàn)數(shù)據(jù)的管理。

關(guān)系型通俗的理解是,數(shù)據(jù)作為二維數(shù)組存在,你可以理解為圖書館的圖書排列。

 

[[354547]]

 

書架、樓層你可以理解為關(guān)系型的數(shù)據(jù)結(jié)構(gòu),書作為數(shù)據(jù)存在,而所有圖書館管理員就是數(shù)據(jù)庫的進程,用于不同的工作。有人救火(數(shù)據(jù)修復、備份),有人整理書架、書籍(數(shù)據(jù)整理、歸檔),而用戶進程就是指的來到圖書館的顧客,他們看書、移動書籍,而管理員就會對著維護。

關(guān)系型數(shù)據(jù)庫誕生距今已有40多年了,從理論產(chǎn)生到發(fā)展到實現(xiàn)產(chǎn)品,例如:

常見的MySQL和Oracle數(shù)據(jù)庫,Oracle在數(shù)據(jù)庫領(lǐng)域里上升到了霸主地位,形成每年高達數(shù)百億美元的龐大產(chǎn)業(yè)市場,而MySQL也是不容忽視的數(shù)據(jù)庫,以至于被Oracle重金收購了。

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

非關(guān)系型數(shù)據(jù)庫也被稱為NoSQL數(shù)據(jù)庫,NoSQL的本意是“Not Only SQL”,指的是非關(guān)系型數(shù)據(jù)庫,而不是“NO SQL”的意思

因此,NoSQL的產(chǎn)生并不是要徹底否定關(guān)系型數(shù)據(jù)庫,而是作為傳統(tǒng)數(shù)據(jù)庫的一個有效補充,在特定的場景下可以發(fā)揮難以想象的高效率和高性能。

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

NoSQL是非關(guān)系型數(shù)據(jù)庫的廣義定義,它打破了長久以來關(guān)系型數(shù)據(jù)庫與ACID理論大一統(tǒng)的局面。NoSQL數(shù)據(jù)存儲不需要固定的表結(jié)構(gòu),通常也不存在連續(xù)操作,在大數(shù)據(jù)存取上具備關(guān)系型數(shù)據(jù)庫無法比擬的性能優(yōu)勢。

SQL儲存數(shù)據(jù)

那么,作為關(guān)系型數(shù)據(jù)庫最常見的SQL,它是怎么存儲數(shù)據(jù)的?

1、表:

在你將文件夾放入文件柜的時候,不能將他們隨便的扔進某個抽屜就完事了,而是在文件柜中創(chuàng)建文件,然后將相關(guān)的資料放入相關(guān)的文件中,這就是數(shù)據(jù)庫的表。

表是一種結(jié)構(gòu)化的文件,用來存儲某種特定類型的數(shù)據(jù),比如說這樣的sql文件,其里面包含了20多個數(shù)據(jù)庫表,每個表的名字都不應該是相同的,但是我們可以在不同的數(shù)據(jù)庫里存放相同表名的數(shù)據(jù)表。

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

同時我們不能把學生數(shù)據(jù)與老師數(shù)據(jù)放在同一個表里,這樣會我們不好提取數(shù)據(jù),檢索和訪問都比較麻煩,所以我們應該創(chuàng)建兩個表,每個清單一個表。

2、列:

列是組成表的字段信息,一張表可以有一個或者多個列組成。

我們可以這么理解,每一列都是數(shù)據(jù)庫表中的每一個字段,比如下面的學生id列、學生姓名列、考試成績列就是三個字段。

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

正確地將數(shù)據(jù)分解為多個列是十分重要的,比如班級和學生姓名應該是獨立的列,通過將他們進行分解開,才有可能利用特定的列隊數(shù)據(jù)進行排列和過濾,如果學生姓名和班級組合在了一個列里,按照班級過濾就會十分的困難。

 

 

數(shù)據(jù)庫中每個列都有對應的數(shù)據(jù)類型,數(shù)據(jù)類型定義列可以存儲的數(shù)據(jù)種類。

例如,如果列中存儲的是數(shù)字,那么對應的數(shù)據(jù)類型應該是數(shù)值類型,如果列種存儲的是日期、文本、注釋、金額等,應該用恰當?shù)臄?shù)據(jù)類型規(guī)定出來。

數(shù)據(jù)類型:所容許的數(shù)據(jù)類型,每個列都應該有相對應的數(shù)據(jù)類型,限制存儲的數(shù)據(jù)形式。

3、行:

數(shù)據(jù)庫表中的數(shù)據(jù)是按照行進行存儲的,每一行就是存儲的一個數(shù)據(jù),比如第一行是張三的數(shù)據(jù),第二行是李四的數(shù)據(jù)。

4、主鍵:

表中每一行都應該有可以唯一標識自己的一列,比如學生信息表中我們不能用學生的姓名作為主鍵,因為我們會發(fā)現(xiàn)一旦出現(xiàn)重名的情況,我們就會出現(xiàn)兩個不同的數(shù)據(jù);

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

當然也不能用考試成績作為主鍵,比如按照“90分”作為主鍵進行提取時我們還會提取出兩個數(shù)據(jù);

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

所以我們應該用學生id作為主鍵,因為無論如何學生id是不會重復的,它具有唯一性,所以可以作為主鍵。

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

所以主鍵就是唯一區(qū)分數(shù)據(jù)表行的標識,用來表示一個特定的行。

沒有主鍵的話,我們更新或者刪除表中特定的行就會十分的困難,他必須滿足兩個條件:

  • 任意兩行都不應該有相同的主鍵值
  • 每一行都必須具有一個主鍵值(主鍵列不存在null值)

數(shù)據(jù)庫中能夠?qū)⒉煌谋磉M行關(guān)聯(lián),靠的就是主鍵,例如下面兩個表:

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

比如上面兩張圖,左圖是學生信息表,右圖是老師信息表。左圖的主鍵是學生ID,右圖的主鍵是老師ID。細心的讀者可能發(fā)現(xiàn)右圖還有一個學生ID,這里的學生ID是專門用來聯(lián)接用戶表的,它并不是主鍵。只不過兩張表通過學生ID這個唯一信息來關(guān)聯(lián)。

但兩張表關(guān)聯(lián)也并不是信息能一一對應的,也會存在空缺的時候,比如:

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

 

數(shù)據(jù)分析必須要掌握的數(shù)據(jù)庫與sql基礎(chǔ)知識!收藏

 

所以,想要認知數(shù)據(jù)庫的內(nèi)容,首先我們先要明白sql、sql sever、my sql、oricle與數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)的區(qū)別在哪,因為很多人在學數(shù)據(jù)分析的時候,都是在網(wǎng)上到處找資料,不同的資料里濫用了這些名詞,造成了大家的混淆,也增加了大家對于sql認知的難度。

責任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2020-04-21 10:11:03

Python數(shù)據(jù)分析Pandas

2011-05-12 10:18:41

數(shù)據(jù)庫基礎(chǔ)知識

2020-07-30 07:50:56

數(shù)據(jù)分析

2011-07-13 11:03:17

ASP

2011-02-25 09:37:35

2010-06-02 13:03:20

MySQL數(shù)據(jù)庫

2010-05-25 14:50:25

MySQL 數(shù)據(jù)庫

2011-03-31 14:46:29

MySQL數(shù)據(jù)庫備份

2010-04-27 18:18:08

Oracle數(shù)據(jù)庫備份

2011-07-29 13:17:58

SQL Server Analysis Se

2010-05-24 16:58:00

MySQL數(shù)據(jù)庫備份

2010-01-25 11:55:41

MySQL數(shù)據(jù)庫備份數(shù)據(jù)庫安全

2011-03-07 16:13:09

MySQL數(shù)據(jù)庫管理

2021-03-18 22:06:01

數(shù)據(jù)分析編程語言大數(shù)據(jù)

2009-08-19 16:19:01

C#操作Access數(shù)

2021-04-07 14:43:41

數(shù)據(jù)分析大數(shù)據(jù)工具

2023-11-24 08:47:36

ScipyPython

2021-12-03 18:04:06

命令 RabbitMQ Web

2021-03-16 11:45:15

大數(shù)據(jù)數(shù)據(jù)分析數(shù)據(jù)經(jīng)典模型

2020-10-22 08:28:04

大數(shù)據(jù)架構(gòu)技術(shù)
點贊
收藏

51CTO技術(shù)棧公眾號