




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 實驗1 、熟悉實驗環(huán)境,并建立數據庫一、實驗目的:1 熟悉SQL SERVER 環(huán)境;2 使用SQL SERVER建立數據庫;3理解關系數據庫的基本概念二、考察知識點:關系數據庫的基礎知識1關系-表2主碼(主鍵),外碼(外鍵)3關系的完整性(1) 實體完整性(主碼)(2) 參照完整性 (外碼)(3) 用戶定義的完整性(規(guī)則,默認)三、實驗內容:1進入企業(yè)管理器建立一個教學管理數據庫.包含以下表: 學生(學號,姓名 ,性別,年齡,所在系) 課程(課程號,課程名,先行課,學分)選課(學號,課程號,成績)教師(教師號,姓名,職稱)任課(教師號,課程號,時間)并為各表選擇主鍵和外鍵2建立規(guī)則rule
2、_sex,和rule_age 使學生的性別只能為男或女 使學生的年齡在10 到 40 之間.3 建立默認值default_department 使所在系的默認值為計算機。4 輸入一些數據 5檢驗實體完整性,參照完整性,規(guī)則,及默認(1) 在學生表中輸入(95004,何鍵,男,20,計算機)。如果數據無法保存,解釋數據無法保存的原因(2) 在選課表中輸入(01002,1,70)。如果數據無法保存,解釋數據無法保存的原因。(3) 在學生表中輸入(95005,何鍵,male,20,計算機)。如果數據無法保存,解釋數據無法保存的原因(4) 在學生表中輸入(95005,何鍵,男,20)。保存數據,并查看
3、數據庫中該記錄。與輸入比較該記錄有何不同。三、實驗步驟:u 建立數據庫和表1在程序中選擇MICROSOFT SQL SERVER2進入服務管理器,點擊開始/繼續(xù)3再進入企業(yè)管理器,點擊MICROSOFT SQL SERVERS 點擊SQL SERVER組,點擊服務器,點擊數據庫 4 在數據庫文件夾下列出了服務器上的所有數據庫 右鍵點擊數據庫,選擇新建數據庫,輸入教學管理,并確定 5點擊數據庫文件夾下的教學管理,用右鍵點擊表,選擇新建表. 為表建立字段選擇數據類型,選定關鍵字,最后保存表并命名。 6重復5建立多張表。 7 右鍵點擊關系圖,選擇新建,從教學管理數據庫中選擇出課程,學生選課,教師,任
4、課五張表。 8 在關系圖中用右鍵點擊選課表,并選擇關系,點擊新建,從主鍵表和外鍵表中選擇相應字段構造外鍵關系。 同理建立任課與教師,任課與課程的外鍵關系。保存關系圖,并保存它對數據庫的修改。 9 點擊數據庫文件夾下表,并用右鍵點擊你新建的表,選擇打開表,再選擇返回所有行,輸入一些數據。u 建立規(guī)則 1 從教學管理數據庫下選擇右鍵規(guī)則,并新鍵規(guī)則,在規(guī)則名中輸入rule_sex,在文本中輸入col=男 or col=女.確定 (col 表變量名,在SQL SERVER中變量名必須以開頭) 2 右鍵點擊規(guī)則rule_sex,選擇屬性,綁定列,從表中選擇學生,再將未綁定的列中的性別添加到綁定列。 3
5、 同樣可建立其它規(guī)則u 建立默認 1 從教學管理數據庫下選擇右鍵默認,并新鍵默認,在默認名中輸入default_department,在文本中輸入cs,確定 2 點擊默認default_department,選擇屬性,綁定列,從表中選擇學生,再將未綁定的列中的所在系添加到綁定列。 3同樣可以建立其它默認。實驗2 、SQL 一、實驗目的:熟悉SQL二、考察知識點 SQL 語法三、實驗內容:1進入SQL SERVER 中的查詢分析器。2 利用CRETAE DATABASE 建立教學管理數據庫。 3 使用CREATE TABLE 建立表 學生(學號,姓名 ,性別,年齡,所在系) 課程(課程號,課程名
6、,先行課,學分)選課(學號,課程號,成績)教師(教師號,姓名,職稱)任課(教師號,課程號,時間)(1)通過語句PRIMARY KEY ,FOREIGN KEY建立主鍵和外鍵 (2)通過語句CHECK 使學生表中的性別為男或女,年齡為10到40。(3)通過語句 DEFAULT使所在系的默認值為計算機4 練習使用INSERT INTO輸入各表數據;用SELECT語句進行查詢,利用DELETE語句刪除記錄,利用UPDATE語句對數據進行修改。四 實驗步驟: 1進入查詢分析器 2輸入服務器名(你的計算機名),用戶名:sa ,口令: (無)3 在界面上輸入附:可將創(chuàng)建數據庫表和插入數據在一段sql語句里
7、完成,代碼參考如下: -創(chuàng)建和刪除數據庫時,當前數據庫應是master數據庫use mastergo- 如該數據庫存在,則刪除drop database 教學管理- 創(chuàng)建數據庫 CREATE DATABASE 教學管理ON (NAME=MANAGER_DAT, FILENAME='D:MANAGERDAT.MDF', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=5)LOG ON (NAME=MANAGER_LOG, FILENAME='D:MANAGERLOG.LDF', SIZE=5MB, MAXSIZE=50MB, FILEGRO
8、WTH=5MB);GO USE 教學管理; GO- 創(chuàng)建數據表CREATE TABLE 學生(學號 CHAR(6) not null, 姓名 CHAR(10), 性別 char(2), 年齡 int, 所在系 char(16), primary key(學號)GOCREATE TABLE 課程(課程號 CHAR(6) not null, 課程名 char(16), 先行課 char(6), 學分 int, primary key(課程號)GOCREATE TABLE 選課(學號 CHAR(6) not null, 課程號 CHAR(6) not null, 成績 int, primary ke
9、y(學號,課程號)GOCREATE TABLE 教師(教師號 CHAR(6) not null, 姓名 char(10), 職稱 char(10), primary key(教師號)GOCREATE TABLE 任課(教師號 CHAR(6) not null, 課程號 char(6) not null, 時間 char(16), primary key(教師號,課程號)gocreate table 用戶(用戶編號 char(10) not null, 口令 char(10), 腳色 char(16), primary key(用戶編號)use 教學管理;go- INSERT INTO 為各表輸
10、入數據。insert into 學生 values('02001','張紅','女',20,'計算機');insert into 學生 values('02002','王小紅','女',20,'計算機');insert into 學生 values('02003','張平','男',19,'計算機');insert into 學生 values('02004','李健康',
11、'男',20,'計算機');insert into 學生 values('02005','廖兵','男',18,'計算機');insert into 學生 values('02006','賀紅生','男',20,'計算機');insert into 學生 values('02007','丁輝','女',19,'計算機');insert into 學生 values('
12、;02008','肖明','男',21,'計算機');insert into 學生 values('02009','黃朋','女',20,'計算機');insert into 學生 values('02010','譚大兵','男',22,'計算機');insert into 課程 values('001','計算機基礎','',2);insert into 課程 v
13、alues('002','數據結構','006',4);insert into 課程 values('003','數據庫設計','005',4);insert into 課程 values('004','網絡程序設計','007',4);insert into 課程 values('005','數據庫原理','001',4);insert into 課程 values('006','
14、;PASCAL','001',3);insert into 課程 values('007','網絡原理','001',4);insert into 選課 values('02001','001',78);insert into 選課 values('02001','002',86);insert into 選課 values('02002','003',87);insert into 選課 values('02002
15、39;,'004',75);insert into 選課 values('02003','001',80);insert into 選課 values('02003','003',67);insert into 選課 values('02004','002',58);insert into 選課 values('02004','005',49);insert into 選課 values('02005','004',80
16、);insert into 選課 values('02005','006',79);insert into 選課 values('02006','002',89);insert into 選課 values('02006','003',67);insert into 選課 values('02007','001',88);insert into 選課 values('02007','003',68);insert into 選課 val
17、ues('02008','001',63);insert into 選課 values('02008','004',60);insert into 選課 values('02009','003',73);insert into 選課 values('02009','004',72);insert into 選課 values('02010','001',57);insert into 選課 values('02010',
18、'002',76);insert into 教師 values('0001','肖新','助教');insert into 教師 values('0002','楊賓','講師');insert into 教師 values('0003','王平','工程師');insert into 教師 values('0004','李進','副教授');insert into 教師 values(
19、39;0005','張建','教授');insert into 任課 values('0001','001','星期三第一講');insert into 任課 values('0002','002','星期四第二講');insert into 任課 values('0003','003','星期一第四講');insert into 任課 values('0004','004',
20、39;星期五第三講');insert into 任課 values('0005','005','星期三第三講');insert into 任課 values('0002','006','星期六第一講');insert into 任課 values('0003','007','星期二第一講');insert into 用戶 values('02001','02001','student');inse
21、rt into 用戶 values('02002','02002','student');insert into 用戶 values('admin','admin','admin');insert into 用戶 values('0001','0001','teacher');-GO 起分隔作用 -USE 使其下命令在其后數據庫下運行4點擊工具欄上的 執(zhí)行SQL 語句5如果執(zhí)行成功,保存代碼。(例如可命名為CREATE.SQL,以后要再建立此數據庫使用
22、可直接打開該文件執(zhí)行)。6 重開一個新窗口。完成 三.4。 實驗3 、用PB建立登錄界面及注冊界面一、實驗目的:1 掌握使用SQL SERVER專用接口連接數據庫2 熟悉PB程序開發(fā)過程3 熟悉在PB中嵌入SQL。二、考察知識點:1 POWER BUILDER 連接數據庫2 PB程序開發(fā)過程3 窗口的建立和編程(POWER BUILDER 8.0實用教程第四章)4 應用對象的建立和編程(POWER BUILDER 8.0實用教程第二章)5 嵌入SQL的使用 (POWER BUILDER 8.0實用教程第八章第八節(jié))三、實驗內容與步驟:1 在SQL SERVER 中打開教學管理數據庫,并在其中增
23、加一個表:用戶(用戶編號,口令,角色),用以記錄用戶信息。輸入幾條記錄。例如(111,123456,ADMIN),(1120,123,TEACHER),(95001,123,STUDENT)*如果用戶是學生則用戶編號為該學生學號.如果用戶是教師則用戶編號為該教師的教師號2 進入POWER BUILDER ,點擊工具欄上的 database進入數據庫畫板。3 選擇專用接口MSS MICROSOFT SQL SERVER,在其上擊右鍵選擇NEW PROFILE 。輸入以下信息: PROFILE NAME:教學管理 SERVER :W3_xxx (你的計算機名) LOGID : SA PASSWOR
24、D: DATABASE : 教學管理 確定4 雙擊MSS MICROSOFT SQL SERVER下的教學管理。(連接該數據庫)點擊TABLES可以看見教學管理數據庫中的所有表。右鍵點擊表用戶,選擇EDIT DATA-GRID,則出現該表中的數據5 新建WORKSPACE。命名為STUDY.PBW參考POWER BUILDER 8.0實用教程PAGE 446 新建APPLICATION對象.命名為STUDY.PBL參考POWER BUILDER 8.0實用教程PAGE 45登錄界面1 新建一個窗口W_LOGIN(POWER BUILDER 8.0實用教程PAGE 55)在窗口W_LOGIN放置
25、控件,界面如圖。參考POWER BUILDER 8.0實用教程PAGE 632 對登錄按鈕編程:參考(POWER BUILDER 8.0實用教程PAGE 317)3 對APPLICATION對象編程(POWER BUILDER 8.0實用教程PAGE 52)在程序的最后加上OPEN(W_LOGIN)4 點擊工具欄中的RUN圖標,應用程序開始運行。 思考:新建三個窗口W_ADMIN,W_TEACHER,W_STUDENT。三個窗口上分別顯示WELCOME ADMIN!,WELCOME TEACHER!,WELCOME STUDENT!。登錄后如何根據角色不同而進入不同的窗口注冊新用戶界面1 建立
26、一個新窗口W_ADDUSER,并在窗口上放置控件, 界面如圖.2 對確定按鈕編程 參考(POWER BUILDER 8.0實用教程PAGE 207 ,INSERT INTO)3 將應用對象的OPEN事件程序的最后改為OPEN(W_ADDUSER,)4 點擊工具欄中的RUN圖標,運行應用程序。5 點擊工具欄上的 database進入數據庫畫板 ,檢查新數據是否進入用戶表。 實驗4 、菜單一、實驗目的:1 熟悉菜單的建立2 熟悉窗口的類型3 熟悉OPENSHEET函數二、考察知識點MDI應用的建立 (POWER BUILDER 8.0實用教程第五章)三、實驗內容與步驟:1 進入POWER BUIL
27、DER 打開工作空間STUDY.PBW。2 建立一個菜單對象,每個菜單項包含工具條和快捷鍵。命名為M_MAIN菜單如圖。參考(POWER BUILDER 8.0實用教程PAGE 91)3 建立新窗口W_MAIN,在其屬性WidowType下選擇MDI。參考(POWER BUILDER 8.0實用教程PAGE 57)4 將菜單M_MAIN掛在窗口W_MAIN.參考(POWER BUILDER 8.0實用教程PAGE 98)5 打開菜單M_MAIN,在菜單項注冊新用戶的CLICKED事件下輸入:OPENSHEET(W_ADDUSER,W_MAIN,6,ORIGINAL!)通過POWER BUILD
28、ER中的幫助查找OPENSHEET函數的使用說明。6 在菜單M_MAIN的菜單項層疊 的CLICKED事件下輸入 W_MAIN.ARRANGESHEETS(CASCADE!).通過POWER BUILDER中的幫助查找ARRANGESHEETS函數的使用說明。并為菜單項平鋪,陳列 的CLICKED事件編程。7 在菜單M_MAIN的退出 的CLICKED事件下輸入close(parentwindow)8 通過popmenu()建立彈出式菜單。 參考(POWER BUILDER 8.0實用教程PAGE 99)9 將W_MAIN與W_LOGIN結合,使通過檢測的合法用戶可以進入W_MAIN。(1)
29、如果登錄用戶為ADIMN 則只能使用菜單管理員(2) 如果登錄用戶為student則只能使用菜單學生。(3) 如果登錄用戶為 TEACHER則只能使用菜單教師。 (提示:根據不同登錄用戶,決定菜單的ENABLED屬性為TRUE 或 FALSE)10 運行應用程序。 菜單第一層退出 管理員 學生 教師 窗口 報表 幫助平均成績人員統(tǒng)計圖形統(tǒng)計層疊平鋪陳列信息查詢提交成績修改密碼學生選課成績查詢數據維護用戶管理信息查詢菜單第二層:管理員 :數據維護 學生信息 課程信息 用戶管理 注冊新用戶 修改密碼信息查詢 學生查詢 課程查詢 實驗5 、TreeView控件和游標一、實驗目的:1 熟悉treevi
30、ew控件的屬性,事件和函數。2 熟練使用游標二、考察知識點 1 treeview控件的使用。POWER BUILDER 8.0實用教程第四章) 2 游標的使用。POWER BUILDER 8.0實用教程第八章) 三、實驗內容:1 新建一個窗口W_ENROLL,放置一個treeview控件,并選中該控件的CHECKBOXS屬性,再放置其他控件。通過此窗口實現學生選課。該窗口如圖: treeview控件為tr_1, 確定按鈕為cb_1St_3St_42對窗口W_ENROLL的OPEN事件編程使數據所有課程羅列在樹形視圖中參考代碼: string outname declare namecur cu
31、rsor for select 課程名 from 課程; open namecur; fetch namecur into :outname; do while sqlca.sqlcode=0 i=tv_1.insertitemlast(0,outname,1) fetch namecur into :outname; loop close namecur;注:(1)關于游標參考POWER BUILDER 8.0實用教程PAGE 208 (2)函數 insertitemlast的使用說明請通過POWER BUILDER中的幫助查找。(3) i定義為實例變量, 變量定義參考POWER BUILD
32、ER 8.0實用教程PAGE 1953 將窗口W_ENROLL與菜單M_AMIN連接。 打開菜單M_MAIN,在菜單項學生選課的CLICKED事件下輸入:OPENSHEET(W_ENROLL,W_MAIN,6,ORIGINAL!)4 如果某學生通過W_LOGIN進入系統(tǒng)則將該學生的學號和姓名顯示在靜態(tài)文本編輯框st_3,和st_4中。為完成這一功能請在窗口W_ENROLL的OPEN事件增加程序。提示:SELECT 學號,姓名INTO :st_3.TEXT,st_4.TEXT FROM 學生 WHERE 5 對確定按鈕編程。參考代碼: int jstring course_idtreeviewi
33、tem tr_ifor j=1 to i tv_1.getitem(j,tr_i) if tr_i.statepictureindex=2 then select 課程號 into :course_id from 課程 where 課程名=:tr_i.label; insert into 選課(學號,課程號) values(:st_3.text,:course_id);end ifnext/當TreeView的CheckBoxes屬性為True時,每個節(jié)點包含一個復選框。選中復/選框時,StatePictureIndex屬性為2,未選中則為1。6 運行程序問題:如何避免同一學生多次選擇同一課程
34、。 實驗6 、數據窗口對象與數據窗口控件一、實驗目的:1 熟悉數據窗口對象的建立2 熟練使用數據窗口控件5 熟悉數據窗口控件常用函數二、考察知識點:1 數據窗口對象2 數據窗口控件 POWER BUILDER 8.0實用教程第七章三、實驗內容: 1 建立一個數據窗口對象D_S_DATA,使其包含學生表的所有數據。 POWER BUILDER 8.0實用教程PAGE 123顯示風格:FREEFORM (顯示風格POWER BUILDER 8.0實用教程PAGE 140)數據源:QUICK SELECT(數據源POWER BUILDER 8.0實用教程PAGE 127)3 新建一個窗口W_S_DA
35、TA,并放置數據窗口控件(DW_1)和命令按扭。界面如圖 將數據窗口對象D_S_DATA與數據窗口控件DW_1關聯。 POWER BUILDER 8.0實用教程PAGE 1264 對窗口W_DATA的OPEN事件,CLOSEQUERY事件和各命令按扭編程。參考POWER BUILDER 8.0實用教程PAGE 318通過POWER BUILDER中的幫助查找程序中出現的函數的使用說明?;蛟赑OWER BUILDER 8.0實用教程第九章查找。5 將窗口W_S_DATA與菜單M_AMIN連接。 打開菜單M_MAIN,在菜單項學生信息的CLICKED事件下輸入:OPENSHEET(W_S_DATA
36、,W_MAIN,6,ORIGINAL!)6 運行程序。通過該界面對學生信息進行操作。并檢查數據庫中的數據是否變化。7 同樣方式數據窗口對象D_C_DATA使其包含課程表的所有數據通過繼承W_S_DATA,建立窗口W_C_DATA。參考POWER BUILDER 8.0實用教程PAGE 878 將數據窗口對象D_C_DATA與窗口W_C_DATA上的數據窗口控件DW_1關聯。9 將窗口W_C_DATA與菜單M_AMIN連接。10 運行程序 實驗7、查詢一、實驗目的:1 熟悉數據窗口控件的過濾函數2 熟悉帶檢索參數的數據窗口對象。二、考察知識點:1 數據窗口控件的過濾函數2 帶檢索參數的數據窗口對
37、象 POWER BUILDER 8.0實用教程第七章三、實驗內容與步驟: 過濾函數1. 功能如圖:窗口W_S_GRID,可分別按學號,姓名,所在系對學生信息進行查詢。2. 建立一個數據窗口對象D_S_GRID,使其包含學生表的所有數據。顯示風格:GRID數據源:QUICK SELECT3. 新建一個窗口W_S_GRID,并放置數據窗口控件,單選按扭及單行文本編輯框。界面如圖。4. 對窗口W_S_GRID的OPEN事件編程。Dw_1.settransobject(sqlca)Dw_1.retrieve()5. 對rb_1的clicked事件編程。if this.checked=true then
38、sle_1.enabled=trueelsesle_1.enabled=falseend if同樣對rb_2,rb_3的clicked事件編程。6. 對sle_1的MODIFIED事件編程。 dw_1.setfilter("學號="+"'"+this.text+"'")dw_1.filter()同樣對sle_2,sle_3的modified事件編程。通過POWER BUILDER中的幫助查找setfilter函數的使用說明. Sle_1rb_17 將窗口W_S_GRID與菜單M_AMIN的學生查詢關聯。8 運行程序9
39、同理建立窗口課程查詢,能實現對課程信息的查詢。 帶檢索參數的數據窗口對象1 建立窗口W_S_GRADE。功能:學生登錄進入系統(tǒng),點擊成績查詢,出現窗口W_S_GRADE,該窗口的數據窗口控件(DW_1)中顯示該學生的所有所選課程成績。3 建立數據窗口對象D_S_Grade.顯示風格:GRID數據源:SQL SELECT。選擇出選課表中的學號,成績,和課程表中的課程名。參考POWER BUILDER 8.0實用教程PAGE 1294 設置參數SID。 (STRING類型)。將其放在學生.學號字段。參考POWER BUILDER 8.0實用教程PAGE 1354將數據窗口對象D_S_Grade與窗
40、口W_S_GRADE的數據窗口控件(DW_1)關聯。5 對窗口W_S_GRADE的OPEN事件編程。Dw_1.settrnsobject(sqlca)Dw_1.retrieve(uid)*uid 為存放用戶登錄號的全局變量。5將窗口W_S_GRADE與菜單M_AMIN中的成績查詢關聯。6運行程序實驗8、數據窗口對象的update屬性一、實驗目的: 熟悉數據窗口對象的upadte屬性設置。二、考察知識點: 數據窗口對象的upadte屬性 POWER BUILDER 8.0實用教程第七章三、實驗內容:1建立窗口W_T_GRADE。功能:教師登錄進入系統(tǒng),點擊提交成績,出現窗口W_T_GRADE,輸入課程號,數據窗口控件(DW_1)中顯示該課程的選課情況。其中成績下的列可以輸入成績。2 建立數據窗口對象D_T_Grade.顯示風格:GRID數據源:SQL SELECT。選擇任課,學生,選課,三張表選擇出選課表中學號,課程號,成績,選擇出學生表中姓名,所在系。3 設置參數Tid,Cid (STRING類型)。Tid
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 京派建筑設計特色與發(fā)展
- 迪安診斷宮頸癌精準篩查解決方案
- 顧客轉介紹課件
- 順產產婦護理
- 音標課件軟件工程筆記
- 水肌酸產品項目經濟效益和社會效益分析報告(范文參考)
- 電網側獨立儲能示范項目建設管理方案(模板范文)
- 2025年玻璃纖維網墊項目建議書
- 2025年壓電陶瓷元件項目建議書
- 電網側獨立儲能示范項目初步設計
- 弘揚教育家精神做新時代大學教師
- 2026年高考政治一輪復習:高考政治命題備考策略
- 2024年湖南省辰溪縣檔案局公開招聘試題帶答案
- 鋰離子電池安全性能優(yōu)化:針刺實驗與失效機制分析
- 2025至2030年中國森林消防車行業(yè)市場全景評估及未來趨勢研判報告
- 2025生產與運作管理試題及答案
- 暑假的一次冒險經歷記事作文4篇范文
- 入職預支薪資協議書
- 《中國特色社會主義理論體系的形成和發(fā)展》(課件)
- 職業(yè)技術學院嬰幼兒托育服務與管理專業(yè)人才培養(yǎng)方案
- 2025臺州市椒江區(qū)輔警考試試卷真題
評論
0/150
提交評論