RDBMS概念


資料庫是有組織的資料集合。資料庫處理程式以這樣一種方式建立資料庫,即只有一組軟體程式為所有使用者提供資料存取。
資料庫的主要目的是通過儲存,檢索和管理來操作大量資料資訊。網際網路上有許多動態網站,通過資料庫處理。 例如,用於檢查酒店房間可用性的模型。 它是使用資料庫的動態網站的一個例子。

有許多資料庫可用,如:MySQL,Sybase,Oracle,Mango DB,Informix,Postgre,SQL Server等。SQL或結構化查詢語言用於對儲存在資料庫中的資料執行操作。 SQL依賴於關係代數和元組關係演算。

1. 表

RDBMS中的資料儲存在稱為表的資料庫物件中。 該表基本上是相關資料條目的集合,它由許多列和行組成。

請記住,表是關聯式資料庫中最常見,最簡單的資料儲存形式,它有行和列組成。 以下程式是Customer表的範例 -

+------+--------+------+-------------+------------+
| ID   | NAME   | AGE  | ADDRESS     | SALARY     |
+------+--------+------+-------------+------------+
|  1   | 張三   |  32  | Haikou      |  2000.00   |
|  2   | 李四   |  25  | Guangzhou   |  1500.00   |
|  3   | 王五   |  25  | Haikou      |  2000.00   |
|  4   | 張飛   |  25  | Beijing     |  6500.00   |
|  5   | 張洪文 |  37  | Shanhai     |  18500.00  |
|  6   | 蘇小牛 |  22  | Beijing     |  4500.00   |
|  7   | 杜博   |  24  | Shenzhen    |  6700.00   |
+------+--------+------+-------------+------------+

2. 欄位

每個表都被分解為稱為欄位(也叫列)。 Customer表中的欄位由:IDNAMEAGEADDRESSSALARY組成。

欄位是表中的一列,用於維護表中每條記錄的特定資訊。

3. 記錄或行

記錄也稱為一行資料,它是表中存在的每個單獨資料項。 例如,上面的CUSTOMERS表中有7條記錄。 以下是Customer表中的單行資料或記錄 -

+------+--------+------+-------------+------------+
|  1   | 張三   |  32  | Haikou      |  2000.00   |
+------+--------+------+-------------+------------+

記錄是表中的水平實體。

4.列(欄位)

列是表中的垂直實體,包含與表中特定欄位關聯的所有資訊。
例如,Customer表中的一列是ADDRESS,用於表示客戶的地址,如下所示 -

+-------------+
| ADDRESS     |
+-------------+
| Haikou      |
| Guangzhou   |
| Haikou      |
| Beijing     |
| Shanhai     |
| Beijing     |
| Shenzhen    |
+-------------+

5. NULL值

表中的NULL值是欄位中顯示為空的值,這意味著具有NULL值的欄位是沒有任何值的欄位。

了解NULL值與零值或包含空格的欄位不同非常重要。 具有NULL值的欄位是在建立記錄期間留空的欄位,它不表示什麼值。當一個欄位不確定要儲存什麼內容時,可以使用NULL值來表示。

6. SQL約束

約束是對錶上的資料列強制執行的規則。 這些用於限制可以進入表的資料型別。 這確保了資料庫中資料的準確性和可靠性。
約束可以是列級別或表級別。 列級約束僅應用於一列,而表級約束應用於整個表。
以下是SQL中可用的一些最常用的約束 -

  • NOT NULL約束 - 確保列不能具有NULL值。
  • 預設值約束 - 在未指定列時為列提供預設值。
  • 唯一約束 - 確保列中的所有值都不同。
  • 主鍵 - 唯一標識資料庫表中的每一行/記錄。
  • 外來鍵 - 唯一標識任何其他資料庫表中的行/記錄。
  • 檢查約束 - CHECK約束確保列中的所有值都滿足特定條件。
  • 索引 - 用於非常快速地從資料庫建立和檢索資料。

7. 資料的完整性

每個RDBMS都存在以下類別的資料完整性 -

  • 實體完整性 - 表中沒有重複的行。
  • 域完整性 - 通過限制值的型別,格式或範圍,為給定列強制執行有效條目。
  • 參照完整性 - 其他記錄使用(參照)導致這些行無法刪除。
  • 使用者定義的完整性 - 實施一些不屬於實體,域或參照完整性的特定業務規則。

8. 資料庫正規化

資料庫正規化是在資料庫中有效組織資料的過程。主要有兩個原因 -

  • 消除冗餘資料,例如,將相同資料儲存在多個表中。
  • 確保資料依賴性是有意義的。

這兩個原因都是值得的,因為它們減少了資料庫消耗的空間量並確保了資料的邏輯儲存。 正規化包含一系列指南,可幫助指導您建立良好的資料庫結構。

可將表單視為資料庫結構的格式或方式。 這樣的目的是組織資料庫結構,使其符合第一規格化的規則,然後是第二正規化,最後是第三正規化。

可以選擇進一步採用它並轉到第四規格化,第五正規化等等,但總的來說,第三正規化是夠用了。

  • 第一規格化(1NF)
  • 第二正規化(2NF)
  • 第三正規化(3NF)