版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2/5/2023數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)2/5/2023數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)第1章數(shù)據(jù)庫(kù)基本概念
1.1數(shù)據(jù)與數(shù)據(jù)管理技術(shù)
1.2數(shù)據(jù)庫(kù)
1.3數(shù)據(jù)庫(kù)管理系統(tǒng)
1.4數(shù)據(jù)庫(kù)系統(tǒng)1.5數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)1.6結(jié)構(gòu)化表查詢語(yǔ)句SQL1.7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)步驟1.8常用數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)是人類活動(dòng)的重要資源,目前在計(jì)算機(jī)的各類應(yīng)用中,用于數(shù)據(jù)處理的約占80%左右。特別是在當(dāng)前的信息化時(shí)代,數(shù)據(jù)作為一種資源的重要性日益提高。數(shù)據(jù)庫(kù)是存放數(shù)據(jù)的倉(cāng)庫(kù),數(shù)據(jù)庫(kù)系統(tǒng)是研究如何妥善地組織、存儲(chǔ)和科學(xué)地管理數(shù)據(jù)的計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)(DataBase,DB)一詞早在20世紀(jì)50年代就已經(jīng)提出,經(jīng)過多年的發(fā)展數(shù)據(jù)庫(kù)技術(shù)已成為計(jì)算機(jī)科學(xué)的一個(gè)重要分支。數(shù)據(jù)庫(kù)技術(shù)是計(jì)算機(jī)科學(xué)技術(shù)中發(fā)展最快、應(yīng)用最廣泛的領(lǐng)域之一。學(xué)校的學(xué)生信息管理、企業(yè)中的企業(yè)信息管理、銀行信息管理,及國(guó)家的各種信息管理等,無(wú)一不用到數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)技術(shù)已是計(jì)算機(jī)信息系統(tǒng)和應(yīng)用程序的核心技術(shù)和重要基礎(chǔ)。本章主要介紹數(shù)據(jù)庫(kù)系統(tǒng)的基本概念、SQL語(yǔ)言、數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)步驟和常用的數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.1數(shù)據(jù)與數(shù)據(jù)管理技術(shù)1.1.1數(shù)據(jù)數(shù)據(jù)(Data)是描述事物的符號(hào)記錄,具體來(lái)講就是人們從實(shí)際當(dāng)中抽取感興趣的事物特征或?qū)傩?。?shù)據(jù)是信息的符號(hào)表示或載體。由于數(shù)據(jù)能被書寫,因而能夠被記錄、存儲(chǔ)和處理,在計(jì)算機(jī)中,數(shù)據(jù)包括數(shù)字、文字、圖形、圖像、音頻、視頻等等,對(duì)數(shù)據(jù)進(jìn)行處理可以得到有用的信息。數(shù)據(jù)具有一定的格式(語(yǔ)法)和含義(語(yǔ)義)。數(shù)據(jù)的格式規(guī)定了數(shù)據(jù)的語(yǔ)法結(jié)構(gòu),如身份證號(hào)、電話號(hào)碼、車牌號(hào)等都有相應(yīng)的編碼規(guī)則,即語(yǔ)法定義。數(shù)據(jù)的含義(語(yǔ)義)是對(duì)數(shù)據(jù)的具體解釋。如我國(guó)二代身份證格式規(guī)定為15位,其中第l~6位數(shù)為行政區(qū)劃代碼,第7~12位數(shù)為出生日期代碼(第7、8位為出生年份(兩位數(shù)),第9、10位為出生月份,第11、12位代表出生日期),第13~15位數(shù)為分配順序代碼,最末一位數(shù)是奇數(shù)的分配給男性,偶數(shù)分配給女性。按照上述語(yǔ)法,就可以正確解讀出任何一個(gè)身份證號(hào)的具體含義。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.1.2數(shù)據(jù)管理技術(shù)數(shù)據(jù)管理技術(shù)是人們對(duì)數(shù)據(jù)進(jìn)行收集、組織、存儲(chǔ)、處理、傳播和利用的一系列活動(dòng)的總和?;谌藗儗?duì)數(shù)據(jù)處理的需求推動(dòng),以及計(jì)算機(jī)軟件、硬件和應(yīng)用的不斷發(fā)展,數(shù)據(jù)管理技術(shù)的發(fā)展經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)3個(gè)階段。1.人工管理階段該階段的主要特點(diǎn)是數(shù)據(jù)不長(zhǎng)期保存在計(jì)算機(jī)中,應(yīng)用程序管理數(shù)據(jù),數(shù)據(jù)不獨(dú)立于應(yīng)用程序,應(yīng)用程序間不能共享數(shù)據(jù)。2.文件系統(tǒng)階段該階段的主要特點(diǎn)是數(shù)據(jù)可以長(zhǎng)期保存在外存上重復(fù)使用,數(shù)據(jù)獨(dú)立于程序,由文件系統(tǒng)來(lái)管理數(shù)據(jù)。3.?dāng)?shù)據(jù)庫(kù)系統(tǒng)階段該階段的主要特點(diǎn)是數(shù)據(jù)結(jié)構(gòu)化,數(shù)據(jù)的獨(dú)立性高,數(shù)據(jù)的共享性高、冗余度低、易擴(kuò)充,數(shù)據(jù)由DBMS統(tǒng)一管理和控制,便于使用。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.2數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DataBase,DB)是存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。就是說數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),其中的數(shù)據(jù)是按一定的結(jié)構(gòu)組織存儲(chǔ)的,具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,可為多個(gè)用戶共享。例如高校的學(xué)生學(xué)籍信息數(shù)據(jù)庫(kù),學(xué)生的成績(jī)等學(xué)籍信息都是按一定的結(jié)構(gòu)和聯(lián)系進(jìn)行組織、存儲(chǔ),教務(wù)管理部門、任課教師和學(xué)生等用戶都可以進(jìn)行權(quán)限允許的處理、查看等操作。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.3數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)只是用來(lái)存放數(shù)據(jù),需要通過相應(yīng)的軟件才能對(duì)其中的數(shù)據(jù)進(jìn)行處理。數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS)是對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的軟件。數(shù)據(jù)庫(kù)管理系統(tǒng)為數(shù)據(jù)庫(kù)提供數(shù)據(jù)的定義、建立、維護(hù)、查詢、統(tǒng)計(jì)等操作功能,并提供數(shù)據(jù)完整性、安全性、多用戶并發(fā)使用、備份與恢復(fù)等管理功能。數(shù)據(jù)庫(kù)管理系統(tǒng)是位于數(shù)據(jù)庫(kù)用戶和操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶提供了訪問數(shù)據(jù)庫(kù)的各種方法,使用戶可以透明地訪問數(shù)據(jù)庫(kù),不需要知道數(shù)據(jù)庫(kù)的物理組織和存儲(chǔ)方式。采用關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫(kù)管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RelationalDataBaseManagementSystem,RDBMS),由于關(guān)系數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰、易用,所以關(guān)系模型得到了廣泛應(yīng)用,目前常用的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.3數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)主要有數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫(kù)的運(yùn)行管理和數(shù)據(jù)庫(kù)的建立和維護(hù)等功能。1.?dāng)?shù)據(jù)定義功能DBMS中通常提供了多種數(shù)據(jù)庫(kù)對(duì)象,包括數(shù)據(jù)表、視圖、存儲(chǔ)過程等等,用戶首先需要定義創(chuàng)建這些對(duì)象,然后才能使用。DBMS提供數(shù)據(jù)定義語(yǔ)言(DataDefinitionLanguage,DDL),用戶通過DDL可以方便地對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象進(jìn)行定義。2.?dāng)?shù)據(jù)操縱功能DBMS還提供數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,DML),用戶可以使用DML實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作,如數(shù)據(jù)查詢、插入、修改和刪除等。3.?dāng)?shù)據(jù)庫(kù)的運(yùn)行管理數(shù)據(jù)庫(kù)在建立、使用和維護(hù)時(shí)由DBMS統(tǒng)一管理、統(tǒng)一控制,以保證數(shù)據(jù)的安全性、完整性、多個(gè)用戶對(duì)數(shù)據(jù)的并發(fā)使用和故障后的數(shù)據(jù)庫(kù)恢復(fù)等,保證數(shù)據(jù)庫(kù)能正確、有效地運(yùn)行。4.?dāng)?shù)據(jù)庫(kù)的建立和維護(hù)數(shù)據(jù)庫(kù)的建立和維護(hù)包括數(shù)據(jù)庫(kù)初始數(shù)據(jù)的輸入、轉(zhuǎn)換功能,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)功能,數(shù)據(jù)庫(kù)的重組、性能監(jiān)測(cè)和分析等功能。這些功能是由DBMS提供的一些實(shí)用程序完成的。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.4數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS)是指包含數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)的計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)通常由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員及用戶構(gòu)成,如圖1-1所示。數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)用戶應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)管理員數(shù)據(jù)庫(kù)的建立、使用和維護(hù)等需要專門的人員來(lái)管理,這些管理人員被稱為數(shù)據(jù)庫(kù)管理員(DataBaseAdministrator,DBA)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.5數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)1.5.1數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)從數(shù)據(jù)庫(kù)最終用戶的角度來(lái)看,即從數(shù)據(jù)庫(kù)系統(tǒng)外部來(lái)看,數(shù)據(jù)庫(kù)系統(tǒng)的體系結(jié)構(gòu)可分為集中式結(jié)構(gòu)(又可分為單用戶結(jié)構(gòu)和主從式結(jié)構(gòu))、分布式結(jié)構(gòu)、客戶/服務(wù)器結(jié)構(gòu)和并行結(jié)構(gòu)。從數(shù)據(jù)庫(kù)管理系統(tǒng)角度來(lái)看,數(shù)據(jù)庫(kù)系統(tǒng)通常采用三級(jí)模式結(jié)構(gòu):外模式、內(nèi)模式和概念模式,如圖1-2,這是從數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部看到的體系結(jié)構(gòu)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.5.1數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)1.概念模式(邏輯模式、模式)概念模式也稱為邏輯模式,常簡(jiǎn)稱為模式。邏輯模式是數(shù)據(jù)庫(kù)中整體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,包括概念記錄類型、記錄之間的聯(lián)系、數(shù)據(jù)的完整性和安全性約束等數(shù)據(jù)控制方面的規(guī)定等。邏輯模式是所有用戶的公共數(shù)據(jù)視圖。例如學(xué)籍?dāng)?shù)據(jù)庫(kù)中有學(xué)生學(xué)基本信息表、課程表、選課成績(jī)表、各種視圖和存儲(chǔ)過程等對(duì)象,對(duì)所有這些對(duì)象及其關(guān)聯(lián)的定義就構(gòu)成了學(xué)籍?dāng)?shù)據(jù)庫(kù)的邏輯模式。2.內(nèi)模式(存儲(chǔ)模式)內(nèi)模式也稱為存儲(chǔ)模式,是數(shù)據(jù)庫(kù)內(nèi)部數(shù)據(jù)物理存儲(chǔ)結(jié)構(gòu)的描述,定義了記錄的存儲(chǔ)結(jié)構(gòu)、索引組織方式以及數(shù)據(jù)是否壓縮存儲(chǔ)和加密等數(shù)據(jù)控制細(xì)節(jié)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.5.1數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)3.外模式(用戶模式)外模式是數(shù)據(jù)庫(kù)用戶能看到和使用的那部分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是用戶的數(shù)據(jù)視圖,也是應(yīng)用程序與數(shù)據(jù)庫(kù)系統(tǒng)之間的接口。用戶可以通過數(shù)據(jù)定義語(yǔ)言和數(shù)據(jù)操縱語(yǔ)言來(lái)定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)和對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,只需按所定義的外模式進(jìn)行操作,無(wú)需了解概念模式和內(nèi)模式的內(nèi)部細(xì)節(jié)。由于外模式通常是模式的子集,即一個(gè)用戶通常只用到數(shù)據(jù)庫(kù)中的部分?jǐn)?shù)據(jù),所以外模式通常也稱為子模式或用戶模式。對(duì)應(yīng)于不同的用戶和應(yīng)用,一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)不同的外模式。例如在學(xué)籍?dāng)?shù)據(jù)庫(kù)系統(tǒng)中,教學(xué)管理部門可以分析、匯總學(xué)生成績(jī),二每個(gè)學(xué)生只能查看個(gè)人的成績(jī)、學(xué)分等學(xué)籍有關(guān)信息等。有時(shí)也將外模式、概念模式和內(nèi)模式對(duì)應(yīng)的不同層次的數(shù)據(jù)庫(kù)分別稱為用戶級(jí)數(shù)據(jù)庫(kù)、概念級(jí)數(shù)據(jù)庫(kù)和物理級(jí)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.5.2三級(jí)模式之間的映射在圖1-2中可以看到在三級(jí)模式之間還存在外模式/概念模式映射和概念模式/內(nèi)模式兩層映射,這是為了實(shí)現(xiàn)數(shù)據(jù)庫(kù)三個(gè)抽象層次的聯(lián)系與轉(zhuǎn)換。對(duì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說,實(shí)際上存在的只是物理級(jí)數(shù)據(jù)庫(kù),它是數(shù)據(jù)訪問的基礎(chǔ)。概念級(jí)數(shù)據(jù)庫(kù)不過是物理級(jí)數(shù)據(jù)庫(kù)的一種抽象描述,用戶級(jí)數(shù)據(jù)庫(kù)是用戶和數(shù)據(jù)庫(kù)的接口。用戶根據(jù)子模式進(jìn)行數(shù)據(jù)操作,通過子模式到概念模式的映射與概念級(jí)數(shù)據(jù)庫(kù)聯(lián)系起來(lái),又通過概念級(jí)到存儲(chǔ)的映射與物理級(jí)聯(lián)系起來(lái),使用戶不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示方式和存儲(chǔ)方式。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.5.2三級(jí)模式之間的映射在圖1-2中可以看到在三級(jí)模式之間還存在外模式/概念模式映射和概念模式/內(nèi)模式兩層映射,這是為了實(shí)現(xiàn)數(shù)據(jù)庫(kù)三個(gè)抽象層次的聯(lián)系與轉(zhuǎn)換。對(duì)一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)來(lái)說,實(shí)際上存在的只是物理級(jí)數(shù)據(jù)庫(kù),它是數(shù)據(jù)訪問的基礎(chǔ)。概念級(jí)數(shù)據(jù)庫(kù)不過是物理級(jí)數(shù)據(jù)庫(kù)的一種抽象描述,用戶級(jí)數(shù)據(jù)庫(kù)是用戶和數(shù)據(jù)庫(kù)的接口。用戶根據(jù)子模式進(jìn)行數(shù)據(jù)操作,通過子模式到概念模式的映射與概念級(jí)數(shù)據(jù)庫(kù)聯(lián)系起來(lái),又通過概念級(jí)到存儲(chǔ)的映射與物理級(jí)聯(lián)系起來(lái),使用戶不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示方式和存儲(chǔ)方式。DBMS的中心工作之一,就是完成三級(jí)模式之間的兩層映射,把用戶對(duì)數(shù)據(jù)庫(kù)的操作具體實(shí)現(xiàn)到對(duì)物理設(shè)備的操作,實(shí)現(xiàn)數(shù)據(jù)與應(yīng)用程序之間的獨(dú)立性。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.6結(jié)構(gòu)化查詢語(yǔ)言SQL存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)最終是要使用的,對(duì)數(shù)據(jù)庫(kù)的主要操作就是數(shù)據(jù)查詢。由于數(shù)據(jù)庫(kù)規(guī)模通常都很大,特別是在信息爆炸的信息時(shí)代,要在龐大的數(shù)據(jù)庫(kù)中快速準(zhǔn)確地找到需要的數(shù)據(jù),需要有效地?cái)?shù)據(jù)查詢技術(shù)和工具。SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言)語(yǔ)言是目前關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)廣泛采用的數(shù)據(jù)查詢語(yǔ)言。SQL由Boyce和Chamberlin于1974年提出的,并在IBM研制的SystemR關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)上實(shí)現(xiàn)。1987年成為國(guó)際標(biāo)準(zhǔn),經(jīng)多次改進(jìn),SQL也從簡(jiǎn)單的數(shù)據(jù)查詢語(yǔ)言逐漸成為功能強(qiáng)大、更加規(guī)范、應(yīng)用廣泛的數(shù)據(jù)庫(kù)語(yǔ)言。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.6結(jié)構(gòu)化查詢語(yǔ)言SQL1.SQL的特點(diǎn)SQL語(yǔ)言之所以能夠在業(yè)界得到廣泛使用,是因?yàn)槠涔δ芡晟?、語(yǔ)法統(tǒng)一、易學(xué)。SQL主要有以下特點(diǎn)。(1)功能的一體化:SQL集數(shù)據(jù)定義語(yǔ)言(DataDefinitionLanguage,DDL)、數(shù)據(jù)操縱語(yǔ)言(DataManipulationLanguage,DML)、數(shù)據(jù)控制語(yǔ)言(DataControlLanguage,DCL)于一體,能夠完成關(guān)系模式定義、建立數(shù)據(jù)庫(kù)、插入數(shù)據(jù)、查詢、更新、維護(hù)、數(shù)據(jù)庫(kù)重構(gòu)、數(shù)據(jù)庫(kù)安全性控制等一系列操作。(2)統(tǒng)一的語(yǔ)法結(jié)構(gòu):SQL有兩種使用方式,一種是自含式(聯(lián)機(jī)使用方式),即SQL可以獨(dú)立地以聯(lián)機(jī)方式交互使用;另一種是嵌入式,即將SQL嵌入到某種高級(jí)程序設(shè)計(jì)語(yǔ)言中使用。這兩種方式分別適用于普通用戶和程序員,雖然使用方式不同,但SQL的語(yǔ)法結(jié)構(gòu)是統(tǒng)一的,便于普通用戶與程序員交流。(3)高度非過程化:SQL是一種非過程化數(shù)據(jù)操作語(yǔ)言,即用戶只需指出“干什么”,而無(wú)需說明“怎么干”。如用戶只需給出數(shù)據(jù)查詢條件,系統(tǒng)就可以自動(dòng)查詢出符合條件的數(shù)據(jù),而用戶無(wú)需告訴系統(tǒng)存取路徑及如何進(jìn)行查詢等。(4)語(yǔ)言簡(jiǎn)潔:SQL語(yǔ)句簡(jiǎn)潔,語(yǔ)法簡(jiǎn)單,非常自然化,易學(xué)易用。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)2.SQL的功能(1)數(shù)據(jù)定義:定義數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),包括定義基本表、視圖和索引,相關(guān)的操作還包括對(duì)基本表、視圖、索引的修改與刪除。基本表是數(shù)據(jù)庫(kù)中獨(dú)立存在的表,通常簡(jiǎn)稱為表。在SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)基本表,一個(gè)或多個(gè)基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件,一個(gè)基本表可以有多個(gè)索引,索引也保存在存儲(chǔ)文件中。一個(gè)數(shù)據(jù)庫(kù)中可以有多個(gè)基本表。視圖則是由一個(gè)或多個(gè)基本表導(dǎo)出的表。數(shù)據(jù)定義功能是通過數(shù)據(jù)定義語(yǔ)言(DDL)實(shí)現(xiàn)的。(2)數(shù)據(jù)操縱:主要包括數(shù)據(jù)查詢和數(shù)據(jù)更新操作。數(shù)據(jù)查詢是數(shù)據(jù)庫(kù)應(yīng)用中最常用最重要的操作;數(shù)據(jù)更新則包括對(duì)數(shù)據(jù)庫(kù)中記錄的增加、修改和刪除操作。數(shù)據(jù)操作功能是通過數(shù)據(jù)操縱語(yǔ)言(DML)實(shí)現(xiàn)的。(3)數(shù)據(jù)控制:主要是對(duì)數(shù)據(jù)的訪問權(quán)限進(jìn)行控制,包括對(duì)數(shù)據(jù)庫(kù)的訪問權(quán)限設(shè)置、事務(wù)管理、安全性和完整性控制等。數(shù)據(jù)控制功能是通過數(shù)據(jù)控制語(yǔ)言(DCL)實(shí)現(xiàn)的。(4)嵌入功能:即SQL可以嵌入到其他高級(jí)程序設(shè)計(jì)語(yǔ)言(宿主語(yǔ)言)中使用。前面講過SQL有自含式和嵌入式兩種使用方式,SQL的主要功能是數(shù)據(jù)操作,自含式使用使數(shù)據(jù)處理功能差,而高級(jí)程序設(shè)計(jì)語(yǔ)言的數(shù)據(jù)處理功能強(qiáng),但其數(shù)據(jù)操作功能弱,為了結(jié)合二者的優(yōu)點(diǎn),常將SQL嵌入到高級(jí)程序設(shè)計(jì)語(yǔ)言中使用,實(shí)現(xiàn)混合編程。為了實(shí)現(xiàn)嵌入使用,SQL提供了與宿主語(yǔ)言之間的接口。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)步驟按照規(guī)范設(shè)計(jì)的方法,考慮數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)開發(fā)全過程,將數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)分為以下6個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施和數(shù)據(jù)庫(kù)的運(yùn)行和維護(hù)。如圖1-3。在數(shù)據(jù)庫(kù)設(shè)計(jì)過程中,需求分析和概念設(shè)計(jì)可以獨(dú)立于任何數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行,邏輯設(shè)計(jì)和物理設(shè)計(jì)與選用的DBMS密切相關(guān)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)步驟收集分析需求數(shù)據(jù)模型優(yōu)化使用、維護(hù)數(shù)據(jù)庫(kù)應(yīng)用要求DBMS特征轉(zhuǎn)換規(guī)則DBMS功能優(yōu)化方法設(shè)計(jì)概念模型應(yīng)用需求設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)評(píng)價(jià)設(shè)計(jì)、性能評(píng)測(cè)試運(yùn)行物理實(shí)現(xiàn)需求分析階段概念結(jié)構(gòu)設(shè)計(jì)階段邏輯結(jié)構(gòu)設(shè)計(jì)階段物理設(shè)計(jì)階段數(shù)據(jù)庫(kù)實(shí)施階段數(shù)據(jù)庫(kù)運(yùn)行維護(hù)階段數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)步驟1.需求分析階段設(shè)計(jì)數(shù)據(jù)庫(kù)首先必須要準(zhǔn)確了解和分析用戶需求,需求分析的任務(wù),是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象和原有系統(tǒng)的應(yīng)用情況,明確用戶的各種需求,弄清系統(tǒng)要達(dá)到的目標(biāo)和實(shí)現(xiàn)的功能。需求分析是整個(gè)設(shè)計(jì)過程的基礎(chǔ),也是最困難,最耗時(shí)的一步。需求分析是否做得充分與準(zhǔn)確,決定了數(shù)據(jù)庫(kù)系統(tǒng)的質(zhì)量與成敗。如果需求分析做得差,會(huì)嚴(yán)重影響系統(tǒng)性能甚至不得不返工重做。需求分析常用方法有結(jié)構(gòu)化分析方法(StructuredAnalysis,SA)、面向?qū)ο蟮姆治隽Ψǖ取?.概念結(jié)構(gòu)設(shè)計(jì)階段概念結(jié)構(gòu)是獨(dú)立于任何一種數(shù)據(jù)模型的信息結(jié)構(gòu),概念結(jié)構(gòu)設(shè)計(jì)是通過對(duì)用戶需求進(jìn)行綜合,歸納與抽象,形成了一個(gè)獨(dú)立于具體DBMS的概念模型。概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵,通常采用E-R模型進(jìn)行設(shè)計(jì)。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.7數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)步驟3.邏輯結(jié)構(gòu)設(shè)計(jì)階段邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。例如要使用MySQL,就需要將概念結(jié)構(gòu)設(shè)計(jì)夾斷設(shè)計(jì)的E-R模型轉(zhuǎn)換成MySQL所支持的關(guān)系模型。4.物理設(shè)計(jì)階段物理設(shè)計(jì)的主要任務(wù)是為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、存儲(chǔ)位置和存取方法。5.?dāng)?shù)據(jù)庫(kù)實(shí)施階段數(shù)據(jù)庫(kù)實(shí)施階段,系統(tǒng)設(shè)計(jì)人員通過DBMS提供的數(shù)據(jù)操作語(yǔ)言(如SQL)及其宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù)、編制和調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫(kù),并進(jìn)行試運(yùn)行。6.?dāng)?shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后,即可投入正式運(yùn)行,在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整、修改。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)1.8常用數(shù)據(jù)庫(kù)管理系統(tǒng)目前常用的數(shù)據(jù)庫(kù)管理系統(tǒng)包括MicrosoftAccess、MicrosoftSQLServer、Oracle、MySQL、DB2、SQLite等,這里對(duì)它們作簡(jiǎn)要介紹。詳見教材。數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用
第2章概念模型設(shè)計(jì)
2.1概念模型的基礎(chǔ)知識(shí)2.2概念模型的設(shè)計(jì)方法與步驟
2.3圖書管理系統(tǒng)的概念模型設(shè)計(jì)
2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.1概念模型的基礎(chǔ)知識(shí)1.數(shù)據(jù)模型2.信息的三個(gè)世界3.概念模型的基本概念2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.2概念模型的設(shè)計(jì)方法與步驟1.概念模型的特點(diǎn)2.概念模型設(shè)計(jì)的策略3.概念模型的設(shè)計(jì)(1)設(shè)計(jì)局部E-R模型:確定局部清晰的實(shí)體及其聯(lián)系。(2)設(shè)計(jì)全局的E-R模型:將局部的E-R圖集成為全局的E-R圖。(3)優(yōu)化全局E-R模型:對(duì)相同的實(shí)體合并,消除冗余的屬性和聯(lián)系等。4.設(shè)計(jì)過程中遇到的問題2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.3圖書管理系統(tǒng)的概念模型設(shè)計(jì)1.問題描述某市為了更好地服務(wù)當(dāng)?shù)厥忻?,新建了一所公共圖書館,圖書館藏書數(shù)萬(wàn)冊(cè),包括小說、生活、專業(yè)等多種類型。為了更好地開展服務(wù),現(xiàn)欲開發(fā)圖書管理系統(tǒng),方便市民在圖書館看書和借閱。為了保證圖書良好流通,防止借書不還等不良行為的發(fā)生,圖書館要求借出的圖書總價(jià)值不能超過100元,借閱時(shí)間不超過1個(gè)月,逾期不還者,每本書每天罰款0.1元。市民如果需要辦理圖書證,只需帶個(gè)人身份證,同時(shí)提交100元押金,即可到圖書館前臺(tái)辦理。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.3圖書管理系統(tǒng)的概念模型設(shè)計(jì)2.概念模型分析與設(shè)計(jì)1)局部ER圖12023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.3圖書管理系統(tǒng)的概念模型設(shè)計(jì)2.概念模型分析與設(shè)計(jì)2)局部ER圖22023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.3圖書管理系統(tǒng)的概念模型設(shè)計(jì)2.概念模型分析與設(shè)計(jì)2)全局ER圖2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用2.3圖書管理系統(tǒng)的概念模型設(shè)計(jì)2.概念模型分析與設(shè)計(jì)3)優(yōu)化ER圖2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用
(MySQL版)2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用
第3章邏輯模型設(shè)計(jì)
3.1邏輯模型的基礎(chǔ)知識(shí)3.2關(guān)系的完整性3.3關(guān)系數(shù)據(jù)庫(kù)理論3.4數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)3.5圖書管理系統(tǒng)的邏輯模型設(shè)計(jì)2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.1邏輯模型的基礎(chǔ)知識(shí)3.1.1關(guān)系模型概述關(guān)系數(shù)據(jù)模型起源于數(shù)學(xué),它用二維表來(lái)組織數(shù)據(jù),而這個(gè)二維表在關(guān)系數(shù)據(jù)庫(kù)中稱為關(guān)系,關(guān)系數(shù)據(jù)庫(kù)就是表(或者說關(guān)系)的集合。3.1.2關(guān)系數(shù)據(jù)模型的基本概念關(guān)系、元組、屬性、碼、主碼、超碼、候選碼、域、關(guān)系模式2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.2關(guān)系的完整性1.實(shí)體完整性關(guān)系模型采用主屬性,主屬性的值在一個(gè)關(guān)系中互相不同,因此主屬性就用來(lái)表示實(shí)體的完整性。2.參照完整性關(guān)系模型中,參照完整性約束用外碼來(lái)表示。3.用戶自定義完整性特殊的約束條件就是用戶自定義的完整性約束。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.3關(guān)系數(shù)據(jù)庫(kù)理論3.3.1關(guān)系模式設(shè)計(jì)中的問題
非規(guī)范化的關(guān)系數(shù)據(jù)庫(kù),會(huì)存在數(shù)據(jù)冗余量大,數(shù)據(jù)刪除、插入異常及數(shù)據(jù)更新不一致等問題。關(guān)系規(guī)范化指在關(guān)系理論基礎(chǔ)上,盡量降低數(shù)據(jù)冗余、異常操作等問題。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.3關(guān)系數(shù)據(jù)庫(kù)理論-關(guān)系模式問題舉例
(1)數(shù)據(jù)冗余大。每個(gè)學(xué)生的每門課程都需要輸入系別和系領(lǐng)導(dǎo),重復(fù)量太大。(2)插入異常。當(dāng)一個(gè)新系在沒有招生的時(shí)候,因?yàn)闆]有學(xué)生,該系信息不能輸入。(3)更新異常。如果更換某個(gè)系的系領(lǐng)導(dǎo),則需要每條記錄中的系領(lǐng)導(dǎo)都需要修改,容易造成數(shù)據(jù)不一致。(4)刪除異常。假如一個(gè)系的學(xué)生全部畢業(yè),則刪除該系學(xué)生,但是在刪除學(xué)生的同時(shí),該系也被刪除,而實(shí)際上該系仍然存在,只是沒有學(xué)生,因此出現(xiàn)不該刪除的數(shù)據(jù)丟失的問題。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.3關(guān)系數(shù)據(jù)庫(kù)理論3.3.2函數(shù)依賴非平凡的函數(shù)依賴:在關(guān)系模式R(U)中,若X→Y,但Y?X,則稱X→Y是非平凡的函數(shù)依賴。平凡的函數(shù)依賴:在關(guān)系模式R(U)中,若X→Y,但Y∈X,則稱X→Y是平凡的函數(shù)依賴。完全函數(shù)依賴:在關(guān)系模式R(U)中,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X’,都有X’→/Y,則稱Y對(duì)X完全函數(shù)依賴。部分函數(shù)依賴:在關(guān)系模式R(U)中,若X→Y,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函數(shù)依賴。傳遞函數(shù)依賴:在關(guān)系模式R(U)中,如果X→Y,Y→/X,且Y?X,Y→Z,則稱Z傳遞函數(shù)依賴于X。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.3關(guān)系數(shù)據(jù)庫(kù)理論3.3.3范式1.第一范式如果關(guān)系中所有屬性域的值都是原子的(即不可再分的、簡(jiǎn)單的),則該關(guān)系屬于第一范式(1NF)。2.第二范式如果關(guān)系R屬于1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴于R的候選碼,則該關(guān)系R屬于第二范式(2NF)。、3.第三范式如果關(guān)系R屬于2NF,并且R中的非主屬性滿足兩個(gè)條件:相互獨(dú)立、函數(shù)依賴于主鍵。則關(guān)系R屬于第三范式,4.Boyce-Codd范式(BC范式)如果關(guān)系R<U,F(xiàn)>∈1NF,若X→Y且Y不是X的子集,則X必含有候選碼,那么R<U,F(xiàn)>∈BCNF。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.3關(guān)系數(shù)據(jù)庫(kù)理論3.3.4關(guān)系模式的規(guī)范化1.規(guī)范化規(guī)范化是把一組有異常的關(guān)系分解為更小的、結(jié)構(gòu)良好的關(guān)系的過程,這些關(guān)系應(yīng)該有最小的冗余。2.規(guī)范化如何應(yīng)用在數(shù)據(jù)庫(kù)中
主碼屬性列在前面,聯(lián)系集常常以相關(guān)實(shí)體集名稱的拼接來(lái)命名,能正確識(shí)別所有實(shí)體,規(guī)范化不是程度越高越好,對(duì)一些特定應(yīng)用,使用冗余可以提高性能。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.4數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)3.4.1概念模型向關(guān)系模型的轉(zhuǎn)換規(guī)則1.實(shí)體之間1:1的聯(lián)系,例如2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.4數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)3.4.1概念模型向關(guān)系模型的轉(zhuǎn)換規(guī)2.實(shí)體之間1:n的聯(lián)系,例如2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.4數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)3.4.1概念模型向關(guān)系模型的轉(zhuǎn)換規(guī)3.實(shí)體之間n:m的聯(lián)系,例如2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.4數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)3.4.2采用E-R模型圖方法的邏輯設(shè)計(jì)步驟2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.5圖書管理系統(tǒng)的邏輯模型設(shè)計(jì)(1)基本轉(zhuǎn)換。根據(jù)關(guān)系模式的轉(zhuǎn)換規(guī)則,首先將實(shí)體和聯(lián)系轉(zhuǎn)換為關(guān)系模式,轉(zhuǎn)換如下:1)圖書(書號(hào),書名,簡(jiǎn)介,作者,價(jià)格,數(shù)量,類型名稱)2)讀者(身份號(hào),姓名,聯(lián)系電話)3)圖書類型(類型名稱)4)(名稱,聯(lián)系人,聯(lián)系電話)5)購(gòu)買(名稱,書號(hào),購(gòu)買時(shí)間)6)借閱(身份號(hào),書號(hào),借書時(shí)間,還書時(shí)間,罰款額)。2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.5圖書管理系統(tǒng)的邏輯模型設(shè)計(jì)(1)基本轉(zhuǎn)換。根據(jù)關(guān)系模式的轉(zhuǎn)換規(guī)則,首先將實(shí)體和聯(lián)系轉(zhuǎn)換為關(guān)系模式,轉(zhuǎn)換如下:2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用3.5圖書管理系統(tǒng)的邏輯模型設(shè)計(jì)(2)優(yōu)化2/5/2023數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)2/5/2023
第4章MySQL數(shù)據(jù)庫(kù)環(huán)境
4.1MySQL簡(jiǎn)介MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由天才程序員MontyWidenius開發(fā)。在1996年發(fā)布了MySQL1.0版本,當(dāng)時(shí)還只是面向一小波人使用。2000年6月MySQL的第一個(gè)發(fā)行版本3.23,由瑞典的MySQLAB公司發(fā)行,2008年2月被SUN公司收購(gòu),2009年SUN又被Oracle公司收購(gòu),MySQL并入Oracle公司。Oracle負(fù)責(zé)MySQL后,對(duì)MySQL提出了企業(yè)版和社區(qū)版。其中,企業(yè)版提供MySQL監(jiān)控程序和技術(shù)支持并收費(fèi)。4.1MySQL簡(jiǎn)介MySQL之父MontyWidenius離開了Sun之后,發(fā)現(xiàn)MySQL現(xiàn)存問題。MySQL核心開發(fā)團(tuán)隊(duì)是封閉的,完全沒有Oracle之外的成員參加。并且MySQL新版本的發(fā)布速度,在Oracle收購(gòu)Sun之后大為減緩。于是MontyWidenius決定另開分支,這個(gè)分支的名字叫做MariaDB。目標(biāo)是提供一個(gè)由社區(qū)開發(fā)的、穩(wěn)定的、總是免費(fèi)的MySQL分支,在用戶級(jí)別上兼容主流版本。MontyProgram公司承諾MariaDB將會(huì)一直保持獨(dú)立和開源。目前MySQL是最受歡迎的開源SQL數(shù)據(jù)庫(kù)管理系統(tǒng),MySQL數(shù)據(jù)庫(kù)結(jié)構(gòu)被組織成針對(duì)速度優(yōu)化的物理文件。邏輯模型具有數(shù)據(jù)庫(kù),表,視圖,行和列等對(duì)象,可提供靈活的編程環(huán)境。MySQLServer最初開發(fā)用于處理大型數(shù)據(jù)庫(kù)的速度比現(xiàn)有解決方案快得多,并且已成功應(yīng)用于高要求的生產(chǎn)環(huán)境中數(shù)年。MySQLServer提供了豐富而有用的功能集。它的連接性,速度和安全性使MySQLServer非常適合訪問Internet上的數(shù)據(jù)庫(kù)。2/5/20234.2MySQL的安裝與配置MySQL的安裝文件可以在MySQL官網(wǎng)“/downloads/”,進(jìn)行版本選擇,并下載,如圖4.1所示。圖4.1MySQL社區(qū)版下載界面2/5/20234.2MySQL的安裝與配置MySQL服務(wù)提供多種不同的服務(wù)版本,有收費(fèi)版本和免費(fèi)版本,根據(jù)實(shí)際用途不同,按需選擇所需版本,各個(gè)版本之間的區(qū)別如下所示。(1)MySQLCommunityServer社區(qū)版本,開源免費(fèi),但不提供官方技術(shù)支持。(2)MySQLEnterpriseEdition企業(yè)版本,需付費(fèi),可以試用30天。(3)MySQLCluster集群版,開源免費(fèi)。(4)MySQLClusterCGE高級(jí)集群版,需付費(fèi)。在本章中選擇“MySQLCommunityServer”開源免費(fèi)版本進(jìn)行安裝。在選定MySQL的服務(wù)版本后,還需要確定要安裝的MySQLVersion,本章以MySQL5.6為例,介紹MySQL服務(wù)的安裝過程。在MySQL默認(rèn)下載頁(yè)面中,顯示的是最新的MySQL服務(wù)版本MySQL8.0,若想選擇以前的MySQL版本,可以在圖4.2所示的“LookingforpreviousGAversions”中選擇所需要的版本。2/5/20234.2MySQL的安裝與配置圖4.2MySQL服務(wù)版本選擇
4.2MySQL的安裝與配置
4.2.1Windows平臺(tái)下MySQL的安裝
4.2.2Linux平臺(tái)下MySQL的安裝
2/5/20234.2.1Windows平臺(tái)下MySQL的安裝如圖4.3所示,根據(jù)不同的操作系統(tǒng)平臺(tái),MySQL的安裝包又被細(xì)分為多個(gè)版本,本小節(jié)以windows平臺(tái)為例來(lái)說明。圖4.3MySQL平臺(tái)版本選擇2/5/20234.2.1Windows平臺(tái)下MySQL的安裝MySQL的安裝包分為解壓版本和msi的“WindowsInstaller”的數(shù)據(jù)包。MySQL的解壓縮版本需要進(jìn)行很多的配置選擇,在初次安裝使用時(shí),建議選擇“WindowsInstaller”的msi版本。本章所示安裝過程,即為“WindowsInstaller”的msi版本,如圖4.4所示。圖4.4windows版MySQL安裝包下載2/5/20234.2.1Windows平臺(tái)下MySQL的安裝單擊【Download】按鈕后,進(jìn)入如圖4.5所示的下載頁(yè)面,在這個(gè)頁(yè)面中,MySQL會(huì)邀請(qǐng)下載者登錄,或者注冊(cè)登錄。但是,這個(gè)過程并非強(qiáng)制性,如果沒有帳號(hào),或者不想注冊(cè),那么可以選擇頁(yè)面底部的“Nothanks,juststartmydownload”,直接開始下載。圖4.5MySQL安裝文件下載2/5/20234.2.1Windows平臺(tái)下MySQL的安裝下載完畢后,雙擊MySQL的安裝文件mysql-installer-community-.msi,會(huì)打開如圖4.6所示的對(duì)話框。當(dāng)準(zhǔn)備工作完畢后,會(huì)出現(xiàn)如圖4.7所示的“Findingallinstalledpachages”對(duì)話框。圖4.6mysql-installer-community-.msi啟動(dòng)頁(yè)面圖4.7安裝檢測(cè)頁(yè)面2/5/20234.2.1Windows平臺(tái)下MySQL的安裝稍等片刻后,就可以進(jìn)入如圖4.8所示的安裝界面,該界面要求安裝者閱讀MySQL的使用許可協(xié)議,并在閱讀后,勾選“Iacceptthelicenseterms”,此時(shí)【Next】按鈕可用,單擊【Next】按鈕,進(jìn)入如圖4.9所示界面。圖4.8MySQL安裝許可協(xié)議圖4.9選擇安裝類型在圖4.9所示的“ChoosingaSetupType”界面中,要求安裝者選擇要安裝的MySQL服務(wù)的類型,包括“DeveloperDefault”、“Serveronly”、“Clientonly”、“Full”、“Custom”五種。對(duì)于不同的安轉(zhuǎn)類型,安裝的組件內(nèi)容不同。其中,選擇“Full”,則會(huì)安裝MySQL的所有的服務(wù)組件,選擇“Serveronly”則僅僅會(huì)安裝MySQLServer組件等。在本章中,選擇“DeveloperDefault”的默認(rèn)安裝,該類型下已經(jīng)包含了本書所需的所有組件,如無(wú)特殊要求,直接選擇默認(rèn)安裝類型即可。單擊【Next】進(jìn)入環(huán)境依賴檢測(cè)頁(yè)面,如圖4.10所示。根據(jù)安裝者所使用的操作系統(tǒng)不同,以及目前系統(tǒng)中安裝過的環(huán)境不同,該界面的檢測(cè)結(jié)果不同。檢測(cè)出的一些所需環(huán)境,MySQL安裝包部分會(huì)給出直接修復(fù)方案。此時(shí),在圖4.10界面中,會(huì)有【Execute】按鈕,單擊該按鈕即可進(jìn)行自動(dòng)安裝這些可自動(dòng)修復(fù)環(huán)境。4.2.1Windows平臺(tái)下MySQL的安裝圖4.10安裝環(huán)境依賴檢測(cè)2/5/20234.2.1Windows平臺(tái)下MySQL的安裝還有一部分的以來(lái)環(huán)境需要手動(dòng)下載及安裝,如圖4.10所示的界面中,status顯示“Manual”結(jié)果的,即需要安裝者手動(dòng)解決,安裝文件的下載路徑,只需要單擊具體的“ForProduct”行,在界面中就會(huì)出現(xiàn),解決方案。根據(jù)實(shí)際安裝需求,并不是所有的以來(lái)環(huán)境都必須安裝。有些以來(lái)是不影響MySQL服務(wù)內(nèi)容的,可以選擇忽略。例如,本書中并不涉及到Excel、Python的相關(guān)開發(fā)內(nèi)容,對(duì)這些環(huán)境就進(jìn)行忽略。單擊【Next】后,會(huì)彈出如圖4.11所示的提示框。單擊【Yes】,進(jìn)入圖4.12所示界面。圖4.11環(huán)境依賴缺失提示框圖4.12MySQL安裝界面2/5/20234.2.1Windows平臺(tái)下MySQL的安裝在圖4.12所示界面中為MySQL各個(gè)組件的正式安裝界面。MySQL所需組件的安裝包需要聯(lián)網(wǎng)進(jìn)行下載。單擊界面中【Execute】按鈕后,MySQL組件安裝過程正式開始。當(dāng)全部組件下載完畢后,進(jìn)入圖4.13所示界面。單擊圖4.13中的【Next】按鈕,進(jìn)入如圖4.14所示產(chǎn)品配置界面。在這個(gè)安裝過程中,主要為三個(gè)組件進(jìn)行配置,分別是“MySQLServer”、“MySQLRouter”、“SamplesandExamples”。其中,“MySQLServer”是本書所要介紹的核心內(nèi)容,即MySQL數(shù)據(jù)庫(kù)服務(wù)功能的相關(guān)內(nèi)容。而MySQLRouter是為應(yīng)用程序和MySQL服務(wù)之間提供透明路由的輕量級(jí)中間件,是InnoDB集群的一部分。通過MySQLRouter來(lái)構(gòu)建高可用架構(gòu),可以簡(jiǎn)化應(yīng)用程序開發(fā),提高性能和可靠性。ExamplesandSamples是一些數(shù)據(jù)庫(kù)案例,在安裝好MySQL服務(wù)后,可以在數(shù)據(jù)庫(kù)服務(wù)端,查看到這些數(shù)據(jù)庫(kù)實(shí)例。圖4.13MySQL組件下載成功圖4.14組件配置提示框2/5/20234.2.1Windows平臺(tái)下MySQL的安裝單擊【Next】按鈕,進(jìn)入圖4.15所示的MySQLServer類型與網(wǎng)絡(luò)配置頁(yè)面,在該頁(yè)面中,需要配置當(dāng)前MySQL服務(wù)。首先是“ServerConfigurationType”中的“ConfigType”選項(xiàng),如下所示。(1)DevelopmentComputer,開發(fā)機(jī)器。該選項(xiàng)代表典型個(gè)人用桌面工作站。假定機(jī)器上運(yùn)行著多個(gè)桌面應(yīng)用程序。將MySQL服務(wù)器配置成使用最少的系統(tǒng)資源。(2)ServerMachine,服務(wù)器。該選項(xiàng)代表服務(wù)器,MySQL服務(wù)器可以同其它應(yīng)用程序一起運(yùn)行,例如FTP、email和web服務(wù)器。MySQL服務(wù)器配置成使用適當(dāng)比例的系統(tǒng)資源。(3)DedicatedMySQLServerMachine,專用MySQL服務(wù)器。該選項(xiàng)代表只運(yùn)行MySQL服務(wù)的服務(wù)器。假定運(yùn)行沒有運(yùn)行其它應(yīng)用程序。MySQL服務(wù)器配置成使用所有可用系統(tǒng)資源。作為初學(xué)者,建議選擇“DevelopmentComputer”選項(xiàng),這樣占用系統(tǒng)的資源比較少。本節(jié)選擇“DevelopmentComputer”。圖4.15MySQLserver類型與網(wǎng)絡(luò)配置2/5/20234.2.1Windows平臺(tái)下MySQL的安裝其次,是否啟用TCP/IP連接,設(shè)定端口,如果不啟用,就只能在自己的機(jī)器上訪問mysql數(shù)據(jù)庫(kù)了,本節(jié)這里選擇啟用,把前面的勾打上,服務(wù)端口設(shè)置為3306。還有一個(gè)關(guān)于防火墻的設(shè)置“Openfirewallportfornetworkaccess”需要選中,將MySQL服務(wù)的監(jiān)聽端口加為windows防火墻例外,避免防火墻阻斷。單擊【Next】繼續(xù)。單擊【Next】按鈕,進(jìn)入MySQLServer的賬戶配置頁(yè)面,如圖4.16所示。在該頁(yè)面中,安裝者需要設(shè)置MySQL服務(wù)器的“root”賬戶的登錄密碼。該處密碼,請(qǐng)讀者設(shè)置完畢后記好,因?yàn)楹笃趯?duì)MySQLServer的配置更改、賬戶管理、權(quán)限管理等操作,都需要使用root來(lái)處理。在界面下方的“MySQLUserAccounts”中,可以增加MySQLServer的其他訪問賬戶,安裝者可以在這里創(chuàng)建一個(gè)新的賬戶,縮小權(quán)限范圍,提高安全性,并使用該賬戶訪問MySQLServer。2/5/20234.2.1Windows平臺(tái)下MySQL的安裝單擊【AddUser】按鈕,即可打開如圖4.17所示的添加賬戶的對(duì)話框。在該對(duì)話框中,除了指定“Username”和“Password”,另外兩個(gè)比較重要的選項(xiàng)是“Host”和“Role”?!癏ost”是當(dāng)前增加的這個(gè)賬戶可以從哪里訪問這個(gè)MySQLServer,是只能在當(dāng)前MySQLServer安裝的機(jī)器上,即“l(fā)ocalhost”進(jìn)行訪問,還是允許遠(yuǎn)程訪問,在某個(gè)ip下進(jìn)行遠(yuǎn)程訪問,還是所有情況下,都可以連接這個(gè)MySQLServer進(jìn)行訪問。其中默認(rèn)的“<AllHost(%)>”就代表當(dāng)前增加的賬戶,可以在任何地址對(duì)MySQLServer進(jìn)行遠(yuǎn)程訪問?!癛ole”代表了當(dāng)前賬戶的角色,決定了當(dāng)前賬戶的權(quán)限。圖4.16MySQLServer賬戶配置界面2/5/20234.2.1Windows平臺(tái)下MySQL的安裝設(shè)置好用戶賬戶信息后,單擊【OK】,在“AccountsandRoles”配置頁(yè)面中,就可以看到增加了一個(gè)賬戶的信息,如圖4.18所示。圖4.17新建賬戶圖4.18MySQLServer賬戶信息設(shè)置成功2/5/20234.2.1Windows平臺(tái)下MySQL的安裝單擊【Next】按鈕,進(jìn)入Windows服務(wù)設(shè)置界面。MySQLServer作為Windows操作系統(tǒng)中一個(gè)系統(tǒng)服務(wù)而存在,可以通過Windows的服務(wù)管理界面進(jìn)行管理。所以需要將MySQLServer注冊(cè)到Windows操作系統(tǒng)中,如圖4.19所示。在這里需要勾選“ConfigureMySQLServerasaWindowsService”,該選項(xiàng)表明將MySQLServer配置為Windows操作系統(tǒng)下的服務(wù),給該服務(wù)起名,默認(rèn)名稱為“MySQL56”,該服務(wù)名稱可以根據(jù)實(shí)際需要,自行更改。另外,該MySQLServer是否需要隨著操作系統(tǒng)的啟動(dòng)而啟動(dòng)??梢怨催x“StarttheMySQLServeratSystemStartup”,讓MySQLServer在操作系統(tǒng)啟動(dòng)時(shí),自動(dòng)啟動(dòng)。2/5/20234.2.1Windows平臺(tái)下MySQL的安裝圖4.19Windows系統(tǒng)服務(wù)配置到此,MySQLServer所需的相關(guān)配置內(nèi)容,就已經(jīng)全部配置完畢。接下來(lái),需要單擊【Next】,以將上述的配置內(nèi)容,設(shè)置到MySQLServer中,即,正式執(zhí)行配置,如圖4.20所示。單擊【Execute】開始配置,配置完成后,會(huì)顯示如圖4.21所示配置成功界面。2/5/20234.2.1Windows平臺(tái)下MySQL的安裝圖4.20MySQLServer執(zhí)行配置圖4.21MySQLServer配置成功2/5/20234.2.1Windows平臺(tái)下MySQL的安裝MySQLServer配置完成后,單擊【Finish】按鈕,回到“ProductConfiguration”界面,準(zhǔn)備進(jìn)行后續(xù)的其他產(chǎn)品組件配置,包括MySQLRouter和MySQL數(shù)據(jù)庫(kù)案例包,如圖4.22所示。圖4.22MySQLRouter配置準(zhǔn)備2/5/20234.2.1Windows平臺(tái)下MySQL的安裝首先,進(jìn)行MySQLRouter的配置準(zhǔn)備,MySQLRouter并不是本書的重點(diǎn),該組件也可以在前期安裝的時(shí)候,選自定義安裝,而不選擇“Full”,或者我們現(xiàn)在選擇的開發(fā)版。所以,本節(jié)對(duì)于MySQLRouter的安轉(zhuǎn)該過程不做解釋,安裝者只需要按照默認(rèn)選項(xiàng),直接選擇【Next】進(jìn)入下一步,如圖4.23所示,MySQLrouer配置完畢。圖4.23MySQLRouter配置2/5/20234.2.1Windows平臺(tái)下MySQL的安裝單擊【Finish】按鈕,進(jìn)行MySQL數(shù)據(jù)庫(kù)案例的安裝,如圖4.24所示。MySQL數(shù)據(jù)庫(kù)案例安裝時(shí),需要確定當(dāng)前MySQLServer已經(jīng)正常安裝,并已經(jīng)啟動(dòng)。還需要設(shè)置能夠正常訪問這個(gè)MySQLServer的用戶名和密碼,并進(jìn)行測(cè)試連接,當(dāng)連接成功后,才能夠進(jìn)行后續(xù)的安裝過程,如圖4.25所示。圖4.24MySQL案例安裝準(zhǔn)備2/5/20234.2.1Windows平臺(tái)下MySQL的安裝選擇當(dāng)前系統(tǒng)中能夠進(jìn)行連接的MySQLServer的服務(wù),本節(jié)選擇“MySQLServer5.6..41”,即前面我們安裝的數(shù)據(jù)庫(kù)服務(wù),然后使用前面設(shè)置的root賬戶進(jìn)行登錄,輸入用戶名和密碼,如圖4.26所示。此時(shí),【Check】按鈕可用,單擊【Check】按鈕,會(huì)顯示連接結(jié)果,連接成功,單擊【Next】按鈕,即可進(jìn)入如圖4.27所示的安裝界面,單擊【Execute】按鈕,進(jìn)行安裝。圖4.25MySQLServer連接測(cè)試2/5/20234.2.1Windows平臺(tái)下MySQL的安裝安裝完成后,進(jìn)入如圖4.28所示界面,單擊【Finish】,至此,MySQL安裝過程中所需要的產(chǎn)品配置信息都已經(jīng)配置成功,單擊圖4.29中【Next】按鈕,完成所有安裝,如圖4.30所示,MySQL安裝成功。圖4.26MySQLServer連接測(cè)試成功圖4.27安裝案例庫(kù)2/5/20234.2.1Windows平臺(tái)下MySQL的安裝圖4.28案例庫(kù)安裝成功圖4.29MySQL產(chǎn)品配置完畢圖4.30MySQL安裝完成2/5/20234.2.1Windows平臺(tái)下MySQL的安裝單擊【Finish】按鈕,稍等片刻,打開MySQL連接客戶端MySQLWorkbench工具的主界面,如圖4.31所示,Windows平臺(tái)下的MySQL安裝成功。圖4.31MySQL
Workbench主界面2/5/20234.2.2Linux平臺(tái)下MySQL的安裝Mysql的Linux安裝方式一共有三種:(1)yum安裝,此種方式需要連接網(wǎng)絡(luò)進(jìn)行安裝,類似于安裝向?qū)В灰惭b成功,服務(wù)器運(yùn)行、客戶端連接都不會(huì)出現(xiàn)問題。(2)Glib安裝,此種方式通過命令行進(jìn)行安裝,并且需要進(jìn)行一些配置,如果配置出錯(cuò)可能會(huì)出現(xiàn)服務(wù)啟動(dòng)不了,或者客戶端連接不上等問題。(3)源碼安裝,這種安裝方式,比較適合MySQL的高階使用,安裝者可以自己選擇要安裝的組件,配置項(xiàng)比較多,出錯(cuò)的可能性很大。我們選擇glib的安裝方法進(jìn)行介紹,yum安裝方式請(qǐng)讀者自行查詢網(wǎng)絡(luò)知識(shí)進(jìn)行學(xué)習(xí)。以cenos7.3操作系統(tǒng)為例,演示MySQL在Linux平臺(tái)下的安裝流程。首先,下載Linux下的MySQL的glib安裝包。在安裝MySQL之前,需要先確認(rèn)在當(dāng)前的Linux操作系統(tǒng)中是否已經(jīng)安裝了MySQL服務(wù)。根據(jù)個(gè)人下載的操作系統(tǒng)的版本不同,可能會(huì)出現(xiàn)不同的情況。在cenos7操作系統(tǒng)中,默認(rèn)集成了MySQL的開源版本mariadb。mariadb的安裝將會(huì)影響本書中的MySQL5.6的安裝。所以,在進(jìn)行安裝之前,請(qǐng)讀者檢查自己的系統(tǒng)總是否存在MySQL服務(wù),或者mariadb服務(wù)。如果存在,請(qǐng)先完成卸載,再進(jìn)行安裝。2/5/20234.2.2Linux平臺(tái)下MySQL的安裝首先使用“yum”命令來(lái)檢測(cè),當(dāng)前Linux系統(tǒng)中是否已經(jīng)安裝了MySQL和mariadb,如圖4.32所示,輸入“yumlistinstalled|grepmysql”和“yumlistinstalled|grepmariadb”,查看檢測(cè)結(jié)果,在本系統(tǒng)中已經(jīng)包含有mariadb服務(wù)。使用當(dāng)前操作系統(tǒng)的root賬戶權(quán)限,將已經(jīng)存在的mariadb刪除,如圖4.33所示,使用命令“sudoyum-yremove已安裝的數(shù)據(jù)庫(kù)名稱”,刪除圖4.32所示的已存在的數(shù)據(jù)庫(kù)。圖4.32檢測(cè)centos系統(tǒng)中的數(shù)據(jù)庫(kù)安裝圖4.33刪除已存在的數(shù)據(jù)庫(kù)2/5/20234.2.2Linux平臺(tái)下MySQL的安裝刪除成功后,在使用“yumlistinstalled|grepmysql”和“yumlistinstalled|grepmariadb”確認(rèn)是否已經(jīng)刪除,如圖4.34所示,如果不再有結(jié)果顯示,證明已經(jīng)刪除成功。因?yàn)镸ySQL服務(wù)需要依賴libaio包,所以先要安裝libaio包,使用命令“yumsearchlibaio”檢索一下系統(tǒng)是否已經(jīng)安裝了libaio包,如圖4.35所示,本機(jī)安裝的centos7系統(tǒng)已經(jīng)帶有l(wèi)ibaio包,所以不需要安裝。如果,本機(jī)檢測(cè)沒有該包,則執(zhí)行命令“sudoyum-yinstalllibaio”進(jìn)行安裝即可。圖4.34檢驗(yàn)數(shù)據(jù)庫(kù)是否刪除成功過圖4.35檢索libaio包是否安裝2/5/20234.2.2Linux平臺(tái)下MySQL的安裝使用命令“tar-zvxfmysql-5.6.41-linux-glibc2.12-x86_64.tar.gz”,將已經(jīng)下載的MySQL安裝包,解壓縮到當(dāng)前文件夾中,如圖4.36所示。解壓完成的文件夾,可以拷貝到自己想要安裝的路徑下。本書將MySQL服務(wù)安裝到“/usr/local/mysql”路徑下,因?yàn)樵诋?dāng)前系統(tǒng)中并不存在該路徑。所以,首先使用root權(quán)限創(chuàng)建該路徑“sudomkdir/usr/local/mysql”,然后將解壓完成的文件夾拷貝到該路徑下,命令為“sudomvmysql-5.6.41-linux-glibc2.12-x86_64/usr/local/mysql”,如圖4.37所示。圖4.36MySQL的glibc安裝包解壓2/5/20234.2.2Linux平臺(tái)下MySQL的安裝圖4.37安裝包拷貝到安裝目錄當(dāng)前MySQL安裝文件夾名字過長(zhǎng),在后面進(jìn)行配置帶來(lái)不便。所以,在這里將這個(gè)文件夾的名字更名為“mysql56”,如圖4.38所示。圖4.38重命名安裝路徑為MySQL562/5/20234.2.2Linux平臺(tái)下MySQL的安裝MySQL服務(wù)器安裝成功后,其所有相關(guān)操作,包括啟動(dòng)、關(guān)閉、數(shù)據(jù)庫(kù)操作、日志操作等,都會(huì)使用Linux下的“mysql”賬戶,所以,需要在正式安裝配置MySQL之前,先創(chuàng)建“mysql”用戶以及用戶組,具體操作如圖4.39所示,命令如下:groupaddmysqluseradd-r-gmysqlmysql創(chuàng)建好用戶和用戶組,還需要通過“chown-Rmysql:mysql/usr/local/mysql/mysql56”命令,將“/usr/local.mysql/mysql56”的操作權(quán)限開放給“mysql”用戶,如圖4.40所示。圖4.39添加mysql用戶與用戶組2/5/20234.2.2Linux平臺(tái)下MySQL的安裝接下來(lái)進(jìn)入MySQL的安裝目錄“/usr/local/mysql/mysql56/support-files/”,將其中的文件“f”,拷貝至“/etc”文件夾下,命令如下:sudocp/usr/local/mysql/mysql56/support-files/f/etc/f然后,執(zhí)行“vi/etc/f”命令,打開“/etc/f”文件,在其中修改內(nèi)容如圖4.41所示,保存文件。圖4.40修改MySQL安裝路徑權(quán)限2/5/20234.2.2Linux平臺(tái)下MySQL的安裝圖4.41修改MySQL配置文件信息2/5/20234.2.2Linux平臺(tái)下MySQL的安裝MySQL的相關(guān)文件已經(jīng)配置完畢,接下來(lái)開始初始化MySQL服務(wù),在MySQL的安裝包的scripts文件夾中,有MySQL提供的初始化腳本“mysql_install_db”,執(zhí)行該腳本,并設(shè)置執(zhí)行參數(shù)如下:--user=mysql--basedir=/usr/local/mysql/mysql56--datadir=/usr/local/mysql/mysql56/data執(zhí)行方式如圖4.42所示。圖4.42初始化MySQL5.62/5/20234.2.2Linux平臺(tái)下MySQL的安裝至此,centos7操作系統(tǒng)下的MySQL已經(jīng)安裝、初始化完畢。接下來(lái)進(jìn)行一些系統(tǒng)設(shè)置,方便啟動(dòng)、管理MySQL服務(wù)。首先將MysQL的服務(wù)腳本“/usr/local/mysql/mysql56/support-files/mysql.server”拷貝至“/etc/rc.d/init.d”文件夾中,并更名為“mysqld”,然后給該文件設(shè)置為可執(zhí)行權(quán)限。并使用“chkconfig--addmysqld”命令,將mysqld設(shè)置為開啟啟動(dòng)項(xiàng),并使用命令“chkcinfig--listmysqld”檢查設(shè)置結(jié)果。具體操作命令如圖4.43所示。圖4.43設(shè)置MySQL的操作系統(tǒng)服務(wù)2/5/20234.2.2Linux平臺(tái)下MySQL的安裝系統(tǒng)配置成功后,即可啟動(dòng)MySQL服務(wù),使用命令“sudoservicemysqldstart”,啟動(dòng)MysQL服務(wù),啟動(dòng)成功后,將會(huì)出現(xiàn)“StatitingMySQL.SUCCESS!”提示,如圖4.44所示。MySQL服務(wù)已經(jīng)成功啟動(dòng),接下來(lái)可以對(duì)MySQL進(jìn)行訪問了。訪問MySQL服務(wù)器,需要使用“/usr/local/mysql/mysql56/bin/mysql”命令,為了能夠在任意路徑下,都能夠登錄mysql,即使用mysql命令,將“/usr/local/mysql/mysql56/bin/”配置到環(huán)境變量中。在“/etc/profile”文件末尾中增加如下內(nèi)容:PATH=$PATH:/usr/local/mysql/mysql56/binExportPATH如圖4.45所示,保存文件。圖4.44啟動(dòng)MySQL服務(wù)器圖4.45修改系統(tǒng)環(huán)境變量2/5/20234.2.2Linux平臺(tái)下MySQL的安裝執(zhí)行命令“source/etc/profile”,重新加載資源文件,讓剛才的配置文件生效。執(zhí)行“echo$PATH”,輸出環(huán)境變量,查看是否設(shè)置成功,如圖4.46所示。環(huán)境變量配置成功,在任意路徑下,執(zhí)行“mysql-uroot”,使用“root”賬戶登錄MySQL,初次登錄,不需要使用密碼,登錄后,請(qǐng)進(jìn)行密碼修改,如圖4.47所示。圖4.46重新加載環(huán)境變量圖4.47登錄MySQL
4.3MySQL的啟動(dòng)與關(guān)閉
4.3.1Windows平臺(tái)下MySQL的啟動(dòng)與關(guān)閉
4.3.2Linux平臺(tái)下MySQL的啟動(dòng)與關(guān)閉
2/5/20234.3.1Windows平臺(tái)下MySQL的啟動(dòng)與關(guān)閉在Windows平臺(tái)下,當(dāng)安裝好MySQL后,打開【服務(wù)】,就可以看到在4.2.1節(jié)中安裝好的MySQL5.6服務(wù)的運(yùn)行狀態(tài),如圖4.48所示。點(diǎn)擊鼠標(biāo)右鍵,可以看到如圖4.49所示的管理菜單,包括啟動(dòng)、停止、暫停、重新啟動(dòng)等操作。圖4.48查看MySQL服務(wù)狀態(tài)圖4.49MySQL服務(wù)管理2/5/20234.3.1Windows平臺(tái)下MySQL的啟動(dòng)與關(guān)閉當(dāng)MySQL成功啟動(dòng)后,可以通過如圖4.50所示MySQL客戶端,登錄訪問MySQL服務(wù)器。打開【程序】-->【MySQL】-->【MySQL5.6Command...】,如圖4.51所示,此時(shí)使用“root”賬戶進(jìn)行登錄,輸入“root”賬戶密碼后,即可訪問MySQL服務(wù)器。圖4.50MySQL客戶端程序圖4.51客戶端登錄MySQL2/5/20234.3.1Windows平臺(tái)下MySQL的啟動(dòng)與關(guān)閉如果需要通過其他賬戶登錄MySQL服務(wù)器,此時(shí)可以打開Windows操作系統(tǒng)的控制臺(tái),利用MySQL安裝包中的“mysql.exe”來(lái)登錄,該文件在“MySQL安裝根目錄\bin”下,控制臺(tái)進(jìn)入該目錄后,輸入命令“mysql-u用戶名-p”,即可進(jìn)行登錄,如圖4.52所示。圖4.52控制臺(tái)登錄MySQL2/5/20234.3.2Linux平臺(tái)下MySQL的啟動(dòng)與關(guān)閉如4.2.2節(jié)所示安裝過程,已經(jīng)將MySQL注冊(cè)為系統(tǒng)服務(wù),此時(shí)可以使用Linux的“service”命令來(lái)控制MySQL服務(wù)的啟動(dòng)與關(guān)閉。MySQL啟動(dòng)命令如下:servicemysqldstart;MySQL關(guān)閉命令如下:servicemysqldstop;因?yàn)橐呀?jīng)將MySQL安裝包下的bin目錄,配置到環(huán)境變量“path”中(如果windows操作系統(tǒng)也希望在任意路徑下,通過控制臺(tái)登錄MySQL,也可將bin目錄配置到環(huán)境變量path中),所以,在任意路徑下,輸入“mysql-u用戶名-p”進(jìn)行登錄,如圖4.47所示。
4.4MySQL客戶端對(duì)數(shù)據(jù)庫(kù)管理系統(tǒng)的訪問和操作,可以選擇通過命令行的形式進(jìn)行訪問和管理。但是,復(fù)雜的命令行操作,增大了數(shù)據(jù)庫(kù)維護(hù)和使用的成本,所以開發(fā)者設(shè)計(jì)并發(fā)布了很多款數(shù)據(jù)庫(kù)管理系統(tǒng)的圖形化訪問客戶端。例如,MySQLFront、Navigate,以及Oracle發(fā)布的MySQLWorkbench。本書主要使用MySQLWorkbench作為MySQL的客戶端訪問工具。
4.4MySQL客戶端
4.4.1MySQLWorkbench簡(jiǎn)介
4.4.2MySQLFront簡(jiǎn)介
4.4.3Navicat簡(jiǎn)介
2/5/20234.4.1MySQL
Workbench簡(jiǎn)介MySQLWorkbench是圖形化的數(shù)據(jù)庫(kù)設(shè)計(jì)工具,它在一個(gè)開發(fā)環(huán)境中集成了SQL的開發(fā),管理,數(shù)據(jù)庫(kù)設(shè)計(jì),創(chuàng)建以及維護(hù)。它還專為MySQL提供了ER/數(shù)據(jù)庫(kù)建模工具。MySQLWorkbench同時(shí)有開源和商業(yè)化的兩個(gè)版本,該軟件支持Windows、Linux、Mac操作系統(tǒng)。如圖4.53所示為MySQLWorkbench啟動(dòng)時(shí)的主界面。界面顯示了歡迎消息,并給出了“BrowseDocumentation”、“ReadtheBlog”和“DiscussontheForums”的鏈接。此外,主界面還提供了對(duì)MySQL連接,模型和MySQLWorkbench遷移向?qū)У目焖僭L問,如圖4.53所示。圖4.53MySQLWorkbench左側(cè)面板2/5/20234.4.1MySQL
Workbench簡(jiǎn)介如圖4.53所示,在MySQLworkbench的首頁(yè)側(cè)面板處,共有三個(gè)圖標(biāo)。其中顯示的是,通過MySQLworkbench建立的所有MySQL實(shí)例連接集合的視圖,初識(shí)安裝后,會(huì)在這個(gè)視圖中存在一個(gè)默認(rèn)的數(shù)據(jù)庫(kù)服務(wù)連接“LocalinstanceMySQLRouter”。大家可以將鼠標(biāo)移動(dòng)至該標(biāo)簽上,并單擊右上角的“翻頁(yè)”標(biāo)記,即可查看該數(shù)據(jù)庫(kù)連接實(shí)例的詳細(xì)信息,如圖4.54所示。圖4.54查看數(shù)據(jù)庫(kù)連接配置信息2/5/20234.4.1MySQL
Workbench簡(jiǎn)介這個(gè)連接的是本機(jī)上的MySQLServer,在該連接上點(diǎn)擊鼠標(biāo)右鍵,可以查看這個(gè)連接的配置信息,也可以對(duì)這些配置信息進(jìn)行更改,例如用戶名、密碼以及連接的名稱,如圖4.55所示。如果需要?jiǎng)?chuàng)建新的數(shù)據(jù)庫(kù)服務(wù)連接,選擇圖4.56中的【+】號(hào),此時(shí)會(huì)打開如圖4.57所示的,新建數(shù)據(jù)庫(kù)服務(wù)連接的向?qū)ы?yè)面,該頁(yè)面和數(shù)據(jù)庫(kù)服務(wù)連接編輯頁(yè)面相似,填寫完所有配置信息后,單擊【OK】按鈕,即可創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)服務(wù)連接。圖4.55數(shù)據(jù)庫(kù)連接操作2/5/20234.4.1MySQL
Workbench簡(jiǎn)介圖4.56新建數(shù)據(jù)庫(kù)連接圖4.57配置數(shù)據(jù)庫(kù)連接2/5/20234.4.1MySQL
Workbench簡(jiǎn)介如圖4.57所示,對(duì)話框中顯示了當(dāng)前連接的配置信息。其中,【ConnectionName】代表當(dāng)前這個(gè)實(shí)例連接的名稱,該名稱為用戶自行設(shè)置?!綡ostname】以及【Port】為當(dāng)前實(shí)例的IP地址或者域名,以及當(dāng)前連接的實(shí)例服務(wù)所占用的端口號(hào)?!綰sername】以及【Password】則是這個(gè)連接的實(shí)例登錄所使用的用戶名和密碼,密碼處有兩個(gè)按鈕,其中【Storeinvault...】單擊后會(huì)顯示如圖XX所示的密碼填寫的對(duì)話框,在這里可以設(shè)置及存儲(chǔ)這個(gè)用戶密碼?!綝efaultSchema】是用來(lái)設(shè)置當(dāng)前連接實(shí)例的默認(rèn)數(shù)據(jù)庫(kù)?!綯estConnection】可以幫助測(cè)試當(dāng)前數(shù)據(jù)庫(kù)服務(wù)的基本配置的正確性,單擊該按鈕,將會(huì)打開如圖4.58所示的密碼輸入框,輸入當(dāng)前連接用戶對(duì)應(yīng)的密碼后,就可以獲得測(cè)試結(jié)果,如圖4.59所示。圖4.58賬戶信息配置圖4.59連接測(cè)試結(jié)果2/5/20234.4.1MySQL
Workbench簡(jiǎn)介需要連接數(shù)據(jù)庫(kù)服務(wù)時(shí),請(qǐng)按照上述步驟,增加數(shù)據(jù)庫(kù)服務(wù)連接信息。然后鼠標(biāo)左鍵單擊這個(gè)連接實(shí)例標(biāo)簽,就可以看到如圖4.60所示的登錄對(duì)話框。如果在配置連接實(shí)例時(shí),沒有保存登錄密碼,那么,就需要按圖示填寫密碼,單擊【OK】登錄。圖4.60連接數(shù)據(jù)庫(kù)2/5/20234.4.1MySQL
Workbench簡(jiǎn)介登錄成功后,看到如圖4.61所示的數(shù)據(jù)庫(kù)服務(wù)管理界面。本節(jié)登錄的是,前面安裝好在本機(jī)上的MySQLServer服務(wù)器。在該界面左側(cè)面板上列出了兩部分內(nèi)容。分別是Navigator管理和Schema管理。圖4.61MySQLWorkbench側(cè)面板2/5/20234.4.1MySQL
Workbench簡(jiǎn)介單擊【ServerStatus】,可以看到如圖4.62所示的MySQL服務(wù)器連接狀態(tài),以及MySQL服務(wù)器的運(yùn)行狀態(tài)。圖4.62MySQL服務(wù)運(yùn)行狀態(tài)管理2/5/20234.4.1MySQL
Workbench簡(jiǎn)介單擊【Startup/Shutdown】按鈕,可以對(duì)當(dāng)前MySQL服務(wù)器進(jìn)行關(guān)閉或者啟動(dòng),如圖4.63所示。并且在界面下方會(huì)顯示,當(dāng)前MySQL服務(wù)器的啟動(dòng)日志信息。圖4.63MySQL服務(wù)器運(yùn)行管理2/5/20234.4.1MySQL
Workbench簡(jiǎn)介單擊【Dashboard】,打開數(shù)據(jù)庫(kù)運(yùn)行狀態(tài)的儀表盤,該部分類似于MySQL服務(wù)器的簡(jiǎn)單監(jiān)控器,通過這里可以看到MySQL服務(wù)器目前的一些運(yùn)行狀態(tài)。圖4.64MySQL監(jiān)控儀表盤2/5/20234.4.2MySQL
Front簡(jiǎn)介MySQL-Front是一款非常強(qiáng)大的MySQL管理工具,MySQL-Front擁有多文檔界面,語(yǔ)法突出和拖拽方式的數(shù)據(jù)庫(kù)及表格等。使用MySQL-Front可進(jìn)行編輯、增加、刪除域,還可以編輯、插入、刪除記錄,亦可顯示成員、執(zhí)行SQL腳本,提供與外程序接口,保存數(shù)據(jù)到csv文件等。如圖4.65所示,安裝MySQL-Front后,打開軟件。此時(shí),軟件會(huì)要求配置要連接的MySQL服務(wù)器的信息。在“server”輸入框中,輸入要連接的MySQL服務(wù)器的IP或者域名即可。圖4.65MySQL-Front主界面2/5/20234.4.2MySQL
Front簡(jiǎn)介打開“Login”標(biāo)簽,在該標(biāo)簽中需要輸入要連接的服務(wù)器的登錄用戶名和密碼,如圖4.66所示,輸入成功后,單擊【OK】。此時(shí)會(huì)顯示如題4.68所示的“OpenSession”對(duì)話框,選擇要連接的MySQL服務(wù)器“”,單擊【Open】,就可以登錄到MySQL服務(wù)器中,以圖形化界面方式操作MySQL服務(wù)器,如圖4.69所示。圖4.66配置登錄賬戶信息圖4.67配置數(shù)據(jù)庫(kù)服務(wù)信息2/5/20234.4.2MySQL
Front簡(jiǎn)介圖4.68打開服務(wù)器連接會(huì)話對(duì)話框圖4.69MySQL-Front訪問數(shù)據(jù)庫(kù)2/5/20234.4.3Navicat簡(jiǎn)介NavicatforMySQL是一款強(qiáng)大的MySQL數(shù)據(jù)庫(kù)管理和開發(fā)工具,它為專業(yè)開發(fā)者提供了一套強(qiáng)大的足夠尖端的工具,但對(duì)于新用戶仍然易于學(xué)習(xí)。NavicatforMySQL提供類似于MySQL的管理界面工具。此解決方案的出現(xiàn),將解放PHP、J2EE等程序員以及數(shù)據(jù)庫(kù)設(shè)計(jì)者、管理者的大腦,降低開發(fā)成本,為用戶帶來(lái)更高的開發(fā)效率。NavicatforMySQL安裝成功后,打開軟件,如圖4.70所示。圖4.70NavicatforMySQL主界面2/5/20234.4.3Navicat簡(jiǎn)介如圖4.71所示,選擇【文件】-->【新建連接】-->【MySQL】,打開圖4.72所示,MySQL服務(wù)器連接配置頁(yè)面。配置成功后,單擊【確定】按鈕,就可以通過NavicatforMySQL登錄到MySQL服務(wù)器,進(jìn)行相應(yīng)操作,如圖4.73所示。圖4.71創(chuàng)建數(shù)據(jù)庫(kù)連接圖4.72配置服務(wù)器連接圖4.73Navicat訪問MySQL服務(wù)器2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)2023/2/5數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)第5章數(shù)據(jù)庫(kù)創(chuàng)建與管理5.1創(chuàng)建數(shù)據(jù)庫(kù)
5.2修改數(shù)據(jù)庫(kù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《裝飾施工圖范例》課件
- 2023年水處理劑項(xiàng)目籌資方案
- 危險(xiǎn)廢物相關(guān)法律法規(guī)及規(guī)范化管理培訓(xùn) 課件
- 機(jī)械制圖測(cè)試題及參考答案
- 東莞市長(zhǎng)安實(shí)驗(yàn)中學(xué)2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷
- 養(yǎng)老院老人生活?yuàn)蕵吩O(shè)施管理制度
- 養(yǎng)老院老人健康監(jiān)測(cè)服務(wù)質(zhì)量管理制度
- 投資養(yǎng)殖合同(2篇)
- 2024年版:臨時(shí)建設(shè)設(shè)施買賣合同規(guī)范
- 2025年阿克蘇貨運(yùn)車從業(yè)考試題
- 水利工程建設(shè)匯報(bào)材料(通用3篇)
- 10篇罪犯矯治個(gè)案
- 中央企業(yè)商業(yè)秘密安全保護(hù)技術(shù)指引2015版
- 艾草種植基地建設(shè)項(xiàng)目可行性研究報(bào)告
- 專升本學(xué)英語(yǔ)心得體會(huì)范文英語(yǔ)專升本范文10篇(9篇)
- 安徽省水利工程資料表格
- 留守兒童一生一檔、聯(lián)系卡
- GB/T 2007.2-1987散裝礦產(chǎn)品取樣、制樣通則手工制樣方法
- GB/T 19068.1-2017小型風(fēng)力發(fā)電機(jī)組第1部分:技術(shù)條件
- GB/T 1354-2018大米
- GB/T 10322.5-2016鐵礦石交貨批水分含量的測(cè)定
評(píng)論
0/150
提交評(píng)論