数据库选课管理系统课程设计Word格式文档下载.docx

上传人:b****6 文档编号:19744356 上传时间:2023-01-09 格式:DOCX 页数:93 大小:2.49MB
下载 相关 举报
数据库选课管理系统课程设计Word格式文档下载.docx_第1页
第1页 / 共93页
数据库选课管理系统课程设计Word格式文档下载.docx_第2页
第2页 / 共93页
数据库选课管理系统课程设计Word格式文档下载.docx_第3页
第3页 / 共93页
数据库选课管理系统课程设计Word格式文档下载.docx_第4页
第4页 / 共93页
数据库选课管理系统课程设计Word格式文档下载.docx_第5页
第5页 / 共93页
点击查看更多>>
下载资源
资源描述

数据库选课管理系统课程设计Word格式文档下载.docx

《数据库选课管理系统课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库选课管理系统课程设计Word格式文档下载.docx(93页珍藏版)》请在冰豆网上搜索。

数据库选课管理系统课程设计Word格式文档下载.docx

消除冗余:

合并相关类型实体,消除冗余属性、冗余联系。

消除冗余的方法:

数据字典中数据项间逻辑关系的说明,规范化理论。

逻辑模型设计阶段:

关系模型

⏹ER模型向关系模型的转换

学生(学号,姓名,性别,班级,出生日期,地址,电话,email)

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

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

⏹数据模型的优化和规范处理

数据库物理设计阶段:

数据库

数据库实施阶段:

程序调试

数据库运行和维护阶段:

程序运行

二.数据库设计

使用工具:

SQLServer2000

目的要求:

掌握SQLServer2000数据库、表的创建

操作步骤:

1.建立数据库

(1)启动数据库服务管理器。

(2)启动企业管理器。

(3)以登录账户sa注册数据库服务器“59.74.104.180”,密码为sa。

(4)使用SQL-EM:

SQL-EM→数据库→右键→新建数据库:

数据库名xx1420,设计数据库文件.MDF和.ndf文件

2.建立表结构

(5)启动数据库服务管理器。

(6)启动企业管理器。

(7)以登录账户sa注册数据库服务器“59.74.104.180”,密码为zzj。

(8)在“xx1420”数据库中创建学生表,表名为“xx1420_29_s”,包括列:

sno、char(4),class、char(20),sname、char(8),sex、char

(2),birthday、datatime,address、varchar(50),telephone、char(20),email、char(40)。

其中,sno为主键,要求class、sname非空,sex默认值为“男”,email惟一完整性约束。

(9)在“xx1420”数据库中创建课程表,表名为“xx1420_29_c”,包括列:

cno、char(4),cname、char(20),credit、tinyint。

其中,cno为主键。

(10)在“xx1420”数据库中创建选课表,表名为“xx1420_29_sc”,包括列:

sno、char(4),cno、char(4),score、smallint。

其中,sno、cno为主键。

(11)在“xx1420”数据库中创建选课表,表名为“xx1420_29_u”,包括列:

uno、char(10),uname、char(10),password、char(6),u、tinyint,s、tinyint,c、tinyint,sc、tinyint。

(12)在“xx1420”数据库中创建选课表,表名为“xx1420_29_tj”,包括列:

cno、char(4),fsd、char(10),rs、smallint。

(13)新建数据库关系图,指定选课表sno为外键参照学生表的sno,指定选课表cno为外键参照课程表的cno,数据库关系图名要求为“xx1420_29”。

(14)启动查询分析器,使用insert语句将表s、c、sc中的数据分别插入表“xx1420_29_s”、“xx1420_29_c”、“xx1420_29_sc”。

SELECT*FROMsINTOxx1420_29_s

SELECT*FROMcINTOxx1420_29_c

SELECT*FROMscINTOxx1420_29_sc

(15)创建登录账户“xx1420_29”,密码自行设定。

(16)将登录账户“xx1420_29”指定为“xx1420”数据库用户。

(17)设置数据库用户“xx1420_29”对表“xx1420_29_s”、“xx1420_29_c”、“xx1420_29_sc”的select、insert、delete、update权限。

(18)删除注册的数据库服务器,以登录账户“xx1420_29”注册数据库服务器,测试其权限。

三.软件设计

PowerBuilder9.0

掌握PowerScript程序设计方法

1.创建应用程序并连接数据库

(2)注册数据库服务器:

服务器名59.74.104.180

用户名sa密码sa

(3)启动PowerBuilder9.0

开始→程序→Sybase→PowerBuilder9.0→PowerBuilder9.0

(4)创建工作区,工作区名为“xx1420_29”

File→New→Workspace:

xx1420_29

(5)创建应用对象、应用库和目标,应用对象、应用库及目标名均为“xx1420_29”,并存放在D盘“xx1420_29”文件夹中。

工作区→右键→New→Target→Application:

应用对象名xx1420_29、目标名xx1420_29、应用库名xx1420_29

(6)创建数据库配置。

(7)连接数据库服务器。

(8)将数据库配置代码复制到应用对象Open事件中。

ProfileName→右键→Properties→Preview:

copy

应用对象名→右键→Edit→open事件:

Ctrl+V

然后使用嵌入式SQL语句CONNECT建立连接,书写脚本:

connectusingsqlca;

ifsqlca.sqlcode=-1then

messagebox(”xx1420_29警告”,”连接失败!

”)

return

else

messagebox(”xx1420_29提示”,”连接成功!

endif

(9)编写连接数据库以及显示连接数据库结果的脚本,messagebox对话框标题为“xx1420_29”。

(10)运行应用程序。

2.主窗口和主菜单设计

(1)启动PowerBuilder9.0,打开工作区,配置并连接数据库。

(2)创建登录窗口

(File→)New→PBObject→Window→保存:

通常窗口命名为“w_<

窗口名>

”。

(3)设计登录窗口。

I窗口的构成:

使用控件:

图片按钮“p_1“——图片xx1420_29.JPEG

静态文本”st_”——账号、密码;

单行编辑框“sle_1,sle_2“——账号和密码输入框

命令按钮“cb_“——确定、退出

属性:

p_1PictureName下拉列表中指定图片为“文件路径\xx1420_29.JPG”

sle_1,sle_2password属性

事件:

设置全局变量

stringg_uno

设置实例变量

Inti_n=0

“确定”按钮触发事件脚本

selectunointo:

g_uno

fromxx1420_29_u

whereuno=:

sle_1.textandpassword=:

sle_2.text;

i_n=i_n+1

ifsqlca.sqlcode=0then

open(w_main)

close(parent)

elseifi_n=3then

messagebox("

xx1420_29"

"

对不起您是非法用户!

"

账号或密码错误,请重新输入!

sle_1.text="

sle_2.text="

“退出”按钮触发事件脚本

close(parent)

(4)修改应用对象脚本,将应用对象与登录窗口连接。

//Profilexx1420_29

SQLCA.DBMS="

MSSMicrosoftSQLServer"

SQLCA.Database="

xx1420"

SQLCA.LogPass="

123456"

SQLCA.ServerName="

59.74.104.180"

SQLCA.LogId="

SQLCA.AutoCommit=False

SQLCA.DBParm="

connectusingSQLCA;

ifSQLCA.SQLCode=-1THEN

MessageBox("

连接失败!

open(w_login)

(5)运行应用程序。

(6)菜单的创建

i.创建菜单

(File→)New→PBObject→Menu:

右击Untitled,InsertSubmenuItem建菜单项,右击菜单,InsertSubmenuItem建命令项,通常菜单命名为“m_<

菜单名>

ii.修改菜单

指定窗口→单击右键→Edit或双击指定菜单。

iii.删除

指定菜单→单击右键→Delete。

(7)设计主菜单。

菜单的属性:

1定义菜单外观

General选项卡:

Name(名称)、MicroHelp(微帮助)、Enabled(可用性)等。

2定义菜单项快捷键

Shortcutkey(快捷键,包括组合键:

Alt、Ctrl、Shift)。

3定义菜单工具栏中修改密码、帮助、退出系统的显示图片

Toolbar选项卡:

ToolBarItemText(指向该图标时文字提示)、ToolBarItemName(图标所显示图片)、ToolBarItemDownName(按住图标所显示图片)、ToolBarItemOrder(图标在工具栏中位置)等。

(8)设计主窗口并捆绑主菜单。

创建窗口w_main,在“MenuName”框中指定捆绑的菜单名m_main,在“WindowType”下拉列表选中“mdihelp!

”,在“WindowState”下拉列表选中“maximized!

(9)编写主菜单菜单项“退出”脚本。

.

close(parent)

(10)编写登录窗口clicked事件脚本,将登录窗口与主窗口连接。

(11)运行应用程序。

3.系统维护菜单各项的设计与实现

(1)修改密码项

1.1修改密码窗口设计

1.2事件脚本

⏹确定脚本

intret

SELECTunoINTO:

g_unoFROMxx1420_29_uWHEREuno=:

g_unoandpassword=:

sle_1.text;

IFSQLCA.SQLCode=0THEN

IFsle_2.text=sle_3.textTHEN

UPDATExx1420_29_uSETpassword=:

sle_2.textWHEREuno=:

g_uno;

COMMITUSINGSQLCA;

保存成功!

Close(PARENT)

RETURN

ELSE

ret=MessageBox("

新密码有误,继续吗?

Question!

YesNo!

2)

IFret=1THEN

sle_3.text="

ELSE

ENDIF

ELSE

旧密码有误,继续吗?

ENDIF

⏹关闭脚本

⏹“系统维护”菜单标题下“修改密码”项的触发事件脚本

Open(w_password)

1.3运行应用程序

(2)帮助项

2.1系统帮助窗口设计

窗口属性:

Title中输入“帮助”,在“WindowType”下拉列表选中“main!

”,在“WindowState”下拉列表选中“normal!

工具栏—OLE控件,设置“帮助”。

2.2事件脚本

“系统维护”菜单标题下“帮助”项的触发事件脚本

Open(w_help)

2.3运行应用程序

(3)退出系统项

“系统维护”菜单标题下“退出”项的“关闭”事件脚本

Close(w_main)

4.“学生选课管理系统”数据窗口的设计与实现

<

1>

“课程管理”菜单栏中的“课程查询”项

1.创建数据窗口对象

1选择显示风格

(File→)New→DataWindow:

选择显示Grid风格。

2定义数据源

OK:

定义数据源。

3控制数据

Next→选择xx1420_29_c→Open

选择列:

单击列名。

指定排序:

单击Sort选项卡,拖动xx1420_29_o列至右部,复选框Ascending表示升序。

4保存

对象名:

d_c_locate

5数据对象

2.设计课程查询窗口

(1)创建窗口

事件脚本:

Open事件脚本

dw_1.SetTransObject(sqlca)

dw_1.Retrieve()

检索事件脚本

stringcx

IFTrim(sle_1.text)="

then

cx="

cnamelike'

%"

+Trim(sle_1.text)+"

%'

dw_1.SetSort("

cnoa"

dw_1.Sort()

dw_1.SetFilter(cx)

dw_1.Filter()

关闭事件脚本

Close(parent)

(2)系统主菜单中响应“课程查询”窗口的脚本。

Open(w_c_locate)

(3)运行应用程序。

2>

“课程管理”菜单栏中的“课程删除”项

1.创建数据窗口对象

6选择显示风格

7定义数据源SQLselect

8控制数据

9保存

d_c_delete

10数据对象

3.设计课程删除窗口

(4)创建窗口

Open事件脚本:

检索脚本:

cx="

cno>

='

+sle_1.text+"

'

andcno<

+sle_2.text+"

snoa"

删除脚本:

longn

stringcno,s

cno=dw_o[dw_1.GetRow()]

selectcount(*)into:

nfromxx1420_29_scwherecno=:

cno;

ifn>

0then

xx1420_29警告"

该课程在选课表中已存在,不能删除!

dw_1.deleterow(0)

确定脚本:

intret,ret1

IFdw_1.DeletedCount()>

0THEN

xx1420_29提示"

数据已更新,是否保存?

ret1=dw_1.Update()

IFret1=1THEN

ROLLBACKUSINGSQLCA;

xx1420_29错误"

保存失败!

关闭脚本:

Close(PARENT)

(5)系统主菜单中响应“课程删除”窗口脚本。

Open(w_c_delete)

(6)运行应用程序。

3>

“课程管理”菜单栏中的“课程修改”项

4.创建数据窗口对象

11选择显示风格

12定义数据源

13控制数据

Next→选择一个或多个表→Open

14保存

d_c_edit

15数据对象

5.设计课程修改窗口

(7)创建窗口

Open事件脚本:

closequery事件:

dw_1.AcceptText()

IFdw_1.ModifiedCount()>

YesNoCancel!

3)

ELSEIFret=3THEN

RETURN1

Close(THIS)

取消脚本:

(8)系统主菜单中响应“课程修改”窗口脚本。

Open(w_c_edit)

(9)运行应用程序。

4>

“课程管理”菜单栏中的“课程增加”项

6.创建数据窗口对象

16选择显示风格

17定义数据源

18控制数据

19保存

对象名:

d_c_insert

20数据对象

7.设计课程增加窗口

(10)创建窗口

dw_1.InsertRow(0)

closequery事件脚本:

增加脚本:

inti

i=dw_1.GetRow()

IFIsNull(dw_o[i])orTrim(dw_o[i])="

THEN

课程编号不能为空!

dw_1.InsertRow(0)

dw_1

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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