2019/5/12 查漏補缺

2019/5/12 查漏補缺

數據類型分爲兩大類:基本類型和引用類型;

基本類型只能保存一些常量數據,引用類型除了能夠保存數據,還能提供操做這些數據的功能;java

爲了操做基本類型的數據,java也對它們進行了封裝, 獲得八個類,就是java中的基本類型的封裝類;他們分別是:
八種基本類型: byte short int long float double char boolean程序員

對應的包裝類 引用類型: Byte Short Integer Long Float Double Character Booleansql

java中類的繼承關係

其中Iterator未繼承 Collection數據庫

關於接口

  1. 聲明抽象方法,不用寫大括號
  2. 能夠包含實現,必須用staic 修飾

重載和重寫

如果重寫,返回值類型不可小於父類返回值類型;如果重載需參數列表不一樣數組

靜態變量

屬於類,不可定義於方法中併發

java中的關鍵字和保留字

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.htmloracle

數據庫操做

實現數據庫收回部分權限的操做

實現收回user2查詢基本表T的權限數據庫設計

REVOKE SELECT ON T FROM user2

關於數據庫錯誤類型

會發生丟失修改函數

丟失修改:本來兩個事務的目的是T1先把A的值加10,A變爲58。而後T2把A的值再減2,即A變成56。可是根據題目中的執行順序,A的值變爲48-2=46,即T2的修改覆蓋了T1的修改,這種現象叫作丟失修改。

不可重複讀:不可重複讀是指事務T1讀取數據後,事務T2執行更新操做,使T1沒法再現前一次讀取結果。

讀"髒"數據:讀"髒"數據是指事務T1修改某一數據,並將其寫回磁盤,事務T2讀取同一數據後,T1因爲某種緣由被撤消,這時T1已修改過的數據恢復原值,T2讀到的數據就與數據庫中的數據不一致,則T2讀到的數據就爲"髒"數據,即不正確的數據。

SQL四種語言:

DQL(Data Query Language):數據庫查詢語言。由SELECT、FROM、WHERE等子句組成的查詢塊。

DML(Data Manipulation Language):數據操縱語言。插入Insert、刪除Delete、更新Update。

DDL(Data Definition Language):數據定義語言。建立Create、修改Alter、刪除Drop、清空表數據Truncate

DCL(Data Control Language):數據控制語言。受權Grant、回滾Rollback、提交Commit

數據庫常見的四種故障

(1)事務內部的故障:事務內部故障可分爲預期的和非預期的,其中大部分的故障都是非預期的。預期的事務內部故障是指能夠經過事務程序自己發現的事務內部故障; 非預期的事務內部故障是不能由事務程序處理的,如運算溢出故障、併發事務死鎖故障、違反了某些完整性限制而致使的故障等。

(2)系統故障:系統故障也稱爲軟故障,是指數據庫在運行過程當中,因爲硬件故障、數據庫軟件及操做系統的漏洞、忽然停電燈狀況,致使系統中止運轉,全部正在運行的事務以非正常方式終止,須要系統從新啓動的一類故障。這類事務不破壞數據庫,可是影響正在運行的全部事務。

(3)介質故障:介質故障也稱爲硬故障,主要指數據庫在運行過程當中,因爲磁頭碰撞、磁盤損壞、強磁干擾、天災人禍等狀況,使得數據庫中的數據部分或所有丟失的一類故障。

(4)計算機病毒故障:計算機病毒故障是一種惡意的計算機程序,它能夠像病毒同樣繁殖和傳播,在對計算機系統形成破壞的同時也可能對數據庫系統形成破壞(破壞方式以數據庫文件爲主)

數據庫設計六個階段:

1.需求分析:須要什麼現實功能

2.概念設計:根據功能將文字用ER圖表示出來,實現功能在現實世界到信息世界的轉換

3.邏輯設計:ER圖轉換成關係模式

4.物理設計:決定物理存儲方式

5.數據庫運行:裝入數據,應用程序編寫調試(增刪改查測試)

6.數據庫運行維護:只要運行,永遠走在改善數據庫性能的路上

Java的異常分爲兩種

一種是運行時異常(RuntimeException),一種是非運行異常也叫檢查式異常(CheckedException)。

一、運行時異常不須要程序員去處理,當異常出現時,JVM會幫助處理。常見的運行時異常有:

ClassCastException(類轉換異常)

ClassNotFoundException

IndexOutOfBoundsException(數組越界異常)

NullPointerException(空指針異常)

ArrayStoreException(數組存儲異常,即數組存儲類型不一致)

還有IO操做的BufferOverflowException異常

二、非運行異常須要程序員手動去捕獲或者拋出異常進行顯示的處理,由於Java認爲Checked異常都是能夠被修復的異常。常見的異常有:

IOException

SqlException

外模式,內模式

外模式(子模式),是數據庫用戶可以看見和使用的局部數據的邏輯結構和特徵的描述,是數據庫用戶的數據視圖,是數據的邏輯表示;

內模式(存儲模式),它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。

數據庫範式

​ 第一範式是關係模式規範化的最低要求,不然,將有不少基本操做在這樣的關係模式中實現不了。

​ 第二範式: 若是關係模式R知足第一範式,而且R得全部非主屬性都徹底依賴於R的每個候選關鍵屬性,稱R知足第二範式,簡記爲2NF。一個數據表的主鍵只有單一一個字段的話,它就必定符合第二範式(前提是該數據表符合第一範式)。

​ 第三範式:設R是一個知足第一範式條件的關係模式,X是R的任意屬性集,若是X非傳遞依賴於R的任意一個候選關鍵字,稱R知足第三範式,簡記爲3NF.

注:關係實質上是一張二維表,其中每一行是一個元組,每一列是一個屬性。

第一範式

定義:若是關係R 中全部屬性的值域都是單純域,那麼關係模式R是第一範式的

那麼符合第一模式的特色就有

1)有主關鍵字

2)主鍵不能爲空,

3)主鍵不能重複,

4)字段不能夠再分

第2範式:

數據庫表中不存在非關鍵字段對任一候選關鍵字段的 部分函數依賴(部分函數依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的狀況),也即全部非關鍵字段都徹底依賴於任意一組候選關鍵字。

第3範式:

在第二範式的基礎上,數據表中若是不存在非關鍵字段對任一候選關鍵字段的 傳遞函數依賴則符合第三範式。所謂傳遞函數依賴,指的是若是存在"A → B → C"的決定關係,則C傳遞函數依賴於A。所以,知足第三範式的數據庫表應該不存在以下依賴關係:

​ 關鍵字段 → 非關鍵字段x → 非關鍵字段y

BCNF( 鮑依斯-科得範式 ):

在第三範式的基礎上,數據庫表中若是不存在任何字段對任一候選關鍵字段的 傳遞函數依賴則符合BCNF。

依賴關係:
1.數據依賴
數據依賴指的是經過一個關係中屬性間的相等與否體現出來的數據間的相互關係,其中最重要的是函數依賴和多值依賴。

2.函數依賴
設X,Y是關係R的兩個屬性集合,當任什麼時候刻R中的任意兩個元組中的X屬性值相同時,則它們的Y屬性值也相同,則稱X函數決定Y,或Y函數依賴於X。

3.平凡函數依賴
當關系中屬性集合Y是屬性集合X的子集時(Y?X),存在函數依賴X→Y,即一組屬性函數決定它的全部子集,這種函數依賴稱爲平凡函數依賴。

4.非平凡函數依賴
當關系中屬性集合Y不是屬性集合X的子集時,存在函數依賴X→Y,則稱這種函數依賴爲非平凡函數依賴。

5.徹底函數依賴
設X,Y是關係R的兩個屬性集合,X’是X的真子集,存在X→Y,但對每個X’都有X’!→Y,則稱Y徹底函數依賴於X。

6.部分函數依賴
設X,Y是關係R的兩個屬性集合,存在X→Y,若X’是X的真子集,存在X’→Y,則稱Y部分函數依賴於X。

7.傳遞函數依賴
設X,Y,Z是關係R中互不相同的屬性集合,存在X→Y(Y !→X),Y→Z,則稱Z傳遞函數依賴於X。

語句null的書寫

檢索NULL時,不能使用=運算符的。用is「WHERE AGE IS NULL」

相關文章
相關標籤/搜索