版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
MySQL數(shù)據(jù)庫基礎(chǔ)授課人:fcq2023/3/13PHP+MySQL開發(fā)實戰(zhàn)@付嫦情2數(shù)據(jù)庫基本操作1、數(shù)據(jù)庫設(shè)計輔助工具2、編碼規(guī)范數(shù)據(jù)庫設(shè)計的相關(guān)知識2023/3/13網(wǎng)絡(luò)程序設(shè)計-MicrosoftASP.NET@何文海3數(shù)據(jù)庫設(shè)計輔助工具
工具模型技術(shù)業(yè)務(wù)模型面向?qū)ο蠓治龊驮O(shè)計技術(shù)結(jié)構(gòu)化分析和設(shè)計技術(shù)軟件測試技術(shù)關(guān)系數(shù)據(jù)庫設(shè)計技術(shù)ErwinPowerDesignerRationalRoseVisioVC++6.0VisualstudioEclipseNetBeans單元測試工具功能測試工具性能測試工具程序流程圖DFD時序圖狀態(tài)圖CASE工具IDE工具測試工具數(shù)據(jù)模型類圖E-R圖在編程的時候會考慮代碼的可讀性嗎?你覺得代碼可讀性是需要考慮的問題嗎?1.代碼不僅要自己能讀懂,還要別人也能看懂?2.盡量做到可讀,但時間緊任務(wù)重的時候就顧不上了?3.代碼只要自己能讀懂就可以了?4.代碼寫完就完了,不用管以后是否能讀懂?5.不知道,沒有想過這個問題?編碼規(guī)范2023/3/13網(wǎng)絡(luò)程序設(shè)計-MicrosoftASP.NET@何文海5請記?。罕M最大努力把方便留給別人和將來的自己。建議大家遵循本書羅列的常用編程規(guī)范!123關(guān)系實體和屬性E-R圖的設(shè)計原則E-R圖設(shè)計的質(zhì)量直接決定了關(guān)系數(shù)據(jù)庫設(shè)計的質(zhì)量。E-R圖
實體不是某一個具體事物,而是某一種類別所有事物的統(tǒng)稱。屬性通常用于表示實體的某種特征,也可以使用屬性表示實體間關(guān)系的特征實體屬性屬性實體和屬性E-R圖中的關(guān)系用于表示實體間存在的聯(lián)系,在E-R圖中,實體間的關(guān)系通常使用一條線段表示。E-R圖中實體間的關(guān)系是雙向的。關(guān)系關(guān)系關(guān)系
基數(shù)表示一個實體到另一個實體之間關(guān)聯(lián)的數(shù)目,基數(shù)是針對關(guān)系之間的某個方向提出的概念,基數(shù)可以是一個取值范圍,也可以是某個具體數(shù)值基數(shù)可選基數(shù)強(qiáng)制關(guān)系
元表示關(guān)系所關(guān)聯(lián)的實體個數(shù)。二元關(guān)系二元關(guān)系一元關(guān)系關(guān)系
使用關(guān)聯(lián)(Association)表示實體間關(guān)系的屬性。關(guān)聯(lián)關(guān)聯(lián)關(guān)系123實體是一個單獨的個體,不能存在于另一個實體中,成為另一個實體的屬性。屬性應(yīng)該存在于、且只存在于某一個地方(實體或者關(guān)聯(lián))。同一個實體在同一個E-R圖內(nèi),僅出現(xiàn)一次。
數(shù)據(jù)庫開發(fā)人員通常采用“一事一地”的原則從系統(tǒng)的功能描述中抽象出來E-R圖。E-R圖的設(shè)計原則1.為E-R圖中的每個實體建立一張表。2.為每張表定義一個主鍵(如果需要,可以向表添加一個沒有實際意義的字段作為該表的主鍵)3.增加外鍵表示一對多關(guān)系。4.建立新表表示多對多關(guān)系。5.為字段選擇合適的數(shù)據(jù)類型。6.定義約束條件(如果需要)。7.評價關(guān)系的質(zhì)量,并進(jìn)行必要的改進(jìn)。關(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)為每個實體建立一張數(shù)據(jù)庫表關(guān)鍵字(key):用以唯一標(biāo)識表中的每行記錄。主鍵(PrimaryKey):在所有的關(guān)鍵字中選擇一個關(guān)鍵字,作為該表的主關(guān)鍵字,簡稱主鍵。為每張表定義一個主鍵主鍵有以下兩個特征:(1)表的主鍵可以是一個字段,也可以是多個字段的組合(這種情況稱為復(fù)合主鍵)。(2)表中主鍵的值具有唯一性且不能取空值(NULL);當(dāng)表中的主鍵由多個字段構(gòu)成時,每個字段的值都不能取NULL。主鍵設(shè)計技巧,請參看本書內(nèi)容。為每張表定義一個主鍵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)為每張表定義一個主鍵外鍵(ForeignKey):如果表A中的一個字段a對應(yīng)于表B的主鍵b,則字段a稱為表A的外鍵,此時存儲在表A中字段a的值,要么是NULL,要么是來自于表B主鍵b的值。增加外鍵表示一對多關(guān)系情形一:如果實體間的關(guān)系為一對多關(guān)系,則需要將“一”端實體的主鍵放到“多”端實體中,然后作為“多”端實體的外鍵,通過該外鍵即可表示實體間的一對多關(guān)系。增加外鍵表示一對多關(guān)系讓學(xué)生記住所在班級,遠(yuǎn)比班級“記住”所有學(xué)生容易的多。增加外鍵表示一對多關(guān)系情形二:實體間的一對一關(guān)系,可以看成一種特殊的一對多關(guān)系:將“一”端實體的主鍵放到另“一”端的實體中,并作為另“一”端的實體的外鍵,然后將外鍵定義為唯一性約束(UniqueConstraint)。增加外鍵表示一對多關(guān)系PK增加外鍵表示一對多關(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)增加外鍵表示一對多關(guān)系情形三:如果兩個實體間的關(guān)系為多對多關(guān)系,則需要添加新表表示該多對多關(guān)系,然后將該關(guān)系涉及到的實體的“主鍵”分別放入到新表中(作為新表的外鍵),并將關(guān)系自身的屬性放入到新表中作為新表的字段。建立新表表示多對多關(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)建立新表表示多對多關(guān)系建立新表表示多對多關(guān)系為字段選擇合適的數(shù)據(jù)類型為字段選擇合適的數(shù)據(jù)類型手機(jī)號什么數(shù)據(jù)類型?學(xué)號2012001用什么數(shù)據(jù)類型?
2016-11-08用什么數(shù)據(jù)類型?常用的約束條件有6種:主鍵(PrimaryKey)約束外鍵(ForeignKey)約束唯一性(Unique)約束默認(rèn)值(Default)約束非空(NotNULL)約束檢查(Check)約束。定義約束(Constraint)條件設(shè)計數(shù)據(jù)庫時,有兩個不爭的事實。 數(shù)據(jù)庫中冗余的數(shù)據(jù)需要額外的維護(hù),因此質(zhì)量好的一套表應(yīng)該盡量“減少冗余數(shù)據(jù)”。 數(shù)據(jù)庫中經(jīng)常發(fā)生變化的數(shù)據(jù)需要額外的維護(hù),因此質(zhì)量好的一套表應(yīng)該盡量“避免數(shù)據(jù)經(jīng)常發(fā)生變化”。評價數(shù)據(jù)庫表設(shè)計的質(zhì)量冗余的數(shù)據(jù)需要額外的維護(hù),并且容易導(dǎo)致“數(shù)據(jù)不一致”、“插入異?!币约啊皠h除異?!钡葐栴}的發(fā)生。使用規(guī)范化減少數(shù)據(jù)冗余場景一:插入異常。場景二:修改復(fù)雜。場景三:刪除異常。使用規(guī)范化減少數(shù)據(jù)冗余規(guī)范化是通過最小化數(shù)據(jù)冗余來提升數(shù)據(jù)庫設(shè)計質(zhì)量的過程,規(guī)范化是基于函數(shù)依賴以及一系列范式定義的,最為常用的是第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。第一范式:如果一張表內(nèi)同類字段不重復(fù)出現(xiàn),該表就滿足第一范式的要求。第二范式:一張表在滿足第一范式的基礎(chǔ)上,如果每個“非關(guān)鍵字”字段“僅僅”函數(shù)依賴于主鍵,那么該表滿足第二范式的要求。第三范式:如果一張表滿足第二范式的要求,并且不存在“非關(guān)鍵字”字段函數(shù)依賴于任何其他“非關(guān)鍵字”字段,那么該表滿足第三范式的要求。使用規(guī)范化減少數(shù)據(jù)冗余函數(shù)依賴:一張表內(nèi)兩個字段值之間的一一對應(yīng)關(guān)系稱為函數(shù)依賴。第一范式:如果一張表內(nèi)同類字段不重復(fù)出現(xiàn),該表就滿足第一范式的要求。使用規(guī)范化減少數(shù)據(jù)冗余第一范式使用規(guī)范化減少數(shù)據(jù)冗余第二范式:一張表在滿足第一范式的基礎(chǔ)上,如果每個“非關(guān)鍵字”字段“僅僅”函數(shù)依賴于主鍵,那么該表滿足第二范式的要求。使用規(guī)范化減少數(shù)據(jù)冗余第二范式使用規(guī)范化減少數(shù)據(jù)冗余第三范式:如果一張表滿足第二范式的要求,并且不存在“非關(guān)鍵字”字段函數(shù)依賴于任何其他“非關(guān)鍵字”字段,那么該表滿足第三范式的要求。使用規(guī)范化減少數(shù)據(jù)冗余第三范式使用規(guī)范化減少數(shù)據(jù)冗余統(tǒng)計學(xué)生的個人資料時,如果讀者是一名數(shù)據(jù)庫開發(fā)人員,應(yīng)該讓學(xué)生上報年齡信息,還是讓學(xué)生上報出生日期?避免數(shù)據(jù)經(jīng)常發(fā)生變化方案一:course(course_no,course_no,course_name,up_limit,description,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度新能源產(chǎn)業(yè)項目融資擔(dān)保合同3篇
- 2024年房地產(chǎn)代持業(yè)務(wù)合同模板:保障權(quán)益與規(guī)范操作6篇
- 2024年度貨物運輸合同中對貨物損失、滅失責(zé)任的明確與承擔(dān)3篇
- 2024專項產(chǎn)品線唯一供貨商協(xié)議一
- 屈光參差性弱視病因介紹
- 2024年高級機(jī)動車鑒定評估師技能鑒定理論試題庫(含答案)
- 2024年安全生產(chǎn)作業(yè)規(guī)定和制度
- 糧食經(jīng)紀(jì)人采購合同范例
- 運維兼職合同范例
- 雇傭接送小孩合同范例
- 完整風(fēng)電場運維服務(wù)合同
- 走近非遺 課件 2024-2025學(xué)年湘美版(2024)初中美術(shù)七年級上冊
- 公司章程(完整版)
- 以息代租合同模板
- 2024年浙江省單獨招生文化考試語文試卷(含答案詳解)
- 壓瘡的預(yù)防和護(hù)理健康宣教課件
- 《高中體育與健康》考試復(fù)習(xí)題庫及答案
- 機(jī)械設(shè)計基礎(chǔ)(二)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 醫(yī)院后勤副院長年終工作總結(jié)
- 浙江省寧波市鄞州區(qū)2023-2024學(xué)年九年級上學(xué)期期末考試科學(xué)試題
- 二進(jìn)制基礎(chǔ)知識課件
評論
0/150
提交評論