知識點總結-2020/7/29
阿新 • • 發佈:2020-07-29
-
什麼是資料模型?資料模型的三要素?
- 資料模型是資料特徵的抽象。從抽象層次上描述了系統的靜態特徵、動態行為和約束條件,為資料庫系統的資訊表示與操作提供了一個抽象的框架。資料模型所描述的內容有三部分:資料結構、資料操作和資料約束。
-
什麼是外來鍵?怎樣建立外來鍵?
- 外來鍵是指引用另外一個表中的一列或多列資料,被引用的列應該具有主鍵約束或者唯一性約束,用來建立和加強兩個表資料之間的連線。
# 新增外來鍵 alter table `表名` add constraint `外來鍵名` foreign key `本表字段名` references `外表表名` `外表主鍵名`; # 插入、刪除資料時外來鍵能保證相同資料在兩個表中的完整、統一性 # 修改主表,則外來鍵保證從表中外來鍵關聯資料也被修改 # 刪除外來鍵 alter table `表名` drop foreign key `外來鍵名`;
-
關係模式規範化理論(關係正規化)
- 第一正規化(屬性不可再分): 列/屬性/欄位具有原子性,不可再分
- 第二正規化(非主屬性完全依賴主屬性): 滿足第一正規化的基礎上,表必須擁有主鍵,且主鍵外的列/屬性/欄位必須完全依賴於主鍵中的
列/屬性/欄位,而不能部份依賴 - 第三正規化(非主屬性直接依賴主屬性): 滿足第二正規化的基礎上,表中非主鍵列/屬性/欄位必須直接依賴於主鍵,而不能傳遞依賴: 非主鍵A 依賴 非主鍵B 依賴主鍵
-
關係資料庫特點
- 資料結構化
- 高共享、低冗餘、易擴充
- 資料獨立性高(物理獨立性、邏輯獨立性)
- 資料由DBMS統一管理和控制
-
關係資料庫“資料獨立性”
- 物理獨立性: 資料的儲存結構
- 邏輯獨立性: 資料的邏輯結構完全由DBMS管理,與上層使用者應用程式相互獨立
- 物理獨立性: 資料的儲存結構
-
正則表示式regexp
-
不同模型下實體間聯絡的表示
- 關係模型: 表
- 層次模型: 樹(指標連結)
- 網狀模型: 圖(指標連結)
-
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`;
- 主鍵(primary key)、外來鍵(foreign key)區別
- 主鍵表示同一關係中各欄位資料間的關係(欄位/屬性間關聯)
- 外來鍵表示兩個關係中基於相同主鍵欄位的聯絡(關係間關聯)
-
資料庫“儲存過程”——(例: DAO層介面或Mybatis的mapper.xml)
儲存過程是指一組完成特定任務的SQL語句集,經編譯儲存在資料庫中,使用者通過呼叫對應名稱的儲存過程並給出引數(如果需要)來執行。 -
資料庫三級模式結構——外模式、模式、內模式
- 內模式(Internal Schema, 物理儲存模式):
- 資料物理結構和儲存方式的描述(資料怎樣儲存、索引怎樣儲存)
- DBMS的基礎(實現資料共享、降低資料冗餘、提高存取效率)
- 具有唯一性(一個數據庫只有一個內模式)
- 模式(Schema,邏輯模式):
- 以某一種資料模型(關係/網狀/層次)為基礎
- 定義了資料的邏輯結構(資料項及其型別/資料之間的聯絡/安全性和完整性要求)
- 具有唯一性
- 外模式(External Schema, 子模式/使用者模式):
- 可以有多個外模式
- 使用者資料檢視
- 保證資料安全性
- 資料庫關係規範化操作異常
- 插入異常: 該插入的資料未被插入
- 刪除異常: 不能刪除的資料被刪除
- 更新異常: 由於資料冗餘帶來的更新時為維護完整性、統一性而做的大量操作
- 資料冗餘: 同樣的資料大量重複出現在不同檔案中
- 檢視設計的三種方式
- 自頂向下。先全域性框架,然後逐步細化
- 自底向上。先區域性概念結構,再整合為全域性結構
- 由裡向外。先核心結構,再向外擴張
-
資料操作: 自然連線、投影、選擇、交集
-
SQL插入語句
# 插入新行
insert into `table_name` (`filed_name1`,...,`filed_name3`) values(....)
# 向表一中插入表二查詢結果
select `filed_name1`...
into `table_name1`
from `table_name2`
where ...