MySQL知識(shí)點(diǎn)你掌握得怎么樣了?_第1頁
MySQL知識(shí)點(diǎn)你掌握得怎么樣了?_第2頁
MySQL知識(shí)點(diǎn)你掌握得怎么樣了?_第3頁
MySQL知識(shí)點(diǎn)你掌握得怎么樣了?_第4頁
MySQL知識(shí)點(diǎn)你掌握得怎么樣了?_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、MySQL簡介:MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件。MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體

2、積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發(fā)環(huán)境。數(shù)據(jù)庫事務(wù)的四個(gè)特性及含義數(shù)據(jù)庫事務(wù)transanction正確執(zhí)行的四個(gè)基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔離性(Isolation)、持久性(Durability)。原子性:整個(gè)事務(wù)中的所有操作,要么全部完成,要么全部不完成,不可能停滯在中間某個(gè)環(huán)節(jié)。事務(wù)在執(zhí)行過程中發(fā)生錯(cuò)誤,會(huì)被回滾Rollback到事務(wù)開始前的狀態(tài),就像這個(gè)事務(wù)從來沒有執(zhí)行過一樣

3、。一致性:在事務(wù)開始之前和事務(wù)結(jié)束以后,數(shù)據(jù)庫的完整性約束沒有被破壞。隔離性:隔離狀態(tài)執(zhí)行事務(wù),使它們好似是系統(tǒng)在給定時(shí)間內(nèi)執(zhí)行的唯一操作。如果有兩個(gè)事務(wù),運(yùn)行在相同的時(shí)間內(nèi),執(zhí)行 相同的功能,事務(wù)的隔離性將確保每一事務(wù)在系統(tǒng)中認(rèn)為只有該事務(wù)在使用系統(tǒng)。這種屬性有時(shí)稱為串行化,為了防止事務(wù)操作間的混淆,必須串行化或序列化請 求,使得在同一時(shí)間僅有一個(gè)請求用于同一數(shù)據(jù)。持久性:在事務(wù)完成以后,該事務(wù)所對(duì)數(shù)據(jù)庫所作的更改便持久的保存在數(shù)據(jù)庫之中,并不會(huì)被回滾。視圖的作用視圖是虛擬的表,與包含數(shù)據(jù)的表不一樣,視圖只包含使用時(shí)動(dòng)態(tài)檢索數(shù)據(jù)的查詢;不包含任何列或數(shù)據(jù)。使用視圖可以簡化復(fù)雜的sql操作,隱

4、藏具體的細(xì)節(jié),保護(hù)數(shù)據(jù);視圖創(chuàng)建后,可以使用與表相同的方式利用它們。視圖不能被索引,也不能有關(guān)聯(lián)的觸發(fā)器或默認(rèn)值,如果視圖本身內(nèi)有order by 則對(duì)視圖再次order by將被覆蓋。創(chuàng)建視圖:create view XXX as XXXXXXXXXXXXXX;對(duì)于某些視圖比方未使用聯(lián)結(jié)子查詢分組聚集函數(shù)Distinct Union等,是可以對(duì)其更新的,對(duì)視圖的更新將對(duì)基表進(jìn)行更新;但是視圖主要用于簡化檢索,保護(hù)數(shù)據(jù),并不用于更新,而且大部分視圖都不可以更新。數(shù)據(jù)庫范式第一范式1NF在任何一個(gè)關(guān)系數(shù)據(jù)庫中,第一范式1NF是對(duì)關(guān)系模式的基本要求,不滿足第一范式1NF的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫。所

5、謂第一范式1NF是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值,即實(shí)體中的某個(gè)屬性不能有多個(gè)值或者不能有重復(fù)的屬性。如果出現(xiàn)重復(fù)的屬性,就可能需要定義一個(gè)新的實(shí)體,新的實(shí)體由重復(fù)的屬性構(gòu)成,新實(shí)體與原實(shí)體之間為一對(duì)多關(guān)系。在第一范式1NF中表的每一行只包含一個(gè)實(shí)例的信息。簡而言之,第一范式就是無重復(fù)的列。第二范式2NF第二范式2NF是在第一范式1NF的基礎(chǔ)上建立起來的,即滿足第二范式2NF必須先滿足第一范式1NF。第二范式2NF要求數(shù)據(jù)庫表中的每個(gè)實(shí)例或行必須可以被惟一地區(qū)分。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí)。這個(gè)惟一屬性列被稱為主關(guān)鍵字或主鍵、主

6、碼。第二范式2NF要求實(shí)體的屬性完全依賴于主關(guān)鍵字。所謂完全依賴是指不能存在僅依賴主關(guān)鍵字一部分的屬性,如果存在,那么這個(gè)屬性和主關(guān)鍵字的這一部分應(yīng)該別離出來形成一個(gè)新的實(shí)體,新實(shí)體與原實(shí)體之間是一對(duì)多的關(guān)系。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的惟一標(biāo)識(shí)。簡而言之,第二范式就是非主屬性非部分依賴于主關(guān)鍵字。第三范式3NF滿足第三范式3NF必須先滿足第二范式2NF。簡而言之,第三范式3NF要求一個(gè)數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關(guān)鍵字信息。例如,存在一個(gè)部門信息表,其中每個(gè)部門有部門編號(hào)dept_id、部門名稱、部門簡介等信息。那么在職工信息表中列出部門編號(hào)后就不能再將部門

7、名稱、部門簡介等與部門有關(guān)的信息再加入職工信息表中。如果不存在部門信息表,則根據(jù)第三范式3NF也應(yīng)該構(gòu)建它,否則就會(huì)有大量的數(shù)據(jù)冗余。簡而言之,第三范式就是屬性不依賴于其它非主屬性。我的理解是消除冗余存儲(chǔ)過程與觸發(fā)器的區(qū)別觸發(fā)器與存儲(chǔ)過程非常相似,觸發(fā)器也是SQL語句集,兩者唯一的區(qū)別是觸發(fā)器不能用EXECUTE語句調(diào)用,而是在用戶執(zhí)行Transact-SQL語句時(shí)自動(dòng)觸發(fā)激活執(zhí)行。觸發(fā)器是在一個(gè)修改了指定表中的數(shù)據(jù)時(shí)執(zhí)行的存儲(chǔ)過程。通常通過創(chuàng)建觸發(fā)器來強(qiáng)制實(shí)現(xiàn)不同表中的邏輯相關(guān)數(shù)據(jù)的引用完整性和一致性。由于用戶不能繞過觸發(fā)器,所以可以用它來強(qiáng)制實(shí)施復(fù)雜的業(yè)務(wù)規(guī)則,以確保數(shù)據(jù)的完整性。觸發(fā)器不

8、同于存儲(chǔ)過程,觸發(fā)器主要是通過事件執(zhí)行觸發(fā)而被執(zhí)行的,而存儲(chǔ)過程可以通過存儲(chǔ)過程名稱名字而直接調(diào)用。當(dāng)對(duì)某一表進(jìn)行諸如UPDATE、INSERT、DELETE這些操作時(shí),SQLSERVER就會(huì)自動(dòng)執(zhí)行觸發(fā)器所定義的SQL語句,從而確保對(duì)數(shù)據(jù)的處理必須符合這些SQL語句所定義的規(guī)則。索引有關(guān)問題1. MySQL 有哪些存儲(chǔ)引擎啊?都有什么區(qū)別?2. Float、Decimal 存儲(chǔ)金額的區(qū)別?3. Datetime、Timestamp 存儲(chǔ)時(shí)間的區(qū)別?4. Char、Varchar、Varbinary 存儲(chǔ)字符的區(qū)別?5. 什么是索引?6. 比照一下B+樹索引和 Hash索引?7. MySQL索引類型有?8. 如何管理 MySQL索引?9. 對(duì)Explain參數(shù)及重要參數(shù)的理解?10. 索引利弊是什么及索引分類?11.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論