電子商務(wù)數(shù)據(jù)庫試驗指導(dǎo)書_第1頁
電子商務(wù)數(shù)據(jù)庫試驗指導(dǎo)書_第2頁
電子商務(wù)數(shù)據(jù)庫試驗指導(dǎo)書_第3頁
電子商務(wù)數(shù)據(jù)庫試驗指導(dǎo)書_第4頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、電子商務(wù)數(shù)據(jù)庫實驗指導(dǎo)書1、安裝 SQL ServerSQL Server 環(huán)境需求?SQL Server 2000 常見的版本?企業(yè)版(Enterprise Edition)?標(biāo)準(zhǔn)版(?個人版(Standard Edition )Personal Edition )?開發(fā)者版(Developer Edition)安裝、運行SQL Server 2000的硬件需求(1)計算機Inter 及其兼容計算機,Pentium 166Mz 或者更高處理器或DEC Alpha 和其兼容系統(tǒng)。(2)內(nèi)存( RAM )企業(yè)版最少64MB 內(nèi)存,其他版本最少需要32MB 內(nèi)存,建議使用更多的內(nèi)存。(3)硬盤空間

2、完全安裝( Full )需要 180MB 的空間,典型安裝(Typical )需要 170MB 的空間,最小安裝(需要 65MB 的空間Minimum)安裝、運行SQL Server 2000的軟件需求?SQL Server 2000 企業(yè)版必須運行于安裝Windows NT Server Enterprise Edition4.0 或者 Windows2000Advanced Server 以及更高版本的操作系統(tǒng)下。?SQL Server 2000 標(biāo)準(zhǔn)版必須運行于安裝Windows NT Server Enterprise Edition 4.0、Windows NT Server4.0、

3、 Windows 2000 Server 以及更高版本的操作系統(tǒng)下。?SQL Server 2000 個人版可在多種操作系統(tǒng)下運行,如可運行于Windows9x, WindowsNT4.0 或Windows 2000 的服務(wù)器版或工作站版的操作系統(tǒng)下。?SQL Server 2000 開發(fā)者版可運行于上述Windows 9x 以外的所有操作系統(tǒng)下。SQL Server 2000 SQL Server 2000的安裝的安裝過程與其它Microsoft Windows系列產(chǎn)品類似。用戶可根據(jù)向?qū)崾?,選擇需要的選項一步一步地完成。SQL Server工具:企業(yè)管理器 :?企業(yè)管理器是基于一種新的被

4、稱為微軟管理控制臺(環(huán)境,它是 SQL Server 中最重要的一個管理工具。而且由于它能夠以層疊列表的形式來顯示所有的Microsoft Management Console )的公共服務(wù)器管理企業(yè)管理器不僅能夠配置系統(tǒng)環(huán)境和管理SQL Server,SQL Server 對象,因而所有SQL Server 對象的建立與管理都可以通過它來完成。利用企業(yè)管理器可以完成的操作有:管理 SQL Server 服務(wù)器;建立與管理數(shù)據(jù)庫;建立與管理表、視圖、存儲過程、觸發(fā)程序、角色、規(guī)則、默認(rèn)值等數(shù)據(jù)庫對象,以及用戶定義的數(shù)據(jù)類型;備份數(shù)據(jù)庫和事務(wù)日志、恢復(fù)數(shù)據(jù)庫;復(fù)制數(shù)據(jù)庫;設(shè)置任務(wù)調(diào)度;設(shè)置警報;

5、提供跨服務(wù)器的拖放控制操作;管理用戶帳戶;建立 Transact-SQL 命令語句以及管理和控制 SQL Mail圖: SQL Server企業(yè)管理器(Enterprise Manager )界面服務(wù)管理器(Service Manager )SQL Server 服務(wù)管理器是在服務(wù)器端實際工作時最有用的實用程序,其界面如圖用來啟動、暫停、繼續(xù)和停止數(shù)據(jù)庫服務(wù)器的實時服務(wù), 其提供的服務(wù)包括:1-21 所示。服務(wù)管理器SQL Server 、SQL Server Agent 、MSDTC ( Microsoft Distributed Transaction Coordinator,微軟分布式事

6、務(wù)協(xié)調(diào)器)圖: SQL Server服務(wù)管理器(Service Manager)界面查詢分析器(Query Analyzer )新的圖形化查詢分析器用于輸入和執(zhí)行 Transaction-SQL SQL Server 2000語句,并且迅速查看這些語句的結(jié)果,以分析和處理數(shù)據(jù)庫中的數(shù)據(jù)。這是一個非常實用的工具,對掌握的管理工作有很大幫助SQL 語言,深入理解導(dǎo)入和導(dǎo)出數(shù)據(jù)(Imput and Export Data )導(dǎo)入和導(dǎo)出數(shù)據(jù)采用DTC導(dǎo)入 /導(dǎo)出向?qū)硗瓿?。此向?qū)О怂械腄TC (Data TransformationServices)工具,提供了在 OLE DB 數(shù)據(jù)源之間復(fù)制數(shù)

7、據(jù)的最簡捷的方法創(chuàng)建表和視圖主要 SQL 語句:1.CREATE DATABASEdatabase_name WITH LOG IN“pathname”創(chuàng)建數(shù)據(jù)庫。 database_name:數(shù)據(jù)庫名稱。“pathname”:事務(wù)處理日志文件。如: select dirpath form systables where tabtype =“L”;例: create databse customerdb with log in“/usr/john/log/customer.log”;2. DA TABASE databse-name EXCLUSIVEdatabase_name:數(shù)據(jù)庫名稱。E

8、XCLUSIVE:獨占狀態(tài)。存取當(dāng)前目錄和DBPATH中指定的目錄下的數(shù)據(jù)庫,事務(wù)中處理過程中不要使用此語句。例: dtabase customerdb;3. CLOSE DATABASE關(guān)閉當(dāng)前數(shù)據(jù)庫。database_name:數(shù)據(jù)庫名稱。此語句之后,只有下列語句合法:CREATE DATABASE; DATABASE; DROP DATABSE; ROLLFORWARD DATABASE;刪除數(shù)據(jù)庫前必須使用此語句。例: close database;DROP DATABASEdatabase_name刪除指定數(shù)據(jù)庫。database_name:數(shù)據(jù)庫名稱。用戶是DBA 或所有表的擁有者

9、;刪除所有文件,但不包括數(shù)據(jù)庫目錄;不允許刪除當(dāng)前數(shù)據(jù)庫(須先關(guān)閉當(dāng)前數(shù)據(jù)庫);事務(wù)中處理過程中不能使用此語句,通過ROLLBACK WORK也不可將數(shù)據(jù)庫恢復(fù)。例: drop databse customerdb;CREATE TEMP TABLE table-name( column_namedatatypeNOT NULL, )IN“ pathname”創(chuàng)建表或臨時表。table-name:表名稱。column_name:字段名稱。data-type :字段數(shù)據(jù)類型。path-name:指定表的存放位置TEMP用于指定建立臨時表;表名要唯一,字段要唯一;有缺省允許CONNECT用戶存取,

10、但不可以ALTER例: create table user( c0 serial not null, c1 char (10),c2 char(2),c3 smallint,c4 decimal(6,3),c5 date) in“usr/john/customer.dbs/user;CONNECT權(quán)限的用戶可建立臨時表;創(chuàng)建的表ALTER TABLEALTER TABLE table-nameADD ( newcol_name newcol_type BEFORE oldcol_name,| MODIFY ( oldcol_name newcol_typeNOT NULL,),)|DROP(o

11、ldcol_name, )修改表結(jié)構(gòu)。table-name :表名稱。newcol_name:新字段名稱newcol_type :新字段類型oldcol_name :老字段名稱可以使用單個或多個 ADD子句、 DROP子句、 MODIFY子句,但某個字句失敗, 操作即中止; 原字段是 NULL,不允許 MODIFY為 NOT NULL,除非所有 NULL字段中均非空,反之可以; ALTER使用者是表的擁有者或擁有 DBA權(quán)限,或被授權(quán);事務(wù)中處理過程中不要使用此語句。例: alter table useradd ( c6 char(20) before c5);RENAME TABLEoldn

12、ame TO newname修改表名。oldname:原名稱。newname:新名稱。RENAME使用者是表的擁有者或擁有 DBA權(quán)限,或被授權(quán);事務(wù)中處理過程中不要使用此語句。例: rename user to bbb;DROP TABLEtable-name刪除表。table-name :表名稱。刪除表意味著刪除其中所有數(shù)據(jù)、各字段上的索引及對表的賦權(quán)、視圖等;用戶不能刪除任何系統(tǒng)目錄表;語句使用者是表擁有者或擁有DBA權(quán)限,事務(wù)中處理過程中不要使用此語句。RENAME COLUMNtable.oldcolumn, TO newcolumn修改字段名。table.oldcolumn:表名及

13、原字段名稱newcolumn:新字段名稱。語句使用者是表的擁有者或擁有 DBA權(quán)限或有 ALTER權(quán)限的用戶,事務(wù)中處理過程中不要使用此語句。例: rename column user.c6 to c7;CREATE VIEWview-name column-listCREATE VIEWASselect_statementWITH CHECK OPTIONview-name column-list創(chuàng)建視圖。view-name:視圖名稱。column-list:字段列表。select_statement:SELECT語句。以下語句不使用視圖: ALTER TABLE, DROP INDEX,

14、ALTER INDEX, LOCK TABLE, CREATE INDEX, RENAME TABLE;視圖將延用基表的字段名,對表達式等虛字段和多表間字段重名必須指明標(biāo)識其字段名;若對視圖中某些字段命名,則所有字段都必須命名;視圖中數(shù)據(jù)類型延用基表中的數(shù)據(jù)類型,虛字段起訣于表達式;不能使用 ORDER BY和 UNION子句;對視圖中所有的字段要有 SELECT權(quán)限;事務(wù)中處理過程中使用此語句,即使事務(wù)回滾,視圖也將建立,不能恢復(fù)。例: create view v_user as select * from user where c1 =“B1”;DROP VIEWview-name刪除視圖

15、。view-name:視圖名稱。用戶可刪除自己建立的視圖;視圖的后代視圖也被刪除;事務(wù)中處理中不要使用此語句。例: drop view v_user表數(shù)據(jù)操作包括數(shù)據(jù)的插入、修改和刪除一、插入數(shù)據(jù)在向表中添加數(shù)據(jù)時應(yīng)該注意兩點:第一是用戶權(quán)限,只有 sysadmin 角包成員、數(shù)據(jù)庫和數(shù)據(jù)庫對象所有者及其授權(quán)用戶才有權(quán)限向表中添加數(shù)據(jù);第二是數(shù)據(jù)格式,對于不同的數(shù)據(jù)類型,插入數(shù)據(jù)的格式也不一樣,應(yīng)嚴(yán)格遵守它們各自的格式要求。Transact-SQL 語言中用INSERT 語句向表或視圖中插入新的數(shù)據(jù)行。INSERT INTO table_sourcecolumn_listVALUES (DEF

16、AULT | constant_expression ,n)|DEFAULT VALUES|select_statement|execute_statementINSERT語句的語法格式為:其中,column_list參數(shù)為新插入數(shù)據(jù)行中一列或多列列名列表,它說明INSERT語句只為指定列插入數(shù)據(jù)。在給表或視中部分列插入數(shù)據(jù)時,必須使用列名列表方式指出這部分列名。其余未指定列的列值要根據(jù)它們的默認(rèn)值和空值屬性情況而定,它們有以下幾種可能取值:(1) 對于 timestamp 列或具有IDENTITY屬性列,它們的列值由SQL Server 計算后自動賦值。(2) 如果這些列有默認(rèn)值或關(guān)聯(lián)有默認(rèn)

17、數(shù)據(jù)庫對象,插入新列時,它們的值為默認(rèn)值。(3) 當(dāng)這些列沒有默認(rèn)值設(shè)置時,但它們允許空值時,該列值為空。(4) 當(dāng)這些列既沒有默認(rèn)值設(shè)置,也不允許空值時, SQL Server 在執(zhí)行 INSERT 語句時將產(chǎn)生錯誤,導(dǎo)致插入操作失敗。當(dāng)未指定column_list參數(shù)時,為各列所提供的數(shù)據(jù)順序應(yīng)嚴(yán)格按照表中各列的定義順序,而使用column_list 參數(shù)則可以調(diào)整向表中所插入數(shù)據(jù)的列順序,只要 VALUES 子句所提供的數(shù)據(jù)順序與column_list 參數(shù)中指定的列順序相同即可。VALUES 子句為新插入行中 column_list 參數(shù)所指定列提供數(shù)據(jù),這些數(shù)據(jù)可以以常量表達式形式提

18、供,或使用 DEFAULT 關(guān)鍵字說明向列中插入其默認(rèn)值。DEFAULTVALUES說明向表中所有列插入其默認(rèn)值。對于具有INDENTITY屬性或timestamp數(shù)據(jù)類型列,系統(tǒng)將自動插入下一個適當(dāng)值。對于沒有設(shè)置默認(rèn)值的列,如果它們允許空值,SQL Server將插入null ,否則返回一錯誤消息。select_statement 是標(biāo)準(zhǔn)的數(shù)據(jù)庫查詢語句,它是為語句所提供的又一種數(shù)據(jù)插入方式。 INSERT 語句將 select_statement 子句所返回的結(jié)果集合數(shù)據(jù)插入到指定表中。查詢語句結(jié)果集合每行中的數(shù)據(jù)數(shù)量、數(shù)據(jù)類型和排列順序也必須與表中所定義列或column_list參數(shù)中

19、指定列的數(shù)量、數(shù)據(jù)類型和排列順序完全相同。SQL Server 為 INSERT 語句提供的第四種數(shù)據(jù)插入方式是通過執(zhí)行系統(tǒng)存儲過程,其數(shù)據(jù)來自于過程執(zhí)行后所產(chǎn)生的結(jié)果集合。所執(zhí)行的過程可以為存儲過程、系統(tǒng)存儲過程或擴展存儲過程,它們既可以為本地存儲過程,又可以是遠(yuǎn)程服務(wù)器上的存儲過程,只要用戶具有它們的執(zhí)行權(quán)限即可。有關(guān)存儲過程請參閱對應(yīng)的內(nèi)容。table_source 說明 INSERT 語句插入數(shù)據(jù)時所操作的表或視圖,其語法格式可簡單書寫為:table_name AS table_alias| view_name AS table_aliastable_name 和view_name說明

20、被插入數(shù)據(jù)的表或視圖名稱,table_alias 參數(shù)為表或視圖設(shè)置別名。使用別名有兩方面原因:第一、當(dāng)表或視圖名稱較長時,使用別名可以簡化書寫工作;第二,在自連接或子查詢中,使用別名可以區(qū)別同一個表或視圖。在向表中插入數(shù)據(jù)時,如果所插入的數(shù)據(jù)與約束或規(guī)則的要求沖突,或是它們的數(shù)據(jù)類型不兼容時,將導(dǎo)致INSERT語句執(zhí)行失敗。當(dāng)使用SELECT 或 EXECUTE 子句向表中一次插入多行數(shù)據(jù)時,如果其中有任一行數(shù)據(jù)有誤,它將導(dǎo)致整個插入操作失敗,使SQL Server 停止所有數(shù)據(jù)行的插入操作。例一、使用數(shù)值列表方式( 假定usertable 表中只定義了name、age 和 sex 字段,且

21、name、 sex 均為char 類型, age 為 int 類型 )。INSERT usertableVALUES ( 張三 ,女 ,18)例二、使用列名列表方式INSERT usertable (age,name)VALUES (18, 張三 )例三、在數(shù)值列表中,還可以將變量的值插入到表中。在使用變量為列提供數(shù)據(jù)時,應(yīng)保證變量的數(shù)據(jù)類型與列數(shù)據(jù)類型相同,或是可以自動將它們轉(zhuǎn)換為相同的數(shù)據(jù)類型。例如:DECLARE name char(16)SET name=張三 INSERT usertableVALUES (name,DEFAULT,20)本例中 Asp 中是這樣的:dim namen

22、ame=張三 sqlstr=INSERT usertable VALUES (&name&,女 ,20)例四、將SELECT 子句的所返回的結(jié)果集合插入到表中。例如:INSERT usertable (name,sex,age)SELECT s+name,sex,ageFROM usertableWHERE name like 張 %二、修改數(shù)據(jù)Transact-SQL 中的 UPDATE 語句用于修改表中數(shù)據(jù),該語句的語法格式為:UPDATE ()SET (column_name=expression | DEFAULT | variable = expression , n FROM| (

23、select_statement) AS table_alias ,m) ,nWHERE| CURRENT OF (GLOBAL cursor_name | cursor_variable_name 別看寫了一大堆,最常用的只是下列格式:UPDATE table_nameSET column_name1=variable1,column_name2=variable2WHERE search_conditions其中 table_or_view 參數(shù)指出待修改的表或視圖名稱,其格式與INSERT語句中該參數(shù)的格式相同。SET 子句指出表中被修改的列或變量,以及它們的新值。為一個已經(jīng)聲明的局部變

24、量名稱,它們修改后的值由默認(rèn)值賦給指定列。column_name 為被修改的列名,variableexpression 表達式提供, 或使用 DEFAULT關(guān)鍵字將FROM 子句引出另一個表,它為UPDATE 語句的數(shù)據(jù)修改操作提供條件。WHERE 子句中的search_conditions 參數(shù)說明UPDATE 語句的修改條件,它指出表或視圖中的哪些行需要修改。省略WHERE 子句時,說明對指定的表或視圖中的所有行進行修改!WHERE 子句中的CURRENT OF 說明在游標(biāo)的當(dāng)前位置處執(zhí)行修改操作,游標(biāo)由curror_name或游標(biāo)變量cursor_variable_name指定。UPDA

25、TE 不能修改具有IDENTITY屬性列的列值。例一、將usertable 表中所有人員的性別改為男 UPDATE usertableSET sex=男 例二、將性別為null 的所有人員的性別改成男 UPDATE usertableSET sex=男 WHERE sex IS NULL例三、將所有姓名為null 的人員的姓名改為張三 、性別改為 女 ,年齡改為18UPDATE usertableSET name=張三 ,sex=女 ,age=18WHERE name IS NULL三、刪除數(shù)據(jù)Transact-SQL 中, DELETE 和 TRUNCATE TABLE 語句均可以刪除表中的

26、數(shù)據(jù)。 DELETE 語句的語法格式為:DELETEtable_name | view_nameFROM| (select_statement) AS table_alias (column_alias ,m),nWHERE| CURRENT OF global cursor_name|cursor_variable_nameDELETE語句的結(jié)構(gòu)與UPDATE語句有些類似,其中也包含F(xiàn)ROM子句和WHERE子句。 WHERE子句為數(shù)據(jù)刪除指定條件。不使用WHERE子句時,DELETE語句將把有或視圖中所有的數(shù)據(jù)刪除。FROM子句是Transact-SQL 在 ANSI 基礎(chǔ)上對DELETE

27、語句的擴展,它指定要連接的表名,提供與相關(guān)子查詢相似的功能。TRUNCATE TABLE語句語法格式為:TRUNCATE TABLE table_nameTRUNCATE TABLE語句刪除指定表中的所有數(shù)據(jù)行,但表結(jié)構(gòu)及其所有索引繼續(xù)保留,為該表所定義約束、規(guī)則、默認(rèn)和觸發(fā)器仍然有效。如果所刪除表中包含有IDENTITY列,則該列將被復(fù)位到其原始基值。使用不帶WHERE 子句的 DELETE 語句也可以刪除表中所有行,但它不復(fù)位IDENTITY列。與 DELETE 語句相比, TRUNCATE TABLE語句的刪除速度更快。因為DELETE 語句在每刪除一行時都要把刪除操作記錄到日志中,而T

28、RUNCATE TABLE語句則是通過釋放表數(shù)據(jù)頁面的方法來刪除表中數(shù)據(jù),它只在釋放頁面做一次事務(wù)日志記錄。所以使用TRUNCATE TABLE語句刪除數(shù)據(jù)后,這些行是不可恢復(fù)的,而DELETE 操作則可回滾,能夠恢復(fù)原來數(shù)據(jù)。因為 TRUNCATE TABLE語句不做操作日志,它不能激活觸發(fā)器,所以除一個被其它表通過FOREIGN KEY約束所參照的表。例一、使用DELETE 語句刪除usertable 表中 name 為 張三 的數(shù)據(jù)行TRUNCATE TABLE語句不能刪DELETE usertableWHERE name= 張三 例二、下面使用FROM 子句和 WHERE 子句指定條件,然后從TB_update 表中刪除數(shù)據(jù)DELETE TB_updateFROM TB_constraint AS a,TB_update AS bWHERE =AND a.country=ChinaDELETE TB_updateFROM (SELECT * FROM TB_constraintWHERE country=USA) AS aWHERE =TB_觸發(fā)器定義: 何為觸發(fā)器?在 SQL Server 里面也就是對某一個表的一定的操作,觸發(fā)某

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論