




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机与通信工程学院第 1 页 共33 页实验一 SQLSERVER 2000 的安装一、学时:学时二、实验目的了解安装 SQL SERVER 2000的软、硬件环境以及安装过程;三、实验准备1SQL SERVER 2000安装盘;2、 计算机四、实验方法及步骤SQL Server 版本或组件Microsoft Windows NT Server 4 、0、Microsoft Windows NTServer 4.0 企业版、 Windows 2000 Server 、Windows 2000Advanced Server 和 Windows 2000 Data Center Server。注
2、意:SQL Server 2000 的某些功能必须要求在 Microsoft Windows2000 Server(任何版本)上运行。Microsoft Windows NT Server 4.0 、Windows 2000 Server 、Microsoft Windows NT Server企 业 版 、 Windows 2000Advanced Server 和 Windows 2000 Data Center Server。Microsoft Windows Windows Windows NT Workstation4.0Windows 2000 ProfessionalMicros
3、oft Windows NT Server4.0Windows 2000 Server 和所有更高级的Windows 操作系统。Microsoft Windows NT Workstation 4.0、 Windows 2000Professional和所有其它Windows NT和Windows 2000 操作系Microsoft Windows Windows Windows NT Workstation4.0Windows 2000 ProfessionalMicrosoft Windows NT Server4.0Windows 2000 Server 和所有更高级的Windows 操
4、作系统。桌面引擎Microsoft Windows NT 4.0 、Windows 2000 Windows Me 和 Windows 98。仅客户端工具第 2 页 共33 页Microsoft Windows NT 4.0 、Windows 2000 Windows 、Windows 98 和Windows 95。仅连接2. SQL SERVER 2000的安装(1)将企业版安装光盘插入光驱后,出现以下提示框。注意:如果您的计算机的操作系统是windows 95以上,则选择“安装SQL Server 2000组件”,如果操作系统是windows 95,则需要选择“安装SQL Server 2
5、000的先决条件”。由于SQL Server 2000 的某些功能要求在Microsoft Windows 2000 Server以上的版本才能运行。因此安装Windows Server 2000(建议为Advanced 版本)SQL Server 2000的更多功能,以及享受更好的性能。本安装将在Windows 2000 Advanced ServerSQL Server 2000企业版的过程。大家清首先安装Windows 2000 Advanced Server。(2)选择 安装 SQL Server 2000 组件,出现下一个页面。第3 页 共33 页(3)选择 安装数据库服务器,出现如
6、下界面:(4)选择下一步,出现如下界面:第 4 页 共33 页(5)选择本地计算机(默认)选项,选择下一步,出现如下界面:在 安装选择 创建新的 SQL Server实例.。对于初次安装的用户,应选用这一安装模式,不需要使用 高级选项 进行安装。 高级选项 中的内容均可在安装完成后进行调整。选择下一步,出现如下界面:第 5 页 共33 页(6)在 用户信息 窗口,输入用户信息,并接受软件许可证协议。(7)在 安装定义窗口,选择 服务器和客户端工具 选项进行安装。我们需要将服务器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习 SQL Server 很有用处。如果你
7、已经在其它机器上安装了SQL Server,则可以只安装客户端工具,用于对其它机器上SQL Server的存取。第 6 页 共33 页(8)在 实例名 窗口,选择 默认 的实例名称。这时本 SQL Server 的名称将和 Windows 2000服务器的名称相同。例如笔者的 Windows 服务器名称是 Darkroad ,则 SQL Server 的名字也是Darkroad。SQL Server 2000可以在同一台服务器上安装多个实例,也就是你可以重复安装几次。这时您就需要选择不同的实例名称了。建议将实例名限制在 10 个字符之内。实例名会出现在各种SQL Server Default或
8、 MSSQLServer 以及 SQL Server的保留关键字等。第 7 页 共33 页(9)在 安装类型 窗口,选择 典型 安装选项,并指定 目的文件夹。程序和数据文件的默认安装位置都是 C:Program FilesMicrosoft SQL Server。因为C 盘是系统区、D 盘是应用区,因此选择了 D 盘。(10)在 服务账号 窗口,请选择 对每个服务使用统一账户. 的选项。在 服务设置 处,选择使用本地系统账户。如果需要 使用域用户账户 的话,请将该用户添加至Windows Server的本机管理员组中。第 8 页 共33 页(11)在 身份验证模式 窗口,请选择 混合模式. 选
9、项,并设置管理员sa账号的密码。如果您的目的只是为了学习的话,可以将该密码设置为空,以方便登录。如果是真正的应用系统,则千万需要设置和保管好该密码!如果需要更高的安全性,则可以选择Windows 身份验证模式 ,这时就只有 Windows Server的本地用户和域用户才能使用 SQL Server了。第 9 页 共33 页(12)在 选择许可模式 窗口,根据您购买的类型和数量输入(0 每客户表示同一时间最多允许的连接数,处理器许可证表示该服务器最多能安装多少个 CPU了 每客户 并输入了 100 作为示例。(13)然后就是约 10 分钟左右的安装时间,单击完成系统安装完毕。第 10 页 共3
10、3页附:企业管理器和查询分析器的介绍企业管理器和查询分析器是 SQLSERVER 2000 1、企业管理器:(1)按图所示找到 SQLSERVER 2000 中的企业管理器;(2)用鼠标单击企业管理器菜单项,进入企业管理器管理界面:所有的 SQL 语句操作都在查询分析器中运行,对查询分析器的使用要熟练掌握。(1)按图所示找到 SQLSERVER 2000 中的查询分析器;(2)用鼠标单击查询分析器菜单项,进入查询分析器界面:(3)若以 Windows SQL server 身份验证,可输入登陆sa是超级用户;身份验证通过后,可进入查询分析器界面如下:第 12 页 共33页在查询分析器界面中,左
11、边是数据库构成对象;右边分上下两部分:上面部分是查询分析器的 SQL SQL SQL 语句的执行结果区域,SQL语句的执行结果在此部分显示。查询分析器的使用注意以下问题:(a)SQL 语句所作的操作都是基于当前数据库的,进入界面的默认数据库是 master数据库,如不在master 数据上操作,请在界面上部切换到你要操作的数据库。(b)SQL 语句执行时,用鼠标点击界面工具条中的绿色箭头;语句执行完毕后结果显示在界面右部的下面的区域。(c)SQL 语句的执行是从第 1 句开始执行,为了仅执行部分 SQL 语句,可采用两重方法:第一是用鼠标选种执行的部分,然后点击绿色箭头进行执行;第二是把不执行
12、的 SQL -符号是行注释,仅注释1 /* */ 是多行内容注释,把不执行的语句放在/*与*/之间。(d)SQL 语句可保存在磁盘上。第 13 页 共33页实验二 创建数据库和创建表一、学时:2学时二、实验目的熟悉和掌握数据库的创建和连接方法;熟悉和掌握数据库表的建立、修改和删除;加深对表的实体完整性、参照完整性和用户自定义完整性的理解;三、实验准备1、熟悉SQL SERVER 工作环境;2、复习有关表的建立、修改和删除的SQL语言命令四、实验内容:用SQL语言完成下列操作。1、 创建一个教学数据库,数据库的名称为MIS;2、 创建MIS数据库中的5个关系模式,要求包含完整性约束的定义。系(系
13、编号,系名称)教工(教工号,姓名,性别,职称,工资,系编号)学生(学号,姓名,性别,出生年月,专业,家庭地址,系编号)课程(课程编号,课程名称,学时,系编号)成绩(学号,课程编号,分数)五、 SQL语句的参考脚本:1、 在SQL Server中使用批处理和脚本两个术语。批处理是一个以“go”结束的SQL 语句集,这些语句是作为一批执行并一起提交的。 “go”是 SQLServer2000批处理的结束标志,不是SQL语句。2、 create database 语句将创建一个数据库,在使用这个数据库时,还需要打开这个数据库,打开语句是use。3、下面这段SQL脚本程序,可以在查询分析器中打开这个文
14、件,也可以直接将下面这段SQL脚本复制(粘贴)到查询分析器的编辑窗口。为了简化中文输入的烦琐操作过程,在实验脚本子目录下,还有一个全英文的脚本文件。/* 注释:实验一中文脚本.sql 创建数据库 */create database MISgo/* 打开数据库 */use MIS第14 页 共33页/* 创建5个表 */create table 系(系编号 smallint not null ,系名称 char(12),primary key (系编号)gocreate table 课程(课程编号 char(8) not null,课程名称 char(16),学时 smallint,系编号 sm
15、allint,primary key (课程编号),foreign key (系编号) references 系(系编号)gocreate table 教工(教工号 smallint,姓名 char(8),性别 char(2),职称 char(10),工资 numeric(8,2),系编号 smallint,primary key (教工号),foreign key (系编号)references 系(系编号)gocreate table 学生(学号 char(6),姓名 char(8),性别 char(2),出生年月 datetime,系编号 smallint,primary key (学号
16、),foreign key (系编号) references 系(系编号)gocreate table 成绩(第15 页 共33页学号 char(6) not null,课程编号 char(8) not null,分数 numeric(4,1),primary key (学号 ,课程编号),foreign key (学号) references 学生(学号),foreign key (课程编号) references 课程(课程编号)go六、 实验过程1、进入查询分析器,参见进入查询分析器演示。2、在查询分析器的命令编辑窗口输入SQL语句,点击执行键,将执行SQL语句。参见执行SQL语句的演示
17、。3、在调试程序过程中,可以用鼠标选择某些要执行的SQL语句,再点击执行键,执行选择的语句。参见执行SQL语句的演示。SQL语句没有错误,但多条语句顺序执行时可能出错。例如,上述5个表创建的顺序必须是“先父后子”,而删除的顺序则是“先子后父”。DROP TABLE 成绩DROP TABLE 学生DROP TABLE 教工DROP TABLE 课程DROP TABLE 系5、保存调试通过的SQL程序。实验三 数据插入、更新、与删除一、学时:学时二、实验目的熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;加深理解表的定义和数据更新的作用第16 页 共33页三、实验准备1、建立数据库 st
18、udent、表 S、C、SC 以及索引2、复习对表中数据的插入、修改和删除的 SQL 语言命令;四、实验内容:根据教材3.4 的内容,用 SQL 语言完成下列操作。1、已创建的 MIS 数据库的 5 个表中,插入如下样本数据。系课程系编号 系名称课程号 课程名 学时 系编号101102103104数学计算机外语68101103102经济C104经济学51 104教工教工号 姓 名 性别职称系编号101210122032405210423022205葛小平李长江姜立伟张丽丽康立华王伟平女男男女女男教授 3420.00副教授 3190.00副教授 3140.00讲师 2243.00教授 3740.
19、00讲师 2130.00102104101103102成绩学 号 课程编号 分数991022991022992124992124992124994021C101 88C102 67C101 77C102 95C103 45C104 87学 号 姓 名 性别 出生年月 系编号 族别991022 田平平992124 郭黎明994021 何明慧991223 姜明明993012 何漓江992104 康纪平994125 康嘉家女男女男男女男101102104101103102104汉汉回苗汉汉汉08/05/198003/04/198104/12/198212/05/198010/05/197903/04
20、/198107/05/1980第 17 页 共33页学生2、 用SQL语言完成下列操作(1)在系表中插入一行数据105,管理(2)向教工表中插入一行数据2001,葛小平,女,教授,3420.00,102(3)向教工表中插入一个教工号、姓名和工资数据是2109,田新民,2650(4)将教工表的姓名和工资拷贝到一个酬金表中。(5)将教工表中职称为“教授”的工资增加15%。(6)将教工表中职称不是教授的人,工资增加10%。(7)从教工表中删除教工号为2001的教工。(8) 删除酬金表的所有数据。(9) 删除酬金表。(10)在系表中添加一个电话号码属性,属性类型为CHAR(8)。ALTER TABLE
21、 系 ADD 电话号码 CHAR(8)(11)修改系表中电话号码属性的宽度为CHAR(13)。ALTER TABLE 系 ALTER COLUMN 电话号码 CHAR(13)(12)删除系表中电话号码属性。ALTER TABLE 系 DROP COLUMN 电话号码(13)在学生表中删除何漓江同学的信息,包括他选课的信息。提示:先删除子表中的选课信息,再删除主表中的信息。思考:为什么必须这样做?五、 SQL语句的参考脚本:1、 在5个表中插入数据insert into 系 values(101,数学)insert into 系 values(102,计算机)insert into 系 valu
22、es(103,外语)第18 页 共33页insert into 系 values(104,经济)goinsert into 课程 values(c101,数学,68,101)insert into 课程 values(c102,英语,85,103)insert into 课程 values(c103,计算机,102,102)insert into 课程 values(c104,经济学,51,104)goinsert into 教工 values(2101,葛小平,女,教授,3420.00,101)insert into 教工 values(2203,李长江,男,副教授,3190.00,102)
23、insert into 教工 values(2405,姜立伟,男,副教授,3140.00,104)insert into 教工 values(2104,张丽丽,女,讲师,2243.00,101)insert into 教工 values(2302,康立华,女,教授,3740.00,103)insert into 教工 values(2205,王伟平,男,讲师,2130.00,102)goinsert into 学生 values(991022,田平平,女,08/05/1980,101)insert into 学生 values(992124 ,郭黎明,男,03/04/1981,102)inse
24、rt into 学生 values(994021 ,何明慧,女,04/12/1982,104)insert into 学生 values(991223 ,姜明明,男,12/05/1980,101)insert into 学生 values(993012 ,何漓江,男,10/05/1979,103)insert into 学生 values(992104 ,康纪平,女,03/04/1981,102)insert into 学生 values(994125 ,康嘉家,男,07/05/1980,104)insert into 学生 values(991134 ,包立琪,女 ,03/14/1981,1
25、01)insert into 学生 values(994115 ,王海洋,男,04/13/1982,104)insert into 学生 values(991354 ,王立平,女,12/05/1981,101)goinsert into 成绩 values(991022,c101,88)insert into 成绩 values(991022,c102,67)insert into 成绩 values(992124,c101,77)insert into 成绩 values(992124,c102,95)insert into 成绩 values(992124,c103,45)insert i
26、nto 成绩 values(994021,c104,87)insert into 成绩 values(994021,c102,78)insert into 成绩 values(994021,c103,67)insert into 成绩 values(991223,c101,66)第19 页 共33页insert into 成绩 values(991223,c102,89)insert into 成绩 values(993012,c102,93)insert into 成绩 values(993012,c103,84)2、 完成实验操作的SQL语言-(1)在系表中插入一行数据105,管理。ins
27、ert into 系 values (105,管理)-(2)向教工表中插入一行数据2001,葛小平,女,教授,3420.00,102。insert into 教工 values (2001,葛小平,女,教授,3420.00,102)insert into 教工(教工号,姓名,工资) values (2109,田新民,2650)-(4)将教工表的姓名和工资拷贝到一个酬金表中。-创建一个酬金表。create table 酬金 (教工姓名 char(8), 工资 numeric(8,2)-将教工表中姓名和工资两列数据拷贝到酬金表中。insert into 酬金 (教工姓名,工资)select 姓名,
28、工资from 教工-(5) 将教工表中职称为“教授”的工资增加15%。update 教工 set 工资=工资*1.15 where 职称=教授-(6) 将教工表中职称不是教授的人,工资增加10%。update 教工 set 工资=工资*1.1 where 职称 NOT LIKE 教授-(7) 从教工表中删除教工号为2101的教工。delete from 教工 where 教工号 = 2101-(8) 删除酬金表的所有数据。delete from 酬金-(9) 删除酬金表。drop table 酬金-(10)在系表中添加一个电话号码属性,属性类型为char(8)。alter table 系 ad
29、d 电话号码 char(8)-(11)修改系表中电话号码属性的宽度为char(13)。alter table 系 alter column 电话号码 char(13)-(12)删除系表中电话号码属性。alter table 系 drop column 电话号码-(13) 在学生表中删除学号为993012 的学生信息,包括他选课的信息。第20 页 共33页delete from 成绩 where 学号 =993012 delete from 学生 where 学号 = 993012 六、 实验过程1、进入查询分析器,参见进入查询分析器演示。SQL SQL语句。参见执行SQL语句的演示。3、在调试
30、程序过程中,可以用鼠标选择某些要执行的SQL语句,再点击执行键,执行选择的语句。参见执行SQL语句的演示。4、 注意:在各个表中插入数据的顺序,首先在父表中插入数据,然后在子表中插入数据。另外,由于表的定义中包含完整性约束的定义,所以,当主码重复,或者外码不是被参照表的有效值时,系统将拒绝插入的数据。5、保存调试通过的SQL程序。实验四 数据查询一、学时:2学时二、实验目的熟悉和掌握对数据表中数据的查询操作和 SQL 命令的使用,学会灵活熟练地使用SQL 语句的各种形式;三、实验准备1、熟悉SQL SERVER 工作环境;2、复习对表中数据查询的SQL语言命令;四、实验内容1、简单查询操作第2
31、1 页 共33页(1)列出所有教授的姓名和工资:SELECT 姓名,工资FROM 教工WHERE 职称= 教授(2)列出教授的所有信息。SELECT *FROM 教工WHERE 职称=教授(3)列出教工表中的系编号并消除重复的元组。SELECT DISTINCT 系编号FROM 教工(4)已知学分=学时/17,计算每一门课程的学分数。SELECT 课程名称,学时/17 AS 学分FROM 课程(5)显示教授的工资和提高10%的工资额。SELECT 姓名,工资,工资*1.1 AS 工资*1.1FROM教工 WHERE 职称=教授(6)显示田平平同学出生100天的日期。SELECT 姓名, 出生年
32、月+100 AS 出生年月+100FROM 学生WHERE 姓名=田平平(7)列出教工表中工资在3000元以上的名单。ELECT 姓名FROM 教工WHERE = 3000(8)列出学生表中1980年1月1日之后出生的学生名单。SELECT 姓名FROM 学生WHERE 出生年月= 1980-1-1(9)列出学生表中在1980年1月1日之后出生的男同学名单。SELECT 姓名FROM 学生WHERE 出生年月= 1980-1-1 AND 性别=男(10)列出教工表中教授或副教授中工资低于3000元的名单。第22 页 共33页SELECT 姓名FROM 教工WHERE (职称=教授 OR 职称=
33、副教授)AND 工资3000(11)显示男学生的姓名和所在的系名称。SELECT 姓名,系名称FROM 学生,系WHERE 学生.系编号=系.系编号 AND 性别=男或SELECT 姓名,系名称FROM 学生 R,系 SWHERE R.系编号=S.系编号 AND 性别=男(12)列出教工中比姜立伟工资低的姓名和工资。SELECT R.姓名,R.工资FROM 教工 R, 教工 SWHERE R.工资=1000 AND 工资2第24 页 共33页(26)列出成绩表中分数在60以上、选课数大于2且平均分超过70的学号、选课数目和平均分。SELECT 学号,COUNT(课程编号 ), AVG (分数)
34、FROM 成绩WHERE 分数=60GROUP BY 学号HAVING COUNT(课程编号)2 AND AVG(分数) 70(27)统计“CS”系学生的人数;(28)统计各系学生的人数,结果按升序排列;(29)按系统计各系学生的平均年龄,结果按降序排列;(30)查询每门课程的课程名;(31)查询无先修课的课程的课程名和学时数;(32)统计无先修课的课程的学时总数;(33)统计每位学生选修课程的门数、学分及其平均成绩;(34)统计选修每门课程的学生人数及各门课程的平均成绩;(35)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;(36)查询选修了“1”或“2”号课程的学生
35、学号和姓名;(37)查询选修了“1”和“2”号课程的学生学号和姓名;(38)查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;(39)查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);(40)查询没有选修课程的学生的基本信息;(41)查询选修了3门以上课程的学生学号;(42)查询选修课程成绩至少有一门在80分以上的学生学号;(43)查询选修课程成绩均在80分以上的学生学号;(44)查询选修课程平均成绩在80分以上的学生学号;五、 实验过程1、进入查询分析器,参见进入查询分析器演示。在查询分析器的命令编辑窗口输入SQL语句,点击执行键 ,将执行
36、SQL语句。参见执行SQL语句的演示。SQL执行选择的语句。参见执行SQL语句的演示。第25 页 共33页3、 注意:在各个表中插入数据的顺序,首先在父表中插入数据,然后在子表重复,或者外码不是被参照表的有效值时,系统将拒绝插入的数据。4、保存调试通过的SQL程序。实验5 复杂查询操作一、学时:2学时二、实验目的掌握连接和嵌套查询操作;三、实验准备1、熟悉SQL SERVER 工作环境;2、复习对表中数据查询的SQL语言命令;四、实验内容1、 打开MIS数据库,用SQL语言完成下列问题。(1)根据学生、课程和成绩表,输出“计算机”课程的成绩单,包括姓名和分数。(2)查询所开课程的选修情况,包括
37、没有任何学生选修的课程。(3)从学生、课程和成绩表中,产生数据库课程的成绩单。2、假设有贷款关系如图1所示。贷款金额G10020T20078K65743H89765H76890关平之李连玉姜海洋田平平方一华20033.0030092.0030200.6019080.40图1 贷款关系第26 页 共33页(4)创建贷款关系。create table 贷款( 帐号 char(20),姓名 char(8),金额 char(10)insert into 贷款 values(G10020,关平之, 20033.0 )insert into 贷款(帐号,姓名) values(T20078,李连玉 )ins
38、ert into 贷款 values(T65743,姜海洋, 30092.00 )insert into 贷款 values(H89765,田平平, 30200.60)insert into 贷款 values(H76890,方一华, 19080.40)(5)找出贷款表中金额为空值的帐号和姓名。(6)找出贷款表中贷款金额非空的帐号和姓名。3、 假设有导师与研究生2个表,如图2所示。研究生导师学号 姓名 导师号教工号 姓名 性别99001 李南 T001T001 江海 男99002 刘星 T002T002 代宁 女99003 王海 T002T005 潘涛 男99004 张力 T00199006
39、郭天T008 田立 女图2导师与研究生表(7) 查询研究生与其导师的情况。SELECT *FROM 研究生A INNER JOIN教师 B ON A.导师号= B.教工号(也可以写成等价的SQL语句:SELECT *FROM 研究生A,导师 BWHERE A.导师号= B.教工号)(8)计算导师与研究生关系的笛卡儿乘积。SELECT *FROM 导师 CROSS JOIN 研究生(9)查询教师指导研究生的情况,包括不指导研究生的教师。第27 页 共33页SELECT *FROM 导师 A LEFT OUTER JOIN 研究生 B ON (A.教工号= B.导师)SELECT *FROM 研究
40、生 A FULL OUTER JOIN 导师 B ON (A.导师号=B.教工号)SELECT 姓名,分数FROM 学生 A JOIN 成绩 B ON(A.学号=B.学号)JOIN课程 C ON(B.课程编号=C.课程编号)WHERE C.课程名称=计算机等价的SQL语句:SELECT 姓名,分数FROM 学生 A,成绩 B,课程 CWHERE A.学号=B.学号 AND B.课程编号= C.课程号 AND C.课程名=计算机(12)查询所开课程的选修情况,包括没有任何学生选修的课程。SELECT 学号, 课程名称, 分数FROM 成绩 A RIGHT OUTER JOIN 课程 B ON (
41、A.课程编号=B.课程编号)(13)从学生、课程和成绩表中,产生数据库课程的成绩单。SELECT 姓名,课程名,分数FROM 学生 S,课程 C,成绩 GWHERE S.学号=G.学号 AND G.课程编号=C.课程号 AND C.课程名=数据库或SELECT 姓名,课程名称,分数FROM 学生 S JOIN 成绩 G ON (S.学号=G.学号)JOIN课程 C ON (G.课程编号=C.课程编号)WHERE C.课程名称=数据库(14)找出贷款表中金额为空值的帐号和姓名。(15)找出贷款表中贷款金额非空的帐号和姓名。(16) 查询研究生与其导师的情况。SELECT *FROM 研究生A I
42、NNER JOIN教师 B ON A.导师号= B.教工号也可以写成等价的SQL语句:SELECT *FROM 研究生A,导师 B第28 页 共33页WHERE A.导师号= B.教工号(17)查询教师指导研究生的情况,包括不指导研究生的教师。SELECT *FROM 导师 A LEFT OUTER JOIN 研究生 B ON (A.教工号= B.导师)SELECT *FROM 研究生 A FULL OUTER JOIN 导师 B ON (A.导师号=B.教工号)(19)查询所开课程的选修情况,包括没有任何学生选修的课程。SELECT 学号, 课程名, 分数FROM 成绩 A RIGHT OU
43、TER JOIN 课程 B ON (A.课程编号=B.课程编号)(20) 查询研究生与其导师的情况。SELECT *FROM 研究生A INNER JOIN教师 B ON A.导师号= B.教工号也可以写成等价的SQL语句:SELECT *FROM 研究生A,导师 BWHERE A.导师号= B.教工号(21)查询教师指导研究生的情况,包括不指导研究生的教师。SELECT *FROM 导师 A LEFT OUTER JOIN 研究生 B ON (A.教工号= B.导师)五、 实验过程1、进入查询分析器,参见进入查询分析器演示。2、在查询分析器的命令编辑窗口输入SQL语句,点击执行键 ,将执行S
44、QL语句。参见执行SQL语句的演示。3、在调试程序过程中,可以用鼠标选择某些要执行的SQL语句,再点击执行键,执行选择的语句。参见执行SQL语句的演示。4、 注意:在各个表中插入数据的顺序,首先在父表中插入数据,然后在子表中插入数据。另外,由于表的定义中包含完整性约束的定义,所以,当主码重复,或者外码不是被参照表的有效值时,系统将拒绝插入的数据。5、保存调试通过的SQL程序。第29 页 共33页实验六 视图和索引的定义和使用一、学时:2学时二、实验目的熟悉掌握对数据表中视图的定义操作和SQL命令的使用;熟悉掌握对数据表中视图的查询操作和SQL命令的使用;熟悉掌握对数据表中视图的更新操作和SQL
45、命令的使用,并注意视图更新与基本表更新的区别与联系;灵活熟练的进行视图的操作,认识视图的作用;掌握建立与删除索引;三、实验准备1、熟悉SQL SERVER 工作环境;2、复习有关视图操作的SQL语言命令;3、复习有关索引操作的SQL语言命令;四、实验内容1、 建立视图(1)建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为学号,姓名,出生年月,系编号。CREATE VIEW C_StudentASSELECT 学号, 姓名, 出生年月, 系编号FROM 学生WHERE 系编号=数学WITH CHECK OPTION(2) 建立学生的学号、姓名、选修课
46、程名及成绩的视图。本视图由三个基本表的连接操作导出,其SQL语句如下:CREATE VIEW Student_CRASSELECT 学生.学号, 姓名, 课程名, 分数FROM 学生,分数 , 课程WHERE 学生.学号=成绩.学号 AND成绩.课程编号=课程.课程编号第30 页 共33页(3) 定义一个反映学生出生日期的视图。CREATE VIEW Student_birth(学号, 姓名, 出生年月)AS SELECT 学号, 姓名, 出生年月FROM 学生2、 删除视图(4) 删除视图Student_CR。DROP VIEW Student_CR;3、查询视图(5)在数学系的学生视图C_Student中找出女学生姓名和出生年月。SELECT 姓名, 出生年月FROM C_StudentWHERE 性别=女;说明:本例转换后的查询语句为:SELECT 姓名, 出生年月FROM 学生WHERE 系编号=数学 AND性别=女(6)在Student_CR视图中查询成绩在85分以上的学生学号、姓名和课程名称。SELECT 学号, 姓名, 课程名FROM Student_CRWH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链金融助力中小微企业融资的2025年创新路径与模式研究报告
- 现代家具设计趋势对消费者行为的影响探讨试题及答案
- 新能源汽车跨界发展研究试题及答案
- 数量理解与数字匹配实验题试题及答案
- 洛阳一模语文试题及答案
- 提高商务英语实务能力的多元化方法探讨试题及答案
- 安全工程师建筑施工安全意识培养试题及答案
- 教师遴选测试题及答案
- 航空货运行业2025年竞争格局演变与发展趋势深度分析报告
- 内蒙古翁牛特旗乌丹一中2024-2025学年高三5月仿真卷语文试题含解析
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 2025至2030中国智慧消防行业发展状况及未来前景研究报告
- 联锁系统设备调试施工作业指导书
- 热网工程施工组织设计方案
- 2025年重庆市中考物理模拟试卷(一)(含解析)
- 髌骨骨折的中医护理查房
- 希尔顿管理制度
- 2022继电保护微机型试验装置技术条件
- 2025年浙江宁波交通工程建设集团有限公司招聘笔试参考题库含答案解析
- 消毒供应中心管理制度
- 2024年陕西高中学业水平合格性考试生物试卷真题(含答案)
评论
0/150
提交评论