創建數據庫
在可以向RDBMS提交SQL語句之前還有一些准備工作需要完成如果讀者已經按照附錄B中的操作指南以及本書配套網站(wwwwroxcom或wwwagilitatorcom)上補充的幻燈片完成了相應的安裝操作那麼應該已經具有一個(或多個)已經安裝完成並且處於運行狀態的RDBMS本書將使用到讀者安裝的RDBMS或者讀者應該安裝Microsoft Access或OpenOffice BASE請參考附錄B其中詳細列出了安裝RDBMS的步驟另外請參考附錄A中關於如何安裝Library示例數據庫的操作指南
對於下面的示例只需要少量修改就可以在多種RDBMS服務器上運行OracleIBM DBMicrosoft SQL ServerPostgreSQL和MySQL在MicrosoftAccess和OpenOffice BASE/HSQLDB中需要創建一個項目
數據庫的概念從邏輯上可以定義為受某個程序管理的數據存儲(例如現在已經很少使用的數據銀行)當使用一個桌面型數據庫(例如Microsoft Access)時Access數據庫就是一個文件對於新啟動的每一個項目Access都會創建這樣一個數據庫文件基於服務器的RDBMS也使用類似的概念但實現的細節要復雜許多幸運的是SQL語言是一種聲明性語言它隱藏了數據庫實現上的復雜性SQL語言只需要說明需要做什麼而無須說明如何做
在使用數據庫之前必須創建一個數據庫本書中使用的數據庫包含了筆者書櫃上所有的書它可以跟蹤圖書名稱ISBN號作者價格等信息這些信息有助於弄清楚書櫃中圖書的情況
下面的語句將在RDBMS中創建一個名為LIBRARY的數據庫(只要RDBMS是Microsoft SQLServerIBM DBPostgreSQL和MySQL即可對於Oracle數據庫情況則略有不同它對於什麼是數據庫具有不同的表述請參考附錄A中的詳細介紹)
CREATE DATABASE library;
在RDBMS實例中如果具有足夠的權限上面的語句將創建一個數據庫它是容納數據的一個邏輯結構同時還包含了所有的支撐結構文件和數據庫操作所需的許多其他對象我們並不需要知道這些幕後的內容所有的空白都會被默認值填充這就是聲明性語言的強大威力!
Oracle將采用如下所示的語法
CREATE USER library IDENTIFIED BY discover;
該語句中的USER粗略地等價於其他RDBMS中的DATABASE但在本書中將不會詳細地討論這兩者之間的相似和差異
當然在一個產品級的RDBMS環境中創建一個具有足夠功能的數據庫還有大量的工作要做還可以使用許多選項並權衡利弊但是只需要執行上面的語句就可以創建一個可用的基本數據存儲
在創建了一個數據庫之後也可以使用SQL的DROP語句輕而易舉地銷毀它在使用DROP語句時不能銷毀並不存在的對象(如果試圖執行這樣的操作RDBMS將發出警告)
DROP DATABASE library;
在Oracle中刪除操作就是刪除一個USER
執行DROP語句之後LIBRARY數據庫就從服務器上消失了在Microsoft Access和OpenOfficeBASE中刪除數據庫的操作等價於刪除對應的文件
由於各個RDBMS之間使用的術語存在著某些差別因此在不同的專有數據庫之間數據庫的概念也存在差異例如在SQL Server中定義為數據庫的東西在某種程度上類似於Oracle中的SCHEMA和USER但在本書介紹的內容中這些差別並不是特別重要
返回目錄SQL實戰新手入門
編輯推薦
Oracle索引技術
高性能MySQL
數據倉庫與數據挖掘培訓視頻教程
From:http://tw.wingwit.com/Article/program/SQL/201311/16487.html