MySQL之基本常識

2021-10-25 06:30:28 字數 2513 閱讀 2795

本文章**於: ,請star 強力支援,你的支援,就是我的動力。

[toc]

優點:

缺點:

第一正規化(1nf):資料庫表中的字段都是單一屬性的,不可再分。這個單一屬性由基本型別構成,包括整型、實數、字元型、邏輯型、日期型等。

第二正規化(2nf):資料庫表中不存在非關鍵字段對任一候選關鍵字段的部分函式依賴(部分函式依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況),也即所有非關鍵字段都完全依賴於任意一組候選關鍵字。 第三正規化(3nf):在第二正規化的基礎上,資料表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函式依賴則符合第三正規化。所謂傳遞函式依賴,指的是如果存在"a → b → c"的決定關係,則c傳遞函式依賴於a。因此,滿足第三正規化的資料庫表應該不存在如下依賴關係: 關鍵字段 → 非關鍵字段x → 非關鍵字段y

檢視是一種基於資料表的一種虛表

我們來對比一下他們的區別:

drop table

truncate table

delete from什麼是索引【index】

rowid的特點

索引的特點

什麼時候【要】建立索引

什麼時候【不要】建立索引

索引優缺點:

索引分類:

事務簡單來說:乙個session中所進行所有的操作,要麼同時成功,要麼同時失敗

acid — 資料庫事務正確執行的四個基本要素

事務隔離級別

資料庫定義了4個隔離級別:

serializable【可避免髒讀,不可重複讀,虛讀】

repeatable read【可避免髒讀,不可重複讀】

read committed【可避免髒讀】

read uncommitted【級別最低,什麼都避免不了】

分別對應connection類中的4個常量

transaction_read_uncommittedtransaction_read_committedtransaction_repeatable_readtransaction_serializable

具體想深入了解spring事務

髒讀:乙個事務讀取到另外乙個事務未提交的資料

例子:a向b轉賬,a執行了轉賬語句,但a還沒有提交事務,b讀取資料,發現自己賬戶錢變多了!b跟a說,我已經收到錢了。a回滾事務【rollback】,等b再檢視賬戶的錢時,發現錢並沒有多。

不可重複讀:乙個事務讀取到另外乙個事務已經提交的資料,也就是說乙個事務可以看到其他事務所做的修改

注:a查詢資料庫得到資料,b去修改資料庫的資料,導致a多次查詢資料庫的結果都不一樣【危害:a每次查詢的結果都是受b的影響的,那麼a查詢出來的資訊就沒有意思了】

虛讀(幻讀):是指在乙個事務內讀取到了別的事務插入的資料,導致前後讀取不一致。

注:和不可重複讀類似,但虛讀(幻讀)會讀到其他事務的插入的資料,導致前後讀取不一致

確保在多個事務同時訪問資料庫中同一資料時不破壞事務的隔離性和統一性以及資料庫的統一性,樂觀鎖和悲觀鎖是併發控制主要採用的技術手段。

樂觀鎖:假設不會發生併發衝突,只在提交操作時檢查是否違反資料完整性。

超鍵在關係中能唯一標識元組的屬性集稱為關係模式的超鍵。乙個屬性可以為作為乙個超鍵,多個屬性組合在一起也可以作為乙個超鍵。超鍵包含候選鍵和主鍵

候選鍵(候選碼):是最小超鍵,即沒有冗餘元素的超鍵

主鍵(主碼):資料庫表中對儲存資料物件予以唯一和完整標識的資料列或屬性的組合。乙個資料列只能有乙個主鍵,且主鍵的取值不能缺失,即不能為空值(null)。

外來鍵:在乙個表中存在的另乙個表的主鍵稱此表的外來鍵

在archivelog mode(歸檔模式)只要其歸檔日誌檔案不丟失,就可以有效地防止資料丟失。

延伸意思,日誌不但但是錯誤日誌,還有binlog等

常用的儲存引擎有以下:

更多的了解mysql的儲存引擎

使用 myisamchk 來修復,具體步驟:

使用repair table 或者 optimize table命令來修復,repair table table_name 修復表 optimize table table_name 優化表 repair table 用於修復被破壞的表。 optimize table 用於**閒置的資料庫空間,當表上的資料行被刪除時,所佔據的磁碟空間並沒有立即被**,使用了optimize table命令後這些空間將被**,並且對磁碟上的資料行進行重排(注意:是磁碟上,而非資料庫)

mysql基本常識

首層連線處理 授權認證和安全等。第二層架構包含mysql核心服務。包括查詢解析 分析 優化 快取以及所有的內建函式 例如 日期 時間 數學和加密函式 所有的跨儲存引擎的功能都在這一層完成,比如儲存過程 觸發器 檢視等。第三層包含了儲存引擎。儲存引擎負責mysql的儲存與提取。伺服器通過api與儲存引...

ORACLE基本常識

個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被加...

電腦基本常識

一.32位cpu中的32代表什麼?1.32代表cpu的位址線長度,32位處理器表示一次只能處理32位 4個位元組 而64位處理器一次能處理64位,即8個位元組的資料。2.如果我們將總長128位的指令分別按照如果我們將總長128位的指令分別按照16位 32位 64位為單位進行編輯的話 舊的16位處理器...