欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据库系统原理实验五数据库设计.docx

    • 资源ID:2146547       资源大小:919.09KB        全文页数:35页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统原理实验五数据库设计.docx

    1、数据库系统原理实验五数据库设计临沂大学信息学院学生上机(实验)报告20142015学年度第1学期 课程名称:数据库系统原理 指导教师: 学生姓名: 学 号:一、实验名称数据库设计二、实验目的1、理解数据库设计的含义 2、通过实践,掌握所学的数据库设计方法和步骤。 3、学会在一个实际的RDBMS软件平台上创建数据库;4、练习基于数据库支持的管理信息系统的开发方法;三、实验环境1、实验仪器设备。至少具有如下配置的计算机:计算机主频至少133MHZ;计算机内存至少32MB以上;至少85MB以上的硬盘空间;VGA或更高分辨率的显示器。2、软件环境。操作系统:Windows 7或Windows XP。D

    2、BMS: Visual FoxPro。四、实验内容设计一管理信息系统:学生选课管理信息系统。五、实验步骤1、需求分析。 (1)学生选课的数据流图如下所示:课程 f3 f1 f2 选课学生 图5-1 学生选课数据流 (2)数据字典 1)数据项 数据项名 含义 数据类型 长度 小数位数 XH 学生学号 字符 10 XM 学生姓名 字符 8 AGE 学生年龄 数值 2 0 XB 学生性别 字符 2 SDEPT 学生系别 字符 20 CH 课程号 字符 2 CM 课程名 字符 20 G 课程成绩 数值 4 1 XF 课程学分 数值 1 0 2)数据结构 名称 含义说明 编号 输入的数据流 输出的数据流

    3、 组成S 学生 1 无 f1 XH,XM,AGE,XB,SDEPT COURSE 课程 2 无 f3 CH,CM,XF SC 选课 3 f2 无 XH,CH,G 3)数据流 数据流名 说明 数据流来源 数据流去向 组成 f1 学生数据流 学生 选课(处理) XH f2 选课数据流 选课(处理) 选课 XH,CH,G f3 课程数据流 课程 选课(处理) CH 4)数据存储 名称 含义说明 编号 输入的数据流 输出的数据流 组成S 学生 1 无 f1 XH,XM,AGE,XB,SDEPT COURSE 课程 2 无 f3 CH,CM,XF SC 选课 3 f2 无 XH,CH,G 5)处理过程

    4、处理过程的名:SC 说明: 学生的选课处理 输入的数据流:f1,f3 输出的数据流:f2 简要说明: 输入学生的学号,输入课程的课程号,进行选课 (3)功能分析 输入学生信息,可实现添加、删除、修改, 输入课程信息,可实现添加、删除、修改,输入学生的学号,可以查询学生的详细信息和选课的详细信息;输入学生的学号和和课程号,进行选课,可以显示学生选课的详细信息;输入学生的学号和和课程号可以退课。2、概念结构设计。 根据以上分析的结果得出概念模型如下所示课程 学生 m n 图5-2选课E-R图 3、逻辑结构设计。 根据以上概念模型得出如下的关系模型 S(学生)(XH,XM,AGE,XB,SDEPT)

    5、 COURSE(课程)(CH,CM,XF) SC(选课)(XH,CH,G) 4、数据库物理设计。 本数据库采用Visual FoxPro提供的物理结构,存取方法采用索引存取,本数据库的索引有:S表:XHINDEX(主索引),COURSE表:CHIDEX(主索引),SC表:SCXHINDEX(普通索引)、SCCHINDEX(普通索引)。5、数据库实施。(1)规划 1)在D盘上建一个子目录,为201309270122-牟军宇 2)在设置系统的默认目录,在命令窗口下执行:Set default to D: /201309270122-牟军宇(2)创建项目在D:201309270122-牟军宇目录下建

    6、立一项目文件xuanke.pjx,1)打开VFP,单击“文件”菜单中的“新建”选项出现如图5-3所示。 2)在“新建”对话框中选中“项目”后,单击“新建文件”出现如图5-4所示的对话框。3)在“项目创建对话框”中选择“D:”,在项目文件文本框中输入xuanke.pjx后,单击“保存”。出现图5-5所示界面。(3)创建数据库 在图5-5中选择“数据”选项卡,选中“数据库”,如图5-6所示,单击“新建”出现如图5-7所示的对话框,单击“新建数据库”出现图5-8所示对话框,选择“D:学号-姓名”,在数据库名对话框中输入”student.dbc”,单击“保存”,出现图5-9所示的界面。4)创建数据表

    7、在图5-9中右键单击,单击“新建表“出现图5-10对话框,单击”新建表“,出现图5-11所示对话框,选择D:学号-姓名”,输入表名文本框中输入:s.dbf后,单击“保存“后,出现如图5-12所示的界面,输入S表的相应字段的参数。在图5-12中单击“索引“选项卡,输入索引名:xhindex,类型:主索引,表达式:xh,排序升序,如图5-13所示。输入完毕后单击”确定“出现如图5-14所示界面。和前面的步骤类似,依次建立SC表、COURSE表,在SC表中建立两个索引,索引名为SCXHINDEX ,类型为:普通索引,表达式为:XH,排序:升序;索引名为SCCHINDEX ,类型为:普通索引,表达式为

    8、:CH,排序:升序。在Ccourse表中建立一个索引,索引名为CHINDEX ,类型为:主索引,表达式为:CH,排序:升序。设置完毕后,在图5-9中右键单击,选择“添加表“,把S、SC、COURSE表添加到当前数据库中,出现如图5-15所示的界面。 COURSE和SC表的结构如下: course表:表5.1 course表属性名类型宽度小数位CH字符型2CM字符型20XF数值型10 CH:课程号,CM:课程名,XF:学分,CH为主键 sc表:表5.2 sc表属性名类型宽度小数位XH字符型10CH字符型2G数值型41XH:学号,CH:课程号,G:成绩, 分别在三个表中输入如图5-16、图5-17

    9、、图5-18数据所示数据图5-16 S表数据 图5-17 SC表数据图5-18 COURSE数据(3)建立表单 1)建立选课表单(xk.scx)打开xuanke.pjx,单击“文挡“选项卡,选中表单,单击”新建“,在弹出的对话框中单击”新建表单“,出现图5-19所示的界面。以下表单的建立方法类似。设置数据环境:在图5-19中右键单击,单击“数据环境”,弹出图5-20所示对话框,依次选中S、SC、COURSE表添加到当前数据环境中,如图5-21所示。然后关闭“数据环境”。 图5-20 添加表图5-21数据环境选课表单的属性:CAPTION:学生选课信息表-学号-姓名 AUTOCENTER:.T.

    10、 CLOSABLE: .F. MAXBUTTON: .F. MINBUTTON: .F.选课表单的过程Activate event()的代码如下所示。 thisform.grid3.linkmaster= thisform.grid3.recordsource= thisform.grid3.recordsourcetype=1 thisform.grid3.relationalexpr= thisform.grid3.childorder= thisform.refresh 在表单xk.scx上添加如下图5-22所示的控件:表格控件GRID1:此表格显示学生的详细信息。 表格控件GRID1属

    11、性:grid1.recordsource=s grid1.readonly=.t. 表格控件GRID1的事件thisform.grid1.column1.header1.click()代码如下所示: thisform.text1.value=thisform.grid1.column1.text1.value表格控件GRID2:显示课程的详细信息表格控件GRID2属性:grid2.recordsource=course grid2.readonly=.t. 表格控件GRID2的事件thisform.grid2.column1.header1.click()代码如下所示: thisform.te

    12、xt1.value=thisform.grid2.column1.text1.value 表格控件GRID3:显示选课的详细信息表格控件GRID3属性:grid3.recordsource=scgrid3.readonly=.t. 文本框TEXT1控件:用来输入学号或单击学生信息表中某一个学号来完成输入;文本框TEXT2控件:用来输入学生的课程号或单击课程表中某一个课程号来完成输入。 命令按钮控件 有五个命令按钮:查询、选课、退课、关闭、清除按钮。查询按钮:用户在文本框TEXT1输入学号,或在文本框在TEXT2输入课程号,可查询相关选课信息,查询结果在GRID3中显示。其click()代码如下

    13、所示: num1=alltrim(thisform.text1.value)num2=alltrim(thisform.text2.value)if num1=.and.num2= messagebox(请输入查询条件)else if num2=.and.not.num1 thisform.grid3.linkmaster=s thisform.grid3.recordsource=sc thisform.grid3.relationalexpr=xh thisform.grid3.childorder=scxhindex select s locate for s.xh=num1 if .n

    14、ot.found() messagebox(无此学生) else thisform.refresh thisform.grid1.setfocus endif endif if num1= .and.not.num2 thisform.grid3.linkmaster=course thisform.grid3.recordsource=sc thisform.grid3.relationalexpr=ch thisform.grid3.childorder=scchindex select course locate for ch=num2 if .not. found() messageb

    15、ox(没有此课程) else thisform.refresh thisform.grid2.setfocus endif endif endif 选课按钮:用户输入学号和课程号,单击选课,在选课信息表中显示该学生选课的详细信息。其CLICK()代码如下所示: num1=alltrim(thisform.text1.value)num2=alltrim(thisform.text2.value)if num1=.and.num2= messagebox(请输入选课的学号和课程号) else select s locate for s.xh=num1 if .not.found() messag

    16、ebox(此学号不存在请重新输入学号) else num1=alltrim(thisform.text1.value) select course locate for course.ch=num2 if .not.found() messagebox(此课程号不存在请重新输入课程号) else num2=alltrim(thisform.text2.value) thisform.grid3.linkmaster= thisform.grid3.recordsource= thisform.grid3.recordsourcetype=1 thisform.grid3.relationale

    17、xpr= thisform.grid3.childorder= thisform.refresh select sc locate for sc.xh=num1 and sc.ch=num2 if found() messagebox(此选课记录已存在) else insert into sc(xh,ch) values(num1,num2) thisform.grid3.linkmaster= thisform.grid3.recordsource=sc thisform.grid3.recordsourcetype=1 thisform.grid3.relationalexpr= this

    18、form.grid3.childorder= thisform.refresh thisform.grid3.setfocus endif endif endifendif退课按钮:用户输入相应的学号和课程号,单击退课,可实现学生的退课。其CLICK()代码如下所示:num1=alltrim(thisform.text1.value)num2=alltrim(thisform.text2.value)if num1=.and.num2= messagebox(请输入退课的学号和课程号) else num1=alltrim(thisform.text1.value) num2=alltrim(t

    19、hisform.text2.value) thisform.grid3.linkmaster= thisform.grid3.recordsource= thisform.grid3.recordsourcetype=1 thisform.grid3.relationalexpr= thisform.grid3.childorder= thisform.refresh select sc locate for sc.xh=num1 and sc.ch=num2 if .not.found() messagebox(此选课记录不存在) else delete from sc where sc.x

    20、h=num1 and sc.ch=num2 messagebox(退课完成) use sc exclusive pack thisform.grid3.linkmaster= thisform.grid3.recordsource= thisform.grid3.recordsourcetype=1 thisform.grid3.relationalexpr= thisform.grid3.childorder= thisform.refresh thisform.grid3.setfocus endif endif 关闭按钮:单击关闭,可关闭选课表单。其CLICK()代码如下所示:y=.f.

    21、z=.f.thisform.release 清楚按钮:单击清楚,可清楚TEXT1、TEXT2和选课信息表格的内容。其CLICK()代码如下所示: thisform.text1.value= thisform.text2.value= thisform.grid3.linkmaster= thisform.grid3.recordsource= thisform.grid3.recordsourcetype=1 thisform.grid3.relationalexpr= thisform.grid3.childorder= thisform.refresh thisform.grid3.set

    22、focus2)建立学生表单(xs.scx) 建立一个学生表单,在学生表单中添加如图5-23所示的控件:图5-23学生信息表单学生表单的属性:CAPTION:学生基本信息 AUTOCENTER:.T. CLOSABLE: .F. MAXBUTTON: .F. MINBUTTON: .F.学生表单的Activate event()事件代码如下所示: thisform.grid1.readonly=.t. 学生表单的load event()事件代码如下所示:use s exclusive在学生表单上添加如下控件: 表格控件grid1:显示学生基本信息 属性: recordsource: s 表格控件

    23、grid1的VALID()事件代码如下所示:thisform.grid1.readonly=.t. 命令按钮:新增、删除、修改、关闭 新增按钮:单击“新增“,用户在表格中新增一个学生记录,其CLICK()代码如下所示:thisform.grid1.readonly=.f.append blankthisform.grid1.setfocus 删除按钮:用户选中表格一记录,单击“删除“可删除此记录,其CLICK()代码如下所示: thisform.grid1.linkmaster= thisform.grid1.recordsource= thisform.grid1.recordsourcet

    24、ype=1 thisform.grid1.relationalexpr= thisform.grid1.childorder= thisform.refresh delete pack thisform.grid1.linkmaster= thisform.grid1.recordsource=s thisform.grid1.recordsourcetype=1 thisform.grid1.relationalexpr= thisform.grid1.childorder= thisform.refreshthisform.grid1.setfocusthisform.grid1.read

    25、only=.t. 修改按钮:单击“修改“,用户可修改表格中的任一记录,其CLICK()代码如下所示: thisform.grid1.readonly=.f. 关闭按钮:单击“关闭“,用户可关闭学生表单,其CLICK()代码如下所示: x=.f.thisform.release3)建立课程表单(kc.scx) 建立一个课程表单,在课程表单中添加如图5-24所示的控件:图5-24课程信息表单课程表单的属性:CAPTION:课程基本信息表 AUTOCENTER:.T. CLOSABLE: .F. MAXBUTTON: .F. MINBUTTON: .F.选课表单的Activate event()事件

    26、代码如下所示: thisform.grid1.readonly=.t. 选课表单的load event()事件代码如下所示:use course exclusive在学生表单上添加如下控件: 表格控件grid1:显示学生基本信息 属性:recordsource: course 表格控件grid1的VALID()事件代码如下所示:thisform.grid1.readonly=.t. 命令按钮:新增、删除、修改、关闭 新增按钮:单击“新增“,用户在表格中新增一个学生记录,其CLICK()代码如下所示:thisform.grid1.readonly=.f.append blankthisform.

    27、grid1.setfocus 删除按钮:用户选中表格一记录,单击“删除“可删除此记录,其CLICK()代码如下所示: thisform.grid1.linkmaster= thisform.grid1.recordsource= thisform.grid1.recordsourcetype=1 thisform.grid1.relationalexpr= thisform.grid1.childorder= thisform.refresh delete pack thisform.grid1.linkmaster= thisform.grid1.recordsource=COURSE th

    28、isform.grid1.recordsourcetype=1 thisform.grid1.relationalexpr= thisform.grid1.childorder= thisform.refreshthisform.grid1.setfocusthisform.grid1.readonly=.t. 修改按钮:单击“修改“,用户可修改表格中的任一记录,其CLICK()代码如下所示: thisform.grid1.readonly=.f. 关闭按钮:单击“关闭“,用户可关闭学生表单,其CLICK()代码如下所示: x=.f.thisform.release4)建立主表单(main.s

    29、cx) 新建一主表单,该主表单的作用是用来向其添加菜单,如图5-25所示。 主表单的主要属性为:CAPTION:学生选课信息管理系统 CLOSABLE: .F. MAXBUTTON: .F. MINBUTTON: .F. Showwindow: 2Windowstate: 2图5-25学生选课信息主表单的init()事件代码如下所示:public x,y,z *x,y,z用来定义菜单中的三个选项是否可用。x=.f.y=.f.z=.f.do mainmenu.mpr with this,.t. 主表单的unload()事件代码如下所示:clear events(4)建立菜单(mainmenu.mnx) 在图5-5中单击“其他“选项卡,选中菜单选项,单击新建,出现如图5-26所示界面。 图5-26菜单设计器在菜单设计


    注意事项

    本文(数据库系统原理实验五数据库设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开