這次小編就來給學習java數據庫的小伙伴們說一下java培訓從開始的入門到的出師都必須需要經歷哪幾個步驟?
一、視圖
#數據庫對象,一個虛擬表,底層并非以鍵值的形式保存數據,在執行過程中
#動態從基表獲取數據(視圖以表為底層來查詢)
視圖其實就是提高查詢效率的中間件,就像子查詢 (select ename,deptno from emp) as wtf 查出來的作為 wtf表。
底層其實就是一條select 語句。
上demo 吧
上邊的demo 沒辦法修改deptno 因為 有限制 ,注意是deptno 不能修改,會報錯,其他的一樣的
create view view_emp
as
select * from emp;
所以就別對視圖進行增刪改操作。
二、索引
#為提升查詢效率而創建數據結構
#B-Tree B+樹索引 多路搜索樹
#在 mysql中 默認采用 B+樹方式來維護 索引列數據
#B+樹是一個多路搜索樹
#不同的存儲引擎,對索引的存儲策略不一樣的
#Myisam 葉子節點中保存記錄的地址
#innodb 葉子節點中直接保存相應的數據
#位圖索引 哈希索引
上邊看不懂也沒關系:索引初學者,用就行了:
上demo吧
索引列的選擇
#索引需要單獨的文件來保存維護
#表數據發生變化,需要維護索引表
#適合添加索引
#表數據量足夠大
#增刪改操作較少
#高基數列:不一樣的數據比較多
#索引說明 :
#索引不適合添加過多
#經常作為查詢條件的列適合作為索引列
#某些情況下索引會失效 or like-包含
三、數據庫如何設計
#數據庫設計的含義
#查詢和項目的基礎,數據庫的優化前提就是數據庫設計
#數據庫設計步驟,
#1.需求分析 2.概念結構設計階段 3.邏輯設計階段 4.物理設計階段 5.數據庫實施 6.運行和維護
#數據庫設計的三大(共六個)范式
#1NF
所有的域都是原子性的,域中的數據不可分割,比如地區 就可以分割為省市區
#2NF
非主鍵字段必須與主鍵相關(每張表只描述一類事物),而不能與主鍵不部分相關。
#3NF
非主鍵字段必須與主鍵直接相關,非主鍵字段之間不能相關。
#客觀世界的模型展示。
實體:矩形框
關系:菱形框
屬性:橢圓形框
連線:連接關系
#實體之間的關系
一對一 /多對一/多對多
#一對一:1.外鍵添加約束 2.外鍵做主鍵
#一對多:雇員和部門
#多對多:添加第三張關系表設置外鍵和聯合主鍵
四、數據庫的簡單優化
這里的優化只是對于sql而言的:
#數據庫優化-----------------------------
#sql 優化
#避免用*,(*會轉換為列名,然后再查詢)
#索引失效的狀況
#索引列不要使用 is null/is not null
#索引上 不要使用函數
#索引列不要計算
#索引列不要使用 not(!=/<>)
#索引列 不要使用 or 可以使用 union替換
#索引列不要使用 包含 like '%s%'
#EXISTS 和in 的選擇
exists 先執行主查詢,in 先執行子查詢
先過濾再關聯
五、備份和還原
#備份和還原------------------------
Mysqldump -uroot -proot dbname > /users/songqi/desktop/1.sql
mysql -uroot -proot < /users/songqi/desktop/1.sql
以上就是java培訓課程里面的數據庫講解,數據庫從入門到出師都必須需要經歷哪幾個步驟,如有不正,還請指出。
粵嵌科技創辦于2005年是一家IT高新技術企業,專注IT職業教育13年,主要培訓課程分別有嵌入式培訓、Java培訓、Unity游戲開發、Python人工智能、HTML5前端開發、全棧UI設計、網絡營銷、CCIE網絡等專業課程
java數據庫的學習從入門培訓到畢業出師需要經歷哪幾個步驟?
更新時間: 2018-08-31 10:22:49來源: java培訓瀏覽量:4002