歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

MySQL數(shù)據(jù)庫基礎(chǔ)與實例教程第1章.ppt

  • 資源ID:11497568       資源大?。?span id="x6sdahi" class="font-tahoma">3.11MB        全文頁數(shù):61頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

MySQL數(shù)據(jù)庫基礎(chǔ)與實例教程第1章.ppt

,孔祥盛,MySQL數(shù)據(jù)庫基礎(chǔ)與實例教程之數(shù)據(jù)庫設(shè)計概述,1,2,3,本章拋開MySQL講解關(guān)系數(shù)據(jù)庫設(shè)計的相關(guān)知識,以“選課系統(tǒng)”為例,講解“選課系統(tǒng)”數(shù)據(jù)庫的設(shè)計流程。,4,內(nèi)容一覽,數(shù)據(jù)庫設(shè)計的相關(guān)知識,數(shù)據(jù)庫概述,E-R圖,關(guān)系數(shù)據(jù)庫設(shè)計,1,2,3,簡單地說:數(shù)據(jù)庫(Database或DB)是存儲、管理數(shù)據(jù)的容器;嚴格地說:數(shù)據(jù)庫是“按照某種數(shù)據(jù)結(jié)構(gòu)對數(shù)據(jù)進行組織、存儲和管理的容器”??偨Y(jié):數(shù)據(jù)永遠是數(shù)據(jù)庫的核心。,關(guān)系數(shù)據(jù)庫,關(guān)系數(shù)據(jù)庫管理系統(tǒng),結(jié)構(gòu)化查詢語言SQL,1.1數(shù)據(jù)庫概述,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),通過“數(shù)據(jù)庫管理系統(tǒng)”,數(shù)據(jù)庫用戶可以輕松地實現(xiàn)數(shù)據(jù)庫容器中各種數(shù)據(jù)庫對象的訪問(增、刪、改、查等操作),并可以輕松地完成數(shù)據(jù)庫的維護工作(備份、恢復(fù)、修復(fù)等操作),數(shù)據(jù)庫用戶無法直接通過操作系統(tǒng)獲取數(shù)據(jù)庫文件中的具體內(nèi)容;數(shù)據(jù)庫管理系統(tǒng)通過調(diào)用操作系統(tǒng)的進程管理、內(nèi)存管理、設(shè)備管理以及文件管理等服務(wù),為數(shù)據(jù)庫用戶提供管理、控制數(shù)據(jù)庫容器中各種數(shù)據(jù)庫對象、數(shù)據(jù)庫文件的接口。,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),添加標題,添加標題,層次模型,面向?qū)ο竽P?網(wǎng)狀模型,關(guān)系模型,數(shù)據(jù)庫管理系統(tǒng)常用的數(shù)學(xué)模型,添加標題,基于“關(guān)系模型”的數(shù)據(jù)庫管理系統(tǒng)稱為關(guān)系數(shù)據(jù)庫管理系統(tǒng)(簡稱為RDBMS)。隨著關(guān)系數(shù)據(jù)庫管理系統(tǒng)的日臻完善,目前關(guān)系數(shù)據(jù)庫管理系統(tǒng)已占據(jù)主導(dǎo)地位。,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),2014年2月數(shù)據(jù)庫流行度排行榜,截至目前,MySQL已經(jīng)成功逆襲!,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),2014年3月數(shù)據(jù)庫流行度排行榜,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),2014年4月數(shù)據(jù)庫流行度排行榜,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),開源,MySQL源代碼免費下載,簡單,MySQL體積小,便于安裝,MySQL性能足夠與商業(yè)數(shù)據(jù)庫媲美,功能強大,MySQL提供的功能足夠與商業(yè)數(shù)據(jù)庫媲美,逆襲原因,性能優(yōu)越,1.1.1關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫中所謂的“關(guān)系”,實質(zhì)上是一張二維表。請看下面的課程表。,字段名(列名),第1個字段(列),第1條記錄,第2條記錄,第3條記錄,第4條記錄,第5條記錄,第3個字段(列),第2個字段(列),第4個字段(列),1.1.2關(guān)系數(shù)據(jù)庫,作為數(shù)據(jù)庫中最為重要的數(shù)據(jù)庫對象,數(shù)據(jù)庫表的設(shè)計過程并非一蹴而就,上述課程表根本無法滿足“選課系統(tǒng)”的功能需求。事實上,數(shù)據(jù)庫表的設(shè)計過程并非如此簡單,本章的重點就是討論如何設(shè)計結(jié)構(gòu)良好的數(shù)據(jù)庫表。,1.1.2關(guān)系數(shù)據(jù)庫,結(jié)構(gòu)化查詢語言(StructuredQueryLanguage或簡稱為SQL)是一種應(yīng)用最為廣泛的關(guān)系數(shù)據(jù)庫語言,該語言定義了操作關(guān)系數(shù)據(jù)庫的標準語法,幾乎所有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL。,1.1.3結(jié)構(gòu)化查詢語言SQL,學(xué)習(xí)重點,1,2,3,數(shù)據(jù)庫設(shè)計是一個“系統(tǒng)工程”,要求數(shù)據(jù)庫開發(fā)人員:熟悉“商業(yè)領(lǐng)域”的商業(yè)知識。利用“管理學(xué)”的知識與其他開發(fā)人員進行有效溝通。掌握一些數(shù)據(jù)庫設(shè)計輔助工具。,數(shù)據(jù)庫設(shè)計輔助工具,商業(yè)知識和溝通技能,“選課系統(tǒng)”概述,4,5,定義問題域,編碼規(guī)范,1.2數(shù)據(jù)庫設(shè)計的相關(guān)知識,數(shù)據(jù)庫技術(shù)解決的是“商業(yè)領(lǐng)域”的“商業(yè)問題”。數(shù)據(jù)庫開發(fā)人員有必要成為該“商業(yè)領(lǐng)域”的專家,與其他開發(fā)人員(包括最終用戶)一起工作,繼而使用數(shù)據(jù)庫技術(shù)解決該“商業(yè)領(lǐng)域”的“商業(yè)問題”。,1.2.1商業(yè)知識和溝通技能,1.2.2數(shù)據(jù)庫設(shè)計輔助工具,面向?qū)ο蠓治龊驮O(shè)計技術(shù)結(jié)構(gòu)化分析和設(shè)計技術(shù)軟件測試技術(shù)關(guān)系數(shù)據(jù)庫設(shè)計技術(shù),ErwinPowerDesignerRationalRoseVisio,VC+6.0VisualstudioEclipseNetBeans,單元測試工具功能測試工具性能測試工具,程序流程圖DFD時序圖狀態(tài)圖,CASE工具IDE工具測試工具,數(shù)據(jù)模型,類圖,E-R圖,限于篇幅,在不影響“選課系統(tǒng)”核心功能的基礎(chǔ)上,適當?shù)貙υ撓到y(tǒng)進行“定制”、“擴展”以及“瘦身”。,1.2.3“選課系統(tǒng)”概述,定義問題域是數(shù)據(jù)庫設(shè)計過程中重要的活動,它的目標是準確定義要解決的商業(yè)問題。“選課系統(tǒng)”亟需解決的“商業(yè)”問題有哪些?,1.2.4定義問題域,在編程的時候會考慮代碼的可讀性嗎?你覺得代碼可讀性是需要考慮的問題嗎?1.代碼不僅要自己能讀懂,還要別人也能看懂?2.盡量做到可讀,但時間緊任務(wù)重的時候就顧不上了?3.代碼只要自己能讀懂就可以了?4.代碼寫完就完了,不用管以后是否能讀懂?5.不知道,沒有想過這個問題?,1.2.5編碼規(guī)范,請記?。罕M最大努力把方便留給別人和將來的自己。,建議大家遵循本書羅列的常用編程規(guī)范!,1,2,3,關(guān)系,實體和屬性,E-R圖的設(shè)計原則,E-R圖設(shè)計的質(zhì)量直接決定了關(guān)系數(shù)據(jù)庫設(shè)計的質(zhì)量。,1.3E-R圖,實體不是某一個具體事物,而是某一種類別所有事物的統(tǒng)稱。屬性通常用于表示實體的某種特征,也可以使用屬性表示實體間關(guān)系的特征,實體,屬性,屬性,1.3.1實體和屬性,E-R圖中的關(guān)系用于表示實體間存在的聯(lián)系,在E-R圖中,實體間的關(guān)系通常使用一條線段表示。E-R圖中實體間的關(guān)系是雙向的。,關(guān)系,關(guān)系,1.3.2關(guān)系,基數(shù)表示一個實體到另一個實體之間關(guān)聯(lián)的數(shù)目,基數(shù)是針對關(guān)系之間的某個方向提出的概念,基數(shù)可以是一個取值范圍,也可以是某個具體數(shù)值,基數(shù),可選,基數(shù),強制,1.3.2關(guān)系,元表示關(guān)系所關(guān)聯(lián)的實體個數(shù)。,二元關(guān)系,二元關(guān)系,一元關(guān)系,1.3.2關(guān)系,使用關(guān)聯(lián)(Association)表示實體間關(guān)系的屬性。,關(guān)聯(lián),關(guān)聯(lián),1.3.2關(guān)系,1,2,3,實體是一個單獨的個體,不能存在于另一個實體中,成為另一個實體的屬性。,屬性應(yīng)該存在于、且只存在于某一個地方(實體或者關(guān)聯(lián))。,同一個實體在同一個E-R圖內(nèi),僅出現(xiàn)一次。,數(shù)據(jù)庫開發(fā)人員通常采用“一事一地”的原則從系統(tǒng)的功能描述中抽象出來E-R圖。,1.3.3E-R圖的設(shè)計原則,1為E-R圖中的每個實體建立一張表。2為每張表定義一個主鍵(如果需要,可以向表添加一個沒有實際意義的字段作為該表的主鍵)3增加外鍵表示一對多關(guān)系。4建立新表表示多對多關(guān)系。5為字段選擇合適的數(shù)據(jù)類型。6定義約束條件(如果需要)。7評價關(guān)系的質(zhì)量,并進行必要的改進。,1.4關(guān)系數(shù)據(jù)庫設(shè)計,student(student_no,student_name,student_contact)course(course_name,up_limit,description,status)teacher(teacher_no,teacher_name,teacher_contact)classes(class_name,department_name),1.4.1為每個實體建立一張數(shù)據(jù)庫表,關(guān)鍵字(key):用以唯一標識表中的每行記錄。主鍵(PrimaryKey):在所有的關(guān)鍵字中選擇一個關(guān)鍵字,作為該表的主關(guān)鍵字,簡稱主鍵。,1.4.2為每張表定義一個主鍵,主鍵有以下兩個特征:(1)表的主鍵可以是一個字段,也可以是多個字段的組合(這種情況稱為復(fù)合主鍵)。(2)表中主鍵的值具有唯一性且不能取空值(NULL);當表中的主鍵由多個字段構(gòu)成時,每個字段的值都不能取NULL。主鍵設(shè)計技巧,請參看本書內(nèi)容。,1.4.2為每張表定義一個主鍵,student(student_no,student_name,student_contact)course(course_no,course_name,up_limit,description,status)teacher(teacher_no,teacher_name,teacher_contact)classes(class_no,class_name,department_name),1.4.2為每張表定義一個主鍵,外鍵(ForeignKey):如果表A中的一個字段a對應(yīng)于表B的主鍵b,則字段a稱為表A的外鍵,此時存儲在表A中字段a的值,要么是NULL,要么是來自于表B主鍵b的值。,1.4.3增加外鍵表示一對多關(guān)系,情形一:如果實體間的關(guān)系為一對多關(guān)系,則需要將“一”端實體的主鍵放到“多”端實體中,然后作為“多”端實體的外鍵,通過該外鍵即可表示實體間的一對多關(guān)系。,1.4.3增加外鍵表示一對多關(guān)系,讓學(xué)生記住所在班級,遠比班級“記住”所有學(xué)生容易的多。,1.4.3增加外鍵表示一對多關(guān)系,情形二:實體間的一對一關(guān)系,可以看成一種特殊的一對多關(guān)系:將“一”端實體的主鍵放到另“一”端的實體中,并作為另“一”端的實體的外鍵,然后將外鍵定義為唯一性約束(UniqueConstraint)。,1.4.3增加外鍵表示一對多關(guān)系,PK,1.4.3增加外鍵表示一對多關(guān)系,PK后的方案:student(student_no,student_name,student_contact,class_no)course(course_no,course_name,up_limit,description,status,teacher_no)teacher(teacher_no,teacher_name,teacher_contact)classes(class_no,class_name,department_name),1.4.3增加外鍵表示一對多關(guān)系,情形三:如果兩個實體間的關(guān)系為多對多關(guān)系,則需要添加新表表示該多對多關(guān)系,然后將該關(guān)系涉及到的實體的“主鍵”分別放入到新表中(作為新表的外鍵),并將關(guān)系自身的屬性放入到新表中作為新表的字段。,1.4.4建立新表表示多對多關(guān)系,teacher(teacher_no,teacher_name,teacher_contact)classes(class_no,class_name,department_name)course(course_no,course_name,up_limit,description,status,teacher_no)student(student_no,student_name,student_contact,class_no)choose(choose_no,student_no,course_no,score,choose_time),1.4.4建立新表表示多對多關(guān)系,1.4.4建立新表表示多對多關(guān)系,1.4.5為字段選擇合適的數(shù)據(jù)類型,常用的約束條件有6種:主鍵(PrimaryKey)約束外鍵(ForeignKey)約束唯一性(Unique)約束默認值(Default)約束非空(NotNULL)約束檢查(Check)約束。,1.4.6定義約束(Constraint)條件,設(shè)計數(shù)據(jù)庫時,有兩個不爭的事實。數(shù)據(jù)庫中冗余的數(shù)據(jù)需要額外的維護,因此質(zhì)量好的一套表應(yīng)該盡量“減少冗余數(shù)據(jù)”。數(shù)據(jù)庫中經(jīng)常發(fā)生變化的數(shù)據(jù)需要額外的維護,因此質(zhì)量好的一套表應(yīng)該盡量“避免數(shù)據(jù)經(jīng)常發(fā)生變化”。,1.4.7評價數(shù)據(jù)庫表設(shè)計的質(zhì)量,冗余的數(shù)據(jù)需要額外的維護,并且容易導(dǎo)致“數(shù)據(jù)不一致”、“插入異?!币约啊皠h除異?!钡葐栴}的發(fā)生。,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,場景一:插入異常。場景二:修改復(fù)雜。場景三:刪除異常。,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,規(guī)范化是通過最小化數(shù)據(jù)冗余來提升數(shù)據(jù)庫設(shè)計質(zhì)量的過程,規(guī)范化是基于函數(shù)依賴以及一系列范式定義的,最為常用的是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,函數(shù)依賴:一張表內(nèi)兩個字段值之間的一一對應(yīng)關(guān)系稱為函數(shù)依賴。第一范式:如果一張表內(nèi)同類字段不重復(fù)出現(xiàn),該表就滿足第一范式的要求。,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,第一范式,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,第二范式:一張表在滿足第一范式的基礎(chǔ)上,如果每個“非關(guān)鍵字”字段“僅僅”函數(shù)依賴于主鍵,那么該表滿足第二范式的要求。,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,第二范式,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,第三范式:如果一張表滿足第二范式的要求,并且不存在“非關(guān)鍵字”字段函數(shù)依賴于任何其他“非關(guān)鍵字”字段,那么該表滿足第三范式的要求。,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,第三范式,1.4.8使用規(guī)范化減少數(shù)據(jù)冗余,統(tǒng)計學(xué)生的個人資料時,如果讀者是一名數(shù)據(jù)庫開發(fā)人員,應(yīng)該讓學(xué)生上報年齡信息,還是讓學(xué)生上報出生日期?如何確保每一門課程選報學(xué)生的人數(shù),不超過人數(shù)上限?,1.4.9避免數(shù)據(jù)經(jīng)常發(fā)生變化,方案一:course(course_no,course_no,course_name,up_limit,description,status,teacher_no,available)方案二:數(shù)據(jù)庫表無需進行任何更改。,1.4.9避免數(shù)據(jù)經(jīng)常發(fā)生變化,任務(wù)1:描述“選課系統(tǒng)”的問題域。任務(wù)2:將本書圖1-7中“團購網(wǎng)站、顧客以及房源之間的三元關(guān)系表示方法”E-R圖轉(zhuǎn)化為關(guān)系(模式)。任務(wù)3:使用筆紙或者word繪圖工具,繪制“選課系統(tǒng)”的E-R圖。任務(wù)4:將“選課系統(tǒng)”的E-R圖轉(zhuǎn)化為關(guān)系(模式)。,任務(wù)布置,Thanks,

注意事項

本文(MySQL數(shù)據(jù)庫基礎(chǔ)與實例教程第1章.ppt)為本站會員(max****ui)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!