資料庫基礎理論

2021-08-27 16:07:04 字數 1019 閱讀 2040

1. 第一正規化(1nf):有主鍵、強調的是列的原子性,未出現在候選鍵中的列即為 非主鍵列 ,候選鍵有多個

2. 第二正規化(2nf):非主鍵列必須完全依賴於候選鍵,而不能是部分依賴,只依賴於候選鍵的一部分 + 1nf發生在具有關聯鍵的表中,只保留與關係相關的屬性,去除與實體相關的屬性,一般為一對多關係

3. 第三正規化(3nf):非主鍵列必須直接依賴於候選鍵,不能存在傳遞依賴 + 2nf發生在關係表中,只保留與關係相關的屬性,去除與實體相關的屬性,一般為多對一關係

4. bcnf:每個屬性(包括主鍵列)都完全依賴於侯選鍵 +3nf發生在主鍵由數量大於3的關聯鍵組成的表,對複雜關係進行合理拆分

- 1:1關係 -> 可以將關係視為屬性,合併到實體表中

- 1:n關係 -> 將1的主碼視為n端的屬性,合併到n端實體表中,最簡練 或者構造 關係表,連線增多

- m:n關係 -> 必須構造關係表

一些可能不正確的慣例

游標效率較差

where 子句中使用 != 或 <>,無法使用索引,而進行全表掃瞄,能正選就不要反選

where 子句不宜進行表示式操作和函式操作,使用原生列才可以利用索引

where 子句條件的資料型別不吻合時,索引失效,如身份證號碼為字元型別時,查詢身份證號碼='123456789900' right 身份證號碼=123456789900 wrong

where 子句使用 or 效率較差,改用union避免全表掃瞄,當且僅當兩邊條件都是索引列

where 子句使用 is null 或者 is not null ,全表掃瞄,因此可為空的列盡量給出預設值,哪怕是''

對於in 和 not in,連續的數值情況下,能用 between 就不要用 in

位圖索引通常對於null欄位有效果

復合索引,where條件必須包括復合索引的第乙個字段

索引提高select效率,降低insert update操作的效率(重建索引)

關聯式資料庫基礎理論

ddl data definition language,資料庫模式定義語言 dml data manipulation language,資料操縱語言命令使使用者能夠查詢資料庫以及操作已有資料庫中的資料 關係正規化學習 要理解正規化必須先理解一下依賴關係 1.資料依賴 資料依賴指的是通過乙個關係中...

基礎理論(四)

1.簡述python中物件的記憶體是如何管理的 2.簡述類和物件的概念及類繼承的特點 3.簡述python如何操作 mysql,用到什麼包 寫出具體的增刪改查語句 4.簡述scrapy爬蟲的資料流向過程 5.網路七層協議都是哪七層?6.scrapy中如何設定隨機請求頭 隨機 寫出具體步驟 需要什麼配...

vue基礎理論

2 前端框架與庫的區別?kfc的世界裡,庫就是乙個小 框架就是全家桶 上的不同 3 vue起步 vue的檔案介紹 4 插值表示式 注意 必能直接寫語句 可以用於頁面中簡單粗暴的除錯 注意 必須在data這個函式中返回的物件中宣告 比如在angular中 以ng 開頭的就叫做指令 在vue中 以v 開...