數據庫,SQL和JDBC

一,一個實際的數據庫管理系統必須支持一下任務:
1、  邏輯數據結構的創建和管理
2、  數據錄入和檢索
3、  邏輯一致的數據庫管理
4、  重要階段數據的可靠存儲
關係型數據庫的三個必要條件:結構,完整性和數據處理
術語名詞:
主鍵:數據庫表中對儲存數據對象予以唯一和完整標識的數據列或屬性的組合。一個數據庫表只能有一個主鍵,且主鍵的取值不能缺失,即不能爲空值Null)。
外鍵:在關係數據庫中,每個數據表都是由關係來連繫彼此的關係,父數據表(Parent Entity)主鍵Primery Key)會放在另一個數據表當屬性建立彼此的關係,而這個屬性就是外鍵。
表之間的關係:
一對一:第一個表中的每一行在第二個表中只能有一行與其對應(具有相同的主鍵,可以執行連接功能,並能提高性能或者克服內在的約束)
一對多:第一個表中的每一行在第二個表中可以有零個,一個或者多個對應的行,但第二個表中的每個行只能與第一個表中的一個行對應(即父與子的關係)
多對多:第一個表中的每一行在第二個表中有許多相對應的行,第二個表中的每一行也在第一個表中有許多相對應的行(多對多關係不能直接在關係型數據庫中建立,他們必須分解成多個多對一的關係)
視圖:通過不同的邏輯組合從數據庫中選擇數據來創建的臨時表(其操作與一般表相同)
範式化:按照範式法則將數據庫中的數據進行組織的過程
1.       第一範式:
#要求:*所有記錄具有相同的字段個數
       *所有的字段只包含一個單一的數據項
       *沒有重複數據字段
2.  第二範式:
#要求:*表必須屬於第一範式。
       *表中包包含哪些不含有與所有鍵相關信息的字段
        (要求刪除任何與整個鍵沒有直接關係的數據)
3.   第三範式:
 #要求:*表必須屬於第二範式。
        *表中不能包含於主鍵無關的字段
4.   第四範式:
#要求: *表必須屬於第三範式
         *表不能包含一個實體的兩個或者對個相互獨立的多值因子
5.   第五範式:
#要求: *表必須屬於第四範式
        *表必須可以分解爲更小的表,除非那些表在邏輯上擁有與原始表相同的主鍵
6.修正的第三範式(BCNF
處理包含以下內容的表:*多個候選鍵 *複合候選鍵  *候選鍵重疊
(只有當關系表中功能上相互依賴的那些列的每一列都是一個候選鍵的時候,該關係型表屬於BCNF,即:如果某個表包含許多可以用作主鍵(所謂的候選鍵)的列或者組,那麼該表一定屬於第三範式)

 

二.結構化查詢語言
1.數據定義語言(DDL)用於創建、更改以及取消表和索引
2.數據庫處理語言(DML)用於插入、更新以及刪除數據。
3.數據查詢語言(DQL)使用SELECT命令查詢數據庫。
4事務控制命令用於啓動、提交或回滾事務
5.數據控制語言(DCL)用於授權以及取消用戶的權限,一起口令
CREATE TABLE tableName
(columnName dataType[(size)] [constraints] [default value],….);
完整性約束和觸發器
約束主要類型:
NULL或者NOT NULL約束指定一個字段是必須包含有效數據,還是保留爲空
UNIQUE約束指定在某個特定列中不允許兩列具有相同值
PRIMARY KEY約束指定表的主鍵
觸發器:SQL允許用戶指定表中執行特定操作時應用的安全法則,這些法則既是觸發器

 

INSERT/UPDATE/DELETE/SELECT

 

事務管理和事務控制命令
ACID測試定義的屬性:
原子性(Atomicity
一致性(Consisteny
隔離性(Isolation
持續性(Durability

 

 

數據結構體系:
兩層模型:應用程序層(JDBC驅動程序,業務邏輯以及用戶界面)-----數據庫層(RDBMS
三層模型:
客戶將請求發送到應用服務器,形成中間層。-----通過應用服務器解釋請求,形成完成這些請求必須的SQL語句,---------------並將它們發送到數據庫。數據庫處理SQL語句------結果返回到應用服務器------服務器將結果發送回給客戶
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章