您好,欢迎访问三七文档
数据库系统实验指导书1实验指导书班级:姓名:数据库系统实验指导书2实验1SQLSERVER上机环境、表的基本操作和PB运行环境一、实验目的:1.熟悉SQLSERVER上机环境、了解SQLSERVER2000各个组件的作用、学习使用SQLSERVER联机丛书。熟悉SQLServer企业管理器操作环境。熟悉PB编程环境。2.掌握创建数据库和表的操作。3.掌握数据输入、修改和删除操作。4.学会用SQL语句对表创建和删除索引5.熟悉使用UPDATE/INSERT/DELETE语句进行表操作。二.实验内容:1.新建数据库XUE,分别用企业管理器创建如下几个表,要求student表和course表使用企业管理器创建,sc表使用SQL命令创建,并将SQL命令以.SQL文件的形式保存在磁盘。表1.1student表(学生信息表)字段名称类型宽度允许空值主键说明sclasschar3NOTNULL是班级号snochar3NOTNULL是学生学号snamevarchar10NOTNULL学生姓名sexchar2NULL学生性别sagetinyint1NULL学生年龄sdeptvarchar4NULL所在系表1.2course表(课程信息表)字段名称类型宽度允许空值主键说明cnochar3NOTNULL是课程编号cnamevarchar20NOTNULL课程名称cpnochar3NULL先修课程号credittinyint1NULL课程学分表1.3sc表(学生选课成绩表)字段名称类型宽度允许空值主键说明sclasschar3NOTNULL是班级号snochar8NOTNULL是学生学号cnochar3NOTNULL是课程编号(外键)gradetinyint1NULL学生成绩数据库系统实验指导书32.修改列属性:(1)用企业管理器将Student表中的sex字段设为不能为空(notnull)。(2)用SQL语句将Student表中的属性sdeptvarchar(4)改成char(4)类型。3.添加列:(1)用企业管理器在Course表中添加一列year,类型为varchar(4)。(2)用SQL语句在student表的sage字段添加约束,sage的属性值在18-30岁之间。4.删除列:用SQL语句将Course表中的year字段删除。5.对数据库XUE的基本表录入基本数据,示例如下(自己可根据需要调整录入):表1.4Student表(学生信息表)表1.6SC表(选课信息表)表1.5Course表(课程信息表)6.分别用SQL语句和企业管理器建立以下索引(如果不能成功建立,请分析原因):在企业管理器建立索引方法:(1)利用索引向导,选择菜单“工具”|“向导”|“数据库”|“创建索引向导”(2)利用索引管理器:选择一个表,然后再快捷菜单或“操作”菜单上选择“所有任务”|“管理索引”菜单。sclasssnosnamessexsageSdept11李勇男20IS12刘晨女19IS13刘朋男20IS21王敏女18MA22张锋男19MA23李敏男20MAsclasssnocnograde11192112851138812290123802117521292222872238923190cnocnamecpnoccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64数据库系统实验指导书4(1)在student表的sname列上建立普通降序索引。(2)在course表的cname列上建立唯一索引。(3)在sc表的sno列上建立聚集索引。(4)在sc表的sclass(升序),sno(升序),cno(降序)三列上建立一个普通索引。7.删除索引:将course表的cname列的唯一索引删掉。8.备份和恢复数据库XUE。9.熟悉PB编程环境,完成PB实用教程中实验1PowerBuilder集成环境。(选做,数学系同学必做)数据库系统实验指导书5实验2SQL数据查询、视图一、实验目的1.熟悉SQL数据查询语言。2.熟练使用SQL语句进行单表查询、多表连接查询、嵌套查询、集合查询。3.掌握创建、修改、查询视图的方法。4.熟悉使用UPDATE/INSERT/DELETE语句进行表操作。二、实验内容1.数据查询对XUE数据库实现以下查询:(1)查询所有学生的详细信息(2)查询1班的学生学及姓名(某些列)(3)查询‘刘晨’的出生年(列表达式)(4)查询姓‘刘’的学生的详细情况(5)查询选修了1号课的学生姓名、性别、成绩(6)查询没有先行课的课程的课号和课名(NULL的使用)(7)查询2班的所有女生的情况(ANDOR)(8)查询学分为2到4之间的课程(Betweenand)(9)查询选修1或2号课的学生的详细情况(10)查询2班至少选修一门其先行课为1号课的学生的详细情况(11)查询2号科成绩最高的学生(12)查询1班2号课成绩最低的学生(13)查询选修2号课且成绩不是最低的同学(ANY)(14)*查询至少选了1班2号同学所选课的所有同学(EXISTS\相关子查询)(15)*查询不选1号课的学生(EXISTS)(16)查询1班平均分在85分以上的同学详细情况及各科成绩(GROUP)(17)查询选了1号课且选了2号课的学生的学号(18)查询选了1号课但不选2号课的学生的学号(19)查询选2号课的学生的名字及相应2号课成绩,按成绩排序(ORDERBY连接)2.数据更新(1)对于student表,插入一条新记录,它的具体信息为,班级号:1、学号:4、姓名:张三、性别:男、年龄:20、所在系:IS。(2)对每个系,求学生的平均年龄,并把结果存入一个新建的表dept_age中。数据库系统实验指导书6(3)将班级号为1,学号为4的学生的年龄改为22岁。(4)将MA系所有学生的成绩置0。(5)将所有学生的年龄增加1岁。(6)对于student表,删掉所有年龄小于21岁,并且院系为IS的学生的记录。(7)删除MA系所有同学的选课记录。3.视图(1)使用企业管理器创建视图:①在XUE库中以“student”表为基础,建立MA系学生的视图V_MAStudent②建立一个所有IS系学生的班级号、学号以及其平均成绩的视图COMPUTE_AVG_GRADE;(2)使用SQL语句创建视图:①建立一个每个学生的班级号、学号、姓名、选修的课号、课名及成绩的视图S_C_GRADE;②建立IS系选修了1号课程且成绩在90分以上的学生的视图V_IS_Score③将各系学生人数,平均年龄定义为视图V_NUM_AVG。(3)查询以上所建的视图结果(4)查询选修了1号课程的学生(5)在MA系学生的视图中找出年龄小于20岁的学生(6)将数学系学生视图V_MAStudent中班级号为1,学号1的学生姓名改为“王武”(7)向数学系学生视图V_MAStudent中插入一个新的学生记录,其中班级号为1,学号为6,姓名为赵新,年龄为20岁(8)删除数学系学生视图V_MAStudent班级号为1,学号为6的记录(9)用企业管理器删除视图“V_MAStudent”(10)用SQL语句删除视图S_C_GRADE数据库系统实验指导书7实验3PB常用功能控件的使用及PB与SQLSERVER数据库的连接(选做,数学系同学必做)一、实验目的掌握PB环境及语句的使用,学习PB与SQLSEREVR数据库的连接方法与编程技巧。二、实验内容题目见PB实用教程中,实验2PowerScript语言与事件脚本、实验3窗口与常用控件编程(一)、实验4数据库的创建与连接、实验5窗口与常用控件编程(二),实验6窗口与常用控件编程(三),编程序,然后上机调试运行。数据库系统实验指导书8实验4嵌入式SQL(C语言方式)(注:实验4,5二选一)一、实验目的1.熟悉嵌入式SQL编程2.巩固SQL的知识二、实验内容嵌入SQL的C应用程序具体到VC++6.0,SQLServer2000下调试可分为五步:1、环境初始化;2、预编译;3、编译;4、连接;5、运行。下面就其中重要的的操作方法给以详细说明。1.环境初始化(1)SQLServer2000为其嵌入式SQL提供了一此特殊的接口;默认的安装方式没有安装这此接口;因此首先检查你的SQLServer是否安装了此接口,若没有,需要把devtools拷贝到SQLServer的系统日录下;如果SQLServer安装在C盘,则SQLServer的系统目录是C:\ProgramFiles\MicrosoftSQLServer。(2)VC++6.0环境配置。具体配置分为如下三步:①Tools-options-directories-IncludeFiles:添加x:\ProgramFiles\MicrosoftSQLServer\80\Tools\DevTools\Include。(X为你所安装的SQLServer所在盘符,该目录及devtools所在include目录,实际情况根据你安装的系统而定)。将SQLserver自带的用于数据库开发的头文件包含到工程环境中。如图4-1所示。②Tools-options-directories-LibraryFiles:添加x:\ProgramFiles\MicrosoftSQLServer\80\Tools\DevTools\Include。(X为你所安装的SQLServer所在盘符,该目录及devtools所在include目录,实际情况根据你安装的系统而定),将开发用到的包包含到工程中。如图4-2所示。③Tools-options-directories-Executablefiles:添加x:\ProgramFiles\MicrosoftSQLServer\80\Tools\Binn。C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQLServer的预处理程序是nsqlprep.exe。此文件由sqlserver提供,在安装SQLServer可能不会被安装,所以要将此文件从SQLServer安装盘拷贝到指定磁盘目录(可在任意目录中)。注意:拷贝在C:盘根目录下可行,其它目录常出问题,未查原因。如果拷贝到C盘根目录,在Executablefiles添加:C:\。如果4-3所示。数据库系统实验指导书9图4-1图4-2图4-32、预编译C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQLServer的预处理程序是nsqlprep.exe。MicrosoftSQLServer2000提供的预编译程序nsqlprep.exe,用于对嵌入式SQL程序进行预编译处理,生成C语言源程序。实际上就是将嵌入式SQL程序中的嵌入式SQL语句替换为对运行时库文件Sqlakw32.dll的函数调用,接着运行时库文件调用动态连接库Ntwdblib.dll通过网络来存取MicrosoftSQLServer2000数据库服务器。预编译程序nsqlprep的常用语法为:nsqlprepESQL_File/SQLACCESS/DBserver_name.database_name/PASSlogin.password数据库系统实验指导书10其中ESQL_File是要预编译的嵌入式SQL程序;/SQLACCESS通知nsqlprep自动地为嵌入式SQL程序中的静态SQL语句创建相应的存储过程;/DBserver_name.database_name指明要连接的服务器以及数据库名称;/PASSlogin.password给出登录名及相应的口令.若在VC++6.0中编译,设置如下:(1)首先新建一个空的Win32ConsoleApplication,如图4-4所示。图4-4(2)在工程中新建源文件,扩展名为.sqc,在该源文件中编写嵌入式SQL程序源代码;(3)对工程设置如下:选择“Project”|“Settings”菜单项;从弹出的对话框中,选中要预编译的.sqc源文件,单击C
本文标题:数据库实验指导书
链接地址:https://www.777doc.com/doc-3974733 .html