hypertext preprocessor 嵌入thml文件的指令碼程式語言,動態**的開發語言
www.php.net
php, asp, ruby, c, bash《有程式功能的直譯器》
"php通過庫呼叫完成操作檔案"
"bash通過內部程式"
[foo]directive = value
[mysql|mysqli] 連線mysql驅動的配置持久:基於tcp連線發起mysql協議請求,不斷開,需要維持乙個連線
非持久:每次建立都需要拆除連線
php.ini核心配置選項:""cgi, cli //每次httpd呼叫程式,啟動子程序時,讀取配置php.ini配置選項列表:""
fastcgi/module //在啟動web程式讀取一次
[epel]php-xcache提供php的驅動
執行php**: scan[語法] -->parsing[詞法-->表示式] --> complie[表示式-->opcode] --> exec
php-xache能實現,快取opcode,程序間能相互使用opcode
實現
: dbms(mysql, mariadb)
資料結構:層次、網狀、關係模型
關係模型的分類:
基本-關係模型實體-關係模型
基於物件-關係模型
半結構化-關係模型
支援xml解析資料
實現
:sql儲存(mysql分支、oracle、mssql)
mysql分支:mysql官方, mariadb開源, percona-server著名, pgsql皮(enterprisedb)設計正規化:oracle: 傳統公司:在智慧型手機普級的時候,在高階的收音機又有什麼用呢?
ms_sql:微軟
"1nf": 原子性 atomicity,滿足正規化:例如:乙個字段包含班級和專業,不被允許
"2nf":行內有有限個字段惟一標識此行,
"3nf":2個表有相同的字段時,1張表字段必須是主鍵
例如:表1: 專業:非主鍵
表2: 專業:主鍵
"拆表":將乙個大的資料集拆分為小表,表必須滿足正規化表:先定義column, 後row"聯合":join, 基於index,演算法
"資料集":乙個庫、方案、集合內
可以沒有row, 必須有column結構:
sql引擎:執行[scan]、分析[parsing]、求解[解決方案]、優化[選擇路徑|修改路徑結果不變]
"事務:
多個操作都完成或都不完成(atomicity原子性, consistency一致性, isolating隔離性, durability永續性)
恢復:將事務日誌中的資料同步至資料區
鎖: 寫(自己rw,其它人:-)讀(自己:r,其它人:r)
空間管理、緩衝、檔案訪問介面
實現
: sql引擎或sql直譯器 sql引擎(sql協議): 命令執行、函式、變數c/s架構,mysql協議, mariadb協議, oracle協議, mssql協議(sql server)
實現
:client:程式:cli(mysql), gui(phpmyadmin)
api: sql介面, php-mysql, odbc(底層庫)
**api:寫程式面向的物件:硬體規格、彙編、syscall、libcall
server:
監聽socket,接收、處理、響應使用者的請求
mariadb作者研發sql介面:成立ab(瑞典公司),mysqlmysql-->google,facebook改進-->sun收購-->oracle收購sun-->
mysql讀音:『my' 'sql'
作者不樂意:另起一攤:mariadb maria:女兒的名字
oracle不能提供
硬體到軟體到系統
一體化的解決方案,而ibm(big blue)可以,為了比肩ibm,就收購了sun約束型別:
稠密、稀疏:
1對1 or 1對多
索引欄位是1個或多個
聚簇、非聚簇:
索引欄位與資料是否在一起
選擇、選擇row,
where
select
連線、
join
檢視層:
view
,只能看到資料庫的部分內容:提公升使用者體驗邏輯層:
元資料
, 依賴關係物理層:
據儲存格式
:表和檔案的對應關係原始碼 rpm
程式官方/專案官方:原始碼和二進位制程式
穩定
SQL基礎知識
本篇文章是講解sql的基礎知識,但也講得不全面,我只記錄了自己不懂的或者不熟悉的東西。一 在sql中簡單的查詢 1.重複的記錄 distinct 可以通過在選擇列表前的select語句中插入關鍵字distinct來消除重複的查詢結果記錄。比如 select distinct city from ci...
SQL基礎知識
sql作用 1.面向資料庫執行查詢 2.可從資料庫取回資料 3.可在資料庫中插入新的記錄 4.可更新資料庫中的資料 5.可從資料庫刪除記錄 6.可建立新資料庫 7.可在資料庫中建立新錶 8.可在資料庫中建立儲存過程 9.可在資料庫中建立檢視 10.可以設定表 儲存過程和檢視的許可權。資料庫操作語句 ...
SQL基礎知識
資料庫就是資料的倉庫,dbms資料庫管理系統同來對大資料的管理 檢索,就是對資料庫的管理。乙個dbms可以管理多個資料庫,這些不同的資料庫叫catalog或database,dbms允許把不同的database儲存在不同磁碟,每個資料庫中的表名不能相同。table 表,把不同型別的資料放到不同的區域...