一、插入數(shù)據(jù)前必須使用USE選擇操作的數(shù)據(jù)庫嗎
插入數(shù)據(jù)前必須使用USE選擇操作的數(shù)據(jù)庫,原因在于 SQL Server 或 MySQL 等數(shù)據(jù)庫管理系統(tǒng)中可以存在多個數(shù)據(jù)庫,而每個數(shù)據(jù)庫中都可能包含有相同名稱的表格。因此,如果沒有指定要操作的數(shù)據(jù)庫,就無法確定具體是哪一個數(shù)據(jù)庫中的表格需要執(zhí)行插入操作。一般情況下,在操作數(shù)據(jù)庫之前,需要使用 USE 命令來指定要使用的數(shù)據(jù)庫,才能執(zhí)行后續(xù)的 SQL 命令。
二、數(shù)據(jù)庫的特征
1、數(shù)據(jù)結(jié)構化
數(shù)據(jù)庫采用數(shù)據(jù)結(jié)構化的方式,將數(shù)據(jù)以表格形式組織起來,相互獨立的文件的記錄內(nèi)部是有結(jié)構的,這是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的根本區(qū)別。傳統(tǒng)文件的最簡單形式是等長同格式的記錄集合。
2、數(shù)據(jù)的共享性高,冗余度低,易擴充
數(shù)據(jù)庫系統(tǒng)從整體角度描述數(shù)據(jù),數(shù)據(jù)不再面向某個應用而是面向整個系統(tǒng),因此數(shù)據(jù)可以被多個用戶、多個應用共享使用,數(shù)據(jù)共享可以大大減少數(shù)據(jù)冗余,節(jié)約存儲空間。數(shù)據(jù)共享還能夠避免數(shù)據(jù)之間的不相容性與不一致性。數(shù)據(jù)面向整個系統(tǒng),是有結(jié)構的數(shù)據(jù),不僅可以被多個應用共享使用,而且容易增加新的應用,這就使得數(shù)據(jù)庫系統(tǒng)彈性大,易于擴充,可以適應各種用戶要求。
3、數(shù)據(jù)的獨立性高
數(shù)據(jù)獨立性包括數(shù)據(jù)的物理獨立性和數(shù)據(jù)的邏輯獨立性。物理獨立性是指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中的數(shù)據(jù)是相互獨立的,也就是說,數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中的存儲是由DBMS管理的,用戶程序不需要了解,應用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構。邏輯獨立性是指用戶的應用程序與數(shù)據(jù)庫的邏輯結(jié)構是相互獨立的,也就是說,數(shù)據(jù)的邏輯結(jié)構改變了,用戶程序也可以不變。數(shù)據(jù)與程序的獨立,把數(shù)據(jù)的定義從程序中分離出去,加上數(shù)據(jù)的存取又由DBMS負責,從而簡化了應用程序的編制,大大減少了應用程序的維護和修改。
4、數(shù)據(jù)由DBMS統(tǒng)一管理和控制
數(shù)據(jù)庫系統(tǒng)采用集中式的方式對數(shù)據(jù)庫進行管理,由DBMS統(tǒng)一進行建庫、操作和控制,使數(shù)據(jù)的安全性、完整性、并發(fā)控制和數(shù)據(jù)庫恢復得到保證。為此,DBMS還必須提供以下幾方面的數(shù)據(jù)控制功能:
數(shù)據(jù)的安全性(Security)保護:數(shù)據(jù)的安全性是指保護數(shù)據(jù)以防止不合法的使用造成數(shù)據(jù)的泄密和破壞。使每個用戶只能按規(guī)定,對某些數(shù)據(jù)以某些方式進行使用和處理。數(shù)據(jù)的完整性(Integrity)檢查:數(shù)據(jù)的完整性指數(shù)據(jù)的正確性、有效性和相容性。完整性檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關系。并發(fā)(Concurrency)控制:當多個用戶的并發(fā)進程同時存取、修改數(shù)據(jù)庫時,可能會發(fā)生相互干擾而得到錯誤的結(jié)果,或使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。數(shù)據(jù)庫恢復(Recovery):計算機系統(tǒng)的硬件故障、軟件故障、操作員的失誤,以及故意的破壞會影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失。DBMS必須具有將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))的功能,這就是數(shù)據(jù)庫的恢復功能。數(shù)據(jù)庫可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨立性,DBMS在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一控制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶同時使用數(shù)據(jù)庫時進行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進行恢復。
延伸閱讀1:SQL數(shù)據(jù)庫的數(shù)據(jù)體系結(jié)構
SQL數(shù)據(jù)庫的數(shù)據(jù)體系結(jié)構基本上是三級結(jié)構,但使用術語與傳統(tǒng)關系模型術語不同。在SQL中,關系模式(模式)稱為“基本表”(base table);存儲模式(內(nèi)模式)稱為“存儲文件”(stored file);子模式(外模式)稱為“視圖”(view);元組稱為“行”(row);屬性稱為“列”(column)。