MySQL教程(第4版) 課件 第1章 數(shù)據(jù)庫基礎(chǔ)_第1頁
MySQL教程(第4版) 課件 第1章 數(shù)據(jù)庫基礎(chǔ)_第2頁
MySQL教程(第4版) 課件 第1章 數(shù)據(jù)庫基礎(chǔ)_第3頁
MySQL教程(第4版) 課件 第1章 數(shù)據(jù)庫基礎(chǔ)_第4頁
MySQL教程(第4版) 課件 第1章 數(shù)據(jù)庫基礎(chǔ)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章

數(shù)據(jù)庫基礎(chǔ)——數(shù)據(jù)庫基本概念01數(shù)據(jù)庫及其系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫及其系統(tǒng)1.數(shù)據(jù)庫數(shù)據(jù)庫(Database,簡稱DB)是存放數(shù)據(jù)的倉庫,而且這些數(shù)據(jù)存在一定的關(guān)聯(lián),并按一定的格式存放在計算機內(nèi)。例如,把一個學校的學生、課程、成績等數(shù)據(jù)有序地組織并存放在計算機內(nèi),就構(gòu)成一個數(shù)據(jù)庫。2.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)按一定的數(shù)據(jù)模型組織數(shù)據(jù)形成數(shù)據(jù)庫,并對其進行管理。簡單地說,DBMS就是管理數(shù)據(jù)庫的系統(tǒng)(軟件)。數(shù)據(jù)庫管理員(DataBaseAdministrator,簡稱DBA)通過DBMS對數(shù)據(jù)庫進行管理。數(shù)據(jù)庫及其系統(tǒng)3.數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)與操作數(shù)據(jù)庫的應(yīng)用程序,加上支撐它們的硬件平臺、軟件平臺和與數(shù)據(jù)庫有關(guān)的人員一起構(gòu)成一個完整的數(shù)據(jù)庫系統(tǒng)。如圖所示描述了數(shù)據(jù)庫系統(tǒng)的構(gòu)成。02數(shù)

據(jù)

型層次模型網(wǎng)狀模型關(guān)系模型數(shù)據(jù)模型1.層次模型層次模型將數(shù)據(jù)組織成一對多關(guān)系的結(jié)構(gòu),采用關(guān)鍵字來訪問其中每一層次的每一部分。它存取方便且速度快;結(jié)構(gòu)清晰,容易理解;容易實現(xiàn)數(shù)據(jù)修改和數(shù)據(jù)庫擴展;檢索關(guān)鍵屬性十分方便。但缺點是結(jié)構(gòu)不夠靈活;同一屬性的數(shù)據(jù)要存儲多次,冗余大;不適合拓撲空間數(shù)據(jù)的組織。如圖所示為按層次模型組織的數(shù)據(jù)示例。數(shù)據(jù)模型2.網(wǎng)狀模型網(wǎng)狀模型是具有多對關(guān)系的數(shù)據(jù)組織方式。它能明確而方便地表示數(shù)據(jù)間的復(fù)雜關(guān)系;數(shù)據(jù)冗余小。但網(wǎng)狀結(jié)構(gòu)的復(fù)雜,增加了用戶查詢和定位的困難;需要存儲數(shù)據(jù)間聯(lián)系的指針,使得數(shù)據(jù)量增大;數(shù)據(jù)的修改不方便。如圖所示為按網(wǎng)狀模型組織的數(shù)據(jù)示例。數(shù)據(jù)模型3.關(guān)系模型關(guān)系模型以記錄組或二維數(shù)據(jù)表的形式組織數(shù)據(jù)。例如,在學生成績管理系統(tǒng)的3個表中,“學生”表涉及的主要信息有學號、姓名、性別、出生時間、專業(yè)、總學分和備注;“課程”表涉及的主要信息有課程號、課程名、開課學期、學時和學分;“成績”表涉及的主要信息有學號、課程號和成績。如表1、表2和表3所示分別描述了這3個表的部分數(shù)據(jù)。表1“學生”表學號姓名性別出生時間專業(yè)總學分備注081101王林男1994-02-10計算機50

081103王燕女1993-10-06計算機50

081108林一帆男1993-08-05計算機52已提前修完一門課程081202王林男1993-01-29通信工程40有一門課程不及格,待補考081204馬琳琳女1993-02-10通信工程42

數(shù)據(jù)模型表2“課程”表課程號課程名開課學期學時學分0101計算機基礎(chǔ)18050102程序設(shè)計與語言26840206離散數(shù)學4684表3“成績”表學號課程號成績學號課程號成績08110110180081108101850811011027808110810264081101206760811082068708110310162081202101650811031027008120410191數(shù)據(jù)模型表中的一行稱為一個記錄,一列稱為一個字段,每列的標題(列名)稱為字段名。如果給每個關(guān)系表起一個名字,則有若干個字段的關(guān)系表可表示為如下形式:表名(字段名,...)通常把關(guān)系表的結(jié)構(gòu)稱為關(guān)系模式。在關(guān)系表中,如果一個字段或幾個字段組合的值可唯一標識其對應(yīng)的記錄,則稱該字段或字段組合為碼。03關(guān)

數(shù)

據(jù)

庫關(guān)系型數(shù)據(jù)庫管理系統(tǒng)關(guān)系型數(shù)據(jù)庫語言關(guān)系數(shù)據(jù)庫1.關(guān)系型數(shù)據(jù)庫管理系統(tǒng)從當前國際數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)排名中可以看出來,關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RelationalDatabaseManagementSystem,簡稱RDBMS)絕對是DBMS的主流。RDBMS就是建立在關(guān)系模型基礎(chǔ)上的數(shù)據(jù)庫,其中使用最多的RDBMS分別是Oracle、MySQL和SQLServer。MySQL是目前流行的開放關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一。2.關(guān)系型數(shù)據(jù)庫語言結(jié)構(gòu)化查詢語言(StructuredQueryLanguage,簡稱SQL)就是關(guān)系型數(shù)據(jù)庫的查詢語言,用于定義數(shù)據(jù)庫及其對象,操作數(shù)據(jù)庫對象數(shù)據(jù)和控制操作數(shù)據(jù)庫的安全性等,所有提供數(shù)據(jù)庫產(chǎn)品的廠商都支持SQL語言,但它們又各有其特點。為了在各個數(shù)據(jù)庫廠商之間取得更大的統(tǒng)一性,美國國家標準學會(AmericanNationalStandardsInstitute,簡稱ANSI)于1986年發(fā)布了第一個SQL標準,并于1989年發(fā)布了第二個版本,該版本已經(jīng)被廣泛地采用。ANSI在1992年更新了SQL標準的版本,即SQL92和SQL2,并于1999年再次更新為SQL99和SQL3標準。第1章

數(shù)據(jù)庫基礎(chǔ)——數(shù)據(jù)庫設(shè)計01概念模型一對一的聯(lián)系(1∶1)一對多的聯(lián)系(1∶n)多對多的聯(lián)系(m∶n)概念模型概念模型用于信息世界的建模,常用的E-R模型、擴充的E-R模型、面向?qū)ο竽P图爸^詞模型。通常,E-R模型把每一類數(shù)據(jù)對象的個體稱為“實體”,把每一類對象個體的集合稱為“實體集”。例如,在學生成績管理系統(tǒng)中主要涉及“學生”和“課程”兩個實體集,其他非主要的實體可以很多,如班級、班長、任課教師、輔導員。每個實體集涉及的信息項稱為屬性。就“學生”實體集而言,它的屬性有學號、姓名、性別、出生時間、專業(yè)、總學分和備注?!罢n程”實體集屬性有課程號、課程名、開課學期、學時和學分。實體集中的實體彼此是可區(qū)別的。如果實體集中的屬性或最小屬性組合的值能唯一標識其對應(yīng)實體,則將該屬性或?qū)傩越M合稱為碼。碼可能有多個,對于每一個實體集,可指定一個碼為主碼。實體集A和實體集B之間存在各種關(guān)系,通常把這些關(guān)系稱為“聯(lián)系”,將實體集及實體集聯(lián)系的圖示稱為實體-聯(lián)系(EntityRelationship,E-R)模型。概念模型E-R圖就是E-R模型的描述方法,即實體-聯(lián)系圖。通常,關(guān)系數(shù)據(jù)庫的設(shè)計者使用E-R圖來對信息世界建模。在E-R圖中,使用矩形表示實體集,使用橢圓表示屬性,使用菱形表示聯(lián)系,用線段連接實體集與屬性,當一個屬性或?qū)傩越M合指定為主碼時,在實體集與屬性的連接線上標記一條斜線。如圖所示,其中屬性用圓角矩形表示。概念模型1.一對一的聯(lián)系(1∶1)A中的一個實體最多與B中的一個實體相聯(lián)系,B中的一個實體也最多與A中的一個實體相聯(lián)系。例如,“班級”與“班長”這兩個實體集之間的聯(lián)系是一對一的聯(lián)系,因為一個班級只有一個班長,反過來,一個班長只屬于一個班級?!鞍嗉墶迸c“班長”兩個實體集的E-R模型如圖。概念模型2.一對多的聯(lián)系(1∶n)A中的一個實體可以與B中的多個實體相聯(lián)系,而B中的一個實體最多與A中的一個實體相聯(lián)系。例如,“班級”與“學生”這兩個實體集之間的聯(lián)系是一對多的聯(lián)系,因為一個班級可有若干學生,反過來,一個學生只能屬于一個班級。“班級”與“學生”兩個實體集的E-R模型如圖。概念模型3.多對多的聯(lián)系(m∶n)A中的一個實體可以與B中的多個實體相聯(lián)系,而B中的一個實體也可與A中的多個實體相聯(lián)系。例如,“學生”與“課程”這兩個實體集之間的聯(lián)系是多對多的聯(lián)系,因為一個學生可選修多門課程,反過來,一門課程可被多個學生選修。“學生”與“課程”兩個實體集的E-R模型如圖。02邏

型(1∶1)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換(1∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換(m∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換邏

型1.(1∶1)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對于(1∶1)聯(lián)系,既可以單獨對應(yīng)一個關(guān)系模式,也可以不單獨對應(yīng)一個關(guān)系模式。(1)聯(lián)系單獨對應(yīng)一個關(guān)系模式,則由聯(lián)系的屬性、參與聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系模式,其主碼可選參與聯(lián)系的實體集的任一方的主碼。例如,考慮圖描述的“班級(bj)”與“班長(bz)”實體集通過屬于(sy)聯(lián)系的E-R模型,可設(shè)計如下關(guān)系模式(下橫線表示該字段為主碼):bj(班級編號,院系,專業(yè),人數(shù))bz(學號,姓名)sy(學號,班級編號)(2)聯(lián)系不單獨對應(yīng)一個關(guān)系模式,聯(lián)系的屬性及一方的主碼加入另一方實體集對應(yīng)的關(guān)系模式中。例如,考慮圖描述的“班級(bj)”與“班長(bz)”實體集通過屬于(sy)聯(lián)系的E-R模型,可設(shè)計如下關(guān)系模式:bj(班級編號,院系,專業(yè),人數(shù))bz(學號,姓名,班級編號)或者:bj(班級編號,院系,專業(yè),人數(shù),學號)bz(學號,姓名)邏

型2.(1∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對于(1∶n)的聯(lián)系,既可以單獨對應(yīng)一個關(guān)系模式,也可以不單獨對應(yīng)一個關(guān)系模式。(1)聯(lián)系單獨對應(yīng)一個關(guān)系模式,則由聯(lián)系的屬性、參與聯(lián)系的各實體集的主碼屬性構(gòu)成關(guān)系模式,n端的主碼作為該關(guān)系模式的主碼。例如,考慮圖描述的“班級(bj)”與“學生(xs)”實體集E-R模型可設(shè)計如下關(guān)系模式:bj(班級編號,院系,專業(yè),人數(shù))xs(學號,姓名,性別,出生時間,專業(yè),總學分,備注)sy(學號,班級編號)(2)聯(lián)系不單獨對應(yīng)一個關(guān)系模式,則將聯(lián)系的屬性及1端的主碼加入n端實體集對應(yīng)的關(guān)系模式中,主碼仍為n端的主碼。例如,圖描述的“班級(bj)”與“學生(xs)”實體集E-R模型可設(shè)計如下關(guān)系模式:bj(班級編號,院系,專業(yè),人數(shù))xs(學號,姓名,性別,出生時間,專業(yè),總學分,備注,班級編號)邏

型3.(m∶n)聯(lián)系的E-R圖到關(guān)系模式的轉(zhuǎn)換對于(m∶n)聯(lián)系,單獨對應(yīng)一個關(guān)系模式,該關(guān)系模式包括聯(lián)系的屬性、參與聯(lián)系的各實體集的主碼屬性,該關(guān)系模式的主碼由各實體集的主碼屬性共同組成。例如,圖描述的“學生(xs)”與“課程(kc)”實體集之間的聯(lián)系可設(shè)計如下關(guān)系模式:xs(學號,姓名,性別,出生時間,專業(yè),總學分,備注)kc(課程號,課程名,開課學期,學時,學分)xs_kc(學號,課程號,成績)關(guān)系模式xs_kc的主碼是由“學號”和“課程號”兩個屬性組合起來構(gòu)成的,一個關(guān)系模式只能有一個主碼。03物

型物

型物理模型是面向計算機物理表示的模型,描述了數(shù)據(jù)在儲存介質(zhì)上的組織結(jié)構(gòu),它不但與具體的DBMS有關(guān),而且與操作系統(tǒng)和硬件有關(guān)。每一種邏輯數(shù)據(jù)模型在實現(xiàn)時都有其對應(yīng)的物理數(shù)據(jù)模型。DBMS為了保證其獨立性與可移植性,大部分物理數(shù)據(jù)模型的實現(xiàn)工作由系統(tǒng)自動完成,而設(shè)計者只設(shè)計索引、聚集等特殊結(jié)構(gòu)。第1章

數(shù)據(jù)庫基礎(chǔ)——MySQL安裝、配置和運行01MySQL安裝和配置MySQL安裝和配置MySQL5.7可以通過安裝包方式,也可以通過壓縮包方式安裝和配置。安裝包和壓縮包可從MySQL官網(wǎng)(/downloads)免費下載。在安裝MySQL前,須確保系統(tǒng)中已安裝了最新的Microsoft.NETFramework。02MySQL數(shù)據(jù)庫試運行啟動MySQL服務(wù)登錄MySQL實例設(shè)置MySQL擴展中文字符集賦予用戶root所有權(quán)限MySQL數(shù)據(jù)庫試運行1.啟動MySQL服務(wù)打開“Windows任務(wù)管理器”,在“進程”頁可以看到MySQL進程mysqld.exe,在“服務(wù)”頁可以看到對應(yīng)的“MySQL57”服務(wù)已經(jīng)啟動了,如圖。MySQL數(shù)據(jù)庫試運行2.登錄MySQL實例右擊Windows開始按鈕,選擇“運行(R)”,在“運行”對話框中輸入“cmd”后按“Enter”鍵,進入Windows命令行窗口。說明:Windows命令行窗口是默認黑色背景白字,可以設(shè)置窗口屬性修改為白色背景黑字。在Windows命令行窗口中輸入下列命令(加黑文本)改變當前目錄到指定目錄:C:\...>cdC:\ProgramFiles\MySQL\MySQLServer5.7\bin輸入下列命令(加黑文本)連接MySQL實例,登錄MySQL:C:\ProgramFiles\MySQL\MySQLServer5.7\bin>mysql-uroot-p回車后,在系統(tǒng)提示“Enterpassword:”處輸入密碼(安裝MySQL時設(shè)置):Enterpassword:123456MySQL數(shù)據(jù)庫試運行顯示如圖所示的歡迎信息。顯示提示符“mysql>”表示進入了MySQL的命令行模式。在“mysql>”下輸入“quit”,可退出MySQL返回Windows命令行模式。MySQL數(shù)據(jù)庫試運行3.設(shè)置MySQL擴展中文字符集為了讓MySQL數(shù)據(jù)庫能夠支持中文,必須設(shè)置系統(tǒng)字符集編碼。輸入MySQL的SQL命令:SETCHARACTER_SET_DATABASE='gbk';SETCHARACTER_SET_SERVER='gbk';STATUS;將數(shù)據(jù)庫和服務(wù)器的字符集均設(shè)為gbk(中文),系統(tǒng)顯示修改后MySQL的狀態(tài)信息,可查看當前系統(tǒng)字符集如圖。MySQL數(shù)據(jù)庫試運行4.賦予用戶root所有權(quán)限操作MySQL時,由于不同操作系統(tǒng)默認的權(quán)限存在差異,有些功能無法使用,建議進行下列操作權(quán)限設(shè)置。mysql>USEmysql;GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'123456'WITHGRANTOPTION;FLUSHPRIVILEGES;說明:USEmysql:打開系統(tǒng)數(shù)據(jù)庫mysql。GRANT…:賦予root用戶(登錄密碼123456)所有權(quán)限,這樣才能操作該MySQL實例所有功能,否則不能操作部分功能。執(zhí)行結(jié)果如圖。第1章

數(shù)據(jù)庫基礎(chǔ)——常用MySQL界面工具01界面工具簡介圖形化客戶端基于Web的管理工具界面工具簡介1.圖形化客戶端這類工具采用C/S架構(gòu),用戶通過安裝在計算機中的客戶端軟件連接并操作后臺的MySQL數(shù)據(jù)庫,原理如圖,客戶端是圖形化用戶界面(GUI)。除了MySQL官方提供的管理工具MySQLAdministrator和MySQLWorkbench外,還有很多第三方開發(fā)的優(yōu)秀工具,比較著名的有Navicat、SequelPro、HeidiSQL、SQLMaestroMySQLToolsFamily、SQLWave、dbForgeStudio、DBToolsManager、MyDBStudio、AquaDataStudio、SQLyog、MySQL-Front、SQLBuddy等。界面工具簡介2.基于Web的管理工具這類工具采用B/S架構(gòu),用戶無須在計算機中安裝

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論