漫画|你还记得原生的JDBC怎么连接数据库吗?
?
?
?
數據表的設計范式
在實際開發中最為常見的設計范式有三個:
?
第一范式是最基本的范式。如果數據庫表中的所有字段值都是不可分解的原子值,就說明該數據庫表滿足了第一范式;
第二范式需要確保數據庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關(主要針對聯合主鍵而言)。也就是說在一個數據庫表中,一個表中只能保存一種數據,不可以把多種數據保存在同一張數據庫表中;
第三范式需要確保數據表中的每一列數據都和主鍵直接相關,而不能間接相關。
原生的JDBC怎么連接數據庫?
?
大家可以在腦海中腦補一下這些步驟對應的代碼,估計框架用習慣了,都有點忘記了吧
關系數據庫中連接池的機制是什么?
?
關系數據庫中的主鍵和外鍵有什么關系?
?
?
Oracle 端口號?MySQL端口號?
?
test1表中有ABC三列,用SQL語句實現:當A列大于B列時,選擇A列否則選擇B列,當B列大于C列時選擇B列否則選擇C列。
select (CASE WHEN A>B THEN A ELSE B END) as A,(CASE WHEN B>C THEN B ELSE C END) as B from test1?
Long類型怎么設計的表結構?Boolean類型怎么設計的表結構?
?
請介紹下觸發器的原理
?
存儲過程里的語句是一條條按順序執行的嗎?
?
如何解決SQL注入的問題
使用預編譯對象PreparedStatement
請說說內連接和外連接的區別
?
?
#內連接 select * from student s,classes c where s.c_id = c.id select * from student s INNER JOIN classes c on s.c_id = c.id #外連接 #左外連接 select * from student s LEFT JOIN classes c on s.c_id = c.id #右外連接 select * from student s RIGHT JOIN classes c on s.c_id = c.id?
談談對數據庫事務的理解?事務的邊界應該放在哪一層?為什么?
?
?
舉例:
客戶A和客戶B的銀行賬戶金額都是10000元人民幣,客戶A需要把自己帳戶中的5000元人民幣轉到客戶B的賬戶上。
這個過程看似簡單,實際上涉及了一系列的數據庫操作,可以簡單地視為兩步基本操作,即從客戶A帳戶的金額中扣除5000元人民幣,以及將客戶B帳戶中金額添加5000元人民幣。
假設第1步數據庫操作成功,而第二步失敗的話,將導致整個操作失敗,并且客戶A帳戶金額將被扣除5000元人民幣。
事務機制可以避免此類情況,以保證整個操作的完成,如果某步操作出錯,之前所作的數據庫操作將全部失效。
談談事務的特性ACID
?
?
原子性(ATOMICITY):
事務是數據庫的邏輯工作單位,事務中包含的各操作要么都完成,要么都不完成
一致性(CONSISTENCY):
事務執行的結果必須是使數據庫從一個一致性狀態變到另一個一致性狀態。因此當數據庫只包含成功事務提交的結果時,就說數據庫處于一致性狀態。
如果數據庫系統運行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對數據庫所做的修改有一部分已寫入物理數據庫,這時數據庫就處于一種不正確的狀態,或者說是不一致的狀態。
隔離性(ISOLATION):
一個事務的執行不能其它事務干擾。即一個事務內部的操作及使用的數據對其它并發事務是隔離的,并發執行的各個事務之間不能互相干擾。
持久性(DURABILITY):
指一個事務一旦提交,它對數據庫中的數據的改變就應該是永久性的。接下來的其它操作或故障不應該對其執行結果有任何影響。
談談事務的隔離級別
?
?
存儲過程是什么?
?
?
?
存儲過程存儲在數據庫內,可由應用程序通過一個調用執行,而且允許用戶聲明變量、有條件執行以及其它強大的編程功能。
存儲過程在創建時即在服務器上進行編譯,所以執行起來比單個SQL語句快
用過哪些數據庫連接池,為什么要用數據庫連接池?
?
轉載于:https://www.cnblogs.com/javazhiyin/p/10062608.html
總結
以上是生活随笔為你收集整理的漫画|你还记得原生的JDBC怎么连接数据库吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构与算法学习笔记之后进先出的“桶”
- 下一篇: 孙俪个人资料