1. 程式人生 > 實用技巧 >知識點總結-2020/7/29

知識點總結-2020/7/29

  1. 什麼是資料模型?資料模型的三要素?

    • 資料模型是資料特徵的抽象。從抽象層次上描述了系統的靜態特徵、動態行為和約束條件,為資料庫系統的資訊表示與操作提供了一個抽象的框架。資料模型所描述的內容有三部分:資料結構、資料操作和資料約束
  2. 什麼是外來鍵?怎樣建立外來鍵?

    • 外來鍵是指引用另外一個表中的一列或多列資料,被引用的列應該具有主鍵約束或者唯一性約束,用來建立和加強兩個表資料之間的連線。
# 新增外來鍵  
alter table `表名` add constraint `外來鍵名` foreign key `本表字段名` references `外表表名` `外表主鍵名`;  
# 插入、刪除資料時外來鍵能保證相同資料在兩個表中的完整、統一性
# 修改主表,則外來鍵保證從表中外來鍵關聯資料也被修改
# 刪除外來鍵
alter table `表名` drop foreign key `外來鍵名`;
  1. 關係模式規範化理論(關係正規化)

    • 第一正規化(屬性不可再分): 列/屬性/欄位具有原子性,不可再分
    • 第二正規化(非主屬性完全依賴主屬性): 滿足第一正規化的基礎上,表必須擁有主鍵,且主鍵外的列/屬性/欄位必須完全依賴於主鍵中的
      列/屬性/欄位,而不能部份依賴
    • 第三正規化(非主屬性直接依賴主屬性): 滿足第二正規化的基礎上,表中非主鍵列/屬性/欄位必須直接依賴於主鍵,而不能傳遞依賴: 非主鍵A 依賴 非主鍵B 依賴主鍵
  2. 關係資料庫特點

    • 資料結構化
    • 高共享、低冗餘、易擴充
    • 資料獨立性高(物理獨立性、邏輯獨立性)
    • 資料由DBMS統一管理和控制
  3. 關係資料庫“資料獨立性”

    • 物理獨立性: 資料的儲存結構
      完全由DBMS管理,與上層使用者應用程式相互獨立
    • 邏輯獨立性: 資料的邏輯結構完全由DBMS管理,與上層使用者應用程式相互獨立
  4. 正則表示式regexp

  5. 不同模型下實體間聯絡的表示

    • 關係模型: 表
    • 層次模型: 樹(指標連結)
    • 網狀模型: 圖(指標連結)
  6. case函式、case搜尋函式
    case...when..then..end

# 執行搜尋
select `filed_name1`,  
  {case `filed_name1`
    when `filed__name1_value1` then `filed_name2_value1`
    when `filed__name1_value2` then `filed_name2_value2`
    end
  }`filed_name2`
from `table_name`;
  1. 主鍵(primary key)、外來鍵(foreign key)區別
  • 主鍵表示同一關係中各欄位資料間的關係(欄位/屬性間關聯)
  • 外來鍵表示兩個關係中基於相同主鍵欄位的聯絡(關係間關聯)
  1. 資料庫“儲存過程”——(例: DAO層介面或Mybatis的mapper.xml)
    儲存過程是指一組完成特定任務的SQL語句集,經編譯儲存在資料庫中,使用者通過呼叫對應名稱的儲存過程並給出引數(如果需要)來執行。

  2. 資料庫三級模式結構——外模式、模式、內模式

  • 內模式(Internal Schema, 物理儲存模式):
    • 資料物理結構和儲存方式的描述(資料怎樣儲存、索引怎樣儲存)
    • DBMS的基礎(實現資料共享、降低資料冗餘、提高存取效率)
    • 具有唯一性(一個數據庫只有一個內模式)
  • 模式(Schema,邏輯模式):
    • 以某一種資料模型(關係/網狀/層次)為基礎
    • 定義了資料的邏輯結構(資料項及其型別/資料之間的聯絡/安全性和完整性要求)
    • 具有唯一性
  • 外模式(External Schema, 子模式/使用者模式):
    • 可以有多個外模式
    • 使用者資料檢視
    • 保證資料安全性
  1. 資料庫關係規範化操作異常
  • 插入異常: 該插入的資料未被插入
  • 刪除異常: 不能刪除的資料被刪除
  • 更新異常: 由於資料冗餘帶來的更新時為維護完整性、統一性而做的大量操作
  • 資料冗餘: 同樣的資料大量重複出現在不同檔案中
  1. 檢視設計的三種方式
  • 自頂向下。先全域性框架,然後逐步細化
  • 自底向上。先區域性概念結構,再整合為全域性結構
  • 由裡向外。先核心結構,再向外擴張
  1. 資料操作: 自然連線、投影、選擇、交集

  2. SQL插入語句

# 插入新行  
insert into `table_name` (`filed_name1`,...,`filed_name3`) values(....)
# 向表一中插入表二查詢結果  
select `filed_name1`...
into `table_name1`
from `table_name2`
where ...