欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù)基礎(chǔ)篇 《1. 概述》

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù)基礎(chǔ)篇 《1. 概述》

http://yzkb.51969.com/

目錄

1.?為什么要使用數(shù)據(jù)庫(kù)

2. 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)

2.1 數(shù)據(jù)庫(kù)的相關(guān)概念

2.2 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)的關(guān)系

2.3 常見的數(shù)據(jù)庫(kù)管理系統(tǒng)排名(DBMS)

2.4 常見的數(shù)據(jù)庫(kù)介紹

3. MySQL介紹

3.1 概述

3.2 MySQL發(fā)展史重大事件

4. RDBMS 與 非RDBMS

4.1 關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)

4.1.1 實(shí)質(zhì)

4.1.2 優(yōu)勢(shì)

4.2 非關(guān)系型數(shù)據(jù)庫(kù)(非RDBMS)

4.2.1 介紹

4.2.2 有哪些非關(guān)系型數(shù)據(jù)庫(kù)

4.2.3 NoSQL的演變

4.3 小結(jié)

5. 關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)則

5.1 表、記錄、字段

5.2 表的關(guān)聯(lián)關(guān)系

5.2.1 一對(duì)一關(guān)聯(lián)(one-to-one)

5.2.2 一對(duì)多關(guān)系(one-to-many)

5.2.3 多對(duì)多(many-to-many)

5.3.4 自我引用(Self reference)

??編輯

1.?為什么要使用數(shù)據(jù)庫(kù)

持久化

(persistence)

把數(shù)據(jù)保存到可掉電式存儲(chǔ)設(shè)備中以供之后使用

。大多數(shù)情況下,特別是企

業(yè)級(jí)應(yīng)用,

數(shù)據(jù)持久化意味著將內(nèi)存中的數(shù)據(jù)保存到硬盤上加以

固化

,而持久化的實(shí)現(xiàn)過程大多

通過各種關(guān)系數(shù)據(jù)庫(kù)來完成。

持久化的主要作用是

將內(nèi)存中的數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中

,當(dāng)然也可以存儲(chǔ)在磁盤文件、

XML

數(shù)

據(jù)文件中。

2. 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)

2.1 數(shù)據(jù)庫(kù)的相關(guān)概念

DB

:數(shù)據(jù)庫(kù)(

Database

即存儲(chǔ)數(shù)據(jù)的

倉(cāng)庫(kù)

,其本質(zhì)是一個(gè)文件系統(tǒng)。它保存了一系列有組織的數(shù)據(jù)。

DBMS

:數(shù)據(jù)庫(kù)管理系統(tǒng)(

Database Management System

是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,用于建立、使用和維護(hù)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一管理和控

制。用戶通過數(shù)據(jù)庫(kù)管理系統(tǒng)訪問數(shù)據(jù)庫(kù)中表內(nèi)的數(shù)據(jù)。

SQL

:結(jié)構(gòu)化查詢語(yǔ)言(

Structured Query Language

專門用來與數(shù)據(jù)庫(kù)通信的語(yǔ)言。

2.2 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)的關(guān)系

數(shù)據(jù)庫(kù)管理系統(tǒng)

(DBMS)

可以管理多個(gè)數(shù)據(jù)庫(kù),一般開發(fā)人員會(huì)針對(duì)每一個(gè)應(yīng)用創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)。為保存應(yīng)用中實(shí)體的數(shù)據(jù),一般會(huì)在數(shù)據(jù)庫(kù)創(chuàng)建多個(gè)表,以保存程序中實(shí)體用戶的數(shù)據(jù)。

數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)和表的關(guān)系如圖所示:

2.3 常見的數(shù)據(jù)庫(kù)管理系統(tǒng)排名(DBMS)

目前互聯(lián)網(wǎng)上常見的數(shù)據(jù)庫(kù)管理軟件有

Oracle

、

MySQL

、

MS SQL Server

、

DB2

、

PostgreSQL

Access.?

Sybase、

Informix

這幾種。以下是

2021

DB-Engines Ranking

對(duì)各數(shù)據(jù)庫(kù)受歡迎程度進(jìn)行調(diào)查后的統(tǒng)計(jì)結(jié)果:(查看數(shù)據(jù)庫(kù)最新排名:

https://db-engines.com/en/ranking

2.4 常見的數(shù)據(jù)庫(kù)介紹

Oracle

1979

年,

Oracle 2

誕生,它是第一個(gè)商用的

RDBMS

(關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))。隨著

Oracle

軟件的名氣越來越大,公司也改名叫 Oracle

公司。

2007

年,總計(jì)

85

億美金收購(gòu)

BEA Systems

。

2009

年,總計(jì)

74

億美金收購(gòu)

SUN

。此前的

2008

年,

SUN

10

億美金收購(gòu)

MySQL

。意味著

Oracle

同時(shí)擁有了MySQL 的管理權(quán),至此

Oracle

在數(shù)據(jù)庫(kù)領(lǐng)域中成為絕對(duì)的領(lǐng)導(dǎo)者。

2013

年,甲骨文超越

IBM

,成為繼

Microsoft

后全球第二大軟件公司。

如今

Oracle

的年收入達(dá)到了

400

億美金,足以證明商用(收費(fèi))數(shù)據(jù)庫(kù)軟件的價(jià)值。

SQL Server

SQL Server

是微軟開發(fā)的大型商業(yè)數(shù)據(jù)庫(kù),誕生于

1989

年。

C#

、

.net

等語(yǔ)言常使用,與

WinNT

完全集成,也可以很好地與Microsoft BackOffice

產(chǎn)品集成。

DB2

IBM

公司的數(shù)據(jù)庫(kù)產(chǎn)品

,

收費(fèi)的。常應(yīng)用在銀行系統(tǒng)中。

PostgreSQL

PostgreSQL

的穩(wěn)定性極強(qiáng),最符合

SQL

標(biāo)準(zhǔn),開放源碼,具備商業(yè)級(jí)

DBMS

質(zhì)量。

PG

對(duì)數(shù)據(jù)量大的文本以及SQL

處理較快。

SyBase

已經(jīng)淡出歷史舞臺(tái)。提供了一個(gè)非常專業(yè)數(shù)據(jù)建模的工具

PowerDesigner

。

SQLite

嵌入式的小型數(shù)據(jù)庫(kù),應(yīng)用在手機(jī)端。 零配置,

SQlite3

不用安裝,不用配置,不用啟動(dòng),關(guān)閉或者配置數(shù)據(jù)庫(kù)實(shí)例。當(dāng)系統(tǒng)崩潰后不用做任何恢復(fù)操作,再下次使用數(shù)據(jù)庫(kù)的時(shí)候自動(dòng)恢復(fù)。

informix

IBM

公司出品,取自

Information

Unix

的結(jié)合,它是第一個(gè)被移植到

Linux

上的商業(yè)數(shù)據(jù)庫(kù)產(chǎn)品。僅運(yùn)行于unix/linux

平臺(tái),命令行操作。 性能較高,支持集群,適應(yīng)于安全性要求極高的系統(tǒng),尤其是銀行,證券系統(tǒng)的應(yīng)用。

3. MySQL介紹

?

3.1 概述

MySQL

是一個(gè)

開放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)

,由瑞典

MySQL AB

(創(chuàng)始人

Michael Widenius

)公司1995

年開發(fā),迅速成為開源數(shù)據(jù)庫(kù)的

No.1

。

2008

Sun

收購(gòu)(10億美金),

2009

Sun

Oracle

收購(gòu)。

MariaDB

應(yīng)運(yùn)而生。(

MySQL

的創(chuàng)造者擔(dān)心 MySQL

有閉源的風(fēng)險(xiǎn),因此創(chuàng)建了

MySQL

的分支項(xiàng)目

MariaDB

MySQL6.x

版本之后分為

社區(qū)版

商業(yè)版

MySQL

是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。

MySQL

是開源的,所以你不需要支付額外的費(fèi)用。

MySQL

是可以定制的,采用了

GPL

GNU General Public License

協(xié)議,你可以修改源碼來

開發(fā)自己的

MySQL

系統(tǒng)。

MySQL

支持大型的數(shù)據(jù)庫(kù)??梢蕴幚?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)。

MySQL

支持大型數(shù)據(jù)庫(kù),支持

5000

萬(wàn)條記錄的數(shù)據(jù)倉(cāng)庫(kù),

32

位系統(tǒng)表文件最大可支持

4GB

,

64

位系 統(tǒng)支持最大的表文件為

8TB

MySQL

使用

標(biāo)準(zhǔn)的

SQL

數(shù)據(jù)語(yǔ)言

形式。

MySQL

可以允許運(yùn)行于多個(gè)系統(tǒng)上,并且支持多種語(yǔ)言。這些編程語(yǔ)言包括

C

、

C++

、

Python

、

Java

、

Perl

、

PHP

Ruby

等。

3.2 MySQL發(fā)展史重大事件

MySQL

的歷史就是整個(gè)互聯(lián)網(wǎng)的發(fā)展史。互聯(lián)網(wǎng)業(yè)務(wù)從社交領(lǐng)域、電商領(lǐng)域到金融領(lǐng)域的發(fā)展,推動(dòng)著

應(yīng)用對(duì)數(shù)據(jù)庫(kù)的需求提升,對(duì)傳統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)能力提出了挑戰(zhàn)。高并發(fā)、高性能、高可用、輕資源、

易維護(hù)、易擴(kuò)展的需求,促進(jìn)了

MySQL

的長(zhǎng)足發(fā)展。

1.4

關(guān)于

MySQL 8.0

MySQL

5.7

版本直接跳躍發(fā)布了

8.0

版本

,可見這是一個(gè)令人興奮的里程碑版本。

MySQL 8

版本在功能上

做了顯著的改進(jìn)與增強(qiáng),開發(fā)者對(duì)

MySQL

的源代碼進(jìn)行了重構(gòu),最突出的一點(diǎn)是多

MySQL Optimizer

優(yōu)化

器進(jìn)行了改進(jìn)。不僅在速度上得到了改善,還為用戶帶來了更好的性能和更棒的體驗(yàn)。

1.5 Why choose MySQL?

為什么如此多的廠商要選用

MySQL

?大概總結(jié)的原因主要有以下幾點(diǎn):

1.

開放源代碼,使用成本低。

2.

性能卓越,服務(wù)穩(wěn)定。

3.

軟件體積小,使用簡(jiǎn)單,并且易于維護(hù)。

4.

歷史悠久,社區(qū)用戶非?;钴S,遇到問題可以尋求幫助。

5.

許多互聯(lián)網(wǎng)公司在用,經(jīng)過了時(shí)間的驗(yàn)證。

1.6 Oracle vs MySQL

Oracle

更適合大型跨國(guó)企業(yè)的使用,因?yàn)樗麄儗?duì)費(fèi)用不敏感,但是對(duì)性能要求以及安全性有更高的要

求。

MySQL

由于其

體積小、速度快、總體擁有成本低,可處理上千萬(wàn)條記錄的大型數(shù)據(jù)庫(kù),尤其是開放源碼

這一特點(diǎn),使得很多互聯(lián)網(wǎng)公司、中小型網(wǎng)站選擇了

MySQL

作為網(wǎng)站數(shù)據(jù)庫(kù)

(Facebook,

Twitter

, YouTube,阿里巴巴

/

螞蟻金服,去哪兒,美團(tuán)外賣,騰訊)

4. RDBMS 與 非RDBMS

從排名中我們能看出來,關(guān)系型數(shù)據(jù)庫(kù)絕對(duì)是

DBMS

的主流,其中使用最多的

DBMS

分別是

Oracle

、MySQL 和

SQL Server

。這些都是關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)。

4.1 關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)

4.1.1 實(shí)質(zhì)

這種類型的數(shù)據(jù)庫(kù)是

最古老

的數(shù)據(jù)庫(kù)類型,關(guān)系型數(shù)據(jù)庫(kù)模型是把復(fù)雜的數(shù)據(jù)結(jié)構(gòu)歸結(jié)為簡(jiǎn)單的

二元關(guān)系

(即二維表格形式)。

關(guān)系型數(shù)據(jù)庫(kù)以

(row)

(column)

的形式存儲(chǔ)數(shù)據(jù),以便于用戶理解。這一系列的行和列被

稱為

(table)

,一組表組成了一個(gè)庫(kù)

(database)

。

表與表之間的數(shù)據(jù)記錄有關(guān)系

(relationship)

?,F(xiàn)實(shí)世界中的各種實(shí)體以及實(shí)體之間的各種聯(lián)系均用?

關(guān)系模型

來表示。關(guān)系型數(shù)據(jù)庫(kù),就是建立在

關(guān)系模型

基礎(chǔ)上的數(shù)據(jù)庫(kù)。

SQL

就是關(guān)系型數(shù)據(jù)庫(kù)的查詢語(yǔ)言。

?

4.1.2 優(yōu)勢(shì)

復(fù)雜查詢

可以用

SQL

語(yǔ)句方便的在一個(gè)表以及多個(gè)表之間做非常復(fù)雜的數(shù)據(jù)查詢。

事務(wù)支持

使得對(duì)于安全性能很高的數(shù)據(jù)訪問要求得以實(shí)現(xiàn)。

4.2 非關(guān)系型數(shù)據(jù)庫(kù)(非RDBMS)

4.2.1 介紹

非關(guān)系型數(shù)據(jù)庫(kù)

,可看成傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的功能

閹割版本

,基于鍵值對(duì)存儲(chǔ)數(shù)據(jù),不需要經(jīng)過

SQL

層 的解析,

性能非常高

。同時(shí),通過減少不常用的功能,進(jìn)一步提高性能。

目前基本上大部分主流的非關(guān)系型數(shù)據(jù)庫(kù)都是免費(fèi)的。

4.2.2 有哪些非關(guān)系型數(shù)據(jù)庫(kù)

相比于

SQL

,

NoSQL

泛指非關(guān)系型數(shù)據(jù)庫(kù),包括了榜單上的鍵值型數(shù)據(jù)庫(kù)、文檔型數(shù)據(jù)庫(kù)、搜索引擎和列存儲(chǔ)等,除此以外還包括圖形數(shù)據(jù)庫(kù)。也只有用 NoSQL

一詞才能將這些技術(shù)囊括進(jìn)來。

鍵值型數(shù)據(jù)庫(kù)

鍵值型數(shù)據(jù)庫(kù)通過

Key-Value

鍵值的方式來存儲(chǔ)數(shù)據(jù),其中

Key

Value

可以是簡(jiǎn)單的對(duì)象,也可以是復(fù)雜的對(duì)象。Key

作為唯一的標(biāo)識(shí)符,優(yōu)點(diǎn)是查找速度快,在這方面明顯優(yōu)于關(guān)系型數(shù)據(jù)庫(kù),缺點(diǎn)是無法像關(guān)系型數(shù)據(jù)庫(kù)一樣使用條件過濾(比如 WHERE

),如果你不知道去哪里找數(shù)據(jù),就要遍歷所有的鍵,這就會(huì)消耗大量的計(jì)算。鍵值型數(shù)據(jù)庫(kù)典型的使用場(chǎng)景是作為

內(nèi)存緩存

。

Redis

是最流行的鍵值型數(shù)據(jù)庫(kù)。

文檔型數(shù)據(jù)庫(kù)

此類數(shù)據(jù)庫(kù)可存放并獲取文檔,可以是

XML

JSON

等格式。在數(shù)據(jù)庫(kù)中文檔作為處理信息的基本單位,一個(gè)文檔就相當(dāng)于一條記錄。文檔數(shù)據(jù)庫(kù)所存放的文檔,就相當(dāng)于鍵值數(shù)據(jù)庫(kù)所存放的“

。

MongoDB是最流行的文檔型數(shù)據(jù)庫(kù)。此外,還有CouchDB

等。

搜索引擎數(shù)據(jù)庫(kù)

雖然關(guān)系型數(shù)據(jù)庫(kù)采用了索引提升檢索效率,但是針對(duì)全文索引效率卻較低。搜索引擎數(shù)據(jù)庫(kù)是應(yīng)用在搜索引擎領(lǐng)域的數(shù)據(jù)存儲(chǔ)形式,由于搜索引擎會(huì)爬取大量的數(shù)據(jù),并以特定的格式進(jìn)行存儲(chǔ),這樣在檢索的時(shí)候才能保證性能最優(yōu)。核心原理是“

倒排索引

典型產(chǎn)品:

Solr

、

Elasticsearch

、

Splunk

等。

列式數(shù)據(jù)庫(kù)

列式數(shù)據(jù)庫(kù)是相對(duì)于行式存儲(chǔ)的數(shù)據(jù)庫(kù),

Oracle

MySQL

、

SQL Server

等數(shù)據(jù)庫(kù)都是采用的行式存儲(chǔ) (Row-based),而列式數(shù)據(jù)庫(kù)是將數(shù)據(jù)按照列存儲(chǔ)到數(shù)據(jù)庫(kù)中,這樣做的好處是可以大量降低系統(tǒng)的 I/O,適合于分布式文件系統(tǒng),不足在于功能相對(duì)有限。典型產(chǎn)品:HBase

等。

圖形數(shù)據(jù)庫(kù)

圖形數(shù)據(jù)庫(kù),利用了圖這種數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)了實(shí)體(對(duì)象)之間的關(guān)系。圖形數(shù)據(jù)庫(kù)最典型的例子就是社 交網(wǎng)絡(luò)中人與人的關(guān)系,數(shù)據(jù)模型主要是以節(jié)點(diǎn)和邊(關(guān)系)來實(shí)現(xiàn),特點(diǎn)在于能高效地解決復(fù)雜的關(guān)系問題。 圖形數(shù)據(jù)庫(kù)顧名思義,就是一種存儲(chǔ)圖形關(guān)系的數(shù)據(jù)庫(kù)。它利用了圖這種數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)了實(shí)體(對(duì)象) 之間的關(guān)系。關(guān)系型數(shù)據(jù)用于存儲(chǔ)明確關(guān)系的數(shù)據(jù),但對(duì)于復(fù)雜關(guān)系的數(shù)據(jù)存儲(chǔ)卻有些力不從心。如社交網(wǎng)絡(luò)中人物之間的關(guān)系,如果用關(guān)系型數(shù)據(jù)庫(kù)則非常復(fù)雜,用圖形數(shù)據(jù)庫(kù)將非常簡(jiǎn)單。典型產(chǎn)品:Neo4J、

InfoGrid

等。

4.2.3 NoSQL的演變

由于

SQL

一直稱霸

DBMS

,因此許多人在思考是否有一種數(shù)據(jù)庫(kù)技術(shù)能遠(yuǎn)離

SQL

,于是

NoSQL

誕生了,但是隨著發(fā)展卻發(fā)現(xiàn)越來越離不開 SQL

。到目前為止

NoSQL

陣營(yíng)中的

DBMS

都會(huì)有實(shí)現(xiàn)類似

SQL

的功能。下面是“NoSQL”

這個(gè)名詞在不同時(shí)期的詮釋,從這些釋義的變化中可以看出

NoSQL

功能的演變

1970

NoSQL = We have no SQL

1980

NoSQL = Know SQL

2000

NoSQL = No SQL!

2005

NoSQL = Not only SQL

2013

NoSQL = No, SQL!

NoSQL

對(duì)

SQL

做出了很好的補(bǔ)充,比如實(shí)際開發(fā)中,有很多業(yè)務(wù)需求,其實(shí)并不需要完整的關(guān)系型數(shù)據(jù)庫(kù)功能,非關(guān)系型數(shù)據(jù)庫(kù)的功能就足夠使用了。這種情況下,使用

性能更高

、

成本更低

的非關(guān)系型數(shù)據(jù)庫(kù)當(dāng)然是更明智的選擇。比如:日志收集、排行榜、定時(shí)器等。

4.3 小結(jié)

NoSQL

的分類很多,即便如此,在

DBMS

排名中,還是

SQL

陣營(yíng)的比重更大,影響力前

5

DBMS

中有4 個(gè)是關(guān)系型數(shù)據(jù)庫(kù),而排名前

20

DBMS

中也有

12

個(gè)是關(guān)系型數(shù)據(jù)庫(kù)。所以說,掌握

SQL

是非常有必要的。整套課程將圍繞 SQL

展開。

5. 關(guān)系型數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)則

關(guān)系型數(shù)據(jù)庫(kù)的典型數(shù)據(jù)結(jié)構(gòu)就是

數(shù)據(jù)表

,這些數(shù)據(jù)表的組成都是結(jié)構(gòu)化的(Structured)。 將數(shù)據(jù)放到表中,表再放到庫(kù)中。一個(gè)數(shù)據(jù)庫(kù)中可以有多個(gè)表,每個(gè)表都有一個(gè)名字,用來標(biāo)識(shí)自己。表名具有唯一性。表具有一些特性,這些特性定義了數(shù)據(jù)在表中如何存儲(chǔ),類似Java?

Python

的設(shè)計(jì)。

5.1 表、記錄、字段

E-R

(entity-relationship,實(shí)體

-

聯(lián)系)模型中有三個(gè)主要概念是:

實(shí)體集

屬性

、

聯(lián)系集

。

一個(gè)實(shí)體集(class)對(duì)應(yīng)于數(shù)據(jù)庫(kù)中的一個(gè)表(table),一個(gè)實(shí)體(instance)則對(duì)應(yīng)于數(shù)據(jù)庫(kù)表中的一行(row),也稱為一條記錄(record)。一個(gè)屬性(attribute)對(duì)應(yīng)于數(shù)據(jù)庫(kù)表中的一列

(column),也稱為一個(gè)字段(field)。

ORM

思想

(Object Relational Mapping)

體現(xiàn):

數(shù)據(jù)庫(kù)中的一個(gè)表

<---> Java

Python

中的一個(gè)類

表中的一條數(shù)據(jù)

<--->

類中的一個(gè)對(duì)象(或?qū)嶓w)

表中的一個(gè)列

<---->

類中的一個(gè)字段、屬性

(field)

5.2 表的關(guān)聯(lián)關(guān)系

表與表之間的數(shù)據(jù)記錄有關(guān)系

(relationship)

?,F(xiàn)實(shí)世界中的各種實(shí)體以及實(shí)體之間的各種聯(lián)系均用

關(guān)系模型來表示。

四種:一對(duì)一關(guān)聯(lián)、一對(duì)多關(guān)聯(lián)、多對(duì)多關(guān)聯(lián)、自我引用

5.2.1 一對(duì)一關(guān)聯(lián)(one-to-one)

在實(shí)際的開發(fā)中應(yīng)用不多,因?yàn)橐粚?duì)一可以創(chuàng)建成一張表。

舉例:設(shè)計(jì)

學(xué)生表

:學(xué)號(hào)、姓名、手機(jī)號(hào)碼、班級(jí)、系別、身份證號(hào)碼、家庭住址、籍貫、緊急

聯(lián)系人、

...

拆為兩個(gè)表:兩個(gè)表的記錄是一一對(duì)應(yīng)關(guān)系。

基礎(chǔ)信息表

(常用信息):學(xué)號(hào)、姓名、手機(jī)號(hào)碼、班級(jí)、系別

檔案信息表

(不常用信息):學(xué)號(hào)、身份證號(hào)碼、家庭住址、籍貫、緊急聯(lián)系人、

...

兩種建表原則:

外鍵唯一:主表的主鍵和從表的外鍵(唯一),形成主外鍵關(guān)系,外鍵唯一。

外鍵是主鍵:主表的主鍵和從表的主鍵,形成主外鍵關(guān)系

?

5.2.2 一對(duì)多關(guān)系(one-to-many)

常見實(shí)例場(chǎng)景:

客戶表和訂單表

分類表和商品表

,

部門表和員工表

。

舉例:

員工表:編號(hào)、姓名、

...

、所屬部門

部門表:編號(hào)、名稱、簡(jiǎn)介

一對(duì)多建表原則:在從表

(

多方

)

創(chuàng)建一個(gè)字段,字段作為外鍵指向主表

(

一方

)

的主鍵

?

5.2.3 多對(duì)多(many-to-many)

要表示多對(duì)多關(guān)系,必須創(chuàng)建第三個(gè)表,該表通常稱為

聯(lián)接表

,它將多對(duì)多關(guān)系劃分為兩個(gè)一對(duì)多關(guān)系。將這兩個(gè)表的主鍵都插入到第三個(gè)表中。

舉例

1

:學(xué)生

-

課程

學(xué)生信息表

:一行代表一個(gè)學(xué)生的信息(學(xué)號(hào)、姓名、手機(jī)號(hào)碼、班級(jí)、系別

...

課程信息表

:一行代表一個(gè)課程的信息(課程編號(hào)、授課老師、簡(jiǎn)介

...

選課信息表

:一個(gè)學(xué)生可以選多門課,一門課可以被多個(gè)學(xué)生選擇

??

舉例

2

:產(chǎn)品

-

訂單

訂單

表和

產(chǎn)品

表有一種多對(duì)多的關(guān)系,這種關(guān)系是通過與

訂單明細(xì)

表建立兩個(gè)一對(duì)多關(guān)系來

定義的。一個(gè)訂單可以有多個(gè)產(chǎn)品,每個(gè)產(chǎn)品可以出現(xiàn)在多個(gè)訂單中。

產(chǎn)品表

產(chǎn)品

表中的每條記錄表示一個(gè)產(chǎn)品。

訂單表

訂單

表中的每條記錄表示一個(gè)訂單。

訂單明細(xì)表

:每個(gè)產(chǎn)品可以與

訂單

表中的多條記錄對(duì)應(yīng),即出現(xiàn)在多個(gè)訂單中。一個(gè)訂單

可以與

產(chǎn)品

表中的多條記錄對(duì)應(yīng),即包含多個(gè)產(chǎn)品。

舉例

3

:用戶

-

角色

多對(duì)多關(guān)系建表原則:需要?jiǎng)?chuàng)建第三張表,中間表中至少兩個(gè)字段,這兩個(gè)字段分別作為外鍵指向

各自一方的主鍵

?

5.3.4 自我引用(Self reference)

?

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù)基礎(chǔ)篇 《1. 概述》

http://yzkb.51969.com/

參考鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19073727.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄