1. 程式人生 > >3.0 資料庫--any崗位必問

3.0 資料庫--any崗位必問

http://www.w3school.com.cn/sql/index.asp 1.三個正規化: 第一正規化(1NF):資料庫表中的欄位都是單一屬性的,不可再分。這個單一屬性由基本型別構成,包括整型、實數、字元型、邏輯型、日期型等。 第二正規化(2NF):資料庫表中不存在非關鍵欄位對任一候選關鍵欄位的部分函式依賴(部分函式依賴指的是存在組合關鍵字中的某些欄位決定非關鍵欄位的情況),也即所有非關鍵欄位都完全依賴於任意一組候選關鍵字。 第三正規化(3NF):在第二正規化的基礎上,資料表中如果不存在非關鍵欄位對任一候選關鍵欄位的傳遞函式依賴則符合第三正規化。所謂傳遞函式依賴,指的是如 果存在"A → B → C"的決定關係,則C傳遞函式依賴於A。因此,滿足第三正規化的資料庫表應該不存在如下依賴關係: 關鍵欄位 → 非關鍵欄位 x → 非關鍵欄位y 2.主鍵和外來鍵

主鍵在本表中是唯一的、不可唯空的,外來鍵可以重複可以唯空;外來鍵和另一張表的主鍵關聯,不能建立對應表中不存在的外來鍵。 3.查詢語句速度很慢,如何優化? 1.建索引 2.減少表之間的關聯 3.優化sql,儘量讓sql很快定位資料,不要讓sql做全表查詢,應該走索引,把資料 量大的表排在前面 4.簡化查詢欄位,沒用的欄位不要,已經對返回結果的控制,儘量返回少量資料 5.儘量用PreparedStatement來查詢,不要用Statement 4.表和檢視的關係 檢視其實就是一條查詢sql語句,用於顯示一個或多個表或其他檢視中的相關資料。 表就是關係資料庫中實際儲存資料用的。