数据库应用实验.docx

上传人:b****8 文档编号:9397725 上传时间:2023-02-04 格式:DOCX 页数:28 大小:77.11KB
下载 相关 举报
数据库应用实验.docx_第1页
第1页 / 共28页
数据库应用实验.docx_第2页
第2页 / 共28页
数据库应用实验.docx_第3页
第3页 / 共28页
数据库应用实验.docx_第4页
第4页 / 共28页
数据库应用实验.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

数据库应用实验.docx

《数据库应用实验.docx》由会员分享,可在线阅读,更多相关《数据库应用实验.docx(28页珍藏版)》请在冰豆网上搜索。

数据库应用实验.docx

数据库应用实验

实验1、熟悉实验环境,并建立数据库

一、实验目的:

1熟悉SQLSERVER环境;

2使用SQLSERVER建立数据库;

3理解关系数据库的基本概念

二、考察知识点:

关系数据库的基础知识

1关系--表

2主码(主键),外码(外键)

3关系的完整性

(1)实体完整性(主码)

(2)参照完整性(外码)

(3)用户定义的完整性(规则,默认)

三、实验内容:

1进入企业管理器建立一个教学管理数据库.包含以下表:

学生(学号,姓名,性别,年龄,所在系)

课程(课程号,课程名,先行课,学分)

选课(学号,课程号,成绩)

教师(教师号,姓名,职称)

任课(教师号,课程号,时间)

并为各表选择主键和外键

2建立规则rule_sex,和rule_age

使学生的性别只能为’男’或’女’

使学生的年龄在10到40之间.

3建立默认值default_department

使所在系的默认值为‘计算机’。

4输入一些数据

5检验实体完整性,参照完整性,规则,及默认

(1)在学生表中输入(95004,何键,男,20,计算机)。

如果数据无法保存,解释数据无法保存的原因

(2)在选课表中输入(01002,1,70)。

如果数据无法保存,解释数据无法保存的原因。

(3)在学生表中输入(95005,何键,male,20,计算机)。

如果数据无法保存,解释数据无法保存的原因

(4)在学生表中输入(95005,何键,男,20)。

保存数据,并查看数据库中该记录。

与输入比较该记录有何不同。

三、实验步骤:

◆建立数据库和表

1在程序中选择MICROSOFTSQLSERVER

2进入服务管理器,点击———开始/继续

3再进入企业管理器,

点击MICROSOFTSQLSERVERS

点击SQLSERVER组,

点击服务器,

点击数据库

4在数据库文件夹下列出了服务器上的所有数据库

右键点击数据库,选择新建数据库,输入教学管理,并确定

5点击数据库文件夹下的教学管理,用右键点击表,选择新建表.

为表建立字段选择数据类型,选定关键字,最后保存表并命名。

6重复5建立多张表。

7右键点击关系图,选择新建,从教学管理数据库中选择出课程,学生选课,教师,任课五张表。

8在关系图中用右键点击选课表,并选择关系,点击新建,从主键表和外键表中选择相应字段构造外键关系。

同理建立任课与教师,任课与课程的外键关系。

保存关系图,并保存它对数据库的修改。

9点击数据库文件夹下表,并用右键点击你新建的表,选择打开表,再选择返回所有行,输入一些数据。

◆建立规则

1从教学管理数据库下选择右键规则,并新键规则,在规则名中输入rule_sex,在文本中输入@col=’男’or@col=’女’.确定

(@col表变量名,在SQLSERVER中变量名必须以@开头)

2右键点击规则rule_sex,选择属性,绑定列,从表中选择学生,再将未绑定的列中的性别添加到绑定列。

3同样可建立其它规则

◆建立默认

1从教学管理数据库下选择右键默认,并新键默认,在默认名中输入default_department,在文本中输入’cs’,确定

2点击默认default_department,选择属性,绑定列,从表中选择学生,再将未绑定的列中的所在系添加到绑定列。

3同样可以建立其它默认。

实验2、SQL

一、实验目的:

熟悉SQL

二、考察知识点

SQL语法

三、实验内容:

1进入SQLSERVER中的查询分析器。

2利用CRETAEDATABASE建立教学管理数据库。

3使用CREATETABLE建立表

学生(学号,姓名,性别,年龄,所在系)

课程(课程号,课程名,先行课,学分)

选课(学号,课程号,成绩)

教师(教师号,姓名,职称)

任课(教师号,课程号,时间)

(1)通过语句PRIMARYKEY,FOREIGNKEY建立主键和外键

(2)通过语句CHECK使学生表中的性别为‘男’或‘女’,年龄为

10到40。

(3)通过语句DEFAULT使所在系的默认值为‘计算机’

4练习使用INSERTINTO输入各表数据;用SELECT语句进行查询,利用DELETE语句删除记录,利用UPDATE语句对数据进行修改。

四实验步骤:

1进入查询分析器

2输入服务器名(你的计算机名),用户名:

sa,口令:

(无)

3在界面上输入

附:

可将创建数据库表和插入数据在一段sql语句里完成,代码参考如下:

--创建和删除数据库时,当前数据库应是master数据库

usemaster

go

--如该数据库存在,则删除

dropdatabase教学管理

--创建数据库

CREATEDATABASE教学管理

ON

(NAME=MANAGER_DAT,

FILENAME='D:

\MANAGERDAT.MDF',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=5)

LOGON

(NAME=MANAGER_LOG,

FILENAME='D:

\MANAGERLOG.LDF',

SIZE=5MB,

MAXSIZE=50MB,

FILEGROWTH=5MB);

GO

USE教学管理;

GO

--创建数据表

CREATETABLE学生

(学号CHAR(6)notnull,

姓名CHAR(10),

性别char

(2),

年龄int,

所在系char(16),

primarykey(学号)

GO

CREATETABLE课程

(课程号CHAR(6)notnull,

课程名char(16),

先行课char(6),

学分int,

primarykey(课程号)

GO

CREATETABLE选课

(学号CHAR(6)notnull,

课程号CHAR(6)notnull,

成绩int,

primarykey(学号,课程号)

GO

CREATETABLE教师

(教师号CHAR(6)notnull,

姓名char(10),

职称char(10),

primarykey(教师号)

GO

CREATETABLE任课

(教师号CHAR(6)notnull,

课程号char(6)notnull,

时间char(16),

primarykey(教师号,课程号)

go

createtable用户

(用户编号char(10)notnull,

口令char(10),

脚色char(16),

primarykey(用户编号)

use教学管理;

go

--INSERTINTO为各表输入数据。

insertinto学生values('02001','张红','女',20,'计算机');

insertinto学生values('02002','王小红','女',20,'计算机');

insertinto学生values('02003','张平','男',19,'计算机');

insertinto学生values('02004','李健康','男',20,'计算机');

insertinto学生values('02005','廖兵','男',18,'计算机');

insertinto学生values('02006','贺红生','男',20,'计算机');

insertinto学生values('02007','丁辉','女',19,'计算机');

insertinto学生values('02008','肖明','男',21,'计算机');

insertinto学生values('02009','黄朋','女',20,'计算机');

insertinto学生values('02010','谭大兵','男',22,'计算机');

insertinto课程values('001','计算机基础','',2);

insertinto课程values('002','数据结构','006',4);

insertinto课程values('003','数据库设计','005',4);

insertinto课程values('004','网络程序设计','007',4);

insertinto课程values('005','数据库原理','001',4);

insertinto课程values('006','PASCAL','001',3);

insertinto课程values('007','网络原理','001',4);

insertinto选课values('02001','001',78);

insertinto选课values('02001','002',86);

insertinto选课values('02002','003',87);

insertinto选课values('02002','004',75);

insertinto选课values('02003','001',80);

insertinto选课values('02003','003',67);

insertinto选课values('02004','002',58);

insertinto选课values('02004','005',49);

insertinto选课values('02005','004',80);

insertinto选课values('02005','006',79);

insertinto选课values('02006','002',89);

insertinto选课values('02006','003',67);

insertinto选课values('02007','001',88);

insertinto选课values('02007','003',68);

insertinto选课values('02008','001',63);

insertinto选课values('02008','004',60);

insertinto选课values('02009','003',73);

insertinto选课values('02009','004',72);

insertinto选课values('02010','001',57);

insertinto选课values('02010','002',76);

insertinto教师values('0001','肖新','助教');

insertinto教师values('0002','杨宾','讲师');

insertinto教师values('0003','王平','工程师');

insertinto教师values('0004','李进','副教授');

insertinto教师values('0005','张建','教授');

insertinto任课values('0001','001','星期三第一讲');

insertinto任课values('0002','002','星期四第二讲');

insertinto任课values('0003','003','星期一第四讲');

insertinto任课values('0004','004','星期五第三讲');

insertinto任课values('0005','005','星期三第三讲');

insertinto任课values('0002','006','星期六第一讲');

insertinto任课values('0003','007','星期二第一讲');

insertinto用户values('02001','02001','student');

insertinto用户values('02002','02002','student');

insertinto用户values('admin','admin','admin');

insertinto用户values('0001','0001','teacher');

 

--GO起分隔作用

--USE使其下命令在其后数据库下运行

 

4点击工具栏上的执行SQL语句

5如果执行成功,保存代码。

(例如可命名为CREATE.SQL,以后要再建立此数据库使用可直接打开该文件执行)。

6重开一个新窗口。

完成三.4。

 

实验3、用PB建立登录界面及注册界面

一、实验目的:

1掌握使用SQLSERVER专用接口连接数据库

2熟悉PB程序开发过程

3熟悉在PB中嵌入SQL。

二、考察知识点:

1POWERBUILDER连接数据库

2PB程序开发过程

3窗口的建立和编程(《POWERBUILDER8.0实用教程》第四章)

4应用对象的建立和编程(《POWERBUILDER8.0实用教程》第二章)

5嵌入SQL的使用(《POWERBUILDER8.0实用教程》第八章第八节)

三、实验内容与步骤:

1在SQLSERVER中打开教学管理数据库,并在其中增加一个表:

用户(用户编号,口令,角色),用以记录用户信息。

输入几条记录。

例如

(111,123456,ADMIN),(1120,123,TEACHER),(95001,123,STUDENT)

**如果用户是学生则用户编号为该学生学号.

如果用户是教师则用户编号为该教师的教师号

2进入POWERBUILDER,点击工具栏上的database进入数据库画

板。

3选择专用接口MSSMICROSOFTSQLSERVER,在其上击右键选择NEWPROFILE。

输入以下信息:

PROFILENAME:

教学管理

SERVER:

W3_xxx(你的计算机名)

LOGID:

SA

PASSWORD:

DATABASE:

教学管理

确定

4双击MSSMICROSOFTSQLSERVER下的教学管理。

(连接该数据库)

点击TABLES可以看见教学管理数据库中的所有表。

右键点击表用户,选择EDITDATA---GRID,则出现该表中的数据

5新建WORKSPACE。

命名为STUDY.PBW

参考《POWERBUILDER8.0实用教程》PAGE44

6新建APPLICATION对象.命名为STUDY.PBL

参考《POWERBUILDER8.0实用教程》PAGE45

登录界面

1新建一个窗口W_LOGIN(《POWERBUILDER8.0实用教程》PAGE55)

在窗口W_LOGIN放置控件,界面如图。

参考《POWERBUILDER8.0实用教程》PAGE63

2对登录按钮编程:

参考(《POWERBUILDER8.0实用教程》PAGE317)

3对APPLICATION对象编程(《POWERBUILDER8.0实用教程》PAGE52)

在程序的最后加上OPEN(W_LOGIN)

4点击工具栏中的RUN图标,应用程序开始运行。

思考:

新建三个窗口W_ADMIN,W_TEACHER,W_STUDENT。

三个窗口上分别显示WELCOMEADMIN!

,WELCOMETEACHER!

WELCOMESTUDENT!

登录后如何根据角色不同而进入不同的窗口

注册新用户界面

1建立一个新窗口W_ADDUSER,并在窗口上放置控件,界面如图.

2对确定按钮编程

参考(《POWERBUILDER8.0实用教程》PAGE207,INSERTINTO)

3将应用对象的OPEN事件程序的最后改为OPEN(W_ADDUSER,)

4点击工具栏中的RUN图标,运行应用程序。

5点击工具栏上的database进入数据库画板,检查新数据是否进入用户表。

 

实验4、菜单

一、实验目的:

1熟悉菜单的建立

2熟悉窗口的类型

3熟悉OPENSHEET函数

二、考察知识点

MDI应用的建立

(《POWERBUILDER8.0实用教程》第五章)

三、实验内容与步骤:

1进入POWERBUILDER打开工作空间STUDY.PBW。

2建立一个菜单对象,每个菜单项包含工具条和快捷键。

命名为M_MAIN

菜单如图。

参考(《POWERBUILDER8.0实用教程》PAGE91)

3建立新窗口W_MAIN,在其属性WidowType下选择MDI。

参考(《POWERBUILDER8.0实用教程》PAGE57)

4将菜单M_MAIN挂在窗口W_MAIN.

参考(《POWERBUILDER8.0实用教程》PAGE98)

5打开菜单M_MAIN,在菜单项‘注册新用户’的CLICKED事件下输入:

OPENSHEET(W_ADDUSER,W_MAIN,6,ORIGINAL!

通过POWERBUILDER中的帮助查找OPENSHEET函数的使用说明。

6在菜单M_MAIN的菜单项’层叠’的CLICKED事件下输入W_MAIN.ARRANGESHEETS(CASCADE!

).

通过POWERBUILDER中的帮助查找ARRANGESHEETS函数的使用说明。

并为菜单项’平铺’,‘陈列’的CLICKED事件编程。

7在菜单M_MAIN的‘退出’的CLICKED事件下输入

close(parentwindow)

8通过popmenu()建立弹出式菜单。

参考(《POWERBUILDER8.0实用教程》PAGE99)

9将W_MAIN与W_LOGIN结合,使通过检测的合法用户可以进入W_MAIN。

(1)如果登录用户为ADIMN则只能使用菜单‘管理员’

(2)如果登录用户为student则只能使用菜单‘学生‘。

(3)如果登录用户为TEACHER则只能使用菜单‘教师‘。

(提示:

根据不同登录用户,决定菜单的ENABLED属性为TRUE或FALSE)

10运行应用程序。

菜单第一层

退出管理员学生教师窗口报表帮助

平均成绩

人员统计

图形统计

层叠

平铺

陈列

信息查询

提交成绩

修改密码

学生选课

成绩查询

数据维护

用户管理

信息查询

 

菜单第二层:

管理员:

数据维护学生信息

课程信息

用户管理注册新用户

修改密码

信息查询学生查询

课程查询

 

实验5、TreeView控件和游标

一、实验目的:

1熟悉treeview控件的属性,事件和函数。

2熟练使用游标

二、考察知识点

1treeview控件的使用。

《POWERBUILDER8.0实用教程》第四章)

2游标的使用。

《POWERBUILDER8.0实用教程》第八章)

三、实验内容:

1新建一个窗口W_ENROLL,放置一个treeview控件,并选中该控件的CHECKBOXS属性,再放置其他控件。

通过此窗口实现学生选课。

该窗口如图:

treeview控件为tr_1,

确定按钮为cb_1

St_3

St_4

2对窗口W_ENROLL的OPEN事件编程使数据所有课程罗列在树形视图中

参考代码:

stringoutname

declarenamecurcursorfor

select课程名

from课程;

opennamecur;

fetchnamecurinto:

outname;

dowhilesqlca.sqlcode=0

i=tv_1.insertitemlast(0,outname,1)

fetchnamecurinto:

outname;

loop

closenamecur;

注:

(1)关于游标参考《POWERBUILDER8.0实用教程》PAGE208

(2)函数insertitemlast的使用说明请通过POWERBUILDER中的帮助查找。

(3)i定义为实例变量,

变量定义参考《POWERBUILDER8.0实用教程》PAGE195

3将窗口W_ENROLL与菜单M_AMIN连接。

打开菜单M_MAIN,在菜单项‘学生选课’的CLICKED事件下输入:

OPENSHEET(W_ENROLL,W_MAIN,6,ORIGINAL!

4如果某学生通过W_LOGIN进入系统则将该学生的学号和姓名显示在静态文本编辑框st_3,和st_4中。

为完成这一功能请在窗口W_ENROLL的OPEN事件增加程序。

提示:

SELECT学号,姓名

INTO:

st_3.TEXT,st_4.TEXT

FROM学生

WHERE……

5对确定按钮编程。

参考代码:

intj

stringcourse_id

treeviewitemtr_i

forj=1toi

tv_1.getitem(j,tr_i)

iftr_i.statepictureindex=2then

select课程号

into:

course_id

from课程

where课程名=:

tr_i.label;

insertinto选课(学号,课程号)

values(:

st_3.text,:

course_id);

endif

next

//当TreeView的CheckBoxes属性为True时,每个节点包含一个复选框。

选中复

//选框时,StatePictureIndex属性为2,未选中则为1。

6运行程序

 

问题:

如何避免同一学生多次选择同一课程。

实验6、数据窗口对象与数据窗口控件

一、实验目的:

1熟悉数据窗口对象的建立

2熟练使用数据窗口控件

5熟悉数据窗口控件常用函数

二、考察知识点:

1数据窗口对象

2数据窗口控件

《POWERBUILDER8.0实用教程》第七章

三、实验内容:

1建立一个数据窗口对象D_S_DATA,使其包含学生表的所有数据。

《POWERBUILDER8.0实用教程》PAGE123

显示风格:

FREEFORM

(显示风格《POWERBUILDER8.0实用教程》PAGE140)

数据源:

QUICKSELECT

(数据源《POWERBUILDER8.0实用教程》PAGE127)

3新建一个窗口W_S_DATA,并放置数据窗口控件(DW_1)和命令按扭。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1