一. 數(shù)據(jù)庫基礎(chǔ)
1 什么是數(shù)據(jù)庫颂郎?
數(shù)據(jù)庫:database 存儲數(shù)據(jù)的倉庫扳埂。高效存儲和處理數(shù)據(jù)的介質(zhì)(介質(zhì)主要是兩種:磁盤和內(nèi)存)
2 數(shù)據(jù)庫的類型
- 基于介質(zhì)分類:
-
關(guān)系型數(shù)據(jù)庫(SQL)
關(guān)系型數(shù)據(jù)庫是一種建立在關(guān)系模型(數(shù)學(xué)模型)上的數(shù)據(jù)庫。- 中等數(shù)據(jù)庫:SQL-SERVER,Mysql
- 大型數(shù)據(jù)庫: DB2,Oracle
- 小型數(shù)據(jù)庫:access,playerfabs
-
非關(guān)系型數(shù)據(jù)庫(No SQL 即 Not Only SQL)
- 非關(guān)系型數(shù)據(jù)庫:memcached mongodb redis(同步到磁盤)
-
3 數(shù)據(jù)庫優(yōu)缺點(diǎn)
- 關(guān)系型數(shù)據(jù)庫:安全壁却,容易理解
- 非關(guān)系型數(shù)據(jù)庫:效率高批狱,不安全(斷電丟失)
二.數(shù)據(jù)庫分析
- 關(guān)系型數(shù)據(jù)庫(SQL)
關(guān)系型數(shù)據(jù)庫是一種建立在關(guān)系模型(數(shù)學(xué)模型)上的數(shù)據(jù)庫。 - 關(guān)系模型:一種所謂建立在關(guān)系上的模型
- 數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)存儲的問題展东,二維表(有行和列)
- 操作指令集合:所有SQL語句
- 完整性約束:表內(nèi)數(shù)據(jù)約束
- 關(guān)系型數(shù)據(jù)庫設(shè)計(jì)
從需要存儲的數(shù)據(jù)需求中分析赔硫,如果是一類數(shù)據(jù)(實(shí)體),應(yīng)該設(shè)計(jì)成一張二維表:表由表頭(字段名:用來規(guī)定數(shù)據(jù)的名字)和數(shù)據(jù)部分組成(實(shí)際存儲的數(shù)據(jù)單元)
表頭 | 字段名1 | 字段名2 |
---|---|---|
數(shù)據(jù)單元 | 數(shù)據(jù)1 | 數(shù)據(jù)2 |
dababase
數(shù)據(jù)庫系統(tǒng):DBS(Database System): 是一種虛擬系統(tǒng)盐肃,將多種內(nèi)同關(guān)聯(lián)起來的稱呼爪膊。DBS = DBMS + DB
DBMS: Database Management System,數(shù)據(jù)庫管理系統(tǒng),專門管理數(shù)據(jù)庫
DBA: DataBase Administrator 數(shù)據(jù)庫管理員
- SQL
Structured Query Language 結(jié)構(gòu)化查詢語言(數(shù)據(jù)以查詢?yōu)橹鳎?br> DDL: Data Definition Language,數(shù)據(jù)定義語言砸王,用來維護(hù)存儲數(shù)據(jù)的結(jié)構(gòu)(數(shù)據(jù)庫推盛,表) 代表指令:creat, drop alter等
DML:(Data Manipulation Language),數(shù)據(jù)操作語言谦铃,用來對數(shù)據(jù)進(jìn)行操作(數(shù)據(jù)表中的內(nèi)內(nèi)容)耘成,代表指令:insert,delete,update等:其中DML內(nèi)部又單獨(dú)進(jìn)行了一個(gè)分類:DQL(Data Query Language:數(shù)據(jù)查詢語言,如Select) DCL:(Data control Language)數(shù)據(jù)控制語言荷辕,主要是負(fù)責(zé)權(quán)限管理(用戶),代表指令:grant,revoke等
三.Mysql數(shù)據(jù)庫
是一種C/S結(jié)構(gòu)的軟件件豌,客戶端/服務(wù)端疮方,若想訪問服務(wù)器必須通過客戶端(服務(wù)器一直運(yùn)行,客戶端在需要使用的時(shí)候運(yùn)行)
- 交互方式:
- 1:連接服務(wù)器茧彤,認(rèn)證身份:mysql.exe-hPup
- 2 : 發(fā)送SQL指令
- 3 : 服務(wù)器接收SQL指令骡显,處理SQL指令,返回操作結(jié)果
- 4 :客戶端顯示結(jié)果
- 5 : 斷開連接曾掂,釋放資源惫谤,服務(wù)器并發(fā)限制
Mysql服務(wù)器對象分為四級:系統(tǒng)(DBMS)--數(shù)據(jù)庫(DB)--數(shù)據(jù)表(Table)--字段(field)
- 基本操作 : CRUD
將SQL的基本操作根據(jù)操作對象進(jìn)行分類:庫操作,表操作(字段)珠洗,數(shù)據(jù)操作 - 庫操作
- 作用:對數(shù)據(jù)庫的增刪改查
- 語法:Creat database 數(shù)據(jù)庫名字
- 庫選項(xiàng):用來約束數(shù)據(jù)庫溜歪,分為兩個(gè)選項(xiàng)
- 字符集設(shè)定:charset/character set 具體字符集
- 校對集設(shè)定:collate 具體校對集()
- 庫選項(xiàng):用來約束數(shù)據(jù)庫溜歪,分為兩個(gè)選項(xiàng)