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