數據庫的DBS DBMS DBA DDL DML DCL

數據庫系統 DBS
整體數據的結構化是數據庫的主要特徵之一
數據結構化,
數據的共享性高,冗餘度低,易擴充
數據的獨立性高:物理獨立性(用戶的應用程序和磁盤中的數據是相互獨立的,當數據的物理存儲改變,程序不用改變)和邏輯獨立性(應用程序和數據庫的邏輯結構是相互獨立的,邏輯結構改變,用戶程序也可以不改變)
數據由DBMS統一管理和控制

DBMS :數據庫管理系統, DataBase Manager System
(1) 數據的安全性保護,保護數據,以防止不合法的使用造成的數據的泄密和破壞
(2)數據的完整性檢查, 將數據控制在有效的範圍之內,或者保證數據之間滿足一定的關係
(3) 併發控制, 對多個用戶的併發操作加以控制和協調,防止相互干擾而得到錯誤的結果
(4) 數據庫的恢復, 將數據庫從錯誤狀態恢復到某一一已知的正確狀態

DBA : 數據庫管理員 DataBase Administrators
DBA的主要職能:
1. 決定數據庫中的信息內容和結構
2. 決定數據庫中的存儲結構和存取策略
3. 定義數據的安全性要求和完整性約束條件
4. 監控數據庫的運行和使用 ,包括: 週期性的轉儲數據庫(數據文件,日誌文件),; 系統故障恢復; 介質故障恢復; 監視審計文件;備份和恢復數據庫
5. 數據庫的改進與重組: 包括性能的監控與調優;定期對數據庫進行重組織,提高系統的性能;需求增加或者改變時,數據庫須重構造

DBA的必備技能
1. 數據庫安裝升級,OS安裝升級
2. SQL編程
3. 性能調優
4. 數據庫備份與恢復
5. 數據庫遷移
6. 跨平臺管理不同RDBMS的能力

DDL : 數據定義語言 Data Define Language
牽涉到 表、視圖,觸發器,條件約束 和索引定義,刪除,修改 主要涉及到
Create //創建
Drop // 刪除
Alter // 修改
Truncate //一次刪除表中所有的數據

DML: 數據操縱語言 Data Manipulation Language
數據的插入,修改,刪除
insert
update
delete

DCL : 數據控制語言 Data Control Language
是用來設置或更改數據庫用戶或角色權限的語句,並控制數據庫操縱事務發生的時間及效果,對數據庫實行監視等 牽涉到:
Grant : 授權
Revoke: 收回權限
COMMIT : 提交
SAVEPOINT 保存點
ROLLBACK 回滾
SET TRANSACTION 設置當前事務的特性,它對後面的事務沒影響

DQL : 數據查詢語言
SELECT select_list
  [ INTOnew_table ]
  FROM table_source
  [ WHERE search_condition ]
  [ GROUP BY group_by_expression ]
  [ HAVING search_condition ]
  [ ORDER BY order_expression [ ASC | DESC ] ]

Truncate 與 delete 與drop的區別:

刪除的時候還有一個語句 Truncate table 表名
這個關鍵字的意思是快速的刪除一個表中所有行的信息,功能與不帶where 的 delete語句相同,但是使用速度比delete快,且使用的系統和事務日誌資源少。

速度,一般來說: drop> truncate > delete
安全性上,慎用drop, truncate, 尤其是沒有備份的時候

DELETE 語句每次刪除一行,並在事務日誌中爲所刪除的每行記錄一項

TRUNCATE TABLE 一次刪除表中的所有行, 而且它是通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日誌中記錄頁的釋放。但表結構及其列、約束、索引等保持不變,也就是說表仍舊存在着,只是數據沒有了。TRUNCATE 和事務無關,一旦刪除之後,無法回滾。而且它的操作不能激活觸發器 對於有外鍵約束引用的表,不能使用truncate, 應使用不帶where語句的 delete

Drop table 刪除表中的數據以及表的定義。數據沒有了,表也沒有了。它將刪除表的結構和被依賴的約束(constrain)、觸發器(trigger)、索引(index), 依賴於該表的存儲過程/函數將保留,但是變爲 invalid 狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章