數據庫學習 day1 認識數據庫
從SQL的角度而言,數據庫是一個以某種有組織的方式儲存的數據集合。
我們可以把它比作一個“文件櫃”,這個“文件櫃”是一個存放數據的物理位置,不管數據是什麽,也不管數據是如何組織的。
下面介紹幾個術語
數據庫(database)
保存有組織的數據容器
註意:數據庫和實際使用的軟件無關,數據庫軟件應稱為數據庫管理系統(DBMS)。
表(table)
某種特定類型數據的結構清單。
儲存在表中的數據硬是同一種類型的數據或清單。絕不應該將用戶的清單和訂單的清單放在一個表中,否則會造成檢索和訪問變得很困難,
正確的做法是創建兩個表,各存一個清單。
註意:表名在同一個數據庫中不能重復
模式(schema)
關於數據庫與表的布局以及特性的信息。這些信息包括定義數據在表中如何儲存,包含儲存什麽樣的數據,數據如何分解,各部分信息如何命名等。
列(cloumn)
表由一個列或多個列組成。用於存儲表中某部分的信息。
例如在客戶表中,一列存儲顧客的編號,另一列存儲顧客的姓名,而地址、城市、省等信息都存在各自的列中。
分解數據
正確的將數據分解為各個列很重要,通過分解這些數據,才有可能利用特定的列對數據進行分類和過濾(如找出特定省或特定城市的顧客)。
數據庫中的每一列都有相應的數據類型(datatype),它定義了列中可存儲的數據種類。選擇合適的數據類型,可以正確的分類各種數據,
並在優化磁盤方面起到了重要的作用。因此,在創建表時需要多加註意所用的數據類型。
註意:數據類型及其名稱是SQL不兼容的一個主要原因。許多高級的數據類型沒有,更糟的是偶然會有相同的數據類型在不同的DBMS中具
有不同的名稱,對此用戶毫無辦法,要做的是在創建表結構時就應該註意這些差異。
行(row)
表中的一個記錄(record),通常記錄和行是可以交替使用的,但在術語中我們還是稱之為行。
主鍵(primary key)
每一行都應該有一列(或幾列)可以唯一的標識自己。例如,顧客表有顧客編號,學生有學號,公民有唯一的身份ID。
表中的任何列都可以作為主鍵,只要滿足以下條件
- 任意兩行都不具有相同的主鍵值
- 每一行都必須擁有一個組件值(主鍵值不允許NULL值)
- 主鍵列中的值允許修改和更新;
- 主鍵值不能重用(如果某行被刪除,他的主鍵值不能賦值給其他新行)
還有一種外鍵,將在之後的課程中介紹
SQL(structured query language)
SQL是一種專門用來與數據溝通的語言。
與其他語言(如JAVA,C++,PHP等)不同,SQL只有很少的語句,而且這些詞具有很強的描述性。幾乎所有重要的DBMS都
支持SQL語言,因此學會它你幾乎可以和所有的數據庫打交道。
SQL雖然看上去很簡單,但實際上是一種強力的語言,靈活使用,可以進行復雜和高級的數據庫操作。
數據庫學習 day1 認識數據庫