版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)據(jù)庫基礎(chǔ)項目1項目1數(shù)據(jù)庫基礎(chǔ).pptx項目2MySQL基礎(chǔ).pptx項目3數(shù)據(jù)庫的基本操作.pptx項目4數(shù)據(jù)表的基本操作.pptx項目5圖形化管理工具.pptx項目6數(shù)據(jù)查詢SL修改.pptx項目7MySQL與SQL.pptx項目8MySQL索引與視圖.pptx項目9用戶權(quán)限.pptx項目10事務(wù)與存儲過程.pptx全套可編輯PPT課件【能力目標】掌握數(shù)據(jù)庫的發(fā)展階段和存儲結(jié)構(gòu)。掌握數(shù)據(jù)庫的設(shè)計方法。掌握數(shù)據(jù)模型的概念和分類?!舅仞B(yǎng)目標】培養(yǎng)科學(xué)思維方法,加強規(guī)范化意識,提升專業(yè)技能,提高創(chuàng)新思維能力。目標學(xué)習(xí)導(dǎo)航圖1-1項目1所講內(nèi)容在數(shù)據(jù)庫系統(tǒng)開發(fā)中的位置認識數(shù)據(jù)庫1.11.1.1了解數(shù)據(jù)庫的發(fā)展階段最早的計算機主要應(yīng)用于軍事和科學(xué)研究領(lǐng)域,隨著計算機理論研究的深入和計算機技術(shù)的發(fā)展,從20世紀50年代開始,計算機的主要應(yīng)用逐漸變?yōu)橐话愕臄?shù)據(jù)及事務(wù)處理。伴隨著這種轉(zhuǎn)變的逐漸深入,以數(shù)據(jù)處理為核心的數(shù)據(jù)庫技術(shù)隨之發(fā)展并成熟起來,成為計算機科學(xué)技術(shù)中應(yīng)用最為廣泛和最為重要的技術(shù)之一。所謂數(shù)據(jù)處理,就是從已有數(shù)據(jù)出發(fā),經(jīng)過適當(dāng)加工、處理得到新的所需數(shù)據(jù)的過程。數(shù)據(jù)處理一般分為數(shù)據(jù)計算和數(shù)據(jù)管理兩部分。數(shù)據(jù)計算相對簡單,數(shù)據(jù)管理卻比較復(fù)雜,是數(shù)據(jù)處理過程的主要內(nèi)容與核心部分。一般認為,數(shù)據(jù)管理主要是指數(shù)據(jù)的收集、整理、組織、存儲、維護、檢索和傳送等操作。從數(shù)據(jù)管理的角度來看,計算機數(shù)據(jù)處理技術(shù)經(jīng)歷了如下3個階段:人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段1.1.1了解數(shù)據(jù)庫的發(fā)展階段1.人工管理階段人工管理階段是計算機數(shù)據(jù)管理的初級階段,特征如下。(1)數(shù)據(jù)不保存由于主要用于科學(xué)計算,所以一般不需要將數(shù)據(jù)長期保存。計算某一課題時將數(shù)據(jù)輸入,計算完畢就將數(shù)據(jù)撤走,用戶提供的數(shù)據(jù)是如此處理的,系統(tǒng)軟件運行過程中產(chǎn)生的數(shù)據(jù)也是這樣處理的。(2)應(yīng)用程序管理數(shù)據(jù)由于沒有相應(yīng)軟件系統(tǒng)完成數(shù)據(jù)的管理工作,所以應(yīng)用程序不僅要規(guī)定好數(shù)據(jù)的邏輯結(jié)構(gòu),還要規(guī)定數(shù)據(jù)的存儲結(jié)構(gòu)、存取方法、輸入方式、地址分配等。(3)數(shù)據(jù)無共享數(shù)據(jù)是面向程序的,數(shù)據(jù)由應(yīng)用程序自行攜帶,一組數(shù)據(jù)只能對應(yīng)一個應(yīng)用程序,很難實現(xiàn)多個應(yīng)用程序共享數(shù)據(jù)資源,這就使應(yīng)用程序嚴重依賴數(shù)據(jù)。一個應(yīng)用程序攜帶的數(shù)據(jù),在應(yīng)用程序運行結(jié)束后就連同該應(yīng)用程序一起退出計算機系統(tǒng)。如果別的應(yīng)用程序想使用該應(yīng)用程序的數(shù)據(jù),則只能重新組織攜帶,因此應(yīng)用程序之間有大量的冗余數(shù)據(jù)。1.1.1了解數(shù)據(jù)庫的發(fā)展階段(4)數(shù)據(jù)不獨立由于應(yīng)用程序只負責(zé)管理數(shù)據(jù),所以數(shù)據(jù)與程序不具有獨立性。如果數(shù)據(jù)的類型、格式、存取方法或輸入/輸出方式等邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化,就必須對應(yīng)用程序做出相應(yīng)的修改,程序員負擔(dān)相當(dāng)重。人工管理階段應(yīng)用程序與數(shù)據(jù)集之間的對應(yīng)關(guān)系如圖1-2所示。圖1-2
人工管理階段應(yīng)用程序與數(shù)據(jù)集之間的對應(yīng)關(guān)系1.1.1了解數(shù)據(jù)庫的發(fā)展階段2.文件系統(tǒng)階段20世紀50年代后期至20世紀60年代中期,隨著計算機軟硬件的發(fā)展,出現(xiàn)了文件系統(tǒng),其負責(zé)對數(shù)據(jù)進行管理。(1)文件系統(tǒng)階段的特點①數(shù)據(jù)可以長期保存。數(shù)據(jù)以文件的形式存儲在計算機的直接存儲設(shè)備中,可長期保存并反復(fù)使用。用戶可隨時對文件進行查詢、修改、插入和刪除等操作。②由文件系統(tǒng)管理數(shù)據(jù)。由專門的軟件(即文件系統(tǒng))進行數(shù)據(jù)管理,文件系統(tǒng)把數(shù)據(jù)組織成相互獨立的數(shù)據(jù)文件,利用“按文件名訪問,按記錄進行存取”的管理技術(shù),提供了對文件進行打開與關(guān)閉、對記錄進行讀取和寫入的操作。程序員只需與文件名打交道,不必明確數(shù)據(jù)的物理存儲,大大減輕了程序員的負擔(dān)。1.1.1了解數(shù)據(jù)庫的發(fā)展階段(2)文件系統(tǒng)階段存在的問題文件系統(tǒng)階段對數(shù)據(jù)的管理有了巨大進步,但一些根本問題仍沒有徹底解決,具體如下。①數(shù)據(jù)共享性差,冗余度大。在文件系統(tǒng)中,一個(或一組)文件基本上對應(yīng)一個應(yīng)用程序,即文件仍然是面向應(yīng)用程序的。當(dāng)不同的應(yīng)用程序具有部分相同的數(shù)據(jù)時,也必須建立各自的文件,而不能共享相同的數(shù)據(jù),因此數(shù)據(jù)冗余度大,浪費存儲空間。②數(shù)據(jù)獨立性差。文件系統(tǒng)中的文件是為某一特定的應(yīng)用程序服務(wù)的,文件的邏輯結(jié)構(gòu)是針對具體的應(yīng)用程序來設(shè)計和優(yōu)化的,因此文件中的數(shù)據(jù)要再被一些新的應(yīng)用程序使用會很困難。1.1.1了解數(shù)據(jù)庫的發(fā)展階段③數(shù)據(jù)一致性差。由于相同數(shù)據(jù)的重復(fù)存儲、各自管理,在進行更新操作時,容易造成數(shù)據(jù)的不一致,給數(shù)據(jù)的修改和維護帶來困難。文件系統(tǒng)階段應(yīng)用程序與文件之間的對應(yīng)關(guān)系如圖1-3所示。圖1-3
文件系統(tǒng)階段應(yīng)用程序與文件之間的對應(yīng)關(guān)系1.1.1了解數(shù)據(jù)庫的發(fā)展階段3.?dāng)?shù)據(jù)庫系統(tǒng)階段20世紀60年代后期以來,計算機管理的對象規(guī)模越來越大,應(yīng)用范圍越來越廣泛,數(shù)據(jù)量急劇增加,同時,多種應(yīng)用、多種語言互相覆蓋的共享集合的需求越來越強烈。在這種背景下,將文件系統(tǒng)作為數(shù)據(jù)管理手段已經(jīng)不能滿足需求,為了解決多用戶、多應(yīng)用程序共享數(shù)據(jù)的要求,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)——數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS)。數(shù)據(jù)庫是長期存儲在計算機內(nèi)、有組織、可共享的大量數(shù)據(jù)的集合。它可以供不同用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨立性。DBMS在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一控制,以保證數(shù)據(jù)的安全性和完整性,并且在多用戶同時使用數(shù)據(jù)庫時可以進行并發(fā)控制,以及在發(fā)生故障后對數(shù)據(jù)庫進行恢復(fù)。1.1.1了解數(shù)據(jù)庫的發(fā)展階段(1)數(shù)據(jù)庫管理技術(shù)的突破數(shù)據(jù)庫管理技術(shù)進入新時代離不開里程碑式的技術(shù)突破,以下3件大事為數(shù)據(jù)庫技術(shù)的突破奠定了基礎(chǔ)。①1968年,美國IBM公司推出了世界上第一個基于層次模型的大型商用DBMS——信息管理系統(tǒng)(InformationManagementSystem,IMS)。②1969年,美國數(shù)據(jù)系統(tǒng)語言協(xié)會(ConferenceonDataSystemLanguage,CODASYL)下屬的數(shù)據(jù)庫任務(wù)組(DatabaseTaskGroup,DBTG)提出了基于網(wǎng)狀模型的數(shù)據(jù)庫任務(wù)組系統(tǒng)。③1970年,美國IBM公司的高級研究員科德(E.F.Codd)發(fā)表論文提出關(guān)系模型,此模型奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。(2)數(shù)據(jù)庫系統(tǒng)階段的特點與人工管理階段和文件系統(tǒng)階段相比,數(shù)據(jù)庫系統(tǒng)階段主要有如下特點。①數(shù)據(jù)高度結(jié)構(gòu)化。數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫系統(tǒng)與文件管理系統(tǒng)的根本區(qū)別。數(shù)據(jù)庫系統(tǒng)不僅會考慮數(shù)據(jù)項之間的聯(lián)系,還會考慮數(shù)據(jù)類型之間的聯(lián)系。在數(shù)據(jù)庫系統(tǒng)中,不僅數(shù)據(jù)內(nèi)部具有結(jié)構(gòu)化特征,數(shù)據(jù)整體也是結(jié)構(gòu)化的,即數(shù)據(jù)之間是有聯(lián)系的。1.1.1了解數(shù)據(jù)庫的發(fā)展階段②
數(shù)據(jù)的共享性高、冗余度小,易于擴充。。數(shù)據(jù)庫中的數(shù)據(jù)是高度共享的,數(shù)據(jù)不再只是面向某個單獨的應(yīng)用,是面向整個系統(tǒng)。也就是說,同一個用戶可以因不同的應(yīng)用目的訪問同一數(shù)據(jù);不同用戶可以同時訪問同一數(shù)據(jù),即“并發(fā)訪問”。③數(shù)據(jù)獨立性高。用戶只需關(guān)注數(shù)據(jù)庫名、數(shù)據(jù)文件名和文件中的屬性名等邏輯概念,而不用過多考慮數(shù)據(jù)的實際物理存儲,也就是不需要關(guān)心實際數(shù)據(jù)究竟存儲在磁盤的什么位置。更準確地說,數(shù)據(jù)庫系統(tǒng)同時具有物理獨立性與邏輯獨立性。物理獨立性是指改變數(shù)據(jù)庫物理結(jié)構(gòu)時不必修改現(xiàn)有的應(yīng)用程序。數(shù)據(jù)在磁盤上的存儲方式由DBMS管理,應(yīng)用程序無須了解,即當(dāng)數(shù)據(jù)的物理存儲方式改變時,應(yīng)用程序不用改變。邏輯獨立性是指邏輯數(shù)據(jù)獨立性,是指改變數(shù)據(jù)庫邏輯結(jié)構(gòu)時不用改變應(yīng)用程序。用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的,即當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,應(yīng)用程序可以不變。DBMS提供的二級映像功能保證了數(shù)據(jù)獨立性,相關(guān)內(nèi)容將在后面的項目中進行討論。1.1.1了解數(shù)據(jù)庫的發(fā)展階段④數(shù)據(jù)安全性和正確性高。數(shù)據(jù)庫的共享會為數(shù)據(jù)庫帶來安全隱患,并且數(shù)據(jù)庫的共享具有并發(fā)的特征,即多個用戶能夠同時對數(shù)據(jù)庫中的數(shù)據(jù)進行存取,甚至可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù),這可能會存在用戶操作相互干擾的隱患。因此,需要一組軟件提供相應(yīng)的工具對數(shù)據(jù)進行管理和控制,使用DBMS可以達到保證數(shù)據(jù)的安全性和正確性的基本要求。數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)庫之間的對應(yīng)關(guān)系如圖1-4所示。圖1-4
數(shù)據(jù)庫系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)庫之間的對應(yīng)關(guān)系
1.1.2熟悉數(shù)據(jù)庫的體系結(jié)構(gòu)1.?dāng)?shù)據(jù)庫的三級模式結(jié)構(gòu)數(shù)據(jù)庫的三級模式結(jié)構(gòu)是數(shù)據(jù)庫領(lǐng)域公認的標準數(shù)據(jù)庫體系結(jié)構(gòu),它包括模式、外模式和內(nèi)模式。三級模式結(jié)構(gòu)可以有效地組織和管理數(shù)據(jù),并使數(shù)據(jù)庫的邏輯獨立性和物理獨立性得到提高。數(shù)據(jù)庫的三級模式結(jié)構(gòu)如圖1-5所示。圖1-5
數(shù)據(jù)庫的三級模式結(jié)構(gòu)
1.1.2熟悉數(shù)據(jù)庫的體系結(jié)構(gòu)(1)模式模式又稱邏輯模式、概念模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它在數(shù)據(jù)庫三級模式結(jié)構(gòu)中處于中間層,既與數(shù)據(jù)的物理存儲具體位置和硬件環(huán)境無關(guān),也不涉及具體的應(yīng)用程序、所使用的應(yīng)用開發(fā)工具,以及高級程序設(shè)計語言。(2)外模式外模式又稱子模式或用戶模式,它是模式的一個子集,這個子集是被某些特定用戶所使用的。從這個角度看,外模式是面向用戶的。本質(zhì)上,外模式描述了應(yīng)用程序所使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征,是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)所看到的數(shù)據(jù)視圖。(3)內(nèi)模式內(nèi)模式又稱存儲模式,對應(yīng)于物理級。它是全體數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式,是數(shù)據(jù)庫最底層的邏輯描述。它記錄了數(shù)據(jù)在存儲介質(zhì)上的存儲方式(如順序存儲、按照B樹結(jié)構(gòu)存儲或按哈希方法存儲)、索引的組織方式、數(shù)據(jù)是否壓縮存儲、數(shù)據(jù)是否加密、數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定等,對應(yīng)著實際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。
1.1.2熟悉數(shù)據(jù)庫的體系結(jié)構(gòu)2.?dāng)?shù)據(jù)庫的二級映像與數(shù)據(jù)庫獨立性數(shù)據(jù)庫的三級模式是對數(shù)據(jù)的3個級別抽象。它把數(shù)據(jù)的具體組織(即物理模式)留給DBMS管理,使用戶無須關(guān)心數(shù)據(jù)在計算機內(nèi)部的存儲方式。同時,為了建立3個抽象級的聯(lián)系與轉(zhuǎn)換,使模式與外模式雖然并不存在于計算機的外存中,但也能通過轉(zhuǎn)換獲得其存在的實體,DBMS在這3個模式之間建立了二級映像:外模式/模式映像和模式/內(nèi)模式映像。(1)外模式/模式映像模式描述了數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述了數(shù)據(jù)的局部邏輯結(jié)構(gòu)。同一個模式可以存在任意多個外模式。每一個外模式都對應(yīng)一個外模式/模式映像,它定義了該外模式與模式之間的對應(yīng)關(guān)系,外模式的描述中通常包含了這些映像的定義。當(dāng)模式發(fā)生改變(如在原有記錄類型之間增加新的聯(lián)系、在某些記錄中增加新的數(shù)據(jù)項等)時,數(shù)據(jù)庫管理員可以通過改變有關(guān)的外模式/模式映像,使外模式保持不變。應(yīng)用程序是根據(jù)數(shù)據(jù)的外模式編寫的,因此應(yīng)用程序也無須發(fā)生改變,從而保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨立性,稱為數(shù)據(jù)的邏輯獨立性。
1.1.2熟悉數(shù)據(jù)庫的體系結(jié)構(gòu)(2)模式/內(nèi)模式映像數(shù)據(jù)庫中只有一個模式,也只有一個內(nèi)模式,所以一個數(shù)據(jù)庫只有唯一的模式/內(nèi)模式映像。它通常包含在模式的描述中,定義了數(shù)據(jù)的全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)發(fā)生改變時,數(shù)據(jù)庫管理員通過對模式/內(nèi)模式映像進行修改,可以使模式保持不變,從而使應(yīng)用程序也不用改變。這保證了數(shù)據(jù)與應(yīng)用程序的物理獨立性,稱為數(shù)據(jù)的物理獨立性。數(shù)據(jù)庫的二級映像通過保證數(shù)據(jù)的物理獨立性和邏輯獨立性,確保了數(shù)據(jù)庫外模式的穩(wěn)定性,也從底層確保了應(yīng)用程序的穩(wěn)定性。除非應(yīng)用需求本身發(fā)生變化,否則無須對應(yīng)用程序進行修改。數(shù)據(jù)庫的三級模式與二級映像實現(xiàn)了數(shù)據(jù)與應(yīng)用程序之間的獨立,使數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出來。另外,由于數(shù)據(jù)的存取由DBMS進行管理,因此用戶無須考慮存取路徑、方式等細節(jié),從而使應(yīng)用程序的編寫得到簡化,大大減輕了應(yīng)用程序維護人員的負擔(dān)。
1.1.3了解數(shù)據(jù)庫設(shè)計的方法及步驟
數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的技術(shù),在信息系統(tǒng)開發(fā)和建設(shè)中處于核心地位。具體來講,數(shù)據(jù)庫設(shè)計是指對于一個已知的應(yīng)用環(huán)境,構(gòu)造一個最優(yōu)的數(shù)據(jù)庫邏輯模式及物理結(jié)構(gòu),并在此基礎(chǔ)上建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使其可以有效地存儲數(shù)據(jù),滿足不同用戶的各種應(yīng)用需求。1.?dāng)?shù)據(jù)庫設(shè)計方法現(xiàn)實世界的復(fù)雜性導(dǎo)致了數(shù)據(jù)庫設(shè)計的復(fù)雜性。只有以科學(xué)的數(shù)據(jù)庫設(shè)計理論為基礎(chǔ),在具體的設(shè)計原則指導(dǎo)下,才能保證數(shù)據(jù)庫的設(shè)計質(zhì)量,減小后期維護的代價。邏輯數(shù)據(jù)庫設(shè)計是根據(jù)用戶需求和特定DBMS的具體特點,以數(shù)據(jù)庫設(shè)計理論為依據(jù),設(shè)計數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)和每個用戶的局部邏輯結(jié)構(gòu)。物理數(shù)據(jù)庫設(shè)計是在邏輯結(jié)構(gòu)確定之后,設(shè)計數(shù)據(jù)庫的存儲結(jié)構(gòu)及其他實現(xiàn)細節(jié)。著名的新奧爾良方法是目前公認的比較完整和權(quán)威的一種規(guī)范設(shè)計方法。它將數(shù)據(jù)庫設(shè)計分為4個階段:需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計除了上述方法,還有一些為數(shù)據(jù)庫設(shè)計不同階段提供的具體實現(xiàn)技術(shù)與方法,如基于實體-聯(lián)系(Entity-Relationship,E-R)模型的設(shè)計方法、基于3NF(第三范式)的設(shè)計方法和基于抽象語法規(guī)范的設(shè)計方法等。
1.1.3了解數(shù)據(jù)庫設(shè)計的方法及步驟2.?dāng)?shù)據(jù)庫設(shè)計步驟按照新奧爾良方法,數(shù)據(jù)庫設(shè)計的全過程主要分為需求分析、概念設(shè)計、邏輯設(shè)計和物理設(shè)計4個階段,如圖1-6所示。圖1-6數(shù)據(jù)庫設(shè)計的全過程
1.1.3了解數(shù)據(jù)庫設(shè)計的方法及步驟(1)需求分析進行數(shù)據(jù)庫設(shè)計前必須充分了解與分析用戶需求(包括數(shù)據(jù)與處理)。需求分析在整個設(shè)計過程中具有奠基石的地位,是最困難和最耗時間的一步。需求分析主要包括以下2個步驟。①收集、整理與分析。這一步主要是調(diào)查、收集、整理與分析用戶在數(shù)據(jù)管理中的信息需求、處理需求、安全性與完整性需求,主要方法包括:調(diào)查組織機構(gòu)情況、調(diào)查各部門的業(yè)務(wù)活動情況、協(xié)助用戶明確對新系統(tǒng)的各種需求、確定新系統(tǒng)的邊界等。②描述數(shù)據(jù)流圖與數(shù)據(jù)字典。完成收集并分析用戶需求后,還需對需求進行進一步表達。分析和表達用戶需求的常用方法為結(jié)構(gòu)化分析(StructuredAnalysis,SA)方法。SA方法從最上層的系統(tǒng)組織結(jié)構(gòu)入手,采用自頂向下、逐層分解的方式分析系統(tǒng),并描述數(shù)據(jù)的流向和數(shù)據(jù)的處理功能。除了數(shù)據(jù)流圖,還需使用數(shù)據(jù)字典(DataDictionary,DD)來集中描述系統(tǒng)中的各類數(shù)據(jù)。
1.1.3了解數(shù)據(jù)庫設(shè)計的方法及步驟(2)概念設(shè)計概念設(shè)計是數(shù)據(jù)庫設(shè)計中的關(guān)鍵步驟,它通過對用戶需求進行綜合分析、歸納與抽象,形成一個不依賴具體DBMS的概念數(shù)據(jù)模型,一般用E-R模型表示。對概念數(shù)據(jù)模型進行轉(zhuǎn)換,可以形成計算機上某個DBMS支持的邏輯數(shù)據(jù)模型。概念數(shù)據(jù)模型的特點如下。①具有較強的語義表達能力,能夠清晰表達應(yīng)用所包含的各種語義知識。②
簡潔明了、易于用戶理解,是數(shù)據(jù)庫設(shè)計人員與用戶之間溝通的橋梁。數(shù)據(jù)庫概念設(shè)計的基本方法將在1.3.1中重點介紹。(3)邏輯設(shè)計邏輯設(shè)計的任務(wù)是將E-R模型轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型(如關(guān)系模型,即基本表),并對其進行優(yōu)化。這個階段的模型設(shè)計需要考慮到DBMS本身的性能與特征,然后根據(jù)用戶的需求及安全性方面的考慮,在基本表(Table)的基礎(chǔ)上建立必要的視圖(View),形成數(shù)據(jù)庫的外模式。數(shù)據(jù)庫邏輯設(shè)計的基本方法將在任務(wù)1.3.2中重點介紹。
1.1.3了解數(shù)據(jù)庫設(shè)計的方法及步驟(4)物理設(shè)計物理設(shè)計主要是為邏輯結(jié)構(gòu)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。物理設(shè)計因DBMS的特點和處理的需求而異,大致流程是對邏輯設(shè)計的關(guān)系模型進行物理存儲安排,并設(shè)計用于實現(xiàn)高效數(shù)據(jù)訪問的索引,形成數(shù)據(jù)庫的內(nèi)模式。認識數(shù)據(jù)模型1.2
1.2.1了解數(shù)據(jù)模型的概念1.?dāng)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)用于描述數(shù)據(jù)庫系統(tǒng)的靜態(tài)特征,是數(shù)據(jù)庫研究的對象類型及對象之間聯(lián)系的集合。也就是說,數(shù)據(jù)結(jié)構(gòu)的組成部分有兩類:一類與數(shù)據(jù)對象的內(nèi)容、性質(zhì)、類型相關(guān),例如,學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫中的學(xué)生數(shù)據(jù)項特征,包括學(xué)號、姓名、班級等,以及各項特征的屬性、域、關(guān)系等;一類是數(shù)據(jù)對象之間的聯(lián)系,例如,一個學(xué)生可以選多門課、一門課可以被多個學(xué)生選擇,這種聯(lián)系也存在于數(shù)據(jù)庫系統(tǒng)中。這兩類組成部分概括如下。(1)數(shù)據(jù)對象本身:類型、內(nèi)容、性質(zhì),例如,關(guān)系模型中的域、屬性、關(guān)系等。(2)數(shù)據(jù)對象之間的聯(lián)系:數(shù)據(jù)之間是如何關(guān)聯(lián)的,例如,關(guān)系模型中的主鍵、外鍵等。在數(shù)據(jù)庫系統(tǒng)中,人們通常會按照其數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。例如,層次模型和關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)就分別是層次結(jié)構(gòu)和關(guān)系結(jié)構(gòu)。
1.2.1了解數(shù)據(jù)模型的概念2.?dāng)?shù)據(jù)操作數(shù)據(jù)操作用于描述數(shù)據(jù)庫系統(tǒng)的動態(tài)特征,是允許施加在數(shù)據(jù)對象上的操作的集合。對數(shù)據(jù)執(zhí)行的操作主要有檢索、插入、刪除和修改。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。3.?dāng)?shù)據(jù)的完整性約束數(shù)據(jù)的完整性約束是一組完整性規(guī)則的集合,規(guī)定數(shù)據(jù)庫狀態(tài)及狀態(tài)變化所應(yīng)滿足的條件,主要描述數(shù)據(jù)結(jié)構(gòu)內(nèi)數(shù)據(jù)間的語法、詞義聯(lián)系、制約和依存關(guān)系,以及數(shù)據(jù)動態(tài)變化的規(guī)則,以保證數(shù)據(jù)的正確、有效和相容。例如,關(guān)系模型中規(guī)定了一個數(shù)據(jù)記錄中必須有一個確定的關(guān)鍵字,并且不能為空。另外,數(shù)據(jù)模型還應(yīng)提供定義完整性約束條件的機制,以反映某個應(yīng)用涉及的數(shù)據(jù)必須遵守的特定現(xiàn)實條件,例如,在學(xué)生選課管理系統(tǒng)中,學(xué)生必須選擇所有必修科目。
1.2.2掌握數(shù)據(jù)模型在數(shù)據(jù)庫領(lǐng)域,數(shù)據(jù)模型按不同的應(yīng)用目的,主要分為3種類型:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。1.概念數(shù)據(jù)模型概念數(shù)據(jù)模型(ConceptualDataModel)也稱為概念模型,它按照用戶的觀點對數(shù)據(jù)和信息建模,是對現(xiàn)實世界的抽象反映。它使數(shù)據(jù)庫設(shè)計人員在設(shè)計的初始階段擺脫了計算機系統(tǒng)及DBMS的具體技術(shù)問題,能集中精力分析數(shù)據(jù)及數(shù)據(jù)之間的聯(lián)系等,不依賴于具體的計算機系統(tǒng),是現(xiàn)實世界到數(shù)據(jù)世界的中間層。概念數(shù)據(jù)模型主要用來完成數(shù)據(jù)庫設(shè)計,概念數(shù)據(jù)模型必須轉(zhuǎn)換成邏輯數(shù)據(jù)模型才能在DBMS中實現(xiàn)。描述概念數(shù)據(jù)模型的工具是E-R模型,主要包括實體、聯(lián)系和屬性3個基本概念。
1.2.2掌握數(shù)據(jù)模型(1)實體(Entity)實體可以是現(xiàn)實世界中可互相區(qū)別的事件或物體,也可以是抽象的概念或聯(lián)系。例如,學(xué)校中的每個人都是一個實體。每個實體由一組屬性來表示,其中一些屬性可以唯一地標識一個實體,如學(xué)號。與此類似,每一門課程也可以看作一個實體,而課程號唯一地標識了某個具體的課程實體。當(dāng)然,實體也可以是抽象的概念,如學(xué)生選課、機票預(yù)訂等。實體集是具有相同屬性的實體集合,而實例是實體集中的某個特例。實體集與實例舉例如圖1-7所示。圖1-7實體集與實例舉例
1.2.2掌握數(shù)據(jù)模型(2)聯(lián)系(Relationship)在客觀世界中,事物彼此之間是有聯(lián)系的。實體之間的聯(lián)系可以分為以下3類。①一對一聯(lián)系(1:1)。如果實體集E(1)中的每一個實體至多與實體集E(2)中的一個實體相對應(yīng),并且實體集E(2)中的每一個實體至多與實體集E(1)中的一個實體相對應(yīng),則稱實體集E(1)與實體集E(2)為一對一聯(lián)系,記作1:1。例如,電影院里一個座位只能坐一個觀眾,因此觀眾與座位之間是一對一聯(lián)系。②一對多聯(lián)系(1:n)。如果實體集E(1)中的一個實體與實體集E(2)中的多個實體相對應(yīng),并且實體集E(2)中的一個實體至多與實體集E(1)中的一個實體相對應(yīng),則稱實體集E(1)與實體集E(2)為一對多聯(lián)系,記作1:n。例如,一個系部有多位教師,而每位教師只屬于某一個系部,因此系部與教師之間是一對多聯(lián)系。
1.2.2掌握數(shù)據(jù)模型③多對多聯(lián)系(m:n)。如果實體集E(1)中的一個實體與實體集E(2)中的多個實體相對應(yīng),并且實體集E(2)中的一個實體與實體集E(1)中的多個實體相對應(yīng),則稱實體集E(1)與實體集E(2)為多對多聯(lián)系,記作m:n。例如,一個項目有多個職工,一個職工也可以參與多個項目,因此職工與項目之間是多對多聯(lián)系。實體間的聯(lián)系舉例如圖1-8所示。圖1-8實體間的聯(lián)系舉例
1.2.2掌握數(shù)據(jù)模型(3)屬性(Attribute)實體或聯(lián)系所具有的某方面特性被稱為屬性。一個實體可以由若干個屬性來描述。例如,學(xué)生實體可能有學(xué)號、姓名、專業(yè)、性別、出生日期等屬性;課程實體可能有課程號、課程名稱、開課學(xué)期、學(xué)時、學(xué)分等屬性??梢晕ㄒ淮_定一個實體的屬性(一個或多個)稱之為主鍵。聯(lián)系也可能有屬性。例如,學(xué)生與課程的聯(lián)系是“學(xué)習(xí)”,學(xué)生“學(xué)習(xí)”某門課程所獲取的“成績”同時依賴于某個特定的學(xué)生以及某門特定的課程,所以“成績”是學(xué)生與課程之間的聯(lián)系“學(xué)習(xí)”的屬性。概念數(shù)據(jù)模型有多種表示方法,其中最為常用的是陳品山(P.P.S.Chen)于1976年提出的實體-聯(lián)系(E-R)模型,也就是E-R圖,它提供了表示實體、屬性和聯(lián)系的方法。
1.2.2掌握數(shù)據(jù)模型①
實體:用矩形框表示,矩形框內(nèi)寫明實體名。②
屬性:用橢圓形框表示,并用無向邊將其與相應(yīng)的實體連接起來,確定為主鍵的屬性用添加下劃線的方式表示。聯(lián)系也是可以有屬性的。③
聯(lián)系:用菱形框表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與實體相連,同時注明聯(lián)系的類型(1:1、1:n或m:n)。學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的E-R模型如圖1-9所示。圖1-9學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的E-R模型
1.2.2掌握數(shù)據(jù)模型2.邏輯數(shù)據(jù)模型(1)層次模型層次模型的基本數(shù)據(jù)結(jié)構(gòu)就是層次結(jié)構(gòu)。由于在層次模型中,各類實體及實體間的聯(lián)系是用“有向樹”的數(shù)據(jù)結(jié)構(gòu)來表示的,所以也稱其為樹形結(jié)構(gòu)。大學(xué)系部的層次模型如圖1-10所示,系部就是“樹根”(根節(jié)點),系部下面的各辦公室就是“樹枝”(樹節(jié)點)。圖1-10大學(xué)系部的層次模型
1.2.2掌握數(shù)據(jù)模型(2)網(wǎng)狀模型網(wǎng)狀模型的基本數(shù)據(jù)結(jié)構(gòu)就是網(wǎng)絡(luò)結(jié)構(gòu)。網(wǎng)狀模型中的每個節(jié)點表示一個實體,節(jié)點之間的連線表示實體與實體之間的聯(lián)系,從而構(gòu)成一個復(fù)雜的網(wǎng)狀結(jié)構(gòu)。學(xué)生與課程的網(wǎng)狀模型如圖1-11所示。圖1-11學(xué)生與課程的網(wǎng)狀模型
1.2.2掌握數(shù)據(jù)模型(3)關(guān)系模型關(guān)系模型在邏輯數(shù)據(jù)模型中占據(jù)了最重要的地位。20世紀80年代以來,計算機廠商推出的DBMS幾乎都支持關(guān)系模型,數(shù)據(jù)庫領(lǐng)域當(dāng)前的研究方向也大都以關(guān)系模型為根基。每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)都是一張規(guī)范化的二維表,每張二維表都可以稱為關(guān)系,表中的每一行對應(yīng)一個元組或者一條記錄,表中的每一列對應(yīng)一個屬性或者一個字段。表1-1所示的課程信息表便是以二維表的形式來表示課程關(guān)系的。表1-1課程信息表
1.2.2掌握數(shù)據(jù)模型3.物理數(shù)據(jù)模型物理數(shù)據(jù)模型(PhysicalDataModel)簡稱物理模型,是面向計算機系統(tǒng)的物理表示模型,描述了系統(tǒng)內(nèi)部的表示方法和存取方法,或者在磁盤或磁帶上的存儲方式和存取方法。它不僅與具體的DBMS有關(guān),還與操作系統(tǒng)和硬件有關(guān)。設(shè)計人員在實現(xiàn)邏輯數(shù)據(jù)模型時都需選擇對應(yīng)的物理數(shù)據(jù)模型。要將現(xiàn)實世界中的客觀對象轉(zhuǎn)換為機器世界(計算機)能處理的數(shù)字信息,需要經(jīng)過抽象和數(shù)字化:先將現(xiàn)實世界的事物抽象成某一種信息結(jié)構(gòu),也就是信息世界的概念數(shù)據(jù)模型,這種概念數(shù)據(jù)模型與具體的計算機系統(tǒng)無關(guān),不是某一個DBMS支持的數(shù)據(jù)模型;接著,將信息世界的概念數(shù)據(jù)模型進行數(shù)字化,將其轉(zhuǎn)換為計算機上某一個DBMS支持的數(shù)據(jù)模型。這一過程如圖1-12所示。圖1-12現(xiàn)實世界的抽象過程設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫1.3
1.3.1設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫概念數(shù)據(jù)模型概念數(shù)據(jù)模型是在了解用戶的需求、用戶的業(yè)務(wù)領(lǐng)域及流程后,經(jīng)過分析和總結(jié),提煉出來的用以描述用戶業(yè)務(wù)需求的一些概念性內(nèi)容?,F(xiàn)以學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫為例,講解概念數(shù)據(jù)模型的設(shè)計過程。1.需求分析在進行概念數(shù)據(jù)模型設(shè)計前,需要充分了解與分析用戶需求。(1)繪制組織結(jié)構(gòu)圖。組織結(jié)構(gòu)是用戶業(yè)務(wù)流程與信息的載體,能為設(shè)計人員理解企業(yè)的業(yè)務(wù)、確定系統(tǒng)范圍提供幫助。學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的組織結(jié)構(gòu)圖如圖1-13所示。圖1-13學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的組織結(jié)構(gòu)圖
1.3.1設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫概念數(shù)據(jù)模型(2)繪制業(yè)務(wù)用例圖。收集資料,并對資料進行分析、整理,繪制出學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫業(yè)務(wù)用例圖,如圖1-14所示。(3)了解功能需求。對學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫中涉及的各部門進行調(diào)研,得到學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的功能需求如下。①
學(xué)籍管理功能:用于添加、修改、刪除學(xué)生信息。②教務(wù)管理功能:包含成績管理和課程管理兩個子功能,分別用于添加、修改、刪除成績和課程。圖1-14學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫業(yè)務(wù)用例圖
1.3.1設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫概念數(shù)據(jù)模型(4)生成數(shù)據(jù)字典。針對學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的功能需求,對學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫中涉及的各部門業(yè)務(wù)流程和數(shù)據(jù)流程進行分析,得到的數(shù)據(jù)項簡述如下。①學(xué)生信息:學(xué)號、姓名、專業(yè)、性別、出生日期、總學(xué)分、照片、備注。②課程信息:課程號、課程名稱、開課學(xué)期、學(xué)時、學(xué)分。③選課信息:學(xué)號、課程號、成績。
1.3.1設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫概念數(shù)據(jù)模型2.?dāng)?shù)據(jù)庫概念設(shè)計根據(jù)學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的需求分析,進行概念設(shè)計。(1)定義實體。實體集合的成員都有一個共同的特征和屬性集,可以從收集的源材料——基本數(shù)據(jù)資料表中直接或間接標識出大部分實體。根據(jù)源材料名字表中表示物的術(shù)語及以“代碼”結(jié)尾的術(shù)語,如客戶代碼、代理商代碼、產(chǎn)品代碼等,將其名詞部分代表的實體標識出來,從而初步找出潛在的實體,形成實體表。根據(jù)學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的需求分析,可知學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫中存在學(xué)生、課程兩個實體。(2)定義聯(lián)系。根據(jù)實際的業(yè)務(wù)需求、規(guī)則和實際情況確定實體聯(lián)系、聯(lián)系名和說明,確定聯(lián)系類型,即一對一、一對多或者多對多。根據(jù)需求分析可知,學(xué)生和課程之間存在選課的聯(lián)系。一名學(xué)生可以選修多門課程,一門課程可以被多名學(xué)生選修,那么學(xué)生和課程之間的選課聯(lián)系是多對多聯(lián)系,并且派生出成績作為聯(lián)系的屬性。
1.3.1設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫概念數(shù)據(jù)模型(3)定義主鍵。為已定義的實體標識候選鍵,以便唯一識別每個實體的實例,再從候選鍵中確定主鍵。為了確定主鍵和聯(lián)系的有效性,需要利用非空規(guī)則和非多值規(guī)則,即一個實體實例的主鍵不能是空值,也不能在同一個時刻有一個以上的值。根據(jù)需求分析,找出實體學(xué)生的主鍵為學(xué)號,實體課程的主鍵為課程號。(4)定義屬性。從源數(shù)據(jù)表中抽取說明性的名詞生成屬性表,確定屬性的所有者,定義非主鍵屬性,檢查屬性的非空及非多值規(guī)則。此外,還要檢查完全依賴函數(shù)規(guī)則和非傳遞依賴規(guī)則,保證一個非主鍵屬性必須依賴于整個主鍵且只依賴于主鍵。根據(jù)需求分析的數(shù)據(jù)字典可以得到實體學(xué)生有學(xué)號、姓名、性別、出生日期、專業(yè)等屬性,實體課程有課程號、課程名稱、學(xué)時和學(xué)分等屬性。(5)定義其他對象和規(guī)則。定義屬性的數(shù)據(jù)類型、長度、精度、非空、默認值和約束規(guī)則等。定義觸發(fā)器、存儲過程、視圖、角色、同義詞和序列等對象信息。(6)E-R模型設(shè)計。根據(jù)以上分析,學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的概念設(shè)計E-R模型如圖1-9所示。
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型完成概念數(shù)據(jù)模型設(shè)計后的關(guān)系模型設(shè)計的過程,其本質(zhì)就是E-R模型向關(guān)系模型的轉(zhuǎn)換。要解決的問題包括如何將實體和實體間的聯(lián)系轉(zhuǎn)換為關(guān)系模型,以及如何確定這些關(guān)系模型的屬性和鍵。下面介紹把E-R模型中實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模型的方法。1.實體(E)轉(zhuǎn)換為關(guān)系模式的方法實體轉(zhuǎn)換為關(guān)系模型時,實體的屬性就是關(guān)系的屬性,實體的主鍵就是關(guān)系的主鍵,E-R模型中有幾個實體就轉(zhuǎn)換為幾個關(guān)系模型。例如,將學(xué)生實體轉(zhuǎn)換為關(guān)系模型。實體學(xué)生:學(xué)生(學(xué)號,姓名,專業(yè),性別,出生日期,總學(xué)分,照片,備注)主鍵:學(xué)號關(guān)系模型:Student(S_ID,Name,Major,Sex,Birthday,Total_Credit,Photo,Note)PK:S_ID
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型2.聯(lián)系(R)轉(zhuǎn)換為關(guān)系模型的方法E-R模型向關(guān)系模型轉(zhuǎn)換時,除了要將實體轉(zhuǎn)換為關(guān)系模型,還需要將實體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模型。實體之間的聯(lián)系類型不同,轉(zhuǎn)換規(guī)則也不同。(1)一對一聯(lián)系將聯(lián)系與任意端實體對應(yīng)的關(guān)系模型合并,并加入另一端實體的主鍵和聯(lián)系本身的屬性。【例1-1】假設(shè)實體班級(班級號,班級名)與實體班主任(職工號,姓名,性別,職稱)之間的任職聯(lián)系是一對一聯(lián)系。E-R模型如圖1-15所示,試將其轉(zhuǎn)換為關(guān)系模型。圖1-15班主任任職E-R模型(一對一聯(lián)系)
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型實體班級(班級號,班級名)與實體班主任(職工號,姓名,性別,職稱)的聯(lián)系轉(zhuǎn)換后得到的關(guān)系模型如下。(2)一對多聯(lián)系將聯(lián)系與多端實體對應(yīng)的關(guān)系模型合并,并加入另一端實體的主鍵和聯(lián)系本身的屬性。Class(ClassID,ClassName)PK:ClassIDHead_Teacher(HireID,Name,Sex,Title)PK:HireID
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型【例1-2】實體班級與實體學(xué)生的聯(lián)系是一對多,E-R模型如圖1-16所示,試將其轉(zhuǎn)換為關(guān)系模型。圖1-16學(xué)生與班級E-R模型(1:n聯(lián)系)
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型實體班級(班級號,班級名)和實體學(xué)生(學(xué)號,姓名,專業(yè),性別,出生日期,總學(xué)分,照片,備注)的聯(lián)系轉(zhuǎn)換后得到的關(guān)系模型如下。由于班級與學(xué)生之間的聯(lián)系是一對多,將聯(lián)系的屬性班干部職位和一端的主鍵放在多端,故此E-R模型轉(zhuǎn)換后得到的關(guān)系模型如下。班級實體轉(zhuǎn)換后的關(guān)系模型不變。Class(ClassID,ClassName)PK:ClassIDStudent(S_ID,Name,Major,Sex,Birthday,Total_Credit,Photo,Note)PK:S_IDStudent(S_ID,Name,Major,Sex,Birthday,Total_Credit,Photo,Note,ClassID,Class_Leader)PK:S_ID
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型(3)多對多聯(lián)系將聯(lián)系轉(zhuǎn)換為一個關(guān)系模型。將聯(lián)系連接的各實體的主鍵和聯(lián)系本身的屬性轉(zhuǎn)換為關(guān)系模型的屬性?!纠?-3】實體教師和實體學(xué)生的聯(lián)系是多對多,E-R模型如圖1-17所示,試將其轉(zhuǎn)換為關(guān)系模型。圖1-17教師與學(xué)生E-R模型(多對多聯(lián)系)
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型實體教師(職工號,姓名,性別,職稱,教授科目)和實體學(xué)生(學(xué)號,姓名,專業(yè),性別,出生日期,總學(xué)分,照片,備注)之間的聯(lián)系是多對多,轉(zhuǎn)換后新增一關(guān)系“教授”(職工號,學(xué)號,評價),轉(zhuǎn)換后的關(guān)系模型如下。Teacher(HireID,Name,Sex,Title,Subject)PK:HireIDStudent(S_ID,Name,Major,Sex,Birthday,Total_Credit,Photo,Note)PK:S_IDTeach(HireID,S_ID,Evaluation)PK:HireID和S_ID
1.3.2設(shè)計學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫關(guān)系模型根據(jù)以上轉(zhuǎn)換原則,將學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫的E-R模型(圖1-15)轉(zhuǎn)換為關(guān)系模型時,應(yīng)采取多對多聯(lián)系對應(yīng)的轉(zhuǎn)換方式。也就是實體學(xué)生(學(xué)號,姓名,專業(yè),性別,出生日期,總學(xué)分,照片,備注)和實體課程(課程號,課程名稱,開課學(xué)期,學(xué)時,學(xué)分)之間的聯(lián)系是多對多,轉(zhuǎn)換后新增一個關(guān)系“選課”(學(xué)號,課程號,成績),轉(zhuǎn)換后的關(guān)系模型如下。Student(S_ID,Name,Major,Sex,Birthday,Total_Credit,Photo,Note,ClassID,Class_Leader)PK:S_IDCourse(C_ID,C_Name,Semester,Credit_Hour,Credit)PK:C_IDElective(S_ID,C_ID,Grade) PK:S_ID和C_ID要設(shè)計出完善、健壯的數(shù)據(jù)庫,在數(shù)據(jù)庫的分析、設(shè)計階段必須奠定好基礎(chǔ)。只有遵循規(guī)范化設(shè)計要求,才能設(shè)計出結(jié)構(gòu)合理的關(guān)系模型,為之后數(shù)據(jù)庫的構(gòu)建提供強有力的保障。素養(yǎng)小貼士【知識拓展】1.?dāng)?shù)據(jù)庫系統(tǒng)有哪些優(yōu)點?(1)數(shù)據(jù)共享數(shù)據(jù)共享是指多個用戶可以同時存取數(shù)據(jù)而不相互影響。數(shù)據(jù)共享包括3個方面:所有用戶可以同時存取數(shù)據(jù);數(shù)據(jù)庫不僅可以為當(dāng)前的用戶服務(wù),還可以為將來的新用戶服務(wù);可以使用多種語言實現(xiàn)與數(shù)據(jù)庫的交互。(2)減少數(shù)據(jù)冗余數(shù)據(jù)冗余就是數(shù)據(jù)重復(fù)。數(shù)據(jù)冗余既浪費存儲空間,又容易造成數(shù)據(jù)不一致。在非數(shù)據(jù)庫系統(tǒng)中,由于每個應(yīng)用程序都有自己的數(shù)據(jù)文件,所以存在著大量的重復(fù)數(shù)據(jù)。數(shù)據(jù)庫從全局來組織和存儲數(shù)據(jù),數(shù)據(jù)已經(jīng)根據(jù)特定的數(shù)據(jù)模型結(jié)構(gòu)化,在數(shù)據(jù)庫中,用戶的邏輯數(shù)據(jù)文件和具體的物理數(shù)據(jù)文件不必一一對應(yīng),從而有效地節(jié)省了存儲資源,減少了數(shù)據(jù)冗余,增強了數(shù)據(jù)的一致性。(3)具有較高的數(shù)據(jù)獨立性數(shù)據(jù)獨立是指數(shù)據(jù)與應(yīng)用程序之間彼此獨立,它們之間不存在相互依賴的關(guān)系。應(yīng)用程序不必隨數(shù)據(jù)存儲結(jié)構(gòu)的改變而變動,這是數(shù)據(jù)庫一個最明顯的優(yōu)點。在數(shù)據(jù)庫系統(tǒng)中,DBMS通過映像使應(yīng)用程序在數(shù)據(jù)的邏輯結(jié)構(gòu)與物理存儲結(jié)構(gòu)之間有較高的獨立性。數(shù)據(jù)庫的數(shù)據(jù)獨立包括兩個方面?!局R拓展】①物理獨立:數(shù)據(jù)的存儲格式和組織方法改變時,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不影響應(yīng)用程序。②邏輯獨立:數(shù)據(jù)庫邏輯結(jié)構(gòu)的變化(如數(shù)據(jù)定義的修改、數(shù)據(jù)間聯(lián)系的變更等)不影響用戶的應(yīng)用程序。數(shù)據(jù)獨立提高了數(shù)據(jù)處理系統(tǒng)的穩(wěn)定性,從而提高了程序維護的效率。(4)增強了數(shù)據(jù)安全性和完整性保護數(shù)據(jù)庫加入了安全保密機制,可以防止對數(shù)據(jù)的非法存取。實行集中控制保證了數(shù)據(jù)的完整性。數(shù)據(jù)庫系統(tǒng)采取了并發(fā)訪問控制,保證了數(shù)據(jù)的正確性。另外,數(shù)據(jù)庫系統(tǒng)還采取了一系列措施,實現(xiàn)了恢復(fù)被破壞的數(shù)據(jù)庫的功能?!局R拓展】2.關(guān)系模型有哪些改進方法?(1)合并關(guān)系模型對于一些使用較頻繁、性能要求較高、涉及多個關(guān)系連接的查詢,可以對具有相同主鍵的關(guān)系模型按查詢使用的頻率進行合并,以減少連接操作,提高查詢效率。(2)分解關(guān)系模型為提高數(shù)據(jù)操作的效率和存儲空間的利用率,可以考慮對關(guān)系模型進行分解。一般有水平分解和垂直分解兩種。例如,可以把一個學(xué)校的所有學(xué)生信息按照各個院系進行分解,分別建立關(guān)系模型。把關(guān)系的元組分為若干個子集合,每個子集合定義為一個關(guān)系,這就是水平分解。垂直分解即將關(guān)系模型的屬性分解成若干個子集合,形成若干個子關(guān)系模型,提高某些操作的效率?!拘〗Y(jié)】
本項目首先介紹了數(shù)據(jù)庫的3個發(fā)展階段、數(shù)據(jù)庫的三級模式結(jié)構(gòu)、數(shù)據(jù)庫的二級映像、數(shù)據(jù)庫的設(shè)計方法及步驟,然后介紹了數(shù)據(jù)模型概念,以及常用數(shù)據(jù)模型(包括概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型)。其中,概念數(shù)據(jù)模型和關(guān)系模型的設(shè)計方法需要重點掌握,在實際開發(fā)中常會用到?!救蝿?wù)訓(xùn)練1】設(shè)計圖書管理系統(tǒng)數(shù)據(jù)庫1.實驗?zāi)康?/p>
掌握圖書管理系統(tǒng)數(shù)據(jù)庫bms的E-R模型的設(shè)計。
?掌握將圖書管理系統(tǒng)數(shù)據(jù)庫bms的E-R模型向關(guān)系模型的轉(zhuǎn)換。2.實驗內(nèi)容完成本項目實例中E-R模型的設(shè)計。根據(jù)E-R模型,完成關(guān)系模式的轉(zhuǎn)換,并標明主鍵。3.實驗步驟(1)設(shè)計E-R模型
①定義實體。根據(jù)需求分析,找出實體。圖書管理系統(tǒng)數(shù)據(jù)庫中存在圖書和讀者兩個實體。
②定義聯(lián)系。根據(jù)需求分析,找出實體與實體之間的聯(lián)系。仔細分析可知,圖書和讀者之間存在借閱聯(lián)系。假設(shè)一位讀者可以借閱多本圖書,一本圖書可以被多位讀者借閱,那么讀者和圖書之間的借閱聯(lián)系是多對多,并且派生出借期、還期,以及是否在借作為聯(lián)系的屬性?!救蝿?wù)訓(xùn)練1】設(shè)計圖書管理系統(tǒng)數(shù)據(jù)庫
③定義主鍵。根據(jù)需求分析,找出實體的主鍵。實體圖書的主鍵為圖書編號,實體讀者的主鍵為讀者編號。
④定義屬性。根據(jù)需求分析,找出實體的屬性。根據(jù)數(shù)據(jù)字典可以得到實體圖書有圖書編號、圖書類型編號、書名、作者、定價、出版社、出版日期和數(shù)量等屬性,實體讀者有讀者編號、姓名、性別、年齡、電話和可借數(shù)量等屬性。
⑤E-R模型設(shè)計。根據(jù)以上分析,得到的圖書管理系統(tǒng)概念設(shè)計E-R模型如圖1-18所示。圖1-18圖書管理系統(tǒng)概念設(shè)計E-R模型【任務(wù)訓(xùn)練1】設(shè)計圖書管理系統(tǒng)數(shù)據(jù)庫(2)E-R模型轉(zhuǎn)換為關(guān)系模型①實體(E)轉(zhuǎn)換為關(guān)系模型。實體圖書(圖書編號,圖書類型編號,書名,作者,定價,出版社,出版日期,數(shù)量)轉(zhuǎn)換后得到的關(guān)系模型如下。實體讀者(讀者編號,姓名,性別,年齡,電話和可借數(shù)量)轉(zhuǎn)換后得到的關(guān)系模型如下。Book(Book_ID,Book_Category_ID,Book_Name,Author,Price,Press,Pubdate,Store)Reader(Card_ID,Name,Sex,Age,Tel,Balance)【任務(wù)訓(xùn)練1】設(shè)計圖書管理系統(tǒng)數(shù)據(jù)庫②聯(lián)系(R)轉(zhuǎn)換為關(guān)系模型。由于實體圖書(Book)與實體讀者(Reader)之間是多對多聯(lián)系,聯(lián)系的屬性包括借期(Borrow_Date)、還期(Return_Date),以及是否在借(Status),轉(zhuǎn)換為關(guān)系時,聯(lián)系轉(zhuǎn)換為一個關(guān)系模型,并且將聯(lián)系連接的各實體的主鍵(Book_ID和Card_ID)和聯(lián)系本身的屬性轉(zhuǎn)換為關(guān)系模型的屬性。新生成的實體借閱(Borrow)轉(zhuǎn)換后得到的關(guān)系模型如下。Borrow(Book_ID,Card_ID,Borrow_Date,Return_Date,Status)【思考與練習(xí)】一、填空題1.?dāng)?shù)據(jù)庫發(fā)展經(jīng)歷了
、
和
3個階段。2.在關(guān)系模型中,二維表的列代表
,二維表的行代表
。3.邏輯數(shù)據(jù)模型中的
模型占據(jù)了最重要的地位。4.E-R模型向關(guān)系模型的轉(zhuǎn)換分為
向關(guān)系模型轉(zhuǎn)換和
向關(guān)系模型轉(zhuǎn)換兩個步驟。5.?dāng)?shù)據(jù)庫設(shè)計主要包括
、
、
、
4個階段。二、選擇題1.下列4項中,不屬于數(shù)據(jù)庫系統(tǒng)階段特點的是()。A.?dāng)?shù)據(jù)共享性高 B.?dāng)?shù)據(jù)高度的構(gòu)比C.?dāng)?shù)據(jù)冗余度大 D.?dāng)?shù)據(jù)獨立性高2.描述概念數(shù)據(jù)模型的工具是()。A.層次模型 B.關(guān)系模型C.網(wǎng)狀模型 D.E-R模型【思考與練習(xí)】3.描述了應(yīng)用程序所使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的是()。A.內(nèi)模式 B.模式 C.外模式 D.中間模式4.下列數(shù)據(jù)映像中,可以保證數(shù)據(jù)的物理獨立性的是()。A.外模式/模式 B.外模式/內(nèi)模式C.模式/內(nèi)模式 D.外模式/概念模式5.()聯(lián)系類型需要將該聯(lián)系轉(zhuǎn)換為一個關(guān)系模型。A.1:1 B.1:n C.m:n D.0:16.下列4項中,描述數(shù)據(jù)庫系統(tǒng)動態(tài)特征的是()。A.?dāng)?shù)據(jù)結(jié)構(gòu) B.?dāng)?shù)據(jù)類型
C.?dāng)?shù)據(jù)操作 D.定義主鍵謝謝THANKSMySQL基礎(chǔ)項目2【能力目標】掌握MySQL的特性及安裝、配置方法。掌握MySQL的常用命令?!舅仞B(yǎng)目標】培養(yǎng)自學(xué)能力、溝通能力、團結(jié)協(xié)作能力、良好的職業(yè)素養(yǎng),規(guī)范使用數(shù)據(jù),規(guī)范編碼,提高代碼的可讀性。目標學(xué)習(xí)導(dǎo)航圖2-1項目2所講內(nèi)容在數(shù)據(jù)庫系統(tǒng)開發(fā)中的位置認識MySQL2.12.1認識MySQL了解MySQL的發(fā)展史MySQL是一種用C語言和C++編寫的DBMS,由瑞典公司MySQLAB創(chuàng)建。該公司由大衛(wèi)?艾克斯馬克(DavidAxmark)和艾倫?拉爾森(AllanLarsson)創(chuàng)立。艾克斯馬克和拉爾森于1994年開始開發(fā)MySQL軟件。MySQL的第一個版本出現(xiàn)在1995年5月23日。它最初是基于單用戶數(shù)據(jù)庫管理系統(tǒng)(miniSQL或mSQL)的索引順序訪問方法創(chuàng)建的,僅供個人使用。但創(chuàng)建者認為該語言太慢且不夠靈活,于是,他們創(chuàng)建了一個新的SQL接口,同時保留了與mSQL相同的程序編程接口(ApplicationProgrammingInterface,API)。通過使API與mSQL保持一致的方式,許多開發(fā)人員可以直接用MySQL代替古老的mSQL。安裝、配置與連接MySQL2.2
2.2.1安裝和配置MySQL在安裝過程中,Windows防火墻會彈出是否允許更改硬件等提示,單擊“是”按鈕即可。許多安全管理軟件會將MySQL等數(shù)據(jù)庫文件誤報成木馬程序,建議在安裝過程中關(guān)閉這些軟件,僅保留Windows防火墻即可。如果MySQL安裝失敗,則很有可能是重新安裝MySQL所導(dǎo)致的。在卸載MySQL時,要把之前的安裝目錄刪除掉(一般在“ProgramFiles”文件夾中);也要把MySQL的DATA目錄刪除(一般在用戶文件夾中)。在安裝MySQL8.0的過程中會遇到各種問題,可以通過自己分析思考、在網(wǎng)絡(luò)上需求幫助、和同學(xué)討論、咨詢老師等方式來解決問題,這能夠培養(yǎng)自學(xué)能力、溝通能力、團結(jié)協(xié)作能力等。素養(yǎng)小貼士
2.2.1安裝和配置MySQL下面以安裝MySQLInstaller8.0.13為例,具體安裝步驟如下。(1)進入SQLServer安裝界面雙擊MySQLInstaller8.0.13安裝文件夾中的安裝程序(MSI格式),會出現(xiàn)圖2-2所示的界面。勾選“Iacceptthelicenseterms”復(fù)選框,然后單擊“Next”按鈕。(2)選擇安裝方式選擇“Custom”(自定義)選項,然后單擊“Next”按鈕,如圖2-3所示。這樣做是為了將MySQL安裝到非系統(tǒng)盤,以合理使用硬盤資源。圖2-2許可證協(xié)議界面圖2-3選擇安裝方式界面
2.2.1安裝和配置MySQL(3)選擇安裝的軟件依次展開“MySQLServers”選項,直到出現(xiàn)“MySQLServer8.0.13-X64”選項,選中它,再單擊向右的箭頭,將其添加到右邊的列表框中;然后在右邊的列表框中單擊它,就會出現(xiàn)藍色的“AdvancedOptions”鏈接,如圖2-4所示。
(4)選擇安裝路徑單擊“AdvancedOptions”鏈接,彈出圖2-5所示的對話框。第一個文本框用于設(shè)置MySQL的安裝路徑,第二個文本框用于設(shè)置存放數(shù)據(jù)的路徑。建議將兩個路徑設(shè)置為非系統(tǒng)盤,以合理使用硬盤資源,并將兩個路徑分開,以便管理。文本框下出現(xiàn)的警告信息可以不用處理,單擊“OK”按鈕即可。圖2-4選擇安裝軟件界面圖2-5安裝路徑設(shè)置的對話框
2.2.1安裝和配置MySQL(5)處理路徑?jīng)_突設(shè)置好路徑之后,單擊“Next”按鈕,如果彈出圖2-6所示的對話框,則在確認路徑無誤的情況下,單擊“是”按鈕。(6)開始安裝完成以上設(shè)置之后,單擊“Execute”按鈕進行安裝,如圖2-7所示。圖2-6處理路徑?jīng)_突對話框圖2-7開始安裝界面
2.2.1安裝和配置MySQL(7)完成安裝安裝完成后,單擊“Next”按鈕,如圖2-8所示。(8)軟件配置單擊“Next”按鈕將自動進行軟件配置,如圖2-9所示。圖2-8完成安裝界面圖2-9軟件配置界面
2.2.1安裝和配置MySQL(9)集群搭建MySQL組復(fù)制(MySQLGroupReplication,MGR)是MySQL官方推出的一個全新的高可用與高擴展的解決方案,提供高可用、高擴展、高可靠(強一致性)的MySQL集群服務(wù)。MGR由多個實例節(jié)點共同組成一個數(shù)據(jù)庫集群,系統(tǒng)提交事務(wù)必須經(jīng)過半數(shù)以上節(jié)點的同意,方可提交。集群中的每個節(jié)點都維護一個數(shù)據(jù)庫狀態(tài)機,以保證節(jié)點間事務(wù)的一致性。此處選擇“StandloneMySQLServer/ClassicMySQLReplication”單選項,然后單擊“Next”按鈕,如圖2-10所示。圖2-10集群搭建界面
2.2.1安裝和配置MySQL(10)應(yīng)用類型選擇這一步MySQL提供了3種應(yīng)用類型,如圖2-11所示,3種應(yīng)用類型的區(qū)別如下。①DevelopmentComputer:開發(fā)機,該類型應(yīng)用將會使用最小內(nèi)存。②ServerComputer:服務(wù)器,該類型應(yīng)用將會使用中等大小的內(nèi)存。③DedicatedComputer:專用服務(wù)器,該類型應(yīng)用將使用當(dāng)前可用的最大內(nèi)存。一般選擇“DevelopmentComputer”就足夠使用了。圖2-11應(yīng)用類型選擇界面
2.2.1安裝和配置MySQL(11)身份驗證方式選擇這一步MySQL提供了兩種身份驗證類型,如圖2-12所示,這兩種身份驗證類型區(qū)別如下。①
UseStrongPasswordEncryptionforAuthentication(RECOMMENDED):使用強密碼加密進行身份驗證(已升級)。②
UseLegacyAuthenticationMethod(RetainMySQL5.xCompatibility):使用傳統(tǒng)身份驗證方法(保留MySQL5.x兼容性)。在這里選擇使用強密碼加密進行身份驗證。圖2-12身份驗證方式選擇界面
2.2.1安裝和配置MySQL(12)設(shè)置root用戶密碼建議設(shè)置不容易破解的密碼,并牢牢記住這個密碼,因為每次登錄MySQL服務(wù)器時都要進行密碼校驗。除了root用戶,還可以創(chuàng)建其他用戶,給予其訪問MySQL數(shù)據(jù)庫的權(quán)限。此外,還可以給用戶設(shè)置角色(Role),如數(shù)據(jù)庫管理員、數(shù)據(jù)庫設(shè)計者等。密碼設(shè)置界面如圖2-13所示。圖2-13設(shè)置root用戶密碼界面
2.2.1安裝和配置MySQL(13)配置Windows服務(wù)插件在圖2-14所示的界面可以設(shè)置Windows服務(wù)的名字以及是否在啟動Windows時就啟動MySQL服務(wù)器,一般保持默認選項即可,單擊“Next”按鈕。(14)應(yīng)用配置完成以上配置后,單擊“Execute”按鈕進行應(yīng)用,如圖2-15所示。圖2-14Windows服務(wù)插件配置界面圖2-15應(yīng)用配置界面
2.2.1安裝和配置MySQL(15)完成安裝單擊“Finish”按鈕完成安裝,如圖2-16所示。(16)登錄數(shù)據(jù)庫安裝完成后,在系統(tǒng)的“開始”菜單中會出現(xiàn)圖2-17所示的程序,打開其中一個。這時輸入安裝MySQL時設(shè)置的密碼,按“Enter”鍵,確認之后即可登錄到數(shù)據(jù)庫的命令行管理界面,接下來就可以開始對數(shù)據(jù)庫進行操作了,如圖2-18所示。圖2-16完成安裝界面圖2-17“開始”菜單中的程序圖2-18命令行管理界面
2.2.1安裝和配置MySQL(17)退出數(shù)據(jù)庫在命令行管理界面中輸入EXIT命令,即可退出MySQL,如圖2-19所示。圖2-19退出MySQL
2.2.2安裝Workbench接下來介紹Workbench的安裝步驟,以便數(shù)據(jù)庫設(shè)計者進行數(shù)據(jù)庫的可視化設(shè)計、模型建立,以及數(shù)據(jù)庫管理。(1)在“開始”菜單中找到MySQL配置文件,選擇“MySQLInstaller-Community”命令。(2)單擊“Add”按鈕添加Workbench產(chǎn)品,如圖2-20所示。(3)選擇安裝軟件。依次展開“Applications”選項,直到出現(xiàn)“MySQLWorkbench8.0.13-X64”選項。選中該選項,再單擊向右的箭頭,將其添加到右邊的列表框中,然后在右邊的列表框中單擊它,出現(xiàn)藍色的“AdvancedOptions”鏈接,如圖2-21所示。圖2-20Workbench產(chǎn)品添加界面圖2-21Workbench產(chǎn)品選擇界面
2.2.2安裝Workbench(4)選擇安裝路徑。單擊“AdvancedOptions”鏈接,在彈出的對話框中設(shè)置安裝路徑。路徑文本框下出現(xiàn)的警告信息可以不用處理,單擊“OK”按鈕即可,如圖2-22所示。(5)處理路徑?jīng)_突。選好路徑之后單擊“Next”按鈕,如果彈出圖2-23所示的對話框,則在確認路徑無誤的情況下,單擊“是”按鈕。圖2-22Workbench安裝路徑選擇界面圖2-23Workbench路徑?jīng)_突處理對話框
2.2.2安裝Workbench(6)開始安裝。完成以上設(shè)置之后,單擊“Execute”按鈕進行安裝,如圖2-24所示。(7)完成安裝。安裝完成后,單擊“Next”按鈕,如圖2-25所示。(8)完成后啟動。成功完成Workbench的安裝后,出現(xiàn)圖2-26所示的界面,勾選“StartMySQLWorkbenchafterSetup”復(fù)選框并單擊“Finish”按鈕,打開Workbench工作界面。圖2-24Workbench開始安裝界面圖2-25Workbench完成安裝界面圖2-26Workbench安裝成功界面
2.2.2安裝Workbench(9)連接MySQL數(shù)據(jù)庫。在打開的Workbench軟件界面中輸入設(shè)置好的root用戶密碼,就可以使用Workbench連接MySQL數(shù)據(jù)庫了,如圖2-27所示。圖2-27連接MySQL數(shù)據(jù)庫界面認識MySQL的常用命令2.3
2.3認識MySQL的常用命令1.MySQL命令語法說明MySQL命令不區(qū)分大小寫,MySQL命令語法說明如下。①“[]”中的內(nèi)容表示可以省略,省略時系統(tǒng)取默認值。②“{}[,…,n]”表示花括號中的內(nèi)容可以重復(fù)書寫n次,必須用逗號隔開。③“|”表示與其相鄰的前后兩項只能任取一項。④每條語句以“;”結(jié)束。⑤一條語句可分成多行書寫,但多條語句不允許寫在一行。⑥關(guān)鍵字不能縮寫,也不能分行寫。2.登錄MySQL數(shù)據(jù)庫進入命令行界面,輸入以下命令進入MySQL可執(zhí)行程序目錄。輸入以下命令,輸入用戶名和密碼登錄數(shù)據(jù)庫。C:\...>cdC:\ProgramFiles\MySQL\MySQLServer8.0\binC:\ProgramFiles\MySQL\MySQLServer8.0\bin>mysql-uroot-p
2.3認識MySQL的常用命令其中,-u表示輸入用戶名為root,-p表示需要輸入密碼才登錄。按“Enter”鍵后,輸入之前安裝時設(shè)置的密碼。登錄成功后命令行界面會顯示圖2-28所示的歡迎信息。Enterpassword:******圖2-28歡迎信息
2.3認識MySQL的常用命令3.退出MySQL進入MySQL命令行界面以后,如果想退出,則可以使用如下幾個命令。使用EXIT命令退出MySQL,操作結(jié)果如圖2-29所示。EXIT;QUIT;\Q;圖2-29使用EXIT命令退出MySQL
2.3認識MySQL的常用命令4.添加MySQL注釋為了增強MySQL語句的可讀性,可以在某些語句后添加注釋,MySQL中的注釋格式有以下3種。使用“#注釋內(nèi)容”和“--注釋內(nèi)容”都是單行注釋,注意“--”后面有空格。使用“/*注釋內(nèi)容*/”可以多行注釋。#...--.../*...*/注釋對閱讀代碼很有用,主要用來向用戶或程序員提示或介紹程序的功能及作用。在寫注釋時要規(guī)范,遵循行業(yè)標準,養(yǎng)成良好的職業(yè)素養(yǎng),這樣編寫的代碼會有更高的可讀性。素養(yǎng)小貼士...表示注釋的文本內(nèi)容;在使用--...格式進行注釋時,需要在--和注釋內(nèi)容之間加一個空格。注意
2.3認識MySQL的常用命令5.修改root用戶密碼修改root用戶密碼時,使用更新命令對密碼進行修改,命令如下。6.?dāng)?shù)據(jù)備份和還原在操作數(shù)據(jù)庫的過程中,為了確保數(shù)據(jù)的安全,以及避免意外操作造成數(shù)據(jù)損壞和丟失,需要定期對數(shù)據(jù)庫進行備份。當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)損壞或丟失時,可以使用備份的數(shù)據(jù)庫進行還原,從而最大限度地降低損失。(1)數(shù)據(jù)備份數(shù)據(jù)備份就是制作數(shù)據(jù)庫對象、對象和數(shù)據(jù)的副本,以便當(dāng)數(shù)據(jù)庫遭到破壞時,能夠還原數(shù)據(jù)庫。mysqldump是MySQL自帶的邏輯備份工具,可以實現(xiàn)數(shù)據(jù)備份。使用mysqldump命令可以備份單個數(shù)據(jù)庫、數(shù)據(jù)庫中的某張表、多個數(shù)據(jù)庫和所有數(shù)據(jù)庫,可以根據(jù)需求調(diào)整備份的范圍,各備份命令如下。alteruser'root'@'localhost'identifiedby'******';新版本MySQL(8.0以上)不支持使用mysqladmin-uroot-p命令對用戶密碼進行修改。注意
2.3認識MySQL的常用命令mysqldump-uroot-hhost-pdbname>backname.sql#備份整個數(shù)據(jù)庫(包含表結(jié)構(gòu)和數(shù)據(jù))mysqldump-uroot-hhost-pdbnametbname1,tbname2>backname.sql#備份數(shù)據(jù)庫中的某張表mysqldump-uroot-hhost-p--databasesdbname1,dbname2>backname.sql#備份多個數(shù)據(jù)庫mysqldump-uroot-hhost-p--all-databases>backname.sql#備份系統(tǒng)中的所有數(shù)據(jù)庫
2.3認識MySQL的常用命令(2)數(shù)據(jù)還原數(shù)據(jù)還原就是將數(shù)據(jù)庫備份加載到系統(tǒng)中,注意這里還原的是數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫是不能還原的。所以,在進行數(shù)據(jù)還原時,首先要創(chuàng)建數(shù)據(jù)庫,再將備份的數(shù)據(jù)還原到數(shù)據(jù)庫中。數(shù)據(jù)還原的命令如下。mysqladmin-uroot-pcreatedbname#創(chuàng)建數(shù)據(jù)庫mysql-uroot-pdbname<backname.sql#還原數(shù)據(jù)數(shù)據(jù)資源已成為國家、企業(yè)、個體的重要資源,所以在數(shù)據(jù)庫的操作過程中應(yīng)注重數(shù)據(jù)的及時、多次備份習(xí)慣,規(guī)范使用數(shù)據(jù)并遵守互聯(lián)網(wǎng)行為規(guī)范。素養(yǎng)小貼士【知識拓展】1.MySQL8.0和之前版本相比,有哪些功能更新?(1)數(shù)據(jù)字典的變更MySQL8.0將數(shù)據(jù)庫元信息都存放于InnoDB存儲引擎表中,在之前版本的MySQL中,數(shù)據(jù)字典不僅存放于特定的存儲引擎表中,還存放于元數(shù)據(jù)文件、非事務(wù)性存儲引擎表中。數(shù)據(jù)字典是不可見的,不會被SHOWTABLES、INFORMATION_SCHEMA.TABLES顯示出來。不過可以通過INFORMATION_SCHEMA庫中的一些視圖進行查詢。當(dāng)通過INFORMATION_SCHEMA查詢表統(tǒng)計信息時,默認使用緩存的表統(tǒng)計信息,速度會很快。而在MySQL8.0以前,由于數(shù)據(jù)字典部分還存放于元數(shù)據(jù)文件中,例如,讀取數(shù)據(jù)庫表結(jié)構(gòu)信息,底層其實是通過讀取FRM文件來獲得的,讀取速度相對較慢?!局R拓展】(2)配置變更分區(qū)功能由存儲引擎自己處理,MySQL服務(wù)器不再處理分區(qū),只有InnoDB和NDB引擎支持分區(qū)功能。MySQL8.0.11之后,啟動MySQL服務(wù)器時,lower_case_table_names的設(shè)置必須和初始化時一樣,因為各種數(shù)據(jù)字典表字段使用的歸類是基于初始化時的lower_case_table_names設(shè)置的,并且使用不同的設(shè)置重新啟動MySQL會導(dǎo)致標識符排序和比較的不一致。(3)SQL變更從MySQL8.0.13開始,刪除了GROUPBY子句不推薦使用的ASC或DESC子句。先前依賴于GROUPBY排序的查詢所產(chǎn)生的結(jié)果可能與以前的MySQL版本不同,要產(chǎn)生給定的排列順序,需要寫ORDERBY子句。保留關(guān)鍵字發(fā)生了一些變化:有些關(guān)鍵字可能在MySQL8.0以前可以使用,在MySQL8.0之后不可以使用?!局R拓展】2.Workbench的主要使用特征有哪些?①Workbench是一款專為MySQL設(shè)計的ER和數(shù)據(jù)庫建模工具,是一款集成化桌面軟件,也是下一代可視化數(shù)據(jù)庫設(shè)計、管理的工具。它同時有開源和商業(yè)化兩個版本。該軟件支持Windows和Linux系統(tǒng)。②Workbench是可視化數(shù)據(jù)庫設(shè)計軟件,它有助于創(chuàng)建新的物理數(shù)據(jù)模型,并通過反向或正向工程和變更管理功能修改現(xiàn)有的MySQL數(shù)據(jù)庫,還支持構(gòu)成數(shù)據(jù)庫的所有對象,如表、視圖、存儲過程、觸發(fā)器等。同時,它也可以用于執(zhí)行通常需要花費大量時間、難以變更和管理的文檔任務(wù)。【小結(jié)】本項目首先介紹了MySQL的安裝和配置,然后介紹了Workbench的安裝,最后介紹了MySQL的常用命令。其中,MySQL的安裝和配置流程較煩瑣,需要重點掌握?!救蝿?wù)訓(xùn)練2】熟悉和安裝MySQL8.01.實驗?zāi)康?/p>
掌握安裝MySQL8.0的全過程。?掌握登錄和退出MySQL8.0的方法。2.實驗內(nèi)容安裝MySQL8.0。使用MySQL8.0CommandLineClient界面登錄和退出數(shù)據(jù)庫。3.實驗步驟(1)按照任務(wù)2.2.1的步驟完成MySQL8.0的安裝。(2)打開MySQL8.0CommandLineClient-Unicode界面,輸入安裝時設(shè)置的密碼,按“Enter”鍵確認之后即可登錄MySQL8.0。(3)輸入EXIT命令,按“Enter”鍵確認之后即可退出?!舅伎寂c練習(xí)】一、填空題1.在MySQL中搭建框架以支持事務(wù)性操作時滿足
、
、
和
四大特性。2.?dāng)?shù)據(jù)庫設(shè)計者可使用Workbench便捷地進行
、
和
。二、判斷題1.MySQL和Workbench的安裝路徑可以自行選擇。()2.可以根據(jù)需求對MySQL的備份范圍進行選擇。()三、簡答題1.怎樣修改MySQL的root用戶密碼?2.為什么要進行MySQL數(shù)據(jù)庫備份和還原?謝謝THANKS數(shù)據(jù)庫的基本操作項目3【能力目標】掌握數(shù)據(jù)庫的基本組成。掌握數(shù)據(jù)庫的創(chuàng)建、查看、修改和刪除?!舅仞B(yǎng)目標】培養(yǎng)細致、嚴謹?shù)穆殬I(yè)素養(yǎng),嚴格遵守命名規(guī)則,遵循行業(yè)標準。目標感謝學(xué)習(xí)導(dǎo)航圖3-1項目3所講內(nèi)容在數(shù)據(jù)庫系統(tǒng)開發(fā)中的位置認識數(shù)據(jù)庫的基本組成3.13.1.1了解MySQL的目錄結(jié)構(gòu)
MySQL安裝完成后,會在磁盤上生成一個目錄,該目錄稱為MySQL的安裝目錄。MySQL的安裝目錄中包含啟動文件、配置文件、數(shù)據(jù)庫文件和命令文件等,如圖3-2所示。圖3-2MySQL的安裝目錄3.1.2了解MySQL數(shù)據(jù)庫常用對象
在MySQL數(shù)據(jù)庫中,表、視圖、存儲過程和索引等具有存儲數(shù)據(jù)或?qū)?shù)據(jù)進行操作的實體都稱作數(shù)據(jù)庫對象,常見的MySQL數(shù)據(jù)庫對象如表3-1所示。表3-1常見的MySQL數(shù)據(jù)庫對象3.1.3熟悉系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫
系統(tǒng)數(shù)據(jù)庫是指安裝完MySQL服務(wù)器后,由系統(tǒng)創(chuàng)建維護的幾個數(shù)據(jù)庫。系統(tǒng)數(shù)據(jù)庫會記錄一些必需的信息,如MySQL的配置情況、任務(wù)情況和用戶數(shù)據(jù)庫等系統(tǒng)管理信息。常見的系統(tǒng)數(shù)據(jù)庫如表3-2所示。表3-2常見的系統(tǒng)數(shù)據(jù)庫3.1.3熟悉系統(tǒng)數(shù)據(jù)庫和用戶數(shù)據(jù)庫
安裝完MySQL服務(wù)器后,應(yīng)先使用以下命令查看所有系統(tǒng)數(shù)據(jù)庫,再進行其他操作。SHOWDATABASES;
查看結(jié)果如圖3-3所示。用戶數(shù)據(jù)庫是用戶根據(jù)實際需求創(chuàng)建的數(shù)據(jù)庫,用戶可以對用戶數(shù)據(jù)庫進行修改和刪除等操作。使用以下命令創(chuàng)建學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫。CREATEDATABASEssms;圖3-3MySQL系統(tǒng)數(shù)據(jù)庫圖3-4創(chuàng)建的用戶數(shù)據(jù)庫數(shù)據(jù)庫的基本操作3.23.2.1創(chuàng)建和查看數(shù)據(jù)庫1.創(chuàng)建數(shù)據(jù)庫在MySQL中,使用CREATEDATABASE命令可以創(chuàng)建數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫的語法格式如下。CREATEDATABASE[IFNOTEXISTS]數(shù)據(jù)庫名[DEFAULT]CHARACTERSET字符集|[DEFAULT]COLLATE校對規(guī)則名
其中,各參數(shù)的含義如下。①IFNOTEXISTS:在創(chuàng)建數(shù)據(jù)庫前進行判斷,只有該數(shù)據(jù)庫目前尚不存在時,才執(zhí)行創(chuàng)建數(shù)據(jù)庫的操作,從而避免出現(xiàn)數(shù)據(jù)庫已經(jīng)存在而再新建的錯誤。②CHARACTERSET:指定數(shù)據(jù)庫字符采用的默認字符集。③COLLATE:指定字符集的校對規(guī)則。3.2.1創(chuàng)建和查看數(shù)據(jù)庫【例3-1】創(chuàng)建學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫,數(shù)據(jù)庫名稱為ssms。CREATEDATABASEssms;
在創(chuàng)建數(shù)據(jù)庫時,使用IFNOTEXISTS選項可不顯示錯誤信息。CREATEDATABASEssms;CREATEDATABASEIFNOTEXISTSssms;圖3-5創(chuàng)建數(shù)據(jù)庫前判斷是否存在同名數(shù)據(jù)庫3.2.1創(chuàng)建和查看數(shù)據(jù)庫
數(shù)據(jù)庫創(chuàng)建后,在安裝MySQL時設(shè)置的數(shù)據(jù)存放路徑下會產(chǎn)生以數(shù)據(jù)庫名作為目錄名的目錄,如圖3-6所示。圖3-6新創(chuàng)建的數(shù)據(jù)庫目錄3.2.1創(chuàng)建和查看數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫之后使用USE命令可指定當(dāng)前數(shù)據(jù)庫。USE數(shù)據(jù)庫名;
例如,指定當(dāng)前數(shù)據(jù)庫為學(xué)生成績管理系統(tǒng)數(shù)據(jù)庫ssms。USEssms;注意這個語句也可以用來從一個數(shù)據(jù)庫“跳轉(zhuǎn)”到另一個數(shù)據(jù)庫。在用CREATEDATABASE語句創(chuàng)建數(shù)據(jù)庫之后,新創(chuàng)建的數(shù)據(jù)庫不會自動成為當(dāng)前數(shù)據(jù)庫,需要使用USE命令來指?定。3.2.1創(chuàng)建和查看數(shù)據(jù)庫
通常,在創(chuàng)建數(shù)據(jù)庫后,如果要使用特定的字符集或字符集的校對規(guī)則,則可以在進行其他操作前先指定字符集或字符集的校對規(guī)則,否則只能使用系統(tǒng)默認的字符集或字符集的校對規(guī)則。輸入以下命令可以查看當(dāng)前連接系統(tǒng)的參數(shù)。SHOWVARIABLESLIKE'CHA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版小學(xué)語文四年級上冊《搭石》說課稿
- 職業(yè)教育新高考招生方案
- 學(xué)校操場不銹鋼護欄安裝與維護方案
- 鋼鐵廠機電設(shè)備安裝施工方案
- 書法培訓(xùn)行業(yè)營銷策略方案
- 智能物業(yè)服務(wù)展示接待方案
- 高校留學(xué)生創(chuàng)新創(chuàng)業(yè)支持方案
- 醫(yī)學(xué)研究倫理審查制度
- 餐飲連鎖企業(yè)食品衛(wèi)生管理制度
- 智能停車場資源優(yōu)化解決方案
- 《交換機基礎(chǔ)原理》培訓(xùn)課件
- 質(zhì)量保證體系評價-評價表(ASES-ver.1.6)
- 消防安全-情系你我他
- 短視頻的拍攝與剪輯
- 成人疝護理查房課件
- 東北林業(yè)大學(xué)電子電工學(xué)21-22年階段一考試試卷-答案
- 產(chǎn)品設(shè)計-淺談智能藍牙音響的外觀創(chuàng)新設(shè)計
- 江蘇省南京江寧聯(lián)合體2023-2024學(xué)年八年級上學(xué)期期中考試英語試卷
- 2024屆重慶市永川區(qū)物理高一第一學(xué)期期中質(zhì)量檢測試題含解析
- 快速康復(fù)外科(ERAS)護理
- 醫(yī)療機構(gòu)安全檢查表
評論
0/150
提交評論