Java菜鳥學習日記18

SQL關聯語句
user
1 張三 1
2 李四 2
3 王五 2
4 趙六  
department
1 教學部  
2 招生部  
3 班主任部  
  1. user LEFT JOIN department ON user.id = departmrnt.id
    1. 將department表中的對應數據填充在對應的位置,user表的行數不變
    2. 有對應關係則對應,無則爲null
  2. user RIGHT JOIN department ON user.id = departmrnt.id
    1. 以department表爲主,將用戶表中的數據對應過來。如果用戶表中對應了多條,則department複製出相應的條數
    2. 最終錶行數可能與department不相等,通常會多
U
user1 1 張三 1
user2 2 李四 2
user3 3 王五 2
user4 4 趙六  
D
department1 1 教學部
department2 2 招生部
department3 3 班主任部
U*D
user1*department1 user1*department2 user1*department3
user2*department1 user2*department2 user2*department3
user3*department1 user3*department2 user3*department3
user4*department1 user4*department2 user4*department3
然後找到每一個user中departmentid對應的department中的departmentid
user1*department1
user2*department2
user3*department2
user4*null
得到的user錶行數不變
D*U
department1*user1 department1*user2 department1*user3 department1*user4
department2*user1 department2*user2 department2*user3 department2*user4
department3*user1 department3*user2 department3*user3 department3*user4
然後找到每一個department中departmentid對應的user中的departmentid
department1*user1
department2*user2
department2*user3
department3*null
得到的department錶行數可能增加
SELECT u.*,d.* FROM u,d:相當於u x d (笛卡爾積)
SELECT d.*,u.* FROM u,d:想到與d x u (笛卡爾積)
SELECT u.*,d.* FROM u INNER JOIN d:如果希望從笛卡爾積中篩選數據,可以加ON u.xxx=d.xxx
SELECT u.*,d.* FROM u LEFT JOIN d ON u.xxx=d.xxx
SELECT u.*,d.* FROM u RIGHT JOIN d ON u.xxx=d.xxx
左連接和右連接的區別在於以哪個表爲主(主表中的數據都會出現在結果中,即使沒有匹配數據)
外鍵
  • 外鍵是一種約束條件,設計師使用外鍵建立表與表之間的連接關係,外鍵指定的連接有業務意義。它可以強制保持數據的對應關係,不允許意外的數據(沒有對應上的數據)存在。它還可以在外鍵表數據變化時,級聯更新、刪除或者設置NULL關聯表主表中的數據
  • 外鍵的存在是對關聯查詢(左、右、內連接等)的一種規範
  • 外鍵保持數據一致性的選項
    • Casvade:級聯(當外鍵表(department)中的數據變化時,會更新、刪除主表(user)中的數據)
    • Set Null:設置爲空(當外鍵表(department)中的數據變化時,會將主表(user)中的數據設置爲Null,user數據不會被刪除)
    • No Action/Restrict:禁止操作(如果更新外鍵表時,主表中有與其關聯的數據,則更新操作失敗,相當於未執行任何操作。如果非要更新、刪除則應現將關聯數據刪除或者通過設置爲其他值的方式斷開關聯關係)
  • 命名規則:fk_主表名_關聯表名
    • fk_:開頭一看就要知道是外鍵
    • 主表名_關聯表名:可以很清楚的看到是哪兩個表之間的關係
JSP incllude
JSP 的 include 指令可以實現JSP代碼的共享引用,可以解決JSP代碼的重複問題
代碼重複會造成嚴重的後期維護問題,非常不利於代碼的修改、升級
代碼重複是質量查的最常見表現,是重構要消滅的第一目標。
不斷地通過重構消除項目中的重複代碼,就能夠提升能力。
爲什麼做移動頁面要使用谷歌瀏覽器
因爲IOS和Android系統中的瀏覽器都是WebKit內核,而谷歌瀏覽器使用的就是WebKit內核
Firefox的查看器和網絡監視等工具是中文的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章