數據庫、DBMS、MySQL、SQL

數據庫基礎

數據庫、DBMS、MySQL

數據庫(database):保存有組織的數據的容器,通常是一個文件或一組文件。

DBMS(DataBase Management System):數據庫管理系統,管理數據庫的程序。

MySQL:一種數據庫管理系統。其他常見的數據庫管理系統:Oracle 、DB2、SQLServer、SyBase、SQLite。

數據庫當中最基本的單元是表。表是一種結構化的文件,可用來存儲某種特定類型的數據,比如保存顧客清單、產品目錄,或者其他信息清單。

表(table):某種特定類型數據的結構化清單。

表名:數據庫中的每個表都有一個名字(表名),用來標識自己。此名字是唯一的,數據庫中不能有表名相同的表。

表具有一些特性,這些特性定義了數據在表中如何存儲,如可以存儲什麼樣的數據、數據如何分解、各部分信息如何命名等。描述表的這組信息就是所謂的模式。

模式(schema):關於數據庫和表的佈局及特性的信息。

列和數據類型

表由列組成。列中存儲着表中某部分的信息。

列(column):表中的一個字段。所有表都是由一個或多個列組成的。

可將數據庫表想象爲一個網格。網格中每一列存儲着一條特定的信息。例如,在顧客表中,一個列存儲着顧客編號,另一個列存儲着顧客名。

分解數據:正確地將數據分解爲多個列極爲重要。例如,城市、州、郵政編碼應該總是獨立的列。通過把它分解開,纔有可能利用特定的列對數據進行排序和過濾(如,找出特定州或特定城市的所有顧客)。

數據庫中每個列都有相應的數據類型。數據類型定義列可以存儲的數據種類。例如,如果列中存儲的爲數字,則相應的數據類型應該爲數值類型。

數據類型(datatype):所容許存儲的數據的類型。每個表列都有相應的數據類型,它限制(或容許)該列中存儲的數據。

表中的數據是按行存儲的,所保存的每個記錄存儲在自己的行內。如果將表想象爲網格,那麼網格中垂直的列爲表列,水平行爲錶行。

例如,顧客表可以每行存儲一個顧客的信息。表中的行數爲記錄的總數。

行(row):表中的一個記錄。

是記錄還是行? 在很大程度上,行(row)和記錄(record)是可以互相替代的,但從技術上說,行纔是正確的術語。

主鍵

表中每一行都應該有可以唯一標識自己的一列(或一組列)。一個顧客表可以使用顧客編號列,而訂單表可以使用訂單 ID。

主鍵(primary key):唯一標識表中每行的這個列(或這組列)稱爲主鍵。

應該總是定義主鍵。雖然並不總是都需要主鍵,但大多數數據庫設計人員都應保證他們創建的每個表具有一個主鍵,以便於以後的數據操縱和管理。

主鍵值規則:MySQL 規定,表中的任何列都可以作爲主鍵,只要它滿足以下條件:

❑ 任意兩行都不具有相同的主鍵值;

❑ 每個行都必須具有一個主鍵值(主鍵列不允許爲 NULL 值)。

什麼是 SQL

SQL(發音爲字母 S-Q-L 或 sequel /ˈsiːkwəl/)是結構化查詢語言(Structured Query Language)的縮寫。SQL 是一種專門用來與數據庫通信的語言。

幾乎所有重要的 DBMS 都支持 SQL,DBMS 通過執行 SQL 來操作數據庫。

DBMS 專用的 SQL:事實上任意兩個 DBMS 實現的 SQL 都不完全相同。雖然 MySQL 中的多數 SQL 語法也適用於其他 DBMS,但不要認爲這些 SQL 語法是完全可移植的。

總結自《MySQL 必知必會》

參考:數據庫(數據庫、表及表數據、SQL 語句)MySQL 總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章