PHP+MySQL項目化教程(微課版)課件項目三 樂Go商城數(shù)據(jù)庫設(shè)計與實現(xiàn)_第1頁
PHP+MySQL項目化教程(微課版)課件項目三 樂Go商城數(shù)據(jù)庫設(shè)計與實現(xiàn)_第2頁
PHP+MySQL項目化教程(微課版)課件項目三 樂Go商城數(shù)據(jù)庫設(shè)計與實現(xiàn)_第3頁
PHP+MySQL項目化教程(微課版)課件項目三 樂Go商城數(shù)據(jù)庫設(shè)計與實現(xiàn)_第4頁
PHP+MySQL項目化教程(微課版)課件項目三 樂Go商城數(shù)據(jù)庫設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

項目三樂Go商城數(shù)據(jù)庫設(shè)計與實現(xiàn)能根據(jù)需求設(shè)計簡單應(yīng)用系統(tǒng)的E-R圖能把E-R圖轉(zhuǎn)化為數(shù)據(jù)庫邏輯結(jié)構(gòu)模型能把數(shù)據(jù)庫的邏輯結(jié)構(gòu)模型轉(zhuǎn)化為MySQL數(shù)據(jù)庫的物理實現(xiàn)職業(yè)能力目標010203具有分析復(fù)雜邏輯結(jié)構(gòu)的能力04理解數(shù)據(jù)庫設(shè)計原理掌握數(shù)據(jù)庫設(shè)計基本步驟知識目標0102能熟練的應(yīng)用PhpMyAdmin工具操作MySQL數(shù)據(jù)庫03體會科學(xué)技術(shù)是第一生產(chǎn)力,弘揚改革創(chuàng)新的時代精神,抒發(fā)民族自豪感。思政目標01項目引導(dǎo)Web應(yīng)用系統(tǒng)需要采集、存儲、處理、展示哪些數(shù)據(jù)?樂Go商城中的商品信息存放在什么地方?用戶的注冊賬戶信息和提交訂單時填寫的郵寄地址等內(nèi)容又到哪里去了?這些內(nèi)容又以什么形式存放呢?項目實施之前需要:數(shù)據(jù)庫設(shè)計與實現(xiàn)項目任務(wù)任務(wù)1

技術(shù)準備任務(wù)2

樂Go商城數(shù)據(jù)庫設(shè)計任務(wù)3

樂Go商城數(shù)據(jù)庫實現(xiàn)任務(wù)4樂Go商城數(shù)據(jù)庫性能優(yōu)化任務(wù)5數(shù)據(jù)庫設(shè)計實訓(xùn)任務(wù)1技術(shù)準備技術(shù)準備–數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計(DatabaseDesign)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。在數(shù)據(jù)庫領(lǐng)域內(nèi),常常把使用數(shù)據(jù)庫的各類系統(tǒng)統(tǒng)稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計的設(shè)計內(nèi)容包括:需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、物理結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫的實施和數(shù)據(jù)庫的運行和維護。技術(shù)準備–概念結(jié)構(gòu)設(shè)計在概念結(jié)構(gòu)設(shè)計階段,設(shè)計人員從用戶需求的觀點出發(fā)對數(shù)據(jù)進行建模,產(chǎn)生一個獨立于計算機硬件和DBMS的概念模型。概念模型是現(xiàn)實世界到信息世界的第一級抽象,也是設(shè)計人員與用戶交流的工具之一,因此要求概念模型簡單、清晰、易于理解,同時還應(yīng)具備較強的語義表達能力,可以直接表達用戶的各種需求,并易于向數(shù)據(jù)模型的轉(zhuǎn)換。概念模型的表示方法有很多,目前常用的是:用實體-聯(lián)系方法(EntityRelationshipApproach)來表示概念模型。技術(shù)準備–概念結(jié)構(gòu)設(shè)計(1)概念結(jié)構(gòu)設(shè)計方法設(shè)計概念結(jié)構(gòu)的方法有四種,它們是:①自頂向下方法。首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化,形成各局部應(yīng)用的概念結(jié)構(gòu)。②自低向上方法。首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成,得到全局概念結(jié)構(gòu)。③由里向外方法。首先定義最重要的核心概念結(jié)構(gòu),然后向外擴張,生成其他概念結(jié)構(gòu),直至得到全局概念結(jié)構(gòu)。

④混合方法。將自頂向下和自低向上相結(jié)合的方法,用自頂向下方法設(shè)計一個全局概念結(jié)構(gòu)的框架,以它為骨架集成由自低向上方法中設(shè)計的各局部應(yīng)用的概念結(jié)構(gòu)。技術(shù)準備–概念結(jié)構(gòu)設(shè)計(2)概念結(jié)構(gòu)設(shè)計步驟

概念結(jié)構(gòu)設(shè)計是在需求分析的基礎(chǔ)上,設(shè)計E-R模型。設(shè)計E-R模型采用一般自低向上方法,具體步驟是首先設(shè)計各局部應(yīng)用的E-R模型,然后將局部E-R模型集成為全局E-R模型,最后對全局E-R模型進行優(yōu)化。技術(shù)準備–概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計案例技術(shù)準備–概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計案例——練習(xí)1.有一課程管理系統(tǒng),有如下特點:一個系可開設(shè)多門課程,但一門課只在一個系部開設(shè),一個學(xué)生可選修多門課程,每門課可供若干學(xué)生選修,一名教師只教一門課程,但一門課程可有幾名教師講授,每個系聘用多名教師,但一個教師只能被一個系所聘用,要求這個課程管理系統(tǒng)能查到任何一個學(xué)生某門課程的成績,以及這個學(xué)生的這門課是哪個老師所教的。(1)請根據(jù)以上描述,繪制相應(yīng)的E-R圖,并直接在E-R圖上注明實體名、屬性、聯(lián)系類型;

(2)將E-R圖轉(zhuǎn)換成關(guān)系模型,畫出相應(yīng)的數(shù)據(jù)庫模型圖,并說明主鍵和外鍵。(3)分析這些關(guān)系模式中所包含的函數(shù)依賴,根據(jù)這些函數(shù)依賴,分析相應(yīng)的關(guān)系模式達到了第幾范式。對這些關(guān)系模式進行規(guī)范化。1.識別名詞。2.判斷要不要名詞存儲,變化的、很多的一般要存儲。3.判斷是實體還是屬性,可分解下去的為實體,不可分解的為屬性。4.判斷實體和實體間是否存在聯(lián)系,有沒有必要給聯(lián)系。學(xué)生表

學(xué)號(Sid)學(xué)生名(Sname)年齡...身份證號班級號班級名S1宋江34

S2李逵

S3林沖

多對多關(guān)系派生表:學(xué)生-課程表學(xué)號(Sid)課程號(cid)得分(scroe)

課程名

S1C190

S1C250

S2C1100

S2C3

課程表

課程號(cid)課程名(cname)

C1C

C2php

C3python

教師表

教師號(tid)教師名(tname)

T1孫悟空

T2豬八戒

T3沙和尚

系部表

系號(did)系名(dname)住址

D1計算機廣州

D2中文珠海

技術(shù)準備–邏輯結(jié)構(gòu)設(shè)計1.E-R圖向關(guān)系模型的轉(zhuǎn)換(1)轉(zhuǎn)換內(nèi)容E-R圖:由實體、實體的屬性和實體之間的聯(lián)系三個要素組成。關(guān)系模型的邏輯結(jié)構(gòu):一組關(guān)系模式的集合。將實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。技術(shù)準備–邏輯結(jié)構(gòu)設(shè)計1.E-R圖向關(guān)系模型的轉(zhuǎn)換(2)轉(zhuǎn)換原則1)轉(zhuǎn)換原則1:一個實體型轉(zhuǎn)換為一個關(guān)系模式(表)2)轉(zhuǎn)換原則2:一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式(表)3)轉(zhuǎn)換原則3:一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并4)轉(zhuǎn)換原則4:一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并5)轉(zhuǎn)換原則5:三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式6)轉(zhuǎn)換原則6:同一實體集的實體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。7)轉(zhuǎn)換原則7:具有相同鍵的關(guān)系模式可合并技術(shù)準備–邏輯結(jié)構(gòu)設(shè)計2.向特定DBMS模型進行轉(zhuǎn)換一般的數(shù)據(jù)模型還需要向特定DBMS規(guī)定的模型進行轉(zhuǎn)換。轉(zhuǎn)換的主要依據(jù)是所選用的DBMS的功能及限制。沒有通用規(guī)則,對于關(guān)系模型來說,這種轉(zhuǎn)換通常都比較簡單。技術(shù)準備–邏輯結(jié)構(gòu)設(shè)計3.數(shù)據(jù)模型的優(yōu)化(1)確定數(shù)據(jù)依賴關(guān)系(2)對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理,消除冗余的聯(lián)系第一范式:保證原子性:數(shù)據(jù)表中的每一列(每個字段)必須是不可拆分的最小單元,也就是確保每一列的原子性;第二范式:保證都完全依賴于主鍵:滿足1NF后,要求表中的所有列,都必須依賴于主鍵,而不能有任何一列與主鍵沒有關(guān)系,也就是說一個表只描述一件事情;第三范式:保證直接依賴于主鍵:必須先滿足第二范式(2NF),要求:表中的每一列只與主鍵直接相關(guān)而不是間接相關(guān),(表中的每一列只能依賴于主鍵);技術(shù)準備–邏輯結(jié)構(gòu)設(shè)計3.數(shù)據(jù)模型的優(yōu)化(3)按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否需要對它們進行合并或分解。(4)按照需求分析階段得到的各種應(yīng)用對數(shù)據(jù)處理的要求,對關(guān)系模式進行必要的分解或合并,以提高數(shù)據(jù)操作的效率和存儲空間的利用率。常用分解方法有水平分解和垂直分解。

技術(shù)準備–物理結(jié)構(gòu)設(shè)計1.數(shù)據(jù)庫的物理設(shè)計的內(nèi)容和方法(1)設(shè)計物理數(shù)據(jù)庫結(jié)構(gòu)的準備工作(2)選擇物理數(shù)據(jù)庫設(shè)計所需參數(shù)技術(shù)準備–物理結(jié)構(gòu)設(shè)計2.數(shù)據(jù)庫物理設(shè)計的步驟(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu)(2)確定系統(tǒng)配置(3)物理實施階段任務(wù)2樂Go商城數(shù)據(jù)庫設(shè)計概念結(jié)構(gòu)設(shè)計1.識別需求中的名詞:用戶、公告、管理員、訂單、商品2.區(qū)分系統(tǒng)中還是系統(tǒng)外名詞3.區(qū)分名詞是實體,還是屬性4.分析實體和實體之間的聯(lián)系5.畫出E-R圖(實體關(guān)系圖)用戶訂單商品管理員公告商品類型n:nn:1n:n1:n1:nID賬號名稱密碼采用合適的工具繪制樂Go商城數(shù)據(jù)庫E-R圖邏輯結(jié)構(gòu)設(shè)計

在邏輯結(jié)構(gòu)設(shè)計中,考慮到實際應(yīng)用中經(jīng)常查詢訂單的詳情數(shù)據(jù),為了保證數(shù)據(jù)庫訪問的性能,盡可能減少多表的連接查詢,我們設(shè)計時可以把表user_goods的關(guān)系融入到訂單表lg_indent中任務(wù)3樂Go商城數(shù)據(jù)庫實施啟動phpMyAdmin采用phpMyAdmin實施樂Go商城數(shù)據(jù)庫建議采用Firefox作為默認的瀏覽器啟動phpMyAdmin啟動phpMyAdmin新建樂Go商城數(shù)據(jù)庫新建數(shù)據(jù)表–管理員表新建數(shù)據(jù)表–為新建表插入測試記錄項目訓(xùn)練-新建其他數(shù)據(jù)表以同樣的方式,新建其他5個數(shù)據(jù)表項目訓(xùn)練–為新建表插入記錄示例:為新建表lg_goods插入若干記錄項目訓(xùn)練–為新建表插入記錄示例:為新建表lg_indent插入若干記錄項目訓(xùn)練–為新建表插入記錄示例:為新建表lg_type插入若干記錄項目訓(xùn)練–為新建表插入記錄示例:為新建表lg_user插入若干記錄任務(wù)4樂Go商城數(shù)據(jù)庫性能優(yōu)化性能優(yōu)化–建立索引為經(jīng)常訪問的字段建立索引,是最常見的性能優(yōu)化技巧之一由于用戶要經(jīng)常對商品進行搜索,也就是在表lg_goods中,經(jīng)常要對字段goodsname進行搜索,因此應(yīng)該在字段上建立索引goodsname,以提高檢索速度。任務(wù)5數(shù)據(jù)庫設(shè)計實訓(xùn)數(shù)據(jù)庫設(shè)計實訓(xùn)–課程管理系統(tǒng)有一課程管理系統(tǒng),有如下特點:一個系可開設(shè)多門課程,但一門課只在一個系部開設(shè),一個學(xué)生可選修多門課程,每門課可供若干學(xué)生選修,一名教師只教一門課程,但一門課程可有幾名教師講授,每個系聘用多名教師,但一個教師只能被一個系所聘用,要求這個課程管理系統(tǒng)能查到任何一個學(xué)生某門課程的成績,以及這個學(xué)生的這門課是哪個老師所教的。(1)請根據(jù)以上描述,繪制相應(yīng)的E-R圖,并直接在E-R圖上注明實體名、屬性、聯(lián)系類型;

(2)將E-R圖轉(zhuǎn)換成關(guān)系模型,畫出相應(yīng)的數(shù)據(jù)庫模型圖,并說明主鍵和外鍵。(3)分析這些關(guān)系模式中所包含的函數(shù)依賴,根據(jù)這些函數(shù)依賴,分析相應(yīng)的關(guān)系模式達到了第幾范式。對這些關(guān)系模式進行規(guī)范化。數(shù)據(jù)庫設(shè)計實訓(xùn)–汽車運輸管理設(shè)某汽車運輸公司數(shù)據(jù)庫中有三個實體集。一是“車隊”實體集,屬性有車隊號、車隊名等;二是“車輛”實體集,屬性有牌照號、廠家、出廠日期等;三是“司機”實體集,屬性有司機編號、姓名、電話等。

車隊與司機之間存在“聘用”聯(lián)系,每個車隊可聘用若干司機,但每個司機只能應(yīng)聘于一個車隊,車隊聘用司機有“聘用開始時間”和“聘期”兩個屬性;

車隊與車輛之間存在“擁有”聯(lián)系,每個車隊可擁有若干車輛,但每輛車只能屬于一個車隊;

司機與車輛之間存在著“使用”聯(lián)系,司機使用車輛有“使用日期”和“公里數(shù)”兩個屬性,每個司機可使用多輛汽車,每輛汽車可被多個司機使用。

(1)請根據(jù)以上描述,繪制相應(yīng)的E-R圖,并直接在E-R圖上注明實體名、屬性、聯(lián)系類型;

(2)將E-R圖轉(zhuǎn)換成關(guān)系模型,畫出相應(yīng)的數(shù)據(jù)庫模型圖,并說明主鍵和外鍵。(3)分析這些關(guān)系模式中所包含的函數(shù)依賴,根據(jù)這些函數(shù)依賴,分析相應(yīng)的關(guān)系模式達到了第幾范式。對這些關(guān)系模式進行規(guī)范化。數(shù)據(jù)庫設(shè)計實訓(xùn)–商業(yè)集團數(shù)據(jù)庫設(shè)某商業(yè)集團數(shù)據(jù)庫中有三個實體集。一是“倉庫”實體集,屬性有倉庫號、倉庫名和地址等;二是“商店”實體集,屬性有商店號、商店名、地址等;三是“商品”實體集,屬性有商品號、商品名、單價。

倉庫與商品之間存在“庫存”聯(lián)系,每個倉庫可存儲若干種商品,每種商品存儲在若干倉庫中,庫存有個“庫存量”、“存入日期”屬性;

商店與商品之間存在著“銷售”聯(lián)系,每個商店可銷售若干種商

溫馨提示

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

最新文檔

評論

0/150

提交評論