第7章數(shù)據(jù)庫的創(chuàng)建與存取.ppt_第1頁
第7章數(shù)據(jù)庫的創(chuàng)建與存取.ppt_第2頁
第7章數(shù)據(jù)庫的創(chuàng)建與存取.ppt_第3頁
第7章數(shù)據(jù)庫的創(chuàng)建與存取.ppt_第4頁
第7章數(shù)據(jù)庫的創(chuàng)建與存取.ppt_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章 數(shù)據(jù)庫的創(chuàng)建與存取,數(shù)據(jù)庫是存儲在計算機內(nèi)的、有組織的可以共享的數(shù)據(jù)的集合。 能夠提供數(shù)據(jù)的存儲和數(shù)據(jù)的操作的軟件稱為數(shù)據(jù)庫管理系統(tǒng)(Database Management System ,DBMS), 如Microsoft Access、Foxpro、SQL Server、Oracle、DBII 等都是數(shù)據(jù)庫管理系統(tǒng)。,7.1 SQL Server 2000的安裝,SQL Server 2000數(shù)據(jù)庫簡介: SQL Server 2000 是Microsoft公司推出的基于Client/Server(客戶機/服務(wù)器)模式的新一代大型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它功能強大、操作簡便,廣泛應(yīng)用于

2、數(shù)據(jù)庫后臺系統(tǒng)。 與ACCESS數(shù)據(jù)庫相比,SQL Server 2000數(shù)據(jù)庫的規(guī)模更大,它可以將用戶的數(shù)據(jù)存儲在多個服務(wù)器上,并利用復(fù)制技術(shù)跨越多個服務(wù)器進行分布式處理,實現(xiàn)真正意義上的分布式數(shù)據(jù)庫。SQL Server 2000的安全性更好,它可以對登錄用戶的身份進行認證,并對用戶的操作權(quán)限進行控制。SQL Server 2000的故障恢復(fù)功能更強,它提供了強大的數(shù)據(jù)庫備份和恢復(fù)功能,當(dāng)故障發(fā)生時,能根據(jù)備份和日志迅速恢復(fù)到某一正確時刻。同時,SQL Server 2000還提供了更好的并發(fā)控制功能以及大量的監(jiān)控和管理數(shù)據(jù)庫系統(tǒng)的工具。,7.1 安裝SQL Server 2000數(shù)據(jù)庫,

3、1.將SQL Server 2000安裝盤放入光驅(qū),一般該光盤會自動運行。如果不自動運行,請雙擊光盤根目錄下的autorun.exe程序,出現(xiàn)安裝啟動界面,如圖所示。,SQL Server 2000安裝啟動界面,選擇【安裝SQL Server 2000組件】,7.1 安裝SQL Server 2000數(shù)據(jù)庫,SQL Server 2000安裝界面,選擇【安裝數(shù)據(jù)庫服務(wù)器】,7.1 安裝SQL Server 2000數(shù)據(jù)庫,SQL Server 2000安裝向?qū)Ы缑?單擊【下一步】,7.1 安裝SQL Server 2000數(shù)據(jù)庫,選擇【本地計算機】選項,單擊【下一步】,【計算機名】對話框,7.

4、1 安裝SQL Server 2000數(shù)據(jù)庫,【安裝選擇】對話框,選擇【服務(wù)器和客戶端工具】選項,單擊【下一步】按鈕,選擇【創(chuàng)建新的SQL Server實例,或安裝客戶端工具】選項,7.1 安裝SQL Server 2000數(shù)據(jù)庫,選擇【服務(wù)器和客戶端工具】選項,單擊【下一步】按鈕,【安裝定義】對話框,7.1 安裝SQL Server 2000數(shù)據(jù)庫,【實例名】對話框,選擇默認的實例名,也可以自定義創(chuàng)建一個實例名。單擊【下一步】,7.1 安裝SQL Server 2000數(shù)據(jù)庫,【安裝類型】對話框,選擇文件存放位置,單擊【下一步】按鈕,7.1 安裝SQL Server 2000數(shù)據(jù)庫,【服務(wù)帳

5、戶】對話框,選擇【使用本地系統(tǒng)帳戶】。單擊【下一步】按鈕,7.1安裝SQL Server 2000數(shù)據(jù)庫,【身份驗證模式】對話框,(1) 【W(wǎng)indows身份驗證模式】。對于使用Windows 2000 或Windows NT上的登錄帳戶與SQL Server 2000進行連接的用戶,應(yīng)選用此模式。 (2) 【混合模式(Windows身份驗證和SQL Server身份驗證)】。如果用戶可能使用其它操作系統(tǒng)訪問SQL Server 2000數(shù)據(jù)庫,例如:UNIX用戶,Windows 98的用戶等,則應(yīng)選擇此混合模式。 建議選用混合模式。然后設(shè)置sa用戶(sa是SQL Server的系統(tǒng)管理員,擁

6、有系統(tǒng)的所有權(quán)限)密碼。,7.1 安裝SQL Server 2000數(shù)據(jù)庫,【開始復(fù)制文件】對話框,單擊【下一步】即可完成安裝。,7.2 在SQL Server2000中建立數(shù)據(jù)庫,7.1.1數(shù)據(jù)庫結(jié)構(gòu) 一、.邏輯結(jié)構(gòu)。也就是我們在數(shù)據(jù)庫管理程序中看到的結(jié)構(gòu),是一些二維表格,視圖等其他對象。 數(shù)據(jù)庫是由許多邏輯結(jié)構(gòu)組成,在使用數(shù)據(jù)庫時,其實主要是使用一些邏輯組件,如表、視圖、程序與用戶。 表是數(shù)據(jù)庫中最基礎(chǔ)的組件,用來表示數(shù)據(jù)庫中存取的數(shù)據(jù)。,7.2 在SQL Server2000中建立數(shù)據(jù)庫,在SQL Server中,數(shù)據(jù)庫對象有下列8種類:,表 索引 視圖 用戶定義的數(shù)據(jù)類型 默認 約束

7、觸發(fā)器 存儲過程,7.2 在SQL Server2000中建立數(shù)據(jù)庫,二、數(shù)據(jù)庫的物理結(jié)構(gòu)。 在SQL Server中將數(shù)據(jù)庫的物理結(jié)構(gòu)分為數(shù)據(jù)文件與事務(wù)日志文件兩種類型,其中數(shù)據(jù)文件是用來存儲數(shù)據(jù)庫的數(shù)據(jù)內(nèi)容,而事物日志文件則是記錄事物內(nèi)容。,7.2 在SQL Server2000中建立數(shù)據(jù)庫,(1)主數(shù)據(jù)庫文件。每個數(shù)據(jù)庫都一定會有一個而且僅有一個主數(shù)據(jù)庫文件,這個數(shù)據(jù)庫文件中記錄了數(shù)據(jù)庫的起始信息,數(shù)據(jù)文件成員以及數(shù)據(jù)庫的對象成員,如表、視圖、規(guī)則等。 SQL Server數(shù)據(jù)文件的擴展名為.mdf,默認數(shù)據(jù)庫主數(shù)據(jù)的文件名為:數(shù)據(jù)庫名.mdf。 (2)次數(shù)據(jù)文件。擴展名為.ndf。 (

8、3)事務(wù)日志文件。擴展名為.ldf。記錄數(shù)據(jù)庫的事物活動記錄,收集該數(shù)據(jù)庫的完整事務(wù)過程,7.2.1 SQL Server 2000服務(wù)器管理器,SQL Server 2000的服務(wù)器管理器是用來啟動服務(wù)、暫停和停止正在運行的服務(wù),一共有以下三種服務(wù): 1.Distributed Transaction Coordinator:主要用于控制多個服務(wù)器之間分布的事務(wù)。 2.SQL Server:該服務(wù)是SQL Server的核心,在進行建數(shù)據(jù)庫、表、查詢以及訪問數(shù)據(jù)、分配系統(tǒng)資源等操作時之前必須啟動該服務(wù)。 3.SQL Server Agent:該服務(wù)用于控制自動化任務(wù),例如備份數(shù)據(jù)庫、作業(yè)管理

9、等。,7.2.1 SQL Server 2000服務(wù)器管理器,啟動服務(wù)的步驟如下:從Windows桌面上選擇【開始】、【程序】、【Microsoft SQL Server】、【服務(wù)器管理器】打開服務(wù)器管理器界面。如圖所示。在服務(wù)器管理器窗口中,選擇服務(wù)器及服務(wù)后,單擊 啟動SQL Server服務(wù).,7.2.2創(chuàng)建SQL Server 2000數(shù)據(jù)庫,1.創(chuàng)建數(shù)據(jù)庫。啟動【企業(yè)管理器】,如圖所示。在服務(wù)器目錄樹中展開服務(wù)器實例名稱前面的加號,選擇【數(shù)據(jù)庫】,單擊右鍵,在彈出的快捷菜單中選擇【新建數(shù)據(jù)庫】,出現(xiàn)如圖6-21所示【數(shù)據(jù)庫屬性】對話框 .,選擇【數(shù)據(jù)文件】選項卡,為該數(shù)據(jù)庫的數(shù)據(jù)文件

10、定義大小和存儲位置,選擇【事務(wù)日志】選項卡,為該數(shù)據(jù)庫的事務(wù)日志文件定義大小和存儲位置。,輸入要創(chuàng)建的數(shù)據(jù)庫名稱,7.2.2創(chuàng)建SQL Server 2000數(shù)據(jù)庫,2創(chuàng)建表結(jié)構(gòu) 選擇新建的mysite數(shù)據(jù)庫,單擊右鍵,在彈出的快捷菜單中選擇【新建表】,如圖所示。 在彈出的【數(shù)據(jù)表設(shè)計器】窗口中,定義表的結(jié)構(gòu),包括列名、數(shù)據(jù)類型、長度及其它屬性。,3輸入、編輯數(shù)據(jù) 選擇用戶新創(chuàng)建的表,單擊右鍵,在彈出的快捷菜單中選擇【打開表】,【返回所有行】,在出現(xiàn)的數(shù)據(jù)表中用戶可以進行數(shù)據(jù)的輸入或瀏覽、修改、刪除等操作。,7.3 SQL語言簡介,SQL(Structure Query Language)是一

11、種適用于關(guān)系數(shù)據(jù)庫的結(jié)構(gòu)查詢語言,它功能強大,簡單易學(xué),適用范圍廣,可移植性強,當(dāng)前較流行的關(guān)系型數(shù)據(jù)庫如Oracle、Sybase、dBase、Visual FoxPro和DBII、SQL Server、ACCESS等數(shù)據(jù)庫管理系統(tǒng)都支持SQL語言。 SQL語言是學(xué)習(xí)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的重要基礎(chǔ)。 SQL語言最早是在1974年由美國的IBM公司提出的,隨后不斷發(fā)展,不斷完善。1986年10月美國國家標(biāo)準學(xué)會(ANSI)批準將SQL語言作為美國數(shù)據(jù)庫的語言標(biāo)準,1987年國際標(biāo)準化組織(ISO)也通過了這一標(biāo)準。,7.3 常用的SQL命令,SQL語言包含9個命令動詞,分別用于數(shù)據(jù)定義、數(shù)據(jù)查

12、詢、數(shù)據(jù)操縱及數(shù)據(jù)控制。,7.3.1 SQL的數(shù)據(jù)定義,SQL的數(shù)據(jù)定義語言具有創(chuàng)建表(Table)結(jié)構(gòu),修改表結(jié)構(gòu),刪除表及建立與刪除索引等功能,見下表。 SQL的數(shù)據(jù)定義語言,1.創(chuàng)建表,語法格式如下: CREATE TABLE ( 完整性約束條件, 完整性約束條件 ); 主要說明: (1)表名:所創(chuàng)建表的名稱。 (2)表中定義字段的每一語句之間用逗號(,)隔開,最后一個語句不用逗號。,SQL語言中的數(shù)據(jù)類型,創(chuàng)建表例題,CREATE TABLE 用戶注冊數(shù)據(jù)(用戶名 CHAR(6) PRIMARY KEY, 性別 LOGICAL, 密碼 CHAR(6) NOT NULLl, 出生日期 D

13、ATE, 聯(lián)系電話 CHAR(15) NOT NULL, 職業(yè) CHAR(10), 月收入 INTEGER, 簡歷 MEMO, 照片 OLEObject);,PRIMARY KEY,定義字段為主鍵。 NOT NULL,為該字段的完整性約束,即該字段不允許輸入空值。,例題1:創(chuàng)建一個名為“用戶注冊數(shù)據(jù)”的表,包含字段用戶名、性別、密碼、出生日期、聯(lián)系電話,職業(yè)、月收入、簡歷、照片。,2.修改表結(jié)構(gòu),語法格式如下: ALTER TABLE ADD 完整性約束DROP 主要說明: (1)ADD子句用于添加新字段或新的完整性約束條件。 (2)DROP子句用于刪除已存在的完整性約束條件。,例題2:給例題

14、1所創(chuàng)建的“用戶注冊數(shù)據(jù)”表添加一個名為“工作單位”的新字段。并添加令該字段不能填寫空記錄的完整性約束條件。 ALTER TABLE 用戶注冊數(shù)據(jù) ADD 工作單位 CHAR(20) NOT NULL;,3.刪除表,語法格式如下: DROP TABLE 主要說明: (1):欲刪除的表的名稱。 (2)DROP命令將刪除表的結(jié)構(gòu)和記錄,并且不可恢復(fù)。 例題3:刪除例題1所創(chuàng)建的“用戶注冊數(shù)據(jù)”表。 DROP TABLE 用戶注冊數(shù)據(jù),7.3.2 SQL的數(shù)據(jù)查詢,語法格式如下: SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING ORDER BY

15、ASC|DESC;,主要說明: ALL:表示輸出所有符合條件的記錄。默認值為ALL。 DISTINCT:表示輸出時去掉重復(fù)的記錄。 目標(biāo)字段表達式不僅可以是字段,也可以是算術(shù)表達式、函數(shù)等。,SELECT語句的含義,根據(jù)WHERE子句的條件表達式,從FROM子句指定的表中,篩選符合條件記錄,按SELECT子句中列出的目標(biāo)字段表達式,輸出結(jié)果。如果有GROUP BY子句,則按將記錄進行分組,字段值相同的為一組。此時SELECT子句中的目標(biāo)字段表達式經(jīng)常使用集函數(shù)。如果GROUP BY子句帶HAVING子句,則將對組進行篩選,輸出符合的組。如果有ORDER BY子句,輸出結(jié)果還要按的值排序。,常用

16、的集函數(shù),WHERE子句常用的查詢條件,設(shè)“用戶注冊數(shù)據(jù)”表有如下記錄:,查詢語句應(yīng)用示例,1.選取若干列輸出 例題7:從“用戶注冊數(shù)據(jù)”表中輸出所有用戶的用戶名、性別、職業(yè)和聯(lián)系電話。 SELECT 用戶名, IIF(性別, ”男”, ”女”) AS SEX, 職業(yè), 聯(lián)系電話 FROM 用戶注冊數(shù)據(jù); 2.輸出表的所有字段 SELECT * FROM 用戶注冊數(shù)據(jù); *代表該數(shù)據(jù)表中的所有字段。 3.去掉重復(fù)值 在SELECT語句中用DISTINCT保留字實現(xiàn)從查詢結(jié)果中去掉相同的記錄。 例題8:從“用戶注冊數(shù)據(jù)”表中輸出用戶職業(yè)的種類。 SELECT DISTINCT 職業(yè) FROM 用

17、戶注冊數(shù)據(jù);,4.輸出經(jīng)過計算的列 例題9:從“用戶注冊數(shù)據(jù)”表中計算輸出每個用戶的年齡。 由于“用戶注冊數(shù)據(jù)”中沒有年齡字段,所以只能通過“出生日期”字段來計算用戶的年齡。 SELECT 用戶名,YEAR(DATE()-YEAR(出生日期) AS 年齡 FROM 用戶注冊數(shù)據(jù); 5.比較條件 例題10:檢索所有的職業(yè)為教師的記錄。 SELECT * FROM 用戶注冊數(shù)據(jù) WHERE 職業(yè)=“教師”;,查詢語句應(yīng)用示例,6.確定范圍 例題11:檢索1981年出生的人員記錄。 SELECT * FROM 用戶注冊數(shù)據(jù) WHERE 出生日期 BETWEEN #78/01/01# AND #78/

18、12/31#; 7.確定集合 例題12:檢索所有的職業(yè)為教師、醫(yī)生、律師的記錄。 SELECT * FROM 用戶注冊數(shù)據(jù) WHERE 職業(yè) IN(“教師”,“醫(yī)生”,“律師”); 8.字符匹配 例題13:檢索姓“李”的用戶信息。 SELECT * FROM 用戶注冊數(shù)據(jù) WHERE 用戶名 LIKE “李*”;,查詢語句應(yīng)用示例,9.空值 例題14:檢索有照片的記錄。 SELECT * FROM 用戶注冊數(shù)據(jù) WHERE 照片 IS NOT NULL; 10.多重條件 例題15:檢索所有月收入3000元以上的教師信息。 SELECT * FROM 用戶注冊數(shù)據(jù) WHERE月收入=3000 A

19、ND 職業(yè)=“教師”;,查詢語句應(yīng)用示例,11.利用集函數(shù)分組統(tǒng)計 例題16:計算各種職業(yè)的平均月收入。 SELECT 職業(yè),AVG(月收入)AS 平均月收入 FROM 用戶注冊數(shù)據(jù) GROUP BY 職業(yè);,查詢語句應(yīng)用示例,13.利用ORDER BY子句對檢索結(jié)果排序 例題20:輸出所有的男士的月收入,輸出結(jié)果按降序排列。 SELECT 用戶名,IIF(性別,男,女) AS SEX,月收入 FROM 用戶注冊數(shù)據(jù) WHERE 性別 ORDER BY 月收入 DESC;,12.利用HAVING子句檢索合適的組 例題19:統(tǒng)計哪些職業(yè)的用戶數(shù)在2人以上。 SELECT COUNT(*),職業(yè)

20、FROM 用戶注冊數(shù)據(jù) GROUP BY 職業(yè) HAVING COUNT(*)1;,查詢語句應(yīng)用示例 -多表查詢,“用戶購物信息”表部分記錄如下:,“用戶進入網(wǎng)站記錄”表部分記錄如下:,“產(chǎn)品庫存”表部分記錄如下:,設(shè)系統(tǒng)中還有“用戶進入網(wǎng)站記錄”、“用戶購物信息”、“產(chǎn)品庫存”三張數(shù)據(jù)表,分別用于記錄用戶進入網(wǎng)站的起止時間、用戶購買產(chǎn)品的記錄、產(chǎn)品庫存等數(shù)據(jù)。,以上介紹的都是單表查詢,在實際查詢中經(jīng)常涉及到多表查詢。如果查詢涉及到兩張以上的表,需先根據(jù)關(guān)聯(lián)關(guān)鍵字對數(shù)據(jù)表進行關(guān)聯(lián)后再查詢,例如:設(shè)數(shù)據(jù)表A和數(shù)據(jù)表B根據(jù)字段Z進行關(guān)聯(lián),關(guān)聯(lián)條件應(yīng)寫為:AZ=BZ。在SELECT語句中,數(shù)據(jù)表的關(guān)

21、聯(lián)條件寫在WHERE子句后。,例題21:檢索用戶“錢明”所購買產(chǎn)品的名稱、數(shù)量和單價。 SELECT 用戶購物信息.用戶名, 用戶購物信息.產(chǎn)品編號, 產(chǎn)品庫存.產(chǎn)品名稱, 用戶購物信息.數(shù)量, 產(chǎn)品庫存.售價, 用戶購物信息.是否發(fā)貨 FROM 產(chǎn)品庫存,用戶購物信息 WHERE 產(chǎn)品庫存.產(chǎn)品編號 = 用戶購物信息.產(chǎn)品編號 AND 用戶購物信息.用戶名=“錢明”; 例題22:計算每位用戶所購買產(chǎn)品的總金額,并按總金額的降序輸出。 SELECT 用戶購物信息.用戶名, Sum(數(shù)量*售價) AS 總金額 FROM 用戶購物信息,產(chǎn)品庫存 where 用戶購物信息.產(chǎn)品編號 = 產(chǎn)品庫存.產(chǎn)品編號 GROUP BY 用戶購物信息.用戶名; ORDER BY Sum(數(shù)量*售價) DESC;,查詢語句應(yīng)用示例,7.3 數(shù)據(jù)庫操作語言,1. 插入數(shù)據(jù) 插入數(shù)據(jù)的語法格式如下: insert into (,) values (,) 功能:insert語句用于將新記錄插入指定表中。 說明: (1) 在INTO中沒有出現(xiàn)的字段,新記錄在這些字段上將取空值。 (2) 在表定義時說明NOT NULL 的字段不能取空值。 (3)

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論