資料庫是有組織的資料集合。資料庫處理程式以這樣一種方式建立資料庫,即只有一組軟體程式為所有使用者提供資料存取。
資料庫的主要目的是通過儲存,檢索和管理來操作大量資料資訊。網際網路上有許多動態網站,通過資料庫處理。 例如,用於檢查酒店房間可用性的模型。 它是使用資料庫的動態網站的一個例子。
有許多資料庫可用,如:MySQL,Sybase,Oracle,Mango DB,Informix,Postgre,SQL Server等。SQL或結構化查詢語言用於對儲存在資料庫中的資料執行操作。 SQL依賴於關係代數和元組關係演算。
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 |
+------+--------+------+-------------+------------+
每個表都被分解為稱為欄位(也叫列)。 Customer
表中的欄位由:ID
,NAME
,AGE
,ADDRESS
和SALARY
組成。
欄位是表中的一列,用於維護表中每條記錄的特定資訊。
記錄也稱為一行資料,它是表中存在的每個單獨資料項。 例如,上面的CUSTOMERS表中有7條記錄。 以下是Customer
表中的單行資料或記錄 -
+------+--------+------+-------------+------------+
| 1 | 張三 | 32 | Haikou | 2000.00 |
+------+--------+------+-------------+------------+
記錄是表中的水平實體。
列是表中的垂直實體,包含與表中特定欄位關聯的所有資訊。
例如,Customer
表中的一列是ADDRESS
,用於表示客戶的地址,如下所示 -
+-------------+
| ADDRESS |
+-------------+
| Haikou |
| Guangzhou |
| Haikou |
| Beijing |
| Shanhai |
| Beijing |
| Shenzhen |
+-------------+
表中的NULL
值是欄位中顯示為空的值,這意味著具有NULL
值的欄位是沒有任何值的欄位。
了解NULL
值與零值或包含空格的欄位不同非常重要。 具有NULL
值的欄位是在建立記錄期間留空的欄位,它不表示什麼值。當一個欄位不確定要儲存什麼內容時,可以使用NULL
值來表示。
約束是對錶上的資料列強制執行的規則。 這些用於限制可以進入表的資料型別。 這確保了資料庫中資料的準確性和可靠性。
約束可以是列級別或表級別。 列級約束僅應用於一列,而表級約束應用於整個表。
以下是SQL中可用的一些最常用的約束 -
NULL
值。CHECK
約束確保列中的所有值都滿足特定條件。每個RDBMS都存在以下類別的資料完整性 -
資料庫正規化是在資料庫中有效組織資料的過程。主要有兩個原因 -
這兩個原因都是值得的,因為它們減少了資料庫消耗的空間量並確保了資料的邏輯儲存。 正規化包含一系列指南,可幫助指導您建立良好的資料庫結構。
可將表單視為資料庫結構的格式或方式。 這樣的目的是組織資料庫結構,使其符合第一規格化的規則,然後是第二正規化,最後是第三正規化。
可以選擇進一步採用它並轉到第四規格化,第五正規化等等,但總的來說,第三正規化是夠用了。