SQL RDBMS概念
RDBMS是什麼?
RDBMS代表關係數據庫管理系統。 RDBMS是SQL的基礎,對於像MS SQL Server,IBM DB2,Oracle,MySQL和Microsoft Access等所有現代數據庫系統。
一個關係數據庫管理系統(RDBMS)是一個數據庫管理系統(DBMS),基於關係模型如通過 E. F. Codd 引入。
什麼是表?
在RDBMS中的數據存儲在數據庫對象稱爲表。表是相關數據條目的集合,它由列和行的組成。
記住,表是數據存儲在關係數據庫中最常見和最簡單的形式。以下是CUSTOMERS表的例子:
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | 4500.00 |
| 7 | Muffy | 24 | Indore | 10000.00 |
+----+----------+-----+-----------+----------+
什麼是字段?
每個表被分成較小的實體稱爲字段。在CUSTOMERS表中的字段組成是:ID, NAME, AGE, ADDRESS 和 SALARY。
字段旨在維護有關表中的每個記錄特定信息表中的列。
什麼是記錄或行?
一個記錄,也被稱爲一行數據,是存在於一個表中的每個單獨的條目。比如有7條記錄在上面的CUSTOMERS表。以下是在CUSTOMERS表中的數據或記錄中的一行:
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
+----+----------+-----+-----------+----------+
記錄是表中的一個水平的實體。
什麼是列?
列是包含在一個表中的特定字段相關聯的所有信息表的垂直實體。
例如,在CUSTOMERS表中的一列是ADDRESS,它代表位置描述,並會包括以下內容:
+-----------+
| ADDRESS |
+-----------+
| Ahmedabad |
| Delhi |
| Kota |
| Mumbai |
| Bhopal |
| MP |
| Indore |
+----+------+
什麼是NULL值?
在表中的NULL值是一個字段顯示爲空值,這意味着使用一個NULL值的字段是表示一個沒有值的字段。
這是非常重要的是要明白,一個NULL值不同於零值或包含空格的字段。NULL值字段是一個記錄創建過程中已經留爲空白。
SQL 約束:
約束是對錶執行對數據的列的規則。這些用於限制數據的類型進入表中。這確保數據庫中的數據的準確性和可靠性。
約束可能是列級或表級。列級約束僅應用於一列,表級約束應用於整個表。
下面是常用的SQL約束:
NOT NULL約束 - 確保列不能有NULL值
默認值約束 - 提供未指定時爲列的值時的默認值
唯一值約束 - 確保了在一列中的所有的值是唯一的
主鍵 - 唯一標識數據庫表中的每一行/記錄
外鍵 - 唯一標識任何其他數據庫表中的行/記錄
檢查約束 - CHECK約束可以確保列中的所有值滿足一定的條件
索引 - 使用非常快速地創建和檢索數據庫中的數據。
數據完整性:
數據的完整性有以下幾類存在於每個RDBMS:
實體完整性: 表中沒有重複行
域完整性: 通過限制的類型,格式或值的範圍強制對於一個給定列的有效條目
參考完整性: 行不能被刪除,被其他記錄使用
用戶定義的完整性: 強制執行不屬於實體,域和參照完整性一些具體的業務規則
數據庫規範化
數據庫正常化是有效地組織數據庫中的數據的過程。歸一化處理的兩個原因:
消除冗餘數據,例如,存儲了一個以上的相同的數據在同一個表。
確保數據的相關性意義。
這兩者都是值得追求的目標,因爲它們減少的空間的數據庫消耗的量,並確保數據在邏輯上存儲。規範化由一系列指導方針,幫助指導您創建一個良好的數據庫結構。
標準化準則分爲正常形態;認爲形式的格式或數據庫結構的佈局方式。 正常形態的目的是組織數據庫結構,使其符合第一範式,然後第二範式,最後第三範式的規則。
這是你的選擇,把它進一步去第四範式,第五範式等,但總體來講,滿足第三範式就夠了。
第一範式(1NF)
第二範式(2NF)
第三範式 (3NF)