数据库实验指导书_第1页
数据库实验指导书_第2页
数据库实验指导书_第3页
数据库实验指导书_第4页
数据库实验指导书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验指导书 班级: 姓名:实验1 SQL SERVER上机环境、表的基本操作和PB运行环境一、实验目的:1熟悉SQLSERVER上机环境、了解SQLSERVER2000各个组件的作用、学习使用SQL SERVER联机丛书。熟悉SQL Server企业管理器操作环境。熟悉PB编程环境。 2掌握创建数据库和表的操作。 3掌握数据输入、修改和删除操作。4学会用SQL语句对表创建和删除索引5熟悉使用UPDATE/INSERT/DELETE语句进行表操作。二实验内容:1新建数据库XUE,分别用企业管理器创建如下几个表,要求student表和course表使用企业管理器创建,sc表使用SQL命令创建,并将

2、SQL命令以 .SQL文件的形式保存在磁盘。 表1.1 student表(学生信息表)字段名称类 型宽 度允许空值主 键说 明sclasschar3NOT NULL是班级号snochar3NOT NULL是学生学号snamevarchar10NOT NULL学生姓名sexchar2NULL学生性别sagetinyint1NULL学生年龄sdeptvarchar4NULL所在系表1.2 course表(课程信息表)字段名称类 型宽 度允许空值主 键说 明cnochar3NOT NULL是课程编号cnamevarchar20NOT NULL课程名称cpnochar3NULL先修课程号creditt

3、inyint1NULL课程学分表1.3 sc表(学生选课成绩表)字段名称类 型宽 度允许空值主 键说 明sclasschar3NOT NULL是班级号snochar8NOT NULL是学生学号cnochar3NOT NULL是课程编号(外键)gradetinyint1NULL学生成绩2.修改列属性:(1)用企业管理器将Student表中的sex字段设为不能为空(not null)。 (2)用SQL语句将Student表中的属性sdept varchar(4)改成char(4)类型。3.添加列:(1)用企业管理器在Course表中添加一列year ,类型为varchar(4)。(2)用SQL语句

4、在student表的sage字段添加约束,sage 的属性值在18-30岁之间。4.删除列:用SQL语句将Course表中的year字段删除。 5对数据库XUE的基本表录入基本数据,示例如下(自己可根据需要调整录入):表1.4 Student表(学生信息表) 表1.6 SC表(选课信息表)sclasssnosnamessexsageSdept11李勇男20IS12刘晨女19IS13刘朋男20IS21王敏女18MA22张锋男19MA23李敏男20MAsclasssnocnograde11192112851138812290123802117521292222872238923190表1.5 Co

5、urse表(课程信息表)cnocnamecpnoccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言646分别用SQL语句和企业管理器建立以下索引(如果不能成功建立,请分析原因):在企业管理器建立索引方法:(1)利用索引向导,选择菜单“工具”|“向导”|“数据库”|“创建索引向导”(2)利用索引管理器:选择一个表,然后再快捷菜单或“操作”菜单上选择“所有任务”|“管理索引”菜单。 (1) 在student表的sname列上建立普通降序索引。(2) 在course表的cname列上建立唯一索引。(3) 在sc表的sno列上建立聚集索引。(4)

6、 在sc表的sclass(升序),sno(升序), cno (降序)三列上建立一个普通索引。7. 删除索引: 将course表的cname列的唯一索引删掉。8.备份和恢复数据库XUE。 9.熟悉PB编程环境,完成PB实用教程中实验1 PowerBuilder集成环境。(选做,数学系同学必做) 实验2 SQL 数据查询、视图一、实验目的1. 熟悉SQL数据查询语言。2. 熟练使用SQL语句进行单表查询、多表连接查询、嵌套查询、集合查询。3. 掌握创建、修改、查询视图的方法。4. 熟悉使用UPDATE/INSERT/DELETE语句进行表操作。二、实验内容1.数据查询对XUE数据库实现以下查询:(

7、1) 查询所有学生的详细信息(2) 查询1班的学生学及姓名(某些列)(3) 查询刘晨的出生年(列表达式)(4) 查询姓刘的学生的详细情况(5) 查询选修了1号课的学生姓名、性别、成绩(6) 查询没有先行课的课程的课号和课名(NULL的使用)(7) 查询2班的所有女生的情况(AND OR)(8) 查询学分为2到4之间的课程(Between and)(9) 查询选修1或2号课的学生的详细情况(10) 查询2班至少选修一门其先行课为1号课的学生的详细情况(11) 查询2号科成绩最高的学生(12) 查询1班2号课成绩最低的学生(13) 查询选修2号课且成绩不是最低的同学(ANY)(14) *查询至少选

8、了1班2号同学所选课的所有同学(EXISTS相关子查询)(15) *查询不选1号课的学生(EXISTS)(16) 查询1班平均分在85分以上的同学详细情况及各科成绩(GROUP)(17) 查询选了1号课且选了2号课的学生的学号(18) 查询选了1号课但不选2号课的学生的学号(19) 查询选2号课的学生的名字及相应2号课成绩,按成绩排序(ORDER BY 连接)2数据更新(1)对于student表,插入一条新记录,它的具体信息为,班级号:1、学号:4、姓名:张三、性别:男、年龄:20、所在系:IS。(2)对每个系,求学生的平均年龄,并把结果存入一个新建的表dept_age中。(3)将班级号为1,

9、学号为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分以上的

10、学生的视图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实验3 PB常用功

11、能控件的使用及PB与SQL SERVER数据库的连接(选做,数学系同学必做)一、实验目的掌握PB环境及语句的使用,学习PB与SQL SEREVR数据库的连接方法与编程技巧。二、实验内容题目见PB实用教程中,实验2 PowerScript语言与事件脚本、实验3 窗口与常用控件编程(一)、实验4 数据库的创建与连接、实验5窗口与常用控件编程(二),实验6窗口与常用控件编程(三),编程序,然后上机调试运行。实验4 嵌入式SQL(C语言方式)(注:实验4,5二选一)一、实验目的1. 熟悉嵌入式SQL编程2. 巩固SQL的知识二、实验内容嵌入SQL的C应用程序具体到VC+6.0, SQL Server2

12、000 下调试可分为五步:1、环境初始化;2、预编译;3、编译;4、连接;5、运行。下面就其中重要的的操作方法给以详细说明。1.环境初始化(1) SQL Server2000为其嵌入式SQL提供了一此特殊的接口;默认的安装方式没有安装这此接口;因此首先检查你的SQL Server是否安装了此接口,若没有,需要把devtools拷贝到SQLServer的系统日录下;如果SQL Server安装在C盘,则SQL Server的系统目录是C:Program FilesMicrosoft SQL Server。(2) VC+6.0环境配置。具体配置分为如下三步:Tools-options-direct

13、ories-Include Files:添加x:Program FilesMicrosoft SQL Server80ToolsDevToolsInclude。(X为你所安装的SQL Server所在盘符,该目录及devtools所在include目录,实际情况根据你安装的系统而定)。将SQL server自带的用于数据库开发的头文件包含到工程环境中。如图4-1所示。Tools-options-directories-Library Files:添加x:Program FilesMicrosoft SQL Server80ToolsDevToolsInclude。(X为你所安装的SQL Ser

14、ver所在盘符,该目录及devtools所在include目录,实际情况根据你安装的系统而定),将开发用到的包包含到工程中。如图4-2所示。Tools-options-directories-Executable files:添加x:Program FilesMicrosoft SQL Server80ToolsBinn 。C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQL Server的预处理程序是nsqlprep.exe。此文件由sql server提供,在安装SQL Server可能不会被安装,所以要将此文件从SQL Server安装盘拷贝到指定磁盘

15、目录(可在任意目录中)。注意:拷贝在C:盘根目录下可行,其它目录常出问题,未查原因。如果拷贝到C盘根目录,在Executable files添加:C:。如果4-3所示。图4-1 图4-2 图4-32、预编译C语言编译程序不能识别应用程序中的SQL语句,需要经过预处理程序将其转换成C语句。SQL Server的预处理程序是nsqlprep.exe。 Microsoft SQL Server 2000提供的预编译程序nsqlprep.exe,用于对嵌入式SQL程序进行预编译处理,生成C语言源程序。实际上就是将嵌入式SQL程序中的嵌入式SQL语句替换为对运行时库文件Sqlakw32. dll的函数调

16、用,接着运行时库文件调用动态连接库Ntwdblib. dll通过网络来存取Microsoft SQL Server 2000数据库服务器。预编译程序nsqlprep的常用语法为:nsqlprep ESQL_File /SQLACCESS /DB server_name.database_name /PASS login.password其中ESQL_File是要预编译的嵌入式SQL程序;/SQLACCESS通知nsqlprep自动地为嵌入式SQL程序中的静态SQL语句创建相应的存储过程;/DB server_name.database_name指明要连接的服务器以及数据库名称;/PASS lo

17、gin.password给出登录名及相应的口令.若在VC+6.0中编译,设置如下:(1) 首先新建一个空的Win32 Console Application,如图4-4所示。图4-4(2) 在工程中新建源文件,扩展名为.sqc,在该源文件中编写嵌入式SQL程序源代码;(3) 对工程设置如下:选择“ Project”“ Settings”菜单项;从弹出的对话框中,选中要预编译的.sqc源文件,单击 Custom Build tab。在“Description”中输入对.sqc源文件的预处理方法:running ESQL/CPRECOMPILER。在Commands框中,键入 nsqlprep $

18、(inputName) /SQLACCESS /DB servername.database /PASS loginname.password。在在Outputs框中,键入$(InputName),如图4-5所示。图4-5(4) 在VC+ 6.0中编译嵌入式SQL文件,生成同名的C文件,如图4-6示。图4-6注意:在Visual C+ 6.0进行预编译和执行最终生成的可执行文件时需要用到动态链接库SQLaiw32.dll和SQLakw32.dll;如果没有这个文件预编译时将产生错误,此问题的解决方法:将Sql Server安装盘中的sqlaiw32.dll和SQLakw32.dll拷贝到源文件

19、所在的目录或拷贝到操作系统目录下的system32子目录中。3、编译,连接与运行将预编译生成的c文件加入Proiect,如图4-7,4-8,编译连接即可生成访问SQL Server的可执行程序。图4-7 图4-8注意:编译预编译产生的C程序需要库文件sqlakw32.lib和Caw32.lib,如果没有编译时会报错。解决方法:添加库文件:project-Settings-Link-Object/Library Modules,添加库文件:SQLakw32.lib, Caw32.lib。这两个文件之间用空格分开。如图4-9所示。图4-94、编程练习对于实验1建立的XUE数据库,查询某个系全体学生

20、的信息(要查询的系主变量deptname指定),然后根据用户的要求修改其中的某些记录的年龄字段。实验4 嵌入式SQL及编程使用(PB方式)一、实验目的掌握嵌入SQL及PB常用功能控件,学会使用嵌入SQL对数据库进行单表精确查询、模糊查询的方法二、实验内容建立学生表:S(SNO,SNAME,SSEX,SAGE,SADDR),编程序,实现如下界面功能。结果显示列表 输入家庭地址97001 王明 24 威海查询退出实验5 数据库安全性和完整性一、实验目的1、加深对数据库安全性的理解。2、掌握SQL server中有关用户登录认证及管理的方法。3、加深对数据库存取控制机制的理解,通过自主存取控制进行权

21、限管理,熟悉SQL Server中的角色管理4、掌握主键约束、外键约束及及check约束的用法。5、掌握默认值约束的应用。二、实验内容 (一)数据库安全性 1、用户标识与鉴别(1)在企业管理器中,把所属的SQL服务器设置为SQL Server和Windows混合验证方式。具体操作如下:在企业管理器窗口中展开服务器组,用鼠标右击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,则出现属性对话框,如图5-1所示。在属性对话框中,选择“安全性”选项卡,在“身份验证”一栏进行设置。 图5-1 SQL Server属性对话框(2)在企业管理器中为自己建立一个数据库用户“李勇”。具体操作如下:在企业管

22、理器展开服务器组,展开服务器,用鼠标单击“安全性”文件夹,用鼠标单击“登录”,弹出“新建登录”对话框,如图5-2所示,在里面进行设置。图5-2 新建登录对话框(3)允许用户“李勇”访问XUE数据库,角色为public。具体操作为在“新建登录”对话框中选择“数据库访问”选项卡进行设置。知识点:数据库角色是数据库级别的主体,也是数据库用户的集合。数据库用户可以作为数据库角色的成员,继承数据库角色的权限。SQL Server提供了两种数据库角色,固定数据库角色和用户自定义的数据库角色。固定数据库角色指这些角色所具有的管理、访问数据库权限已经被预定义。使用固定数据库角色可以大大简化数据库角色权限管理工

23、作。Microsoft SQL Server系统提供了的固定数据库角色及其权限如表5-1所示。表5-1 固定数据库角色固定数据库角色描 述db_accessadmin访问权限管理员,具有ALTER ANY USER、CREATE SCHEMA、CONNECT、VIEW ANY DATABASE等权限,可以为Windows登录名、Windows组、SQL Server登录名添加或删除访问权限db_backupoperator数据库备份管理员,具有BACKUP DATABASE、BACKUP LOG、CHECKPOINT、VIEW DATABASE等权限,可以执行数据库备份操作db_datarea

24、der数据检索操作员,具有SELECT、VIEW DATABASE等权限,可以检索所有用户表中的所有数据db_datawriter数据维护操作员,具有DELETE、INSERT、UPDATE、VIEW DATABASE等权限,可以在所有用户表中执行插入、更新、删除等操作db_ddladmin数据库对象管理员,具有创建和修改表、类型、视图、过程、函数、XML架构、程序集等权限,可以执行对这些对象的管理操作db_denydatareader拒绝执行检索操作员,拒绝SELECT权限,具有VIEW ANY DATABASE权限,不能在数据库中对所有对象执行检索操作db_denydatawriter拒绝

25、执行数据维护操作员,拒绝DELETE、INSERT、UPDATE权限,不能在数据库中执行所有的删除、插入、更新等操作db_owner数据库所有者,具有CONTROL、VIEW ANY DATABASE权限,具有在数据库中的所有操作db_securityadmin安全管理员,具有ALTER ANY APPLICATION ROLE、ALTER ANY ROLE、CREATE SCHEMA、VIEW DEFINITION、VIEW ANY DATABASE等权限,可以执行权限管理和角色成员管理等操作例如,如果Peter_user用户是db_owner固定数据库角色的成员,该用户就可以在数据库中执行

26、所有的操作。如果Tomson用户是db_denydatareader固定数据库角色的成员,那么该用户不能在数据库中执行所有的检索操作。除了前面介绍的固定数据库角色之外,Microsoft SQL Server系统成功安装之后,还有一个特殊的角色即public角色。public角色有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。固定数据库角色都有预先定义好的权限,但是不能为这些角色增加或删除权限。虽然初始状态下public角色没有任何权限,但是可以为该角色授予权限。由于所有的数据库用户都是该角色的成员,并且这是自动的、默认的和不可变的,因此数据库中的所有用户都会自动继承

27、public角色的权限。从某种程度上可以这样说,当为public角色授予权限时,实际上就是为所有的数据库用户在授予权限。2、自主存取控制(1)打开查询分析器,使用“李勇”用户连接到SQL Server。对XUE数据库中的表student进行查询操作,观察实验结果,并说明为什么。(2)将XUE数据库的操作权限赋予用户 “李勇”,使得李勇可以对student表进行查询和插入。分别用企业管理器和SQL命令进行授权。(注意:对用户授权,必须市数据库对象拥有者以上用户授予)。企业管理器具体操作如下:在企业管理中中,单击XUE数据库,单击“用户”,在屏幕右侧的用户窗口选择“李勇”,用鼠标右击,在弹出的菜单中选择“属性”项,出现用户属性对话框,如图5-3所示。单击对话框中的权限按钮,出现数据库用户权限对话框,如图5-4所示,在其中进行设置。图5-3 数据库用户属性对话框图5-4 数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论