學習數(shù)據(jù)庫實驗參考_第1頁
學習數(shù)據(jù)庫實驗參考_第2頁
學習數(shù)據(jù)庫實驗參考_第3頁
學習數(shù)據(jù)庫實驗參考_第4頁
學習數(shù)據(jù)庫實驗參考_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一部分 SQL 語言練習一、實驗目的通過基于關系型網(wǎng)絡數(shù)據(jù)庫管理系統(tǒng) SQL Server 的上機實驗,使學生進一步了解關系數(shù)據(jù)模型及關系數(shù)據(jù)庫管理系統(tǒng)的基本原理,標準的 SQL 語言的使用。1、掌握數(shù)據(jù)庫的基本概念,熟悉 SQL SERVER 2005,學會使用 SQL SERVER 客戶端工具分析器2、熟悉 SQL 語言的結構及主令。3、能對已有數(shù)據(jù)庫系統(tǒng)(DBMS 提供的一組樣例表)進行各種檢索。二、實驗原理1、使用工具連接數(shù)據(jù)庫.SQL Server 客戶端工具:,解壓后執(zhí)行isqlw.exe,【SQL SERVER(s)】輸入 202.38.88.99,1433,【連接使用】選擇“

2、SQL server驗證”,登錄名和都是student。 此外,也可以使用桌面上的SQL Server Management Studio Express 登錄。登錄后顯示如下界面,則可以執(zhí)行 sql 語句了。要注意,pubs 數(shù)據(jù)庫是系統(tǒng)樣例數(shù)據(jù)庫,里面提供了 titles 等實驗中用到的示例表,student 用戶對其只有權,不可以修改。學生可以在 student 數(shù)據(jù)庫中創(chuàng)建的表,創(chuàng)建表時請按照題目中要求名規(guī)則來命名。在操作數(shù)據(jù)庫是要注意當前數(shù)據(jù)庫是 pubs 還是 student,可以在界面面的combox 選擇窗口中選擇,也可以使用命令 use pubs 更改當1前數(shù)據(jù)庫。2、使用

3、SQL完成操作示例以下的 SQL實現(xiàn)功能為:建立一張表 NAMETABLE 和它的備份表 NAMEBAK;建立表 NAMETABLE 的觸發(fā)器 NAME_INS(當往表 NAMETABLE 中數(shù)據(jù)的時候,更新備份表 NAMEBAK);查看兩張表的數(shù)據(jù)。2 條。當執(zhí)行完下面的后,可以在數(shù)據(jù)庫 STUDENT 中-選擇當前工作數(shù)據(jù)庫USE STUDENT-PRINT 用來顯示一些提示信息PRINT '當前使用的數(shù)據(jù)庫是STUDENT ,你在此數(shù)據(jù)庫中享有一切操作權!'-GO 指以上 SQL 語句需要先執(zhí)行,然后再執(zhí)行以下 SQL 語句GO-建表 NAMETABLE 和 NAMEBA

4、KCREATE TABLE NAMETABLE(ID char(3) NULL,NAME char(10) NULL) CREATE TABLE NAMEBAK(ID char(3) NULL,NAME char(10) NULL)PRINT ' 已經(jīng)建立GO表'-給表 NAMETABLE 建立一個觸發(fā)器 NAME_INSCREATE TRIGGER NAME_INS2ON NAMETABLE FOR INSERTASDELETE FROM NAMEBAK INSERT INTO NAMEBAK SELECT * FROM NAMETABLEPRINT '已經(jīng)創(chuàng)建了表N

5、AMETABLE 的觸發(fā)器 NAME_INS'GOINSERT NAMETABLE VALUES('1', '張三')INSERT NAMETABLE VALUES('2', '王無')PRINT '已經(jīng)GO2 條'3、SQL Server 常用的過程說明4、樣本數(shù)據(jù)庫介紹我們的實驗中可以使用的數(shù)據(jù)庫有兩個:pubs和student。Pubs是系統(tǒng)數(shù)據(jù)庫,提供了 10,但是不能進行以外的其他操作;student數(shù)據(jù)庫中可以進來張已經(jīng)建立的表供大家行一切操作。有關 pubs 數(shù)據(jù)庫中各個 table 的定義

6、和關系請參考: 3過程名稱過程功能Sp_tables查看數(shù)據(jù)庫中已有的數(shù)據(jù)表Sp_table_privileges 表名查看特定數(shù)據(jù)表的權限信息Sp_columns表名查看特定表的字段定義Sp_column_privileges 表名查看特定表的字段的權限信息Sp_help查看當前數(shù)據(jù)庫的對象簡要信息Sp_spaceused查看當前數(shù)據(jù)庫的空間使用情況第二部分 用 Delphi 實現(xiàn)數(shù)據(jù)庫應用開發(fā)一、實驗目的通過使用 Delphi 中 BDE 連接 SQL 數(shù)據(jù)庫,掌握 Delphi 環(huán)境中數(shù)據(jù)庫操作的最基本的方法和 Delphi 下數(shù)據(jù)庫應用程序的開發(fā)方法。二、實驗原理1、Delphi 中數(shù)

7、據(jù)庫引擎 BDE 介紹Delphi 對數(shù)據(jù)庫的支持十分豐富,Delphi 的數(shù)據(jù)庫接口是數(shù)據(jù)庫引擎 BDE(Borland Database Engineer),它是應用程序存取數(shù)據(jù)的中介層(Middleware Layer)。在 Delphi 下開發(fā)的所有數(shù)據(jù)庫應用程序,都是通過 Delphi 的數(shù)據(jù)庫引擎 BDE 來對數(shù)據(jù)進行操作的。BDE 中包含了內建的驅動程序來處理 Paradox 及 dBase 的表格與文本文件。也可以通過外部的驅動程序(add-on driver)來處理 Oracle、SyBase、IntrBase、Informix、MSSQL 格式的數(shù)據(jù)。BDE也包含了應用程序

8、使用 ODBC 驅動程序來存取數(shù)據(jù)的 ODBC socket。BDE 具有以下突出的優(yōu)點:(1)不同的 BDE 間的數(shù)據(jù)可以共享而不必擔心有任何的發(fā)生,因為所有的數(shù)據(jù)存取都由數(shù)據(jù)庫引擎來處理。(2)使用者可以通過 BDE 對數(shù)據(jù)庫的功能。進行雙向的而不必考慮服務器是否具有這樣的(3)使用者在不同的平臺上對不同數(shù)據(jù)庫的數(shù)據(jù)做聯(lián)集(join)。(4)增加了數(shù)據(jù)在不同平臺上的可移植性。數(shù)據(jù)庫引擎 BDE 的設置是通過對數(shù)據(jù)庫配置文件 IDAPI.CFG 來完成的,在 Delphi 安裝完成以后,可以通過其主菜單下的 DataBase 選項的 Explore 子選項完成。BDE 配置的基本項目是如下幾

9、項:Drivers:主要設定一些有關數(shù)據(jù)庫驅動程序相關信息的內容,包含 ODBC 驅動程序、MSSQL 驅動程序、ORACLE 驅動程序、SYSBASE 驅動程序等數(shù)據(jù)庫驅動程序。Aliases:這是 IDAPI.CFG 中最重要的設置內容,它負責數(shù)據(jù)庫文件別名的關系,如此做法可以保證數(shù)據(jù)庫系統(tǒng)相關文件改變時,可以不去變動程序代碼,只需要更改 Aliases的設定;使得程序更具有可移植性和擴充性,數(shù)據(jù)的性也由此得到保證。System:顯示 BDE 系統(tǒng)的版本數(shù)據(jù);局部的文件共享信息;最大、最小緩沖區(qū);語言驅動程序;系統(tǒng)標志,最低內存使用限制,ODBC 的 Alias;處理 SQL 的Date:

10、日期的相關信息,如日期的格式、與字符的轉換等。Time:系統(tǒng)時間的格式、與字符串的轉換關系。Number:負責數(shù)字和字符串的轉換。等一系列設定。ALIASES 是 Delphi 中應用程序與數(shù)據(jù)庫接口的連接點。在設置數(shù)據(jù)庫別名時,還有許4多選項的設置,因不同的數(shù)據(jù)庫驅動文件而有不同的設置內容。當數(shù)據(jù)庫采用標準的數(shù)據(jù)庫驅動程序(即數(shù)據(jù)庫文件是 XBASE 格式,*.DBF)時,只需要指定文件存放的路徑。而為其他的數(shù)據(jù)庫驅動程序時,要根據(jù)不同的驅動來設置用戶名、服務器名、日期格式等內容。2、Delphi 中數(shù)據(jù)庫組件數(shù)據(jù)庫組件是數(shù)據(jù)庫程序的。共有兩類:數(shù)據(jù)庫存取組件、數(shù)據(jù)庫顯示控制組件。在 Del

11、phi 中,引入了一個“數(shù)據(jù)來源”的概念。其作用是在數(shù)據(jù)庫的具體數(shù)據(jù)與程序中顯示的數(shù)據(jù)之間做中介,即在數(shù)據(jù)庫存取組件和數(shù)據(jù)庫顯示組件間做媒介。借助數(shù)據(jù)來源可以在應用程序執(zhí)行時將數(shù)據(jù)存取組件與數(shù)據(jù)顯示組件切換這兩種組件。下面以實例分別對這兩種組件中的常用組件進行介紹。,動態(tài)操作、(1)數(shù)據(jù)庫存取組件:負責連接數(shù)據(jù)庫本身,不包含數(shù)據(jù)的顯示與輸入。TDatabase 組件:Database1.AliasName:='mydbs'指定數(shù)據(jù)庫 Database1 的別名是 mydbs Database1.DatabaseName:=my_database;在程序中數(shù)據(jù)庫 Database

12、1 的名稱是 my_database Database1.connected :=True; Database1 連接別名是 mydbs 的數(shù)據(jù)庫,并在程序中取名是 my_database TTable 組件:Table1.DatabaseName:='my_database'Table1 表所在的數(shù)據(jù)庫是 my_database ,即對應別名是 MYDATABASE 的數(shù)據(jù)庫Table1.TableName:='my_table'Table1 表對應數(shù)據(jù)庫 my_database 中的表 my_tableTable1.Active:=True;激活 Table

13、1TQuery 組件:Query1.DatabaseName:='my_database'Querye1 所在的數(shù)據(jù)庫是 my_database ,即對應別名是 MYDATABASE 的數(shù)據(jù)庫Query1.SQL.Add('select * from my_table');對應的 SQL 語句是 select * from my_table Query1.open;或者 Query1.execsql;激活Query1,沒有數(shù)據(jù)集返回用后者,否則用前者(2)數(shù)據(jù)庫顯示組件:提供建立用戶界面的基本窗口類型組件,讓使用者可以輸入編輯、顯示數(shù)據(jù)。5TDataSource

14、 組件:DataSource1.DataSet:=Query1;數(shù)據(jù)來源 DataSource1 對應Query1 的結果TDBGrid 組件:DBGrid1.DataSource:= DataSource1;數(shù)據(jù)庫內容顯示構件 DBGrid1 的數(shù)據(jù)來源是 DataSource1TDBText 組件:DBText1.DataSource:= DataSource1;數(shù)據(jù)庫內存字段顯示構件 DBText1 的數(shù)據(jù)來源是 DataSource1DBText1.DataField:= 'main_key'數(shù)據(jù)庫內存字段顯示構件 DBText1 對應的表的字段名稱是 main_key

15、 3、在 Delphi 中動態(tài)地使用 SQL語句在一般的數(shù)據(jù)庫管理系統(tǒng)中,通常都需要應用 SQL特性。下面介紹如何在 Delphi 中實現(xiàn)這種功能。語句來提高程序的動態(tài)在 Delphi 中,使用 SQL語句的途徑是:在窗體中置入 TQuery 構件,設置其SQL 屬性的內容值,此內容為一個字符串數(shù)組,數(shù)組的每個值對應一行 SQL語句??梢栽诔绦蛟O計過程中事先指定,也可以在程序運行中重新賦值,即可以實現(xiàn)動態(tài)地改變程序中的語句。假定程序的窗體中有一個名為 Query1 的 TQuery 構件,在程序運行過程中需要改變它的 SQL語句內容,則可以以下程序行。Query1.close;先關閉以前的連接

16、Query1.SQL.Clear;清除以前的語句Query1.SQL.Add('select * from mytable');增加新的語句內容為 select * from mytableQuery1.Prepare;到 Borland Database Engine (BDE),如果不要參數(shù)形式可以省略Query1.open;建立新的語句的數(shù)據(jù)庫連接在 Delphi 中,要靈活地使用 SQL語句,還需要使用 TQuery 構件的 Params 特性,即在語句中使用參數(shù)。Delphi 中的 SQL 語句如需參數(shù),則在參數(shù)名稱前使用一個冒號':'來作為標識。例如

17、:'select * from mytable where id_no=:p'一句,其中p 為參數(shù),可以在程序運行過程進行在賦值。在程序運行期動態(tài)地創(chuàng)建帶參數(shù)的 SQL語句較為復雜,其過程如下:Query1.close;6先關閉以前的連接Query1.SQL.Clear;清除以前的語句Query1.Params.Clear;清除以前語句的參數(shù)Query1.Params.CreateParam(ftString, 'p',ptInput);創(chuàng)建新的語句的參數(shù) pQuery1.SQL.Add('select * from title1 where NO_GL

18、OBE=:p');增加新的語句內容為 select * from title1 where NO_GLOBE=:p其中 p 為新建的參數(shù)Query1.ParamByName('p').asstring:= '1'給新的參數(shù)賦值為'1'Query1.Prepare;到 Borland Database Engine (BDE)Query1.open;建立新的語句的數(shù)據(jù)庫連接以上兩個示例中,SQL語句都是 SELECT 語句,而當 SQL 語句是 UPDATE 或INSERT、DELETE 時,其中的 Query1.Open 需要改為 Que

19、ry1.ExecSQL。三、實驗內容1、ODBC 設置在 window 中打開面板->性能和維護->管理工具->數(shù)據(jù)源(ODBC),點擊添加,選擇SQL Server 數(shù)據(jù)源驅動,如圖。如果是其他數(shù)據(jù)庫系統(tǒng),如 mysql 或 oracle 數(shù)據(jù)庫,都需要安裝相應的客戶端驅動程序。7雙擊 SQLServer,如下圖所示:輸入名稱(將來在 database 組件中對應的 AliasName),描述可以不寫,服務器填寫網(wǎng)絡 IP和端,如果 SQL Server 的端是默認的 1433,則可以不加端,要注意的是端和 ip 之間是逗號分隔而不是冒號。單擊下一步,出現(xiàn)下圖:修改登錄驗證

20、方式為登錄 ID 和直到出現(xiàn)下面的界面:,并修改下方相應的 ID 和。一直點擊下一步,8點擊測試數(shù)據(jù)源后應該顯示測試啟動或之前輸入的參數(shù)是否正確。否則檢查網(wǎng)絡是否正常、數(shù)據(jù)庫服務器是否正常點擊確定回到前一窗口,再點擊確定,至此,ODBC 數(shù)據(jù)源建立。92、在 Delphi 中創(chuàng)建一個數(shù)據(jù)庫程序選擇菜單項“File”中的“New Application”來創(chuàng)建一個新的應用程序。在窗體上放置一個 BDE 組中的 Tdatabase 控件,選擇其 AliasName 為之前配置的 ODBC 數(shù)據(jù)源“dbs”。雙擊 Tdatabase 控件,點擊 default,會出現(xiàn)下面的默認數(shù)據(jù)源參數(shù)。填寫 na

21、me 為“ my_database ” , 填寫 parameter overrides 中的 “ DATABASENAME=student”(或者 pubs)、“USER NAME=student”、“PASSWORD=student”,并將“Login Prompt”的勾去掉。再從 BDE 控件組中選擇一個 Table 控件,其“DatabaseName”屬性設置為“my_database”,其“TableName”屬性可以相應選擇為某個表,如“dbo.titles”。在窗體上放置一個“DataAccess”控件組中的 DataSource 控件并設置其“DataSet”屬性為 Table

22、1(即上面的表);再放置一個“Data Control”控件組中的“DBGrid”控件并設置其 “DataSource”屬性為 DataSource1。再放置一個“Data Control”控件組中的“DBNavigator”控件,可以得到以下設計結果。10運行程序,操控 DBNavigator 可以觀察效果。3、使用 Delphi 中其他的數(shù)據(jù)庫組件請同學們在熟悉了以上要求之后,采用 Delphi 中 Query 構件創(chuàng)建的數(shù)據(jù)庫連接;有余力的同學可以試一下 Delphi 中的動態(tài) SQL 語句。在編制程序的時候,盡量多使用一些構件,以便能做出有特色的程序。四、思考題1、 什么是 BDE?簡

23、介 BDE 的功能,并說明在 Delphi 中 BDE 配置文件保存在什么路徑下。2、 簡述用 Table 構件創(chuàng)建數(shù)據(jù)庫連接和用 Query 創(chuàng)建數(shù)據(jù)庫連接有什么區(qū)別?你認為哪法比較有優(yōu)勢?11第三部分 用 VC 做數(shù)據(jù)庫開發(fā)一、 實驗目的1、2、3、掌握 ODBC 的概念并學習使用 ODBC數(shù)據(jù)庫;學習 Visual C+下如何通過 ODBC數(shù)據(jù)庫;學習用 Visual C+制作簡單數(shù)據(jù)庫應用程序的方法。二、 實驗原理Microsoft 推出的 ODBC(Open Database Connectivity)技術為異質數(shù)據(jù)庫的提供了統(tǒng)一的接口。ODBC 基于 SQL(Structured

24、Query Language),并把它作為數(shù)據(jù)庫的標準。這個接口提供了最大限度的相互可操作性:一個應用程序可以通過一組通用的代碼不同的數(shù)據(jù)庫管理系統(tǒng)。一個軟件開發(fā)者開發(fā)的客戶/服務器應用程序據(jù)庫之上。ODBC 可以為不同的數(shù)據(jù)庫提供相應的驅動程序。ODBC 的靈活性表現(xiàn)在以下幾個方面:被束定于某個特定的數(shù)·應用程序受制于某種的 API·SQL 語句以源代碼的方式直接嵌入在應用程序中·應用程序可以以的格式接收和數(shù)據(jù)·ODBC 的設計完全和 ISO Call-Level Interface 兼容·現(xiàn)在的 ODBC 數(shù)據(jù)庫驅動程序支持 55 家公司的

25、數(shù)據(jù)最新推出的 ODBC 3.0 已經(jīng)升級到 32 位,支持 Win32。在 Visual C+中,提供了良好的數(shù)據(jù)庫支持。輸入數(shù)據(jù)源是遵循開放式數(shù)據(jù)庫互接(ODBC)標準,還是微軟的數(shù)據(jù)對象(DAO)標準,或 OLE 數(shù)據(jù)庫(OLE DB)標準。ODBC功能在數(shù)據(jù)庫管理系統(tǒng),如 Microsoft Access、Oracle 或 dBase 的特定的驅動程序中實現(xiàn)。Visual C+提供了一個 ODBC 驅動程序的集合;其他的可從經(jīng)銷商那里買到。實驗中即利用ODBC 接口來創(chuàng)建 VC 下的數(shù)據(jù)庫支持。三、 實驗要求1、ODBC 數(shù)據(jù)源設置打開面板,即可以看到 ODBC 設置程序的圖標。利用該

26、管理程序,可以完成對數(shù)據(jù)庫源的定義工作。12選擇“添加(D)”,可以看到彈出的設置??蛑泻嘘P于數(shù)據(jù)庫服務器的內容設置,如圖做常規(guī)132、Visual C+制作數(shù)據(jù)庫應用(1)用 AppWizard 創(chuàng)建帶數(shù)據(jù)庫支持的應用程序數(shù)據(jù)庫編程的第一步是用 AppWizard 創(chuàng)建帶數(shù)據(jù)庫支持的應用程序:zz從“File”菜單選擇“New”選項,打開“New”框。切換到“Projects”選項卡,選擇項目類型為“MFC AppWizard(exe)”。z從“Projects name”編輯框中鍵入項目名字,如:“sqlDBTest”。從“Location”編輯框中鍵入用于存放項目的根目錄,如“E:US

27、ER”。z單擊“OK”按鈕,從彈出的框選擇程序結構。這里選擇“Single Document”,表示是單文檔結構,并將中使用的語言設置成中文。14z單擊“Next”按鈕,從彈出的框選擇數(shù)據(jù)庫支持。這里選中“Database view withoutfile support”,這樣創(chuàng)建的應用程序是用戶可以查看和更新。注意:選擇“Header filesonly”(只有頭文件):在生成過程中,包含數(shù)據(jù)庫頭文件和庫文件,但 AppWizard(應用程序向導)不為數(shù)據(jù)庫類生成源代碼。你必須寫所有的源代碼。這個選項適用于那些開始時不使用數(shù)據(jù)庫,但你打算以后添加數(shù)據(jù)庫支持的項目。z單擊“Data Sour

28、ce”按鈕,彈出“Database Options”框。15zz選中“ODBC”然后選擇數(shù)據(jù)源,如“SQL_DBSource”。單擊“OK”按鈕,在“Password”表名,如“dbo.mmc_teachers”??蛑休斎牒?,從彈出的框中選擇一個z單擊“OK”按鈕,返回數(shù)據(jù)源選擇的框。單擊“Finish”按鈕,完成。(2)定制框模板zz在項目工作區(qū)窗口,切換到“ResourceView”面板。打開 AppWizard 提供的框模板。設計如圖示。16(3)在控件與數(shù)據(jù)庫集成員變量之間建立關聯(lián)z在框編輯器中,按住 CTRL 鍵雙擊某一輸入框,彈出“Add Member Variable”框并如下圖

29、選擇。zz重復以上步驟。從“Build”菜單中選擇“Execute sqlDBTest.exe”命令來運行程序。四、思考題1、 本實驗中 ODBC 是指什么?它和上一個實驗中的 BDE 有什么異同?2、 請簡述在數(shù)據(jù)庫應用程序開發(fā)過程中有那些主要的步驟?第四部分用 PowerBuilder 做數(shù)據(jù)庫開發(fā)一、實驗目的1、 進一步理解 ODBC 以及使用 ODBC2、 學習 PowerBuilder 下如何通過 ODBC數(shù)據(jù)庫;數(shù)據(jù)庫;二、實驗原理PowerBuilder 6.0 中對數(shù)據(jù)庫得是通過“PowerBuilder Databse”畫板來實現(xiàn)的。當你第一次打開數(shù)據(jù)庫畫板時,你會看到“PowerB 的 der Demo DB V6”顯示在畫板的標題欄中,這是 PowerBuilder 安裝用作應用范例的數(shù)據(jù)庫。17通過選擇菜單中的 FileÆCreate Database,PowerBuilder 可以創(chuàng)建的數(shù)據(jù)庫Sybas

溫馨提示

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

評論

0/150

提交評論