2011年7月15日 星期五

MYSQL筆記

資料庫管理系統DBMS
db依型態可以分好幾種,如階層式.網狀式(不好寫).關聯式(常用).物件導向式~
關聯式資料庫管理系統RDBMS
結構化查詢語言SQL( structured query language)





  • mysql.... 就是資料庫(廢話...)


  • 免費嗎?! 是的!,免費!。也不用權利金。


  • 穩定。


  • 支援太多作業系統了,厲害!


  • 管理mysql的程式是phpmyadmin.


  • 通常使用在關聯式資料庫的標準查詢語言是mysql


  • 關聯式資料庫管理系統不只mysql. access.oracle.SQL server也都是~ (oracle商業導向強)


  • 資料庫的組成大小: 值~紀錄(列)~資料表~資料庫


  • mysql的預設埠號3306


  • 安裝mysql後有兩個預設的資料庫分別是: test跟mysql

正規化 :
一般資料庫差不多執行到第二.三階差不多




  • 第一正規化(1st Normal Form, 1NF)


正規化的基礎,一定要有primary key,消除重複性資料





  • 第二正規化(2NF)



可以讓空間跟時間的效率加快..吧?! ,各欄位與主鍵沒有部分相依的關係(消除表格部份依賴關係)



切割!





  • 第三正規化(3NF)


可能經過2NF之後還是有些地方有問題



各欄位跟主鍵沒有間接相依



再切割!



.....第四正規化...第五正規化~





  • BCNF(boyce-coddNormal form)








三大類別DDL DCL DML



(1)DDL (Creat .Alter . Drop)
drop指刪除資料庫的物件 (ex 欄位 .表格. 資料庫~)



(2)DCL(Grant. Revoke. Rollback.Commit)
Grant賦予權限 (creat insert drop delete)
Revoke取消權限
(3)DML(Insert. Delete. Update.Select)



Drop V.S Delete : drop指拿掉資料庫,delete指把資料清空。





主要限制:



primary key 禁重複,禁null(空值)
Unique 資料不得重複
Check(條件式) 禁使用不符合條件的資料
Not null 禁空值
Default 把指定的值設為預設值

Optimize Table 最佳化目標資料表內容
可整理資料表,執行的同時可以繼續對資料表查詢



MYSQL預設的儲存引擎: MYISAM (可是MYISAM不能建foregin key)





沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...