資源描述:
《MySQL數(shù)據(jù)庫技術(shù)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第5講MySQL數(shù)據(jù)操作課程:《PHP網(wǎng)站開發(fā)》溫故知新知識回顧PHP瀏覽器數(shù)據(jù)傳遞和處理。PHP表單和表單元素?cái)?shù)據(jù)運(yùn)用。用戶注冊頁面的實(shí)現(xiàn)。本節(jié)課知識要點(diǎn)phpMyAdmin管理使用MySQL數(shù)據(jù)庫。MySQL的增刪改查基本SQL語句綜合操作。項(xiàng)目導(dǎo)引:企業(yè)新聞發(fā)布系統(tǒng)數(shù)據(jù)庫我們思考幾個(gè)問題,新聞發(fā)布系統(tǒng)中的新聞信息存放在什么地方?用戶的賬戶信息和發(fā)布的新聞等內(nèi)容又到哪里去了?這些內(nèi)容又以什么形式存放呢?以上內(nèi)容按照一定的格式存放在數(shù)據(jù)庫(DataBase)中,數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫,其可以快速、安全的存儲、處理大量的數(shù)據(jù)。PHP開發(fā)網(wǎng)站使用數(shù)據(jù)
2、庫:PHP可以與MySQL、ACCESS、SQLServer、ORACAL等多種數(shù)據(jù)庫組合使用。PHP開發(fā)最常用的數(shù)據(jù)庫:在這些數(shù)據(jù)庫中,MySQL是世界上最為流行、開放源碼、完全網(wǎng)絡(luò)化、跨平臺的數(shù)據(jù)庫,能夠滿足多數(shù)中小型企業(yè)的需求,絕大多數(shù)PHP網(wǎng)站采用MySQL作為網(wǎng)站的數(shù)據(jù)庫。8-1數(shù)據(jù)庫概述1.數(shù)據(jù)庫數(shù)據(jù)庫是一種專門存儲信息和維護(hù)信息的容器,嚴(yán)格地說數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理信息的倉庫”。外觀上,數(shù)據(jù)庫中的二維表(簡稱數(shù)據(jù)庫表)和電子表格Excel是相同的。數(shù)據(jù)庫表是由列和行構(gòu)成,數(shù)據(jù)庫表中的一列稱為一個(gè)字段,每個(gè)字段用于存儲某
3、種數(shù)據(jù)類型的數(shù)據(jù);數(shù)據(jù)庫表中的一行稱為一條記錄,每條記錄包含表中的一條詳細(xì)信息。8-1數(shù)據(jù)庫概述2.關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS或relationaldatabasemanagementsystem)就是管理關(guān)系數(shù)據(jù)庫的軟件系統(tǒng)。關(guān)系數(shù)據(jù)庫管理系統(tǒng)主要功能就是創(chuàng)建關(guān)系數(shù)據(jù)庫,并且在關(guān)系數(shù)據(jù)庫中創(chuàng)建各種數(shù)據(jù)庫對象(表、索引、視圖、存儲過程等)以及維護(hù)各個(gè)數(shù)據(jù)庫對象。對于初學(xué)者而言,關(guān)系數(shù)據(jù)庫管理系統(tǒng)最重要的功能莫過于創(chuàng)建數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫表以及完成數(shù)據(jù)庫表記錄的添加、修改、刪除和查詢等操作。8-1數(shù)據(jù)庫概述3.結(jié)構(gòu)化查
4、詢語言SQL結(jié)構(gòu)化查詢語言的英文全稱是structuredquerylanguage,簡稱SQL。SQL是一種應(yīng)用廣泛的關(guān)系數(shù)據(jù)庫語言,用于定義和管理關(guān)系數(shù)據(jù)庫中的各種對象(表、索引、視圖、存儲過程等),也可以用于查詢、修改和刪除數(shù)據(jù)庫表中的記錄。8-2數(shù)據(jù)庫的設(shè)計(jì)0.預(yù)備數(shù)據(jù)庫的設(shè)計(jì)一般要從E-R模型開始,之后的步驟如下:1.為每個(gè)實(shí)體建立一張表2.為每個(gè)表選擇一個(gè)主鍵(建議添加一個(gè)沒有實(shí)際意義的字段作為主鍵)3.增加外鍵以表示一對多關(guān)系4.建立新表表示多對多關(guān)系5.定義約束條件6.評價(jià)關(guān)系的質(zhì)量,并進(jìn)行必要的改進(jìn)(關(guān)于范式等知識請參考其他數(shù)據(jù)庫書
5、籍)7.為每個(gè)字段選擇合適的數(shù)據(jù)類型和取值范圍8-2數(shù)據(jù)庫的設(shè)計(jì)1.E-R模型E-R(Entity-Relationship)模型即實(shí)體-關(guān)系模型主要用于定義數(shù)據(jù)的存儲需求,該模型已經(jīng)廣泛用于關(guān)系數(shù)據(jù)庫設(shè)計(jì)中。E-R模型由實(shí)體、屬性和關(guān)系三個(gè)基本要素構(gòu)成。8-2數(shù)據(jù)庫的設(shè)計(jì)2.主鍵(PrimaryKey)數(shù)據(jù)庫表要求表中的每一行記錄都必須是唯一的,即在同一張表中不允許出現(xiàn)完全相同的兩條記錄。在設(shè)計(jì)數(shù)據(jù)庫時(shí),為了保證記錄的“唯一性”,最為普遍、最為推薦的做法是為表定義一個(gè)主鍵(primarykey)。數(shù)據(jù)庫表中主鍵有以下兩個(gè)特征:1.表的主鍵可以由一個(gè)
6、字段構(gòu)成,也可以由多個(gè)字段構(gòu)成(這種情況稱為復(fù)合主鍵)。2.?dāng)?shù)據(jù)庫表中主鍵的值具有唯一性且不能取空值(NULL),當(dāng)數(shù)據(jù)庫表中的主鍵由多個(gè)字段構(gòu)成時(shí),每個(gè)字段的值不能取NULL值。8-2數(shù)據(jù)庫的設(shè)計(jì)3.實(shí)體間的關(guān)系與外鍵(ForeignKey)班級實(shí)體和班主任實(shí)體之間為一對一關(guān)系,班級實(shí)體和學(xué)生實(shí)體之間為一對多關(guān)系,學(xué)生實(shí)體和課程實(shí)體之間為多對多關(guān)系。實(shí)體間的關(guān)系可以通過外鍵來表示。如果表A中的一個(gè)字段a對應(yīng)于表B的主鍵b,則字段a稱為表A的外鍵。此時(shí)存儲在表A中字段a的值,同時(shí)這個(gè)字段值也是表B主鍵b的值。8-2數(shù)據(jù)庫的設(shè)計(jì)4.約束(constra
7、int)常用的約束條件有六種:主鍵(primarykey)約束外鍵(foreignkey)約束唯一性(unique)約束默認(rèn)值(default)約束非空(notNULL)約束檢查(check)約束8.3數(shù)據(jù)表設(shè)計(jì)1.數(shù)據(jù)表一個(gè)數(shù)據(jù)庫中可以有多個(gè)數(shù)據(jù)表,每個(gè)數(shù)據(jù)表的名稱必須是唯一的,表中每個(gè)字段的名稱也必須是唯一的,每個(gè)字段都有對應(yīng)的數(shù)據(jù)類型和取值范圍。二維表中能唯一區(qū)分、確定不同記錄的屬性或?qū)傩越M合,稱為該表的主鍵。主鍵具有唯一性和非空性。例如:圖書編號為圖書表的主鍵,用戶編號為用戶表的主鍵。在圖書類別表中,typeid(類別編號)字段為主鍵,在圖書
8、表中也有typeid(類別編號)字段,并且與圖書類別表中的typeid(類別編號)字段是對應(yīng)關(guān)系。這里我們把