数据库系统实验大纲.docx
《数据库系统实验大纲.docx》由会员分享,可在线阅读,更多相关《数据库系统实验大纲.docx(34页珍藏版)》请在冰豆网上搜索。
数据库系统实验大纲
《数据库系统》课程实验指导
实验学时数:
18
一、课程的任务
《数据库系统》是计算机科学类各专业的专业基础课,通过本课程的学习,使学生掌握数据库设计、数据库管理、数据库程序设计的基本知识和基本技能。
二、实验目的
本课程以Microsoft的SQLServer2000为例,前台可自由选用PowerBuilder、VB、VC、JAVA等各种语言,本指导书以PB为例。
理论和实践相结合,掌握数据库设计和管理方法,能熟练进行数据库的设计和操作管理,并结合实际问题,进一步掌握软件工程的设计方法,能够开发出客户服务器模式下的数据库应用程序,为随后的数据库课程设计打好基础。
三、实验案例
本次课程实验中,使用教师上课及学生选课的案例来贯穿整个实验阶段。
其中的实体包括:
学生、教师、课程、院系,联系包括:
学生选课、教师授课、学生属于一个院系,教师在一个院系中工作。
部分E-R图如下:
四、实验要求
1、准时到达指定机房上机,不迟到早退;
2、按时完成实验内容,每个实验完成后,现场演示给指导老师检查并记录;
3、实验四要求写电子版实验报告,文件名以“学号-姓名-报告.doc”命名,并上传至FTP服务器所在班级目录下;
4、实验五完成并且老师检查后,将程序打包,以“学号-姓名.rar”命名,上传ftp服务器。
5、实验结束一周后将关闭FTP服务器,请同学们及时上传。
实验一学习数据库开发工具(2学时)
一、实验目的
以PowerBuilder为例,初步熟悉一种数据库开发工具。
选择JAVA语言的同学因为有一定的基础,可自行熟悉Eclipse环境。
二、基础知识
(一)PowerBuilder的特点
数据库应用是当前计算机应用的一个非常重要的方面,而在目前的数据库应用技术中普遍采用的就是客户机/服务器体系结构,在这种体系结构中,所有的数据和数据库管理系统都在服务器上,客户机通过采用标准的SQL语句等方式来访问服务器上数据库中的数据。
由于这种体系结构把数据和对数据的管理都统一放在了服务器上。
就保证了数据的安全性和完整性,同时也可以充分利用服务器高性能的特点。
正因为客户机/服务器体系结构的这些优点,因而得到了非常广泛的应用。
当然随着网络技术的迅速发展,对跨平台、分布式技术的要求也不断提高,各种数据库编程工具也随着发展。
选用高效的、具有良好可视化的编程工具去开发各种数据库系统,能达到事半功倍的效果,但是现在市面上的数据库编程工具门类众多,如目前机房中就安装了VB,VC,JBuilder,PowerBuilder等。
大家可根据自己的特长及兴趣,自由选用各种语言。
但如无特别原因,推荐大家使用JBuilder或PowerBuilder。
发展到今天,PowerBuilder已发布了10.0版本,在其各版本发展历史中,划时代的是6.5版和8.0版,时至今日还能遇到用其开发的MIS应用系统,可见生命力的强大。
PB使用简单,容易学习,容易掌握,在代码执行效率上也有相当出色的表现,是开发MIS系统和各类数据库管理系统的首选。
PB是一种真正的4GL语言(第四代语言),可随意直接嵌套SQL语句,返回值被赋值到语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类似SQLJ的规范,数据访问中具有无可比拟的灵活性。
在网络开发中提供了较多动态生成Web页面的用户对象和服务以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封装;但是用于网络通讯的支持不足;静态页面定制支持有限,使得PB在网络方面的应用不是非常广泛。
PB是一种面向对象的开发工具,各种WINDOWS应用程序中常见的窗口、菜单、控件等在PB中都是一个个的对象。
在PB中我们还可以创建自己的用户对象。
特别要指出的是PB提供了对面向对象方法中的各种技术的全面支持,我们可以利用面向对象方法中的对象的封装性、继承性、多态性等特点使得我们开发的应用程序具有极大的可重用性和可扩展性,而这一点正是软件工程中对应用程序所提出的重要目标。
和大多数的WINDOWS应用程序一样,PowerBuilder也是事件驱动工作方式。
在这种工作方式中,程序的运行没有固定的流程,程序中的代码也是为各种可能发生的事件编写的,当程序开始运行之后,它就可以接受来自系统,用户或者其它应用程序触发的事件,然后执行相应的事件代码。
事件驱动的工作方式与面向对象技术是紧密相关的,在PB应用程序中,接受发生的事件的往往就是程序界面中的各种可视化对象。
PB使用的编程语言叫做PowerScript,它也是一种高级的,结构化的编程语言。
PowerScript语言除了提供基本的流程控制语句,还提供了一套完整的嵌入式SQL语句及几百个函数来操纵各种对象和提供诸如DDE,OLE等方面的支持。
开发人员可以像使用其它语句一样自由地使用SQL语言,这样就大大增强了程序操纵和访问数据库的能力。
此外我们还可以定义自己的函数,处理特定的事件。
学习PowerBuilder时相当一部分的时间就是用来了解和熟悉PowerBuilder提供的各种函数。
可以说PowerBuilder既适合初学者快速学习数据库的开发,又可以让有经验的开发人员开发出功能强大的数据库,是一种适用面非常广的开发工具。
PowerBuilder的一个最大特点是提出了数据窗口对象的概念。
数据窗口对象也是PowerBuilder中的一种对象类型,与其它对象不同的是数据窗口对象是专门为了访问后台的数据库服务的,在数据窗口对象中我们定义了数据的来源和数据的显示风格,这样在应用程序中我们就可以把精力完全放在程序的运行流程控制上,而不用关心具体数据的来源,因为我们在数据窗口对象中已经定义好了数据的来源。
如果需要使用数据库中不同的数据也只要对数据窗口对象进行修改就可以了。
特别要指出的是PowerBuilder在数据窗口对象中提供了丰富的数据显示方式,可以很容易地开发出功能强大的图形界面的访问服务器数据库的应用程序,满足各种不同的需要。
PB是一个用来进行客户/服务器开发的完全的可视化开发环境。
PB应用程序由窗口组成,这些窗口包含用户与之交互的控件。
开发人员可以使用所有标准控件(如按钮、复选框、下拉式列表框或编辑框)以及PB提供的特殊的使应用程序更易于开发和使用的控件。
(二)PowerBuilder开发环境
1.PB开发环境的组成
PowerBuilder开发环境由一系列集成的图形画板(Painter)组成,应用开发人员通过简单的鼠标操作即可设计、建立、交互检验和测试客户/服务器应用程序。
点击“开始”->“程序”->“Sybase”->“PowerBuilder10”,出现如图1-1所示启动界面。
图1-1启动PB后的界面
由图可见,PB编程环境中主要包括:
PBPainters(画板):
画板是给开发者提供完成窗口结构(如窗口、菜单、数据窗口)设计的工具。
PBLibraries(库):
PB开发的应用系统中,所有应用对象(包括应用、窗口、菜单、数据窗口、自定义函数等)均放在应用库(.pbl)中。
PBDatabase(数据库)
Toolbars(工具条):
每个画板上的图像按钮。
PBDeploymentKit(应用工具箱)
OnlineHelp(在线帮助)
2.PowerScript语言
PowerScript是PB使用的程序设计语言,有点类似于VB与C的混合物,非常简洁高效。
它提供了一套完整的嵌入式SQL语句并提供了丰富的数据类型和众多的函数。
同学们可参考联机帮助或从图书馆借相关资料。
(三)基本要素
1.创建工作区(WorkSpace)
自PB8.0版本之后,如其他高级编程语言一样,想要建立一个应用程序,首先要建立一个工作区(WorkSpace),在一个工作区中可以创建多个应用程序。
创建工作区步骤如下:
1)选择菜单File->New,或点击工具条上
图标,出现New对话框,如图1-2
2)在WorkSpace标签页中,选中WorkSpace图标,点击OK按钮。
3)如图1-3所示,在弹出的NewWorkSpace对话框中选择路径,输入文件名test1.pbw,单击“保存”按钮。
这样,工作区test1.pbw创建完毕,下面该创建应用对象了。
图1-2New对话框-Workspace
图1-3NewWorkSpace对话框
2.创建应用对象(Application)
PB把一个解决实际问题的应用程序叫做Application,即应用。
应用对象是进入到应用库中其它对象的入口点,通过在Application级编写代码,可以展开一个程序框架。
应用对象是PowerBuilder应用程序的基础,通过它可以设置有关应用程序的全局信息,例如应用程序的名字,程序使用的图标,程序中文本的字体,应用程序所在的对象库等各种信息。
要记住的很重要的一点是应用对象是PowerBuilder应用程序执行时的入口点。
下面我们就开始创建一个新的应用对象。
1)选择菜单File->New,或点击工具条上
图标,出现New对话框
2)在Target标签页中,选中Application图标,点击OK按钮,如图1-4所示。
3)在弹出的对话框中选择路径,用于设置把应用对象保存到哪个库文件中。
应用程序对象库实际上是一个特殊格式的文件,用于存放应用程序所用到的各种对象。
应用程序本身作为一个对象自然要放到对象库中。
输入文件名test1,如图1-5,单击“保存”按钮。
这样就创建了一个名为test1的应用。
此时系统树窗口(SystemTree)展开后如图1-6所示
图1-4New对话框-Application
图1-5设置应用对话框
图1-6当前系统树窗口
3.创建窗口及基本控件
窗口(Window)是PB中主要的用户界面,它提供了应用程序同用户之间交互的非常直观的界面,目前许多的WINDOWS下的开发工具都提供了可视化开发窗口对象的方法,使得开发一个窗口对象变得非常容易,PowerBuilder也不例外。
窗口由事件、各种控件和它本身的属性组成。
窗口中常用控件有:
CommandButton(命令按钮)、DataWindow(数据窗口控件)、DropDownListBox(下拉列表框)、EditMask(编辑掩码控件)、Graph(统计图控件)、GroupBox(组框)、ListBox(列表框)、Tab(标签)、MultiLineEdit(多行编辑框)、OLEControl(OLE控件)、Picture(图片框)、SingleLineEdit(单行编辑框)、StaticText(静态文本框)、TreeView(树型视图)等。
现在我们来创建第一个窗口对象,以一个简单的登录窗口为例,步骤如下:
1)选择菜单File->New,或点击工具条上
图标,出现New对话框
2)在PBObject标签页中,选中Window图标,点击OK按钮,如图1-7所示。
图1-7New对话框-PBObject
3)现在出现如图1-8所示的新建窗口,主要由以下几个部分组成:
图1-8窗口画板
●布局子窗口(Layout):
位于左侧,用来设计在窗口上的控件及其摆放位置;
●属性子窗口(Property):
位于右侧,用来设置窗口及窗口上控件的各种属性,包括四个选项卡:
General选项卡:
窗口对象常用的一些属性,如Title属性等;
Scroll选项卡:
窗口对象滚动方面的一些属性;
Toolbar选项卡:
窗口对象的工具栏;
Other选项卡:
窗口对象位置坐标方面的一些属性,如Width属性等。
现在在General选项卡中,将Title属性设为“登录”,将MaxBox和MinBox复选
框设为非选中状态,这样登录窗口就不能最大化和最小化。
4)在窗口中添加两个StaticText(静态文本)控件st_1和st_2、两个SingleLineEdit(单行编辑框)控件sle_1和sle_2、两个CommandButton(命令按钮)cb_1和cb_2。
添加控件的方法有两种:
一种是单击菜单项Insert->Control,从中选择要添加的控件的名称,如图1-9所示;第二种是打开
图标旁的下拉列表,从中选择控件,如图1-10所示
图1-9Control菜单项
图1-10从控件列表中选择
首先从中选择StaticText控件,然后在窗口中单击,就会发现一个静态文本框控件就出现在窗口中,再次单击,把第二个静态文本框控件放到窗口中,用类似的方法依次把两个SingleLineEdit控件,也就是单行编辑框放到窗口中,最后再把两个CommandButton控件,也就是命令按钮放到窗口中。
5)为了使窗口更美观、更符合实际需要,要对控件的属性进行设置。
单击第一个静态文本框选中它,然后放到合适的地方,在上面单击右键,在弹出的菜单中选择PROPERTIES菜单项,系统弹出一个对话框用来设置这个控件的属性(图1-11),NAME栏显示的是控件的名字,这个名字将在以后编写脚本时使用,系统已经设置了一个缺省的名字,这里不作修改,接下来的TEXT一栏是用来设置显示在静态文本框中的文本,这里把它改为“用户名”。
图1-11静态文本框属性设置图1-12单行编辑框属性设置
图1-13命令按钮属性设置图1-14保存窗口对话框
用类似的方法调整另一个静态编辑框的位置,并把上面的文字改为“登录口令:
”。
图1-12是单行编辑框的属性设置,应注意的是第二个框用于接收用户输入的口令,作为口令,不应是明文形式,要加以隐藏,则可选中Password复选框,即Password属性设为True。
图1-13是命令按钮的属性设置,分别将Text属性设为“登录”和“退出”。
6)点击工具栏
图标,可对窗口进行预览,发觉不合适可反复修改直至满意。
点击工具栏
图标,保存窗口,出现如图1-14对话框,将刚建的窗口命名为“w_login”,并可在Comments栏中添加一些对窗口的说明性文字,最后单击OK按钮,窗口保存完毕,如图1-15所示,到此为止第一个窗口就设计好了,但一句程序也未添加,故无法完成特定的功能。
图1-15保存后的窗口
7)添加脚本
①为应用程序Application的Open事件添加脚本。
因为应用程序运行时,首先执行的就是Application的Open事件,所以在该事件中可添加一些代码,用来初始化应用程序。
此处只需要打开登录窗口。
脚本如下:
open(w_login)//打开登录窗口w_login
②在登录窗口中要求用户输入用户名和登录口令,并且单击登录按钮进行验证,故需要为登录按钮的Clicked事件添加脚本如下:
//判断用户名与口令是否正确
ifsle_1.text<>'brand'then
MessageBox("提示","请输入正确的用户名!
")
return
endif
ifsle_2.text<>'12345'then
MessageBox("提示","登录口令非法,请确定后重新输入!
")
return
endif
//open(w_main)//通过验证,则打开主窗口w_main
③若用户想退出登录窗口,只需单击“退出”按钮,故为该按钮的Clicked事件添加脚本如下:
close(parent)//关闭当前窗口
再次点击工具栏
图标,保存脚本。
点击工具栏
图标,运行刚刚建立的应用程序,首先出现图1-16
图1-16运行界面
随便输入用户名、口令,与程序中设置条件不符,点击“登录”按钮,则如图1-17
图1-17未通过登录验证
除了例子中涉及的几种控件,PB还提供了几十种丰富多彩的控件,如单选框、复选框、
图片按钮、滚动条、多行文本编辑器、下拉列表框等,都需要实际掌握。
在使用PB编程中,还特别需要对下面几方面的应用进行深入探讨:
1)数据窗口
数据窗口(DataWindow)是PB为解决用户数据同数据库中数据之间的转换问题而提供的一种比较完善的解决方案,是PB最强大的功能之一。
对于不太熟悉SQL的开发人员来说,DataWindow可自动生成SQL语句,不需开发人员编程就可操纵数据。
它可以直接管理数据库操作,而最终用户通过已建好的DataWindow即可获得所需的信息。
2)菜单
PB有很强的菜单功能,提供了下拉链连式菜单、按钮式菜单、图标按钮式菜单及结合式菜单。
3)用户对象
用户对象是拓展PB功能的最灵活对象之一。
利用用户对象,我们既可以扩展系统原有对象的功能,增加新的使用方法,又能够创建出可重用的自定义部件,在一个或多个应用程序中反复使用,缩减开发和维护的时间,进一步提高应用程序的开发效率。
同时,对速度敏感的部分可以用C++开发,然后将其嵌入到PB应用程序中。
三、实验内容要求
目前,机房中安装的是PB9或者10.0的版本,其编程环境基本相同。
要求完成:
1.创建菜单和MDI窗口,运行效果如图1-18所示,目的是通过实验了解有关窗体和菜单的概念,并学会如何创建它们。
图1-18题目1运行效果
2.制作带图片的菜单,运行效果如图1-19所示,制作了4个子菜单,其中“新建”和“打开”是完全的图标菜单,“保存”和“退出”是图标和文字共存的菜单,使制作的菜单图文并茂。
可以通过调用WindowsAPI函数把指定的图片装载到指定的菜单上。
提示:
用到的图片可使用截图工具从PB环境中截取。
图1-19题目2运行效果
3.制作右键弹出菜单,即在窗口上单击鼠标右键,就会在鼠标所指位置弹出事先设计好的菜单,运行效果如图1-20所示,从而通过菜单完成所需功能的操作。
程序中支持右键菜单会为用户的操作带来许多方便,同时鼠标右键可以分担部分左键的功能,在实践中得到广泛应用。
关键:
通过在窗口或控件的Rbuttondown事件中的调用语句来控制菜单的弹出。
图1-20题目3运行效果
4.使用滚动条调色,即使用三个水平滚动条(HscrollBar),分别代表红、蓝、绿三原色,来实现一个调色板的功能。
运行效果如图1-21所示,单击滚动条的空白位置、拖动滚动框,滚动条的值就会连续改变,窗口界面和静态文本的颜色都会随之发生变化。
注意:
此处滚动条是一个独立的控件,不同于窗口或某些控件(多行文本编辑框)本身附带的滚动条。
滚动条通常用于为用户提供图形化的、调整连续值的重要手段。
图1-21题目4运行效果
5.其他控件的使用。
实验二搭建数据库及表结构(4学时)
一、实验目的
1)熟悉SQLServer2000数据库环境
2)熟练掌握DDL语句,对数据库建模有明确的理解,并在此基础上建立学生管理数据库student
3)了解SQLSERVER的数据备份和恢复机制,掌握在企业管理器中数据库备份和还原的方法
二、实验相关知识
SQLServer2000安装成功后,通常包含四个由SQLServer本身所使用的数据库,即系统数据库:
master、model、msdb、Tempdb,和两个示例数据库:
pubs、northwind。
现在分别说明一下:
1.master数据库:
记录了管理SQLServer系统所需的所有信息,包含所有的登入使用者、系统中定义的数据库和服务器的处理程序。
储存在master数据库中的数据表称为systemcatalog。
2.model数据库:
是数据库模板,于建立新数据库时使用。
预设的model数据库包含建立databasecatalog的数据表,这些数据表用于让SQLServer定义使用者数据库的其它对象。
3.msdb数据库:
是用来记录SQLServer代理程序服务项目,如排程与工作项目、警示和作业等等,并且会有历程纪录。
警示为使用者定义响应给SQLServer的事件;作业是由SQLServer代理程序执行的一系列动作。
4.Tempdb数据库:
包含了所有的暂存数据表与暂存的预存程序。
它也可填满任何其它的暂时储存需求。
当SQLServer结束执行时,其内容会自动地移除。
事实上,任何一个暂存对象都可以由使用者来建立。
5.pubs数据库:
存储了一个虚构的图书出版公司的基本情况。
6.northwind数据库:
包含了一个公司的销售数据,此公司名为NorthwindTraders,是一个虚构的公司从事食品的进出口业务。
注意:
强烈建议不要在master数据库中创建任何用户对象(如表、视图、存储过程或触发器)。
在SQLServer中数据库是由数据库文件和事务日志文件组成的,一个数据库至少应包含一个数据库文件(DatabaseFile)和一个事物日志文件(TransactionLogFile)。
数据库文件是存放数据库数据和数据库对象的文件,一个数据库可以有一个或多个数据库文件。
一个数据库文件只属于一个数据库,当有多个数据库文件时有一个文件被定义为主数据库文件(PrimaryDatabaseFile),扩展名为mdf,它用来存储数据库的启动信息和部分或全部数据。
一个数据库只能有一个主数据库文件,其它数据库文件被称为次数据库文件(SecondaryDatabaseFile),扩展名为ndf,用来存储主文件没存储的其它数据。
采用多个数据库文件来存储数据的优点体现在:
●数据库文件可以不断扩充而不受操作系统文件大小的限制
●可以将数据库文件存储在不同的硬盘中,这样可以同时对几个硬盘做数据存取,提高了数据处理的效率。
对于服务器型的计算机尤为有用。
事务日志文件是用来记录数据库更新情况的文件,扩展名为ldf。
例如使用INSERT、UPDATE、DELETE等对数据库进行更改的操作都会记录在此文件中,而如SELECT等对数据库内容不会有影响的操作则不会记录在案。
一个数据库可以有一个或多个事务日志文件。
数据库的备份和还原
(一)数据库备份操作
执行备份操作对运行中的事务影响很小,因此可以在正常操作过程中执行备份操作。
注意:
如果在进行备份操作时尝试创建或删除数据库文件,则创建或删除将失败。
如果正创建或删除数据库文件时尝试启动备份操作,则备份操作将等待,直到创建或删除操作完成或者备份超时。
打开企业管理器,连接到数据库服务器实例后,右键单击“数据库”;或展开“数据库”文件夹,右键单击要备份据库,如student数据库。
然后指向“任务”,再单击“备份”,分别如图2-1、图2-2所示。
将出现“备份数据库”对话框,如图2-3所示。
图2-1选择备份数据库方式1
图2-2选择备份数据库方式2
在“数据库”列表框中,验证数据库名称,现在是“student”。
您也可以从列表中选择其他数据库。
可以对任意恢复模式(FULL、BULK_LOGGED或SIMPLE)执行数据库备份。
在“备份”类型选择中,选择“完全”。
请注意,只有在创建完全数据库备份之后,才可以创建差异数据库备份。
图2-3数据库备份-常规选项卡
然后选择备份目的地,单击
按钮,如图2-4所示,点击
按钮选择备份路径。
图2-4选择备份目的
选择的路径将显示在“备份到”列表框中。
若要删除备份目标,请选择该备份目标并单击
按钮。
若要查看备份目标的内容,请选择该备份目标并单击“内容”按钮。
随后确定重写规则,现在选择“追加到媒体”单选钮,则将备份内容添加到当前备份之后;若选择了“重写现有媒体”单选钮,则将原备份覆盖。
图2-5选择备份设备位置
调度复选框可对应备份的设置,选中后。
单击右面的按钮来编辑调度,如图2-6所示。
图2-6