版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫原理及應(yīng)用習(xí)題集參考答案一、 簡答題1、什么是數(shù)據(jù)庫管理系統(tǒng)?一種負(fù)責(zé)數(shù)據(jù)庫的建立、操作、管理和維護(hù)的軟件系統(tǒng)。2、數(shù)據(jù)庫系統(tǒng)有哪幾種模式?分別用來描述什么?(1)外模式是用戶的數(shù)據(jù)視圖,用來描述數(shù)據(jù)的局部邏輯結(jié)構(gòu),是模式的子集。(2)模式是所有用戶的公共數(shù)據(jù)視圖,用來描述數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特征。(3)內(nèi)模式又稱存儲(chǔ)模式,描述數(shù)據(jù)的物理結(jié)構(gòu)及存儲(chǔ)方式3、什么是事務(wù)?事務(wù)有哪些特征?答:所謂事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個(gè)不可分割的工作單位。事務(wù)的特征:原子性、一致性、隔離性、持續(xù)性。4、POWER BUILDER中事務(wù)對(duì)象有何作用?答:
2、 PowerBuider 的事務(wù)對(duì)象是應(yīng)用程序與數(shù)據(jù)庫之間進(jìn)行通信的橋梁,在應(yīng)用程序初啟時(shí),系統(tǒng)自動(dòng)創(chuàng)一個(gè)為SQLCA(SQL Communication Area, SQL 通訊區(qū) 的全局事務(wù)對(duì)象,該對(duì)象在應(yīng)用程序的任何地方都可以訪問 應(yīng)用程序與數(shù)據(jù)庫的所有通信都需要通過事務(wù)對(duì)象來完成,除了直接使用系統(tǒng)的缺省事務(wù)對(duì)SQLCA 外,開發(fā)人員也可以創(chuàng)建自己的事務(wù)對(duì)象。5、SQL SERVER中INSERTED 表和DELETED 表有何用?答:觸發(fā)器中用到兩種特殊的表:刪除表和插入表觸發(fā)器中使用名為“deleted" 和“inserted" 來參照這些表;刪除表存儲(chǔ)受DELT
3、E 和UPDA TE 語句影響的行的副本當(dāng)執(zhí)行DELETE 或UPDA TE 語句時(shí),行從觸發(fā)器表中刪除并傳遞到刪除表中。刪除表和觸發(fā)器表通常沒有共有的行。插入表存儲(chǔ)受INSERT 和UPDA TE 語句影響的行的副本當(dāng)執(zhí)行一NSERT 或UPDA T 語句時(shí),新行同時(shí)增加到插入表和觸發(fā)器表中。插入表中的行是觸發(fā)器表中新行的副本可使用刪除表和插入表中的行來參照相關(guān)表中的行, 或測(cè)試被刪除或插入行中的值。6、數(shù)據(jù)庫系統(tǒng)由哪幾部分構(gòu)成?答:數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員構(gòu)成。7、什么是候選碼?什么是主碼?主碼只能
4、有一個(gè)屬性嗎?答:能唯一標(biāo)識(shí)實(shí)體的屬性或?qū)傩越M稱為超碼,其任意真子集都不能成為超碼的最小超碼稱為候選碼;從所有候選碼中選定一個(gè)用來區(qū)別同一實(shí)體集中的不同實(shí)體,稱作主碼; 主碼只能有一個(gè)屬性。8、在E-R 模型中聯(lián)系是用來反映什么樣的信息,它有幾種類型?答:用來反映為實(shí)體(型)內(nèi)部的聯(lián)系和實(shí)體(型)之間的聯(lián)系,實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。聯(lián)系可分為三種:(1) 一對(duì)一聯(lián)系(1:1)(2) 一對(duì)多聯(lián)系(1:n )(3) 多對(duì)多聯(lián)系(m :n )。9、什么是鎖協(xié)議?什么是兩段鎖協(xié)議?答:數(shù)據(jù)庫管理系統(tǒng)的并發(fā)控制在運(yùn)用封鎖方法時(shí),對(duì)數(shù)據(jù)
5、對(duì)象加鎖時(shí)需要約定一些規(guī)則,例如何時(shí)申請(qǐng)封鎖、持鎖時(shí)間、何時(shí)釋放封鎖等;這些規(guī)則就是鎖協(xié)議。所謂兩段鎖協(xié)議是指所有事務(wù)必須兩個(gè)階段對(duì)數(shù)據(jù)項(xiàng)加鎖和解鎖。(1) 在對(duì)任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先分申請(qǐng)并獲得對(duì)該數(shù)據(jù)項(xiàng)加鎖和解鎖;(2) 在釋放一個(gè)封鎖之后,事務(wù)不現(xiàn)申請(qǐng)和獲得任何其他封鎖。10、數(shù)據(jù)庫恢復(fù)的依據(jù)是什么?答:基本原理就是利用存儲(chǔ)在后備副本、日志文件和數(shù)據(jù)庫鏡像中的冗余數(shù)據(jù)來重建數(shù)據(jù)庫。11、關(guān)系數(shù)據(jù)庫中的實(shí)體完整性和參照完整性對(duì)數(shù)據(jù)分別有什么樣的約束?答: 實(shí)體完整性規(guī)則是:若屬性A 是基本關(guān)系R 的主屬性,則屬性A 不能取空值。參照完整性規(guī)則是:若屬性(或?qū)傩越M)F 是基本關(guān)系R
6、 的外碼,它與基本關(guān)系S 的主碼Ks 相對(duì)應(yīng)(基本關(guān)系R 和S 不一定是不同的關(guān)系),則對(duì)于R 中每個(gè)元組在F 上的值必須為:或者取空值(F 的每個(gè)屬性值均為空值);或者等于S 中某個(gè)元組的主碼值。12、數(shù)據(jù)庫管理系統(tǒng)為什么要對(duì)事務(wù)進(jìn)行并發(fā)控制?如果不進(jìn)行并發(fā)控制會(huì)出現(xiàn)哪些問題?答:為了充分利用系統(tǒng)資源發(fā)揮數(shù)據(jù)庫共享資源的特點(diǎn),應(yīng)該允許多個(gè)事務(wù)并行地執(zhí)行,當(dāng)多用戶并發(fā)地存取數(shù)據(jù)庫時(shí)就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況,若對(duì)并發(fā)操作不加控制就可能會(huì)存取和存儲(chǔ)不正確的數(shù)據(jù),破壞事務(wù)的一致性和數(shù)據(jù)庫的一致性;所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)控制機(jī)制。如果不進(jìn)行并發(fā)控制會(huì)出現(xiàn)數(shù)據(jù)丟失修改、不可重復(fù)讀和
7、讀“臟”數(shù)據(jù)等問題。13、在進(jìn)行總體E-R 圖的優(yōu)化時(shí)具體做什么?答:消除多余的屬性和多余的聯(lián)系。14、什么是外碼?建立外碼的作用是什么?答:外碼指關(guān)系R 中的一個(gè)屬性組,它不是R 的碼,但它與另一個(gè)關(guān)系S 的碼相對(duì)應(yīng),則稱這個(gè)屬性組為R 的外碼。 如S 關(guān)系中的D#建立外碼的作用:在相應(yīng)的表之間建立一種關(guān)聯(lián)。15、數(shù)據(jù)庫的結(jié)構(gòu)數(shù)據(jù)模型有哪幾種?按此劃分SQL SERVER屬于哪種類型?答:有層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P汀?duì)象關(guān)系模型等幾種;SQL SERVER 屬于關(guān)系模型。16、數(shù)據(jù)庫管理系統(tǒng)為什么要對(duì)事務(wù)進(jìn)行并發(fā)調(diào)度?并發(fā)調(diào)度時(shí)為什么要進(jìn)行并發(fā)控制?答:數(shù)據(jù)庫是一個(gè)共享資源
8、,可以供多個(gè)用戶使用;如果事務(wù)一個(gè)一個(gè)地串行執(zhí)行,則許多系統(tǒng)資源將處于空閑狀態(tài),因此為了充分利用系統(tǒng)資源發(fā)揮數(shù)據(jù)庫共享資源的特點(diǎn),應(yīng)該允許多個(gè)事務(wù)并行地執(zhí)行,進(jìn)行并發(fā)調(diào)度;當(dāng)多用戶并發(fā)地存取數(shù)據(jù)庫時(shí)就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況,若對(duì)并發(fā)操作不加控制就可能會(huì)存取和存儲(chǔ)不正確的數(shù)據(jù),破壞事務(wù)的一致性和數(shù)據(jù)庫的一致性;所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)控制機(jī)制。17、寫出數(shù)據(jù)庫設(shè)計(jì)的步驟。答:(1)需求分析;(2)概念結(jié)構(gòu)設(shè)計(jì);(3)邏輯結(jié)構(gòu)設(shè)計(jì);(4)物理結(jié)構(gòu)設(shè)計(jì);(5)數(shù)據(jù)庫實(shí)施;(6)數(shù)據(jù)庫運(yùn)行和維護(hù)。18、在建立E-R 模型時(shí)如何區(qū)分實(shí)體和屬性?答:在給定的應(yīng)用環(huán)境中,可以遵循以下準(zhǔn)則
9、來劃分實(shí)體和屬性:(1)屬性與它所描述的實(shí)體之間只能是單值聯(lián)系,即聯(lián)系只能是一對(duì)多的;(2)屬性不能再有需要進(jìn)一步描述的性質(zhì);(3) 作為屬性的數(shù)據(jù)項(xiàng),除了它所描述的實(shí)體之外,不能再與其它實(shí)體具有聯(lián)系。19、什么是觸發(fā)器?答:是一種特殊類型的存儲(chǔ)程序,在試圖修改觸發(fā)器所保護(hù)的表中的數(shù)據(jù)時(shí),它就會(huì)自動(dòng)執(zhí)行。觸發(fā)器可以包括大多數(shù)Transact_sql語句。觸發(fā)器的查詢計(jì)劃存儲(chǔ)在過程緩沖中。20、事務(wù)對(duì)象的屬性SQLCODE 的返回值有哪些,分別表示什么?答:SQLCode 指示最近一次SQL 語句是操作成功還是失敗,其可能取值為: 0 操作成功-1 操作失敗100 操作成功,但無返回?cái)?shù)據(jù)21、什
10、么是ODBC ?將它和專用接口進(jìn)行比較。答: ODBC(Open Data Base Connectivity)接口是微軟公司提出的開放式數(shù)據(jù)庫互連標(biāo)準(zhǔn)接口,它以關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)查詢語言SQL 來存取連接到的數(shù)據(jù)源,ODBC 支持單個(gè)應(yīng)用系統(tǒng)訪問多個(gè)不同的數(shù)據(jù)庫管理系統(tǒng)(DBMS,并且,對(duì)應(yīng)用系統(tǒng)的開發(fā)人員來說,它能夠用統(tǒng)一的方法處理不同的數(shù)據(jù)源,減輕了學(xué)習(xí)新系統(tǒng)的壓力?,F(xiàn)在,除了Oracle,Sybase,MS SQL Server, IBM DB/3等大型數(shù)據(jù)庫管理系統(tǒng)支持ODBC 接口外,諸如dBase, FoxPro, Sybase SQLAnywhere ,Excel 之類的數(shù)據(jù)源也都
11、支持ODBC 接口。專用接口針對(duì)具體的數(shù)據(jù)庫管理系統(tǒng)而設(shè)計(jì),對(duì)諸如Oracle,Sybase, informix 之類的大型數(shù)據(jù)庫管理系統(tǒng),PowerBuilder 8.0企業(yè)版都提供了專用接口,通過專用接口我們可以將PowerBuilder 8.0連接到相應(yīng)的數(shù)據(jù)庫上因?yàn)閷S媒涌谠谠O(shè)計(jì)上針對(duì)特定數(shù)據(jù)庫的特點(diǎn),能夠充分發(fā)揮特定數(shù)據(jù)庫的優(yōu)勢(shì)因此使用專用接口可以大大提高應(yīng)用程序訪問數(shù)據(jù)庫的速度,所以應(yīng)該盡可能使用專用接口而不是ODBC 接口。數(shù)據(jù)庫不同、數(shù)據(jù)庫的版本不同,使用的專用接口也不同。22、什么是存儲(chǔ)過程,可以在POWER BUILDER程序中調(diào)用存儲(chǔ)過程嗎?舉例說明。答:存儲(chǔ)過程是存儲(chǔ)在
12、服務(wù)器上的一個(gè)SQL 語句的命令集合,存儲(chǔ)過程是重復(fù)執(zhí)行封裝語句的一種有效方法。存儲(chǔ)過程支持用戶聲明的變量、條件執(zhí)行以及其他一些強(qiáng)大的編程功能。可以在POWER BUILDER程序中調(diào)用存儲(chǔ)過程;例如:創(chuàng)建datawindow 的時(shí)候data source 選Stored Procedure 會(huì)出現(xiàn)一個(gè)title 為"Select Stored Procedure:." 的窗口, 選擇所需要的SP , 按OK 按鈕. 以后的操作和其他dw 的建立一樣。 也可以指定SP 的返回結(jié)果集的各column 的名稱。23、什么是視圖?它有何作用?答:視圖是命名的、從基本表中導(dǎo)出的虛表
13、。它在物理上并不存在。存在的只是它的定義;視圖中的數(shù)據(jù)是從基本表中導(dǎo)出的。每次對(duì)視圖查詢都要重新計(jì)算;視圖之上可以再定義視圖。視圖的作用是讓一定權(quán)限的操作者不用操作基本表就能滿足其相應(yīng)的操作要求,從而實(shí)現(xiàn)了對(duì)數(shù)據(jù)的安全管理。24、如何在POWER BUILDER程序中實(shí)現(xiàn)copy 文件的功能? 答:FUNCTION booleanCopyFile(ref string cfrom,ref string cto,boolean flagLIBRARY "Kernel.dll"25、如何在POWER BUILDER 程序中實(shí)現(xiàn)將數(shù)據(jù)窗口對(duì)象中的數(shù)據(jù)導(dǎo)出為EXCEL 文件?答:d
14、wcontrol.SaveAs ( filename, saveastype, colheading 二、交互式SQL1有一個(gè)教學(xué)管理數(shù)據(jù)庫,包含以下基本表:(表略)用交互式SQL 完成:(1) 建立學(xué)生表,主碼為學(xué)號(hào),性別為男或女。Create table 學(xué)生(學(xué)號(hào)# char(8 not null,姓名 char(8 not null,性別 char(2,年齡 smallint,年級(jí) char(8,系編號(hào) integer,primary key (學(xué)號(hào)#,check (性別=男或女,(2) 建立教師表,主碼為教師編號(hào),外碼為系編號(hào)。Create table 教師(教師編號(hào)# char(8
15、 not null,姓名 char(8 not null,年齡 smallint,職稱 char(4,系編號(hào) integer,primary key (教師編號(hào)#,foreign key (系編號(hào) references 院系 (系編號(hào)#,(3) 建立選課表,主碼為學(xué)號(hào)和課程編號(hào),外碼為學(xué)號(hào),課程編號(hào)。 Create table 選課(學(xué)號(hào)# char(8,課程編號(hào)# char(4,成績 smallint,primary key (學(xué)號(hào)#, 課程編號(hào)#,foreign key (學(xué)號(hào)# references 學(xué)生(學(xué)號(hào)#),foreign key (課程編號(hào)# references 課程(課程編
16、號(hào)#),check (成績 is null or (成績 between 0 and 100 ,(4) 將學(xué)生張三從編號(hào)為001的系轉(zhuǎn)到編號(hào)為002的系。Updata 學(xué)生Set 系編號(hào)# = 002Where 姓名=“張三”and 系編號(hào)#=001(5) 統(tǒng)計(jì)學(xué)生總?cè)藬?shù)。Select count (學(xué)號(hào)#From 學(xué)生(6) 顯示計(jì)算機(jī)系的學(xué)生的信息。Select *From 教師,任課,課程Wher 課程名=”數(shù)據(jù)庫原理” and 課程. 課程編號(hào)# = 任課. 課程編號(hào)# and 任課. 教師編號(hào)# = 教師. 教師編號(hào)#(7) 查找法律系的系辦電話。Select 系辦電話From 院系
17、Where 系名= “法律系”(8) 刪除2000級(jí)的學(xué)生記錄。Delete from 學(xué)生Where 年級(jí)= “2000級(jí)”(9) 將計(jì)算機(jī)系教師張明的職稱升為教授。Updata 教師Set 職稱= “教授”Where 姓名= ”張明” and 教師編號(hào)# = ( select 教師編號(hào)#From 院系Where 系名= “計(jì)算機(jī)系”(10) 統(tǒng)計(jì)計(jì)算機(jī)系教師張明的任課門數(shù)。Select count (課程編號(hào)#From 院系,教師,任課Where 院系. 系名= “計(jì)算機(jī)系” and 院系. 系編號(hào)# = 教師. 系編號(hào)# and 教師. 教師編號(hào)# = 任課. 教師編號(hào)#(11) 統(tǒng)計(jì)每
18、個(gè)系的教師的人數(shù)。Select 系編號(hào)#, count (教師編號(hào)#From 教師Group by 系編號(hào)#(12) 查找教授數(shù)據(jù)庫原理的教師的姓名。Select 教師. 姓名From 教師,任課,課程Where 課程名= “數(shù)據(jù)庫原理” and 課程. 課程編號(hào)# = 任課. 課程編號(hào)# and 任課. 教師編號(hào)# = 教師. 教師編號(hào)#(13) 刪除1020號(hào)教師的任課記錄。Delete from 任課Where 教師編號(hào)# = “1020”(14) 將課程數(shù)據(jù)庫原理的學(xué)分設(shè)為4.Updata 課程Set 學(xué)分 = 4Where 課程名= 數(shù)據(jù)庫原理(15) 學(xué)生王明每選一個(gè)學(xué)分交費(fèi)100
19、元,統(tǒng)計(jì)它的選課總費(fèi)用。Select sum (學(xué)分* 100From 學(xué)生,課程,選課Where 學(xué)生. 學(xué)號(hào)# = 選課. 學(xué)號(hào)# and 選課. 課程編號(hào) = 課程. 課程編號(hào)#(16) 統(tǒng)計(jì)20歲的學(xué)生總?cè)藬?shù)。Select count (ageFrom 學(xué)生Where 學(xué)生. 年齡 = 20(17) 選修數(shù)據(jù)庫原理的學(xué)生名單secect 學(xué)生. 姓名from 學(xué)生,課程,選課where 課程. 課程名 = “ 數(shù)據(jù)庫原理” and 課程. 課程編號(hào)# = 選課. 課程編號(hào)# and 選課. 學(xué)號(hào)# = 學(xué)生. 學(xué)號(hào)#(18) 刪除20030號(hào)學(xué)生的選課記錄delete from 選課w
20、here 學(xué)號(hào)# = “200030”(19) 建立一個(gè)存儲(chǔ)過程,通過輸入學(xué)號(hào),顯示學(xué)生的姓名,選課課程名,成績,并統(tǒng)計(jì)出選課門數(shù)。Create procedure report id char(8 asSelect 學(xué)生. 姓名,課程. 課程名,選課. 成績,count (課程. 課程編號(hào)# From 學(xué)生,課程,選課Where 學(xué)生. 學(xué)號(hào)# = id and 選課. 學(xué)號(hào)# = 學(xué)生. 學(xué)號(hào)# and 選課. 課程編號(hào)# = 課程. 課程編號(hào)#(20) 建立一個(gè)存儲(chǔ)過程,通過輸入教師編號(hào),顯示教師的姓名,任課課程名,教師院系。Create procedure report id char
21、(8 asSelect 教師. 姓名,課程. 課程名,院系. 系名From 院系,課程,教師,任課Where 教師. 教師編號(hào)# = id and 任課. 教師編號(hào)# = 教師. 教師編號(hào)# and 課程. 課程編號(hào)# = 任課. 課程編號(hào) and 教師. 系編號(hào) = 院系. 系編號(hào)(21) 建立一個(gè)存儲(chǔ)過程,輸入系編號(hào)顯示學(xué)生的學(xué)號(hào),姓名。Create procedure report id char (8 asSelect 學(xué)號(hào)#,姓名From 學(xué)生Where 系編號(hào)# = id2、有一數(shù)據(jù)庫,包含以下基本表:(表略)(1) 建立銷售明細(xì)表,銷售編號(hào)為主碼,外碼為商品編號(hào),會(huì)員號(hào)。Crea
22、te table 銷售明細(xì)(銷售編號(hào)# char(4,商品編號(hào)# char(4,會(huì)員號(hào)# char(4,數(shù)量 integer,時(shí)間 time,primary key (銷售編號(hào)#,foreign key (商品編號(hào)# references 商品(商品編號(hào)#),foreign key (會(huì)員號(hào)# references 會(huì)員(會(huì)員號(hào)#),)(2) 添加一條商品記錄(00697,雕牌肥皂,浙江,2.00,日化)insert into 商品 values(00697,”雕牌肥皂”,”浙江”,2.00,”日化”(3) 產(chǎn)生00695號(hào)產(chǎn)品的銷售細(xì)帳。Select *From 銷售明細(xì)Where 商品編號(hào)
23、# = 00695(4) 根據(jù)商品編號(hào)00695查找該商品的銷售總量。Select sum (數(shù)量From 銷售明細(xì)Where 商品編號(hào)# = 00695(5) 根據(jù)會(huì)員號(hào)104095刪除其會(huì)員記錄。Delete from 會(huì)員Where 會(huì)員號(hào)# = 104095(6建立一個(gè)黃金會(huì)員視圖。(消費(fèi)總金額高于5000的會(huì)員為黃金會(huì)員)create view 黃金會(huì)員as (select *from 會(huì)員where 消費(fèi)總金額 > 5000 (7建立一個(gè)觸發(fā)器,實(shí)現(xiàn)當(dāng)輸入一條銷售記錄時(shí),將消費(fèi)金額自動(dòng)累加到會(huì)員的消費(fèi)總金額。Create trigger trinameOn 銷售明細(xì)For i
24、nsert asUpdata 會(huì)員Set 消費(fèi)總金額 = 消費(fèi)總金額 + sum (銷售明細(xì). 數(shù)量*商品. 單價(jià)Where 銷售明細(xì). 會(huì)員號(hào)# = 會(huì)員. 會(huì)員號(hào)# and 商品. 商品編號(hào)# = 銷售明細(xì). 商品編號(hào)#三、 P OWER BUILDER編程1、(1)對(duì)w_data的open 事件編程,使w_data一打開dw_1中就顯示數(shù)據(jù)。 Dw_1. settransobjict (splcaDw_1. retrieve( (2添加int II= dw_1. insertrow (0Dw_1. scrolltorow (iDw_1. setfocus ( 刪除dw_1 . delet
25、erow (0保存int jj= dw_1 . updata ( if I= -1 thenmessagebox (“information ” , “數(shù)據(jù)無法保存”end if關(guān)閉close (parent (3對(duì)w_data 的closequery 事件編程,使dw_1中的數(shù)據(jù)發(fā)生改變而又未保存就退出窗口時(shí)給用戶一個(gè)消息框提示。Integer mIf dw_1.modifiedcount ( + deletedcount ( >0 thenM = messagebox (“信息”“數(shù)據(jù)已改變,是否保存”,question !Y esNoCance! If m=1 thenIf dw_
26、1.updata ( = -1 thenMessagebox (“information ”, ”無法保存數(shù)據(jù)”ElseMessagebox (“information ”, ”已保存數(shù)據(jù)”End ifReturn 0Elseif m=2 thenReturn 0Elseif m=3 thenReturn 12、ddlb_1中為各系名稱,當(dāng)選擇了一個(gè)系后tv_1顯示該系學(xué)生姓名,對(duì)ddlb_1的selectionchanged 事件編程。Int IString outnameDeclare namecur cursor forSelect distinct departmentFrom 學(xué)生W
27、here department = :ddlb_1.textOpen namecur ;If sqlca.sqlcode = -1 thenMessagebox ( “sql error “, sqlca ,sqlerrtext ElseFetch namecur into :outname ;Do where sqlca .sqlcode = 0Frtch namecur into :outname ;I=tv_1 .insertitemlast ( ,outname,2L00p while sqlca .sqlcode = 0Tv_1 :deleteitem (iEnd ifClose n
28、amecur ;3、 ddlb_1為下拉列表框,st_1,st_2為靜態(tài)文本框。該窗口打開時(shí),ddlb_1從數(shù)據(jù)庫中的院系表中讀出了所有系名,當(dāng)選擇了某系時(shí)st_1,st_2分別顯示該系系領(lǐng)導(dǎo)和系辦電話。(1) 在w_1的open 事件下編程。String outnameDeclare namecur cursor forSelect distinct departmentFrom 院系Where department = :ddlb_1.textOpen namecur ;If sqlca.sqlcode = -1 thenMessagebox ( “sql error “, sqlca ,
29、sqlerrtext ElseFetch namecur into :outname ;Do where sqlca .sqlcode = 0Ddlb_1.additem (outnameFetch namecur into :outname ;L00pEnd ifClose namecur ;(2) 在ddlb_1的selectionchanged 事件下編程。Select 系領(lǐng)導(dǎo),系辦電話From 院系Where 系名= :ddlb_1.text:st_1.text = 系領(lǐng)導(dǎo):st_2.text = 系辦電話4、w_query上有控件ddlb_1和dw_1,在ddlb_1中選擇系名后dw
30、_1中顯示該系的學(xué)生。(1) 如果通過帶參數(shù)的數(shù)據(jù)窗口對(duì)象來完成,請(qǐng)問dw_1中的數(shù)據(jù)窗口對(duì)象的數(shù)據(jù)源為quick select 還是sql select。答:sql select。(2) 為ddlb_1的selectionchanged 事件編程。Dw_1.settransobject (sqlcaDw_1.retricve (ddlb_1.text5、當(dāng)選擇了某單選框并輸入選擇條件,按回車后,dw_1中顯示滿足條件的記錄。請(qǐng)對(duì)以下控件編程。(1) rb_1sle_1.enabled= true(2 sle_1dw-1.setfilter (“姓名= ”+ sle_1.text +” ”dw
31、_1.filter ( cb_1.visible = true(3cb_1rb_1.checked = falserb_2.checked = falserb_3.checked = falserb_4.checked = falsesle_1.text = “”sle_2.text = “”sle_3.text = “”sle_4.text = “”sle_1.enable = falsesle_2.enable = falsesle_3.enable = falsesle_4.enable = false6、lv_1為列表視圖,報(bào)表風(fēng)格,當(dāng)w_list打開時(shí)lv_list中顯示數(shù)據(jù)庫中學(xué)生
32、表的所有學(xué)生的信息。請(qǐng)為w_1的open 事件編程。Integer I, j , outageString outname , outsex , soutageLv_1.addcolumn (“姓名”,left! , 800Lv_1.addcolumn (“性別”,left! , 500Lv_1.addcolumn (“年齡”,left! , 200Declare namecur cursor forSelect 姓名,性別,年齡From 學(xué)生;Open namecur ;If sqlca.sqlcode = 1 thenMessagebox (“sql.error ” , sqlca.sql
33、errtext ElseI=1DoFetch namecur into :outname, :outsex, :outage ;J=ILv_1.setitem(I, 2, outname Lv_1.setitem(I, 2, outsex Soutage = string (outageLv_1.setitem (I, 3, soutageI+Loop while sqlca.sqlcode=0Lv_1.deleteitem ( jEnd ifClose namecur ;7、(1) 寫出菜單項(xiàng)“注冊(cè)新用戶”的clicked 事件的代碼。Open (w_new(2) 寫出菜單“退出”的clic
34、ked 事件中的代碼。Close (parentwindow(3) 在sle_1中輸入新用戶名,如果此用戶名已存在則出現(xiàn)消息框,提示“此用戶名已存在,請(qǐng)另輸入用戶名”。Select usernameFrom userIf username = sle_1.text then msgbox(“提示”, ” 此用戶名已存在,請(qǐng)另輸入用戶名”(4) 寫出cb_1的clicked 事件中的代碼。Insert into userV alues (:sle_1. text , :sle_2. text , :ddlb_1. text ;8、窗口完成統(tǒng)計(jì)功能。按學(xué)號(hào)分組顯示學(xué)生平均成績,并顯示總評(píng)成績。(1
35、) 如果計(jì)算域平均成績名為compute_1,寫出語句使平均成績不及格者的平均成績紅色顯示。(2) 在數(shù)據(jù)窗口對(duì)象的畫板上計(jì)算域總評(píng)成績和頁碼分別放在哪個(gè)區(qū)域。答:分別放在summart 區(qū)域和footer 區(qū)域。9、窗口打開時(shí),樹開視圖顯示數(shù)據(jù)庫中所有學(xué)生的姓名,當(dāng)你選擇一個(gè)姓名時(shí),在右側(cè)的單行文本編輯框中顯示學(xué)生的詳細(xì)信息。(1) 為該窗口的open 事件編程tv_1.insertitemfirst (0, “學(xué)生”, 1tv_1.insertitemfirst (1, “張明”, 2tv_1.insertitemfirst (1, “王紅”, 2tv_1.insertitemfirst
36、(1, “周蕭蕭”, 2(2) 為tv_1的selectionchanged 事件編程int Itreeviewitem l_lvI=tv_1.finditem(currentTreeItem ! , 0Tv_1.getitem (I, l_lvSelect 姓名,性別,年齡Into :sle_1.text, :sle_2.text, :sle_3.textFrom 學(xué)生Where 姓名= :l_lv.lable1;四、 數(shù)據(jù)庫設(shè)計(jì) 1、 某工廠欲建立一個(gè)物質(zhì)管理系統(tǒng),該系統(tǒng)包含零件,產(chǎn)品,倉庫, 、 某工廠欲建立一個(gè)物質(zhì)管理系統(tǒng),該系統(tǒng)包含零件,產(chǎn)品,倉庫, 職工的信息,其中倉庫用于存入零件。 職工的信息,其中倉庫用于存入零件。 要求: 要求: (1) 畫出 ER 圖 ) 產(chǎn)品編號(hào) 產(chǎn)品名稱 產(chǎn)品型號(hào) 零件數(shù) Q1 零件編號(hào) 零件名稱 天 數(shù) 產(chǎn) 品 m 參加 1 負(fù)責(zé) m 構(gòu)成 n 零 件 m 零件型號(hào) 存放量 Q2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025陜西建筑安全員知識(shí)題庫及答案
- 2025年重慶市安全員-B證(項(xiàng)目經(jīng)理)考試題庫
- 2025年江西省建筑安全員《A證》考試題庫
- 【大學(xué)課件】工程倫理
- 【大學(xué)課件】工程建設(shè)監(jiān)理概論
- 《答謝中書書》課件1
- 物業(yè)客服培訓(xùn)課件
- 單位管理制度展示選集人員管理十篇
- 2025年中國航空貨物運(yùn)輸保險(xiǎn)行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 單位管理制度收錄大合集【職員管理篇】
- SB/T 10412-2007速凍面米食品
- 數(shù)控線切割機(jī)床的手工編程
- -油水井小修工藝技術(shù)課件
- (完整版)兒童醫(yī)學(xué)康復(fù)科疾病護(hù)理常規(guī)
- 2022閥門制造作業(yè)指導(dǎo)書
- 科技創(chuàng)新社團(tuán)活動(dòng)教案課程
- 建筑結(jié)構(gòu)加固工程施工質(zhì)量驗(yàn)收規(guī)范表格
- 部編版語文六年級(jí)上冊(cè)作文總復(fù)習(xí)課件
- 無水氯化鈣MSDS資料
- 專利產(chǎn)品“修理”與“再造”的區(qū)分
- 氨堿法純堿生產(chǎn)工藝概述
評(píng)論
0/150
提交評(píng)論