数据库原理中SQL语句实验指导书及答案

实验四:管理SQL Server表数据

一、实验目的

熟悉数据表结构及使用特点;

熟悉使用Management Stuio界面方式管理数据表数据;

熟悉使用T-SQL语句管理数据表数据。

二、实验环境

已安装SQL Server 2005 企业版的计算机(13台);

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

了解SQL Server数据表数据的管理方法;

了解SQL Server数据类型;

完成实验报告(部分题只需给出关键语句)。

五、实验内容及步骤

以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:

向各个数据表中插入如下记录:

学生信息表(student)

课程信息表(course)

选课信息表(sc)

insert into student.dbo.sc values('20051501','1',75)

insert into student.dbo.course values('1','数据库','5',4)

insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;

update student

set Sname='李咏'

where Sname='李勇'

3.修改课程“数据处理”的学分为3学分;

3.update course

set Ccredit=3

where Cname ='数据处理'

4.将选修课程“1”的同学成绩加5分;

4.update sc

set Grade =Grade+5

where Cno='1'

5.将选修课程“大学英语”的同学成绩加5分;

update sc

set Grade=Grade+5

from course,sc

where https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and https://www.360docs.net/doc/8119188746.html,ame='大学英语'

6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update student

set Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'

where Sno='200515010'

7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)

8.删除数据表student中无专业的学生记录;

delete

from student

where Sdept is null

9.删除数据表student中计算机系年龄大于25的男同学的记录;

delete

from student

where Ssex='男' and Sage>25 and Sdept='CS'

10.删除数据表course中学分低于1学分的课程信息;

delete

from course

where Ccredit<1

实验五:数据库单表查询

一、实验目的

1.掌握SELECT语句的基本语法和查询条件表示方法;

2.掌握查询条件表达式和使用方法;

3.掌握GROUP BY 子句的作用和使用方法;

4.掌握HAVING子句的作用和使用方法;

5.掌握ORDER BY子句的作用和使用方法。

二、实验环境

已安装SQL Server 2005 企业版的计算机(13台);

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

1.了解数据库查询;

2.了解数据库查询的实现方式;

3.完成实验报告;

五、实验内容及步骤

以数据库原理实验4数据库中数据为基础,请使用T-SQL 语句实现以下操作:1.列出所有不姓刘的所有学生;

1.select *

from student

where Sname not like '刘%'

2.列出姓“沈”且全名为3个汉字的学生;

select *

from student1

where Sname like'沈__'

3.显示在1985年以后出生的学生的基本信息;

select *

from student

where YEAR(GETDATE())-Sage>1985

4.按照“性别、学号、姓名、年龄、院系”的顺序列出学生信息,其中性别按

以下规定显示:性别为男显示为男生,性别为女显示为女生,其他显示为“条件不明”;

select 性别=

case

when Ssex='男' then'男生'

when Ssex='女' then'女生'

else '条件不明'

end,Sno 学号,Sname 码,Sage 年龄,Sdept 院系

from student

5.查询出课程名含有“数据”字串的所有课程基本信息;

select *

from course

where Cname like '%数据%'

7.显示学号第八位或者第九位是1、2、3、4或者9的学生的学号、姓名、性别、年龄及院系;6.select Sno,Sname,Ssex,Sage,Sdept

from student

where Sno like '_______[1,2,3,4,9][1,2,3,4,9]%'

8.列出选修了‘1’课程的学生,按成绩的降序排列;

select student.*,sc.*

from student,sc

where student.Sno =sc.Sno and https://www.360docs.net/doc/8119188746.html,o='1'

order by Grade DESC

9.列出同时选修“1”号课程和“2”号课程的所有学生的学号;

select Sno

from sc

where Cno='1' and Sno in(

select Sno

from sc

where Cno='2'

10.列出课程表中全部信息,按先修课的升序排列;

select *

from course

order by Cpno Asc

11.列出年龄超过平均值的所有学生名单,按年龄的降序显示;

select *

from student

where Sage>

(

select AVG(Sage)

from student

)

order by Sage DESC

12.按照出生年份升序显示所有学生的学号、姓名、性别、出生年份及院系,在结果集中列标题分别指定为“学号,姓名,性别,出生年份,院系”;

select Sno 学号,Sname 姓名,Ssex 性别,YEAR(GETDATE ())-Sage 出生年份,Sdept 所在院系

from student

order by YEAR(GETDATE ())-Sage

13.按照院系降序显示所有学生的“院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;

select Sdept=

case

when Sdept='CS' then '计算机系'

when Sdept='IS' then '信息系'

when Sdept='MA' then '数学系'

when Sdept='EN' then '外语系'

when Sdept='CM' then '中医系'

when Sdept='WM' then '西医系'

else '条件不明'

end ,Sno,Sname,Ssex,Sage

from student

order by Sdept DESC

14.显示所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”,若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;

select Sdept ,院系规模=

case

when COUNT(Sno)>=5 then'规模很大'

when COUNT(Sno)>=4then'规模一般'

when COUNT(Sno)>=2then'规模稍小'

else '规模很小'

end

from student

where Sdept is not Null

group by Sdept

15.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;

select Sno,Cno,Grade

from sc

where Grade between 70 and 80

order by Cno,Grade DESC

16.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;

select count(*)学生总人数,AVG(Sage) 平均年龄

from student

17.显示选修的课程数大于3的各个学生的选修课程数;

select Sno 学号,COUNT(Sno)选修课程数

from sc

group by Sno

having COUNT(*)>=3

18.按课程号降序显示选修各个课程的总人数、最高成绩、最低成绩及平均成绩;use student

select Cno '课程号',COUNT(*)'总人数',MAX(Grade)'最高分',MIN(Grade)'最低分',AVG(Grade)'平均分'

from sc

group by Cno

order by Cno desc

19.显示平均成绩大于“200515001”学生平均成绩的各个学生的学号、平均成绩;

use student

select Sno '学号',AVG(Grade)'平均成绩'

from sc

group by Sno

having AVG(Grade)>(

select AVG(Grade)

from sc

where Sno='200515001'

)

20.显示选修各个课程的及格的人数、及格比率;

use student

select Cno'课程号' ,COUNT(*)'及格人数',cast(cast(COUNT(case when Grade>=60 then 1 end)as float)/COUNT(*)AS float(1))'及格率'

from sc

group by Cno

21.显示选修课程数最多的学号及选修课程数最少的学号;

use student

select Sno '学号',COUNT(*)'选修课程数'

from sc

group by Sno

having COUNT(Cno)>=all

( select COUNT(*)

from sc

group by Sno

)

union

select Sno '学号',COUNT(*)'选修课程数'

from sc

group by Sno

having COUNT(Cno)<=all

( select COUNT(*)

from sc

group by Sno

)

22.显示各个院系男女生人数,其中在结果集中列标题分别指定为“院系名称、男生人数、女生人数”;

select Sdept ,COUNT(case when Ssex='女'then 1 end)'女生人数',

COUNT(case when Ssex='男'then 1 end)'男生人数'

from student

group by Sdept,Ssex

23.列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;select Sno学号,AVG(Grade)平均成绩

from sc

group by Sno

having COUNT(case when Grade<60 then 1 end)>=2

实验六:数据库综合查询

一、实验目的

1.掌握SELECT语句的基本语法和查询条件表示方法;

2.掌握查询条件种类和表示方法;

3.掌握连接查询的表示及使用;

4.掌握嵌套查询的表示及使用;

5.了解集合查询的表示及使用。

二、实验环境

已安装SQL Server 2005 企业版的计算机(13台);

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

1.了解SELECT语句的基本语法格式和执行方法;

2.了解连接查询的表示及使用;

3.了解嵌套查询的表示及使用;

4.了解集合查询的表示及使用;

5.完成实验报告;

五、实验内容及步骤

以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行以下操作:

1.查询以‘数据_’开头,且倒数第3个字符为‘结’的课程的详细情况;select *

from sc

where Cno in(

select Cno

from course

where Cname like '数据\_%'ESCAPE'\'

)

2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;select Sname,student.Sno ,https://www.360docs.net/doc/8119188746.html,o,Cname

from sc,course,student

where https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and student.Sno=sc.Sno and Sname like'_阳'

3.列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修

课程号及成绩;

select student.Sno,Sname,Sdept,https://www.360docs.net/doc/8119188746.html,o,Grade

from student,sc,course

where student.Sno=sc.Sno and https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and Cname in('数学','大学英语')

4.查询缺少成绩的所有学生的详细情况;

Select student.*

from student,sc

Where student.Sno=sc.Sno and Grade is null

5.查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;

from student

where Sage !=(

select Sage

from student

where Sname='张力'

)

6.查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成

绩;

select student.Sno,Sname,AVG(Grade)

from student,sc

where student.Sno=sc.Sno

group by student.Sno,Sname

having AVG(Grade)>(

select AVG(Grade)

from sc

where Sno=(

select Sno

from student

where Sname='张力'

)

)

7.按照“学号,姓名,所在院系,已修学分”的顺序列出学生学分的获得情况。

其中已修学分为考试已经及格的课程学分之和;

select student.Sno,Sname,Sdept,SUM(Ccredit) 总学分

from student,sc,course

where student.Sno=sc.Sno and https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and Grade>=60

group by student.Sno,Sname,Sdept

8.列出只选修一门课程的学生的学号、姓名、院系及成绩;

select student.Sno,Sname,Sdept,sum(Grade) 成绩

from student,sc

where student.Sno=sc.Sno

group by student.Sno,Sname,Sdept

having COUNT(*)=1

9.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;select student.Sno,Sname,Cno

from student,sc

where student.Sno=sc.Sno and student.Sno in(

select student.Sno

from student,sc

where student.Sno=sc.Sno and Cno in(

select Cno

from sc

where Sno in (

select Sno

from student

where Sname='张力'

)

)

)

10.只选修“数据库”和“数据结构”两门课程的学生的基本信息;

select student.Sno,Sname

from student,sc,course

where student.Sno=sc.Sno and https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and Cname='数据库' and student.Sno in (

select sc.Sno

from sc,course

where https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and Cname='数据结构'

)and student.Sno not in(

select Sno

from sc,course

where https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and Cname not in('数据库','数据结构')

)

11.至少选修“数据库”或“数据结构”课程的学生的基本信息;

select student.Sno,Sname

from sc,student,course

where student.Sno=sc.Sno and https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and Cname='数据库' and student.Sno in(

select Sno

from sc

where Cno=(

select Cno

from course

where Cname='数据结构'

)

)

12.列出所有课程被选修的详细情况,包括课程号、课程名、学号、姓名及成绩;select https://www.360docs.net/doc/8119188746.html,o,Cname, sc.Sno,Sname,Grade

from course left outer join sc on(https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o ),student

where student.Sno=sc.Sno

13.查询只被一名学生选修的课程的课程号、课程名;

select https://www.360docs.net/doc/8119188746.html,o,Cname

from sc,course

where https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o

group by https://www.360docs.net/doc/8119188746.html,o,Cname

having COUNT(*)=1

14.检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;

select Sno,Sname

from student

where exists(

select *

from sc

where Sno=(

select Sno

from student

where Sname='张向东'

)

and exists (

select *

from sc y

where y.Sno=student.Sno and https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o

)

)

15.使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;

select Sno,Sname

from student

where Sno in(

select Sno

from sc

where Cno=(

select Cno

from course

where Cname='数据结构'

)

)

16.使用嵌套查询查询其它系中年龄小于CS系的某个学生的学生姓名、年龄和

院系;

select Sname,Sdept,Sage

from student

where Sdept!='CS' and Sage

select Sage

from student

where Sdept='CS'

)

17.使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;select Sname,Sdept,Sage

from student

where Sdept!='CS' and Sage

select Sage

from student

where Sdept='CS'

)

18.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;select *

from student

where Sdept=(

select Sdept

from student

where Sname='张力'

)

19.使用集合查询列出CS系的学生以及性别为女的学生名单;

select *

from student

where Sdept='CS'

union

select *

from student

where Ssex='女'

20.使用集合查询列出CS系的学生与年龄不大于19岁的学生的交集、差集;select student.*

from student,sc

where student.Sno=sc.Sno and Cno='1'

intersect

select student.*

from student,sc

where student.Sno=sc.Sno and Cno='2'

21.使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集;select *

from student

where Sdept='CS'

union

select *

from student

where Ssex='女'

(注:文档可能无法思考全面,请浏览后下载,供参考。)

数据库原理实验指导书(带SQL语句)

数据库原理—数据库原理与应用实验指导书

目录 实验一SQLSERVER 2000的安装 (3) 实验二数据库及表的定义 (16) 实验三数据插入、删除、与更新 (19) 实验四数据查询 (22) 实验五视图的定义和使用 (24) 实验六数据完整性 (25) 实验七存储过程的使用 (26) 实验八事务的使用 (27) 实验九安全性管理 (29) 实验十数据库设计 (31)

实验一SQLSERVER 2000的安装

仅连接Microsoft Windows NT 4.0、Windows 2000(所有版本)、Windows Me、Windows 98 和Windows 95。 2.SQL SERVER 2000的安装 (1)将企业版安装光盘插入光驱后,出现以下提示框。 注意:如果您的计算机的操作系统是windows 95以上,则选择“安装SQL Server 2000组件”,如果操作系统是windows 95,则需要选择“安装SQL Server 2000的先决条件”。由于SQL Server 2000 的某些功能要求在Microsoft Windows 2000 Server以上的版本才能运行。因此安装Windows Server 2000(建议为Advanced版本),可以学习和使用到SQL Server 2000的更多功能,以及享受更好的性能。 本安装将在Windows 2000 Advanced Server操作系统作为示例,详细介绍安装SQL Server 2000企业版的过程。大家清首先安装Windows 2000 Advanced Server。 (2)选择"安装SQL Server 2000 组件",出现下一个页面。

数据库原理中SQL语句实验指导书及答案

实验四:管理SQL Server表数据 一、实验目的 熟悉数据表结构及使用特点; 熟悉使用Management Stuio界面方式管理数据表数据; 熟悉使用T-SQL语句管理数据表数据。 二、实验环境 已安装SQL Server 2005 企业版的计算机(13台); 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 了解SQL Server数据表数据的管理方法; 了解SQL Server数据类型; 完成实验报告(部分题只需给出关键语句)。 五、实验内容及步骤 以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作: 向各个数据表中插入如下记录: 学生信息表(student)

课程信息表(course) 选课信息表(sc)

insert into student.dbo.sc values('20051501','1',75) insert into student.dbo.course values('1','数据库','5',4) insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”; update student set Sname='李咏' where Sname='李勇' 3.修改课程“数据处理”的学分为3学分; 3.update course set Ccredit=3 where Cname ='数据处理' 4.将选修课程“1”的同学成绩加5分; 4.update sc set Grade =Grade+5 where Cno='1' 5.将选修课程“大学英语”的同学成绩加5分; update sc set Grade=Grade+5 from course,sc where https://www.360docs.net/doc/8119188746.html,o=https://www.360docs.net/doc/8119188746.html,o and https://www.360docs.net/doc/8119188746.html,ame='大学英语'

数据库原理实验指导书

数据库原理实验指导书 实验名称:试验一:SQL语言嵌套查询和数据更新操作 所属课程:数据库原理 实验类型:设计型实验 实验类别:基础□专业基础√专业□ 实验学时:4学时 一、实验目的 1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式; 2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算); 3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用; 4.加深理解表的定义对数据更新的作用 二、预习与参考 1.熟悉SQL SERVER 工作环境; 2.连接到学生-课程数据库 3.复习对表中数据查询的SQL语言命令; 4.复习对表中数据的插入、修改和删除的SQL语言命令。 三、实验要求(设计要求) 针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。 四、实验方法及步骤 1.在表S、C、SC上进行简单查询; 2.在表S、C、SC上进行连接查询; 3.在表S、C、SC上进行嵌套查询; 4.使用聚合函数的查询; 5.对数据的分组查询; 6.对数据的排序查询。 7.将数据插入当前数据库的表S、C、SC中; A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上; 9.修改表S、C、SC中的数据; A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 10.删除表S、C、SC中的数据。 A:用SQL命令形式 B:用SQL SERVER提供的企业管理器以交互方式进行 五、实验内容 在表S,C,SC上完成以下操作: 1.查询学生的基本信息; 2.查询“CS”系学生的基本信息; 3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名; 4.找出最大年龄; 5.找出“CS”系年龄最大的学生,显示其学号、姓名; 6.找出各系年龄最大的学生,显示其学号、姓名;

《数据库原理》实验指导书--最新版

实验一实验环境熟悉与数据库(表)的建立 实验目的 熟悉实验的环境,掌握数据库、数据表的建立方法。 实验内容 1、熟悉SQL的使用环境 进入SQL环境(企业管理管理器、查询分析器)。 2、建立学生管理系统所需的数据库、数据表 一个数据库,三张数据表。 实验环境 1、硬件 PC机,具有网络功能。 2、软件 OS:windows 2000 professional; DBMS: SQL Server 2000. 实验过程 一、SQL server 2000环境 1、系统的安装 系统的安装过程比较简单,给学生演示一下。 2、进入查询分析器 开始→程序→Microsoft SQL Server→查询分析器, 如下图所示: 图1-1 查询分析器的界面如图1-2所示:

图1-2 在文本框输入命令即可。 举例:计算圆面积的SQL程序的输入与运行结果界面(图1-3)。 图1-3

3、企业管理器的进入 开始→程序→Microsoft SQL Server→企业管理器, 如下图所示: 图1-4 企业管理器的界面如图1-5: 图1-5 二、建立数据库与数据表 1、建立学生管理数据库 用SQL语句(生成的主文件名为: XSGL.MDF) 语句为:CREATE DATABASE XSGL 2、建立学生管理系统的数据表(共3个) 使用SQL语句建立如下三个数据表(表结构见课本P92): 学生表: Student.DBF(选本班10个同学作为10条记录) CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20)

数据库原理与应用课程实验指导书(附答案)

《数据库原理与应用》课程实验指导书 苏州工业职业技术学院信息工程系 2008.1

目录 目录 (Ⅰ) 前言………………………………………………………………………………………实验一初识SQL Server 2000…………………………………………………实验二数据库的创建和管理…………………………………………………实验三表的创建、管理及数据操作……………………………………………实验四单表查询……………………………………………………………实验五连接查询…………………………………………………………实验六嵌套查询……………………………………………………实验七视图的创建和管理……………………………………………………实验八游标的使用……………………………………………………实验九T-SQL语言编程基础…………………………………………………实验十函数…………………………………………………………………………实验十一索引、默认值约束和默认值对象………………………………实验十二数据完整性的实现…………………………………………………实验十三存储过程…………………………………………………实验十四触发器…………………………………………………实验十五系统安全管理…………………………………………………实验十六数据备份、恢复和导入导出………………………………………实验十七综合训练…………………………………………………

前言 数据库技术是计算机学科中的一个重要分支,发展迅速、应用非常广泛,几乎涉及了所有应用领域。例如,办公系统、生产管理、财务管理、人事管理、工业管理等,都广泛应用了数据库技术。 本实验指导书是《数据库原理与应用》课程的配套实验资料。通过安排实验及布置的任务,让学生熟练掌握使用关系数据库管理系统SQL Server 2000进行数据库及表的创建和管理、查询、Transact—SQL程序设计、各类约束的创建及使用、视图及索引的创建与管理、SQL Server 的存储过程的创建和管理、SQL Server 的触发器创建和管理、SQL Server的安全性管理、数据库的备份及恢复。并能根据实际应用需求进行数据库设计和实现,提高学生的实际动手能力,为其今后在相关领域学习和工作打下较好的基础。

数据库原理及应用最全上机实验及实验答案

实验一 SQL Server 2005 的安装和环境介绍 一.实验目的与要求: 1.掌握SQL Server 2005 服务器的安装方法 2.了解SQL Server 2005 的环境 3.了解数据库及其对象 二.实验准备 1.了解SQL Server 2005的版本 2.了解SQL Server 2005各版本对硬件和软件的需求三.实验要求 1.写出SQL SERVER 2005的功能与特点, 使用方法, 应用状况的报告 2.完成SQL SERVER 2005的安装、启动、登录。 四.实验内容 1.安装SQL Server 2005

实验一 SQL Server 2005 的安装和环境介绍 ●实验指导——安装SQL Server 2005 1.根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例 2.将 SQL Server 2005 DVD 插入 DVD 驱动器。如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到 DVD 的根目录然后启动splash.hta。 3.在自动运行的对话框中,单击“运行 SQL Server 安装向导”。 4.在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。接受许可协议后即可激活“下一步”按钮。若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。如下图: 5.在“SQL Server 组件更新”页上,安装程序将安装 SQL Server 2005 的必需软件。有关组件要求的详细信息,请单击该页底部的“帮助”按钮。若要开始执行组件更新,请单击“安装”。更新完成之后若要继续,请单击“完成”。

数据库原理及应用实验报告之SQL语言(一) SQL定义语言

实验目的: 1.熟练掌握SQL语言进行基本表结构的创建。 2.熟练应用SQL语言进行表结构的修改。 3.掌握SQL语言进行基本表的删除。 4.掌握SQL语言进行索引的建立和删除 5.选择具体的数据库管理系统进行实现(Access 或SQL Server) 实验内容和要求: 1.切换到Access的SQL视图或者打开SQL Server查询分析器进行定义操作 2.用SQL语言CREATE TABLE语句创建学生表student、课程表course和选课表SC;(字段类型及长度参照实验一) 3.用SQL语言ALTER语句修改表结构; a)STUDENT表中SNO设为非空和唯一; b)STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,增加一个ADDRESS字段,类型为文本(字符); c)删除STUDENT表中ADDRESS字段; d)COURSE表中CNO字段设为非空和唯一; 4.重新定义一个简单表,然后用SQL语言DROP语句删除该表结构; 5.用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引; 6.用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引; 7.用SQL语言DROP语句删除索引; 8.输入部分数据,并试着修改其中的错误; 实验过程与步骤: (1)创建学生表student的实现如下: create table student( sno char(8), sname char(8) , ssex char(2) , sage smallint, sdept char(20) ); (2)创建课程表course的实现如下: create table course( cno char(3) , cname char(20), cpon char(3), credit numeric(2,1) ); (4)创建选课表sc实现如下: create table sc( sno char(8), cno char(3), grade numeric(4,1)

数据库原理及应用实验指导★---实验4 SQL语言——SELECT查询操作

实验4 SQL 语言——SELECT 查询操作 1 实实验验44 S S Q Q L L 语语言言————S S E E L L E E C C T T 查查询询操操作作 实验示例 实验示例中要使用包括如下三个表的“教学管理”数据库JXGL : (1)学生表Student ,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记作:Student(Sno,Sname,Ssex,Sage,Sdept),其中主码为Sno 。 (2)课程表Course ,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit),其中主码为Cno 。 (3)学生选课SC ,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作:SC(Sno,Cno,Grade),其中主码为(SNO,CNO)。 1、在SQL SERVER 查询分析器或企业管理器(以具有相应操作权限的某用户登录)的SQL 操作窗口中执行如下命令创建数据库。需要说明的是不同数据库系统其创建数据库的命令或方式有所不同。 CREATE DATABASE JXGL 2、刷新数据库目录后,选择新出现的JXGL 数据库,在SQL 操作窗口中,创建Student 、SC 、Course 三表及表记录插入命令如下: Create Table Student ( Sno CHAR(5) NOT NULL PRIMARY KEY(Sno), Sname VARCHAR(20), Sage SMALLINT CHECK(Sage>=15 AND Sage<=45), Ssex CHAR(2) DEFAULT '男' CHECK (Ssex='男' OR Ssex='女'), Sdept CHAR(2)); Create Table Course ( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno), Cname VARCHAR(20), Cpno CHAR(2), Ccredit SMALLINT); Create Table SC ( Sno CHAR(5) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno), Cno CHAR(2) NOT NULL, Grade SMALLINT CHECK ((Grade IS NULL) OR (Grade BETWEEN 0 AND 100)), PRIMARY KEY(Sno,Cno),

SQL数据库实验和参考答案

数据库实验和参考答案 上机实验七 1.声明一个字符串型的局部变量,并对其赋值:‘我的变量’,然后显示出此值。 declare @a char(10) set @a='我的变量' --select @a as 变量的值 print @a 2.编程实现如下功能: 1)声明两个整形的局部变量:@i1和@i2,对@i1赋初值:10,@i2的值为:@i1乘以5,再显示@i2

的结果值。 declare @i1 int,@i2 int set @i1=10 set @i2=@i1*5 print @i2 2)用While语句实现5000减1, 减2,……一直减到50的计算,并显示最终的结果。 declare @sum int,@i int set @sum=5000 set @i=1 while(@i<=50) begin

set @i=@i+1 end print @sum 3)输出100以内的素数。 declare @i smallint,@j smallint,@k smallint set @i=2 while(@i<=100) begin set @k=0 set @j=2 while(@j<@i) begin if(@i%@j=0) begin set @j=@I

end set @j=@j+1 end if @k=0 print @I set @i=@i+1 end 4)将字符数在20以内的字符串变量C的值逆序输出。要求输出界面为: declare @i varchar(20),@j int,@k varchar(20) set @j=1 set @k='' while @j<=len(@i)

数据库原理及应用实验指导书湖南工程学院计算机科学与通信学院实验答案

数据库原理及应用 实验指导书 湖南工程学院计算机科学与通信学院 2011年9月 实验一 一、实验目的: 掌握建立一个数据库表结构的方法和步骤,了解数据库表的基本组成。 二、实验内容: 基本表的创建和修改。

三、实验要求:(必做) 硬件:Intel Pentium 120或以上级别的CPU,大于16MB的内存。 软件:Windows 95/98/2000操作系统,关系数据库管理系统SQL SERVER 2000。 学时:2学时 四、实验步骤: 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno,sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计), Salary(Tno,jbgz,zwgz,hj); 2、用alter修改基本表 (1)在已存在的学生表student中增加一个sdept(系)的新的属性列; (2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。 3、建立一个临时表,然后将其删除 --------/*学生表*/ create table Student (Sno char(4)not null, Sname char(8), Ssex char(4), Sage smallint) --------- create table Course (Cno char(4)not null, Cname char(40), Credit smallint) create table SC (Sno char(9)not null, Cno char(4)not null, grade smallint) --------- create table T (Tno char(4)not null, Tname char(20), ssex char(4), birthday char(10), dept char(20), title char(10),

数据库原理实验答案

课程结束各班学委统一收实验报告 数据库原理及应用(本科) 实验指导书1(报告) 计算机信息教研室 桂林理工大学信息科学与工程学院 二○二○年八月 目录 实验 1 创建数据库与数据表 (2) 实验2 简单查询和连接查询 (10) 实验3 嵌套查询和集合查询 (12) 实验4 数据完整性 (14)

桂林理工大学 实验报告 班级学号姓名同组实验者无 实验名称实验1 创建数据库与数据表日期年月日 一、实验目的: 1.熟悉SQL SERVER环境; 2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令; 3.掌握数据表的创建和数据记录的插入方法。 二、实验环境: Sqlserve数据库管理系统 三、实验内容: 1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示: 学生STUDENT:(注:CS计算机科学,IS信息系统,MA数学) Sno Sname Ssex Sage Sdept 95001李勇M20CS 95002刘晨F19IS 95003王敏F18MA 95004张立M18IS 课程COURSE:(注:Pcno 先修课课程号) Cno Cname Pcno Ccredit 1数据库54 2数学2 3信息系统14 4操作系统63 5数据结构74 6数据处理2 7C语言64 选修SC: Sno Cno Grade 95001192

95001285 95001388 95002290 95002 950033 3 80 实验步骤: 1.创建教学管理“JXGL”数据库。(注:可采用可视窗体和SQL命令两种方法创建。以下是SQL命令方法) (1) 创建教学管理“JXGL”数据库。 在命令窗格中输入如下命令,然后单击“运行”功能钮执行该命令。 CREATE DATABASE JXGL; (2) 在JXGL数据库中建立STUDENT表,并插入记录。 CREATE TABLE STUDENT ( Sno char(5) not null unique, Sname char(20) not null unique, Ssex char(1), Sage int, Sdept char(20)); INSERT INTO STUDENT V ALUES('95001','李勇','M',20,'CS'); INSERT INTO STUDENT V ALUES('95002','刘晨','F',19,'IS'); INSERT INTO STUDENT V ALUES('95003','王敏','F',18,'MA'); INSERT INTO STUDENT V ALUES('95004','张立','M',18,'IS'); 1 (3) JXGL数据库中建立COURSE表,并插入记录。 CREA TE TABLE COURSE ( Cno char(2) not null PRIMARY KEY(Cno), Cname char(20), Pcno char(2), Ccredit smallint); INSERT INTO COURSE V ALUES('1','数据库','5',4); INSERT INTO COURSE V ALUES('2','数学',' ',2); INSERT INTO COURSE V ALUES('3','信息系统','1',4); INSERT INTO COURSE V ALUES('4','操作系统','6',3); INSERT INTO COURSE V ALUES('5','数据结构','7',4); INSERT INTO COURSE V ALUES('6','数据处理',' ',2); INSERT INTO COURSE V ALUES('7','C语言','6',4); (4) JXGL数据库中建立SC表,并插入记录。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案 实验一:数据库管理系统的安装与配置 问题一 数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。它允许用户创建,读取,更新和删除数据库中的数据。常见的数据库管理系统有MySQL,Oracle,SQL Server等。 问题二 在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持 问题三 MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。 2. 运行安装程序,按照向导的指示进行安装。 3. 选择是否要安装MySQL 服务器和MySQL工具。 4. 设置密码以保护数据库的安全。 5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。每行代表一个记录,每列代表一个字段。 问题五 关系型数据库管理系统(RDBMS)是一种DBMS,它使用 结构化查询语言(SQL)来操作和处理数据。常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。 问题六 开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。ODBC驱动程序充当应用程序和数据库之间的翻译器。 问题七 在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

数据库原理实验答案

实验报告 课程名称:数据库原理 系部名称:计算机 专业班级:网络工程 学生姓名: 学号: 指导教师:

实验(一) 实验名称:数据库表的建立实验时间:2013-3-4 一、实验目的: 本实验的目的是使熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查 询语句的理解。 1、熟练掌握简单表的创建。 2、掌握主键约束、外键约束及及check约束的用法; 3、掌握默认值约束的应用; 4、了解规则、触发器的使用。 二、实验内容: 1、使用查询分析器,用ddl建立studentinfo数据库 2、在studentinfo 数据库中定义3个表,students, courses,和sc,表的具体要求如下:用 ddl建立上述3个表并增加如下约束: 具体约束为: 1、请用至少2种方法定义stu数据库中student表的主键sno;

2、为表course中的字段cname添加唯一值约束; 3、对于数据表sc的sno、cno字段定义为外码,使之与表student的主码sno及表 course的主码cno对应,实现如下参照完整性: 1)删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录; 2)修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录, 则拒绝修改; 3)修改course表cno字段值时,该字段在sc表中的对应值也应修改; 4)删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的 记录; 5)向sc表添加记录时,如果该记录的sno字段的值在student中不存在,则拒 绝插入; 4、定义check约束,要求学生学号sno必须为10位字符,且不能以0开头,第二三位皆为0;check(sno like‘[^0]00__________’ ) 5、定义stu数据库中student表中学生年龄值在16-25范围内; 6、定义stu数据库中student表中学生姓名长度在2-8之间;check(len(sname)<8) 7、定义stu数据库中student表中学生性别列中只能输入“男”或“女”; 8、定义stu数据库student表中学生年龄值默认值为20; 2.studentinfo数据库的3个表students,courses,sc 表中输入若干纪录,内容为:

SQL数据库原理实验指导书及答案

数据库原理SQLServer 实 验 指 导 书

数据库系统原理实验 一、基本操作实验 实验1:数据库的定义实验 本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。 本实验的内容包括: l)创建数据库和查看数据库属性。 2)创建表、确定表的主码和约束条件,为主码建索引。 3)查看和修改表结构。 4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法 具体实验任务如下。 1.基本提作实验 1)使用Enterpriser Manager建立图书读者数据库 2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为: 图书(书号,类别,出版社,作者,书名,定价,版次); 读者(编号,姓名,单位,性别,电话): 借阅(书号,读者编号,借阅日期人) 要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和Default Value(缺省值)等列级数据约柬。 4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey (主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)

中国石油大学(华东)数据库原理实验答案(sql语句)

实验三 /*CREATE TABLE UNITNO(单位代码 VARCHAR(20), 单位名称 VARCHAR(30) ); CREATE TABLE OILWELL(井号 VARCHAR(20), 井别 VARCHAR(20), 单位代码 VARCHAR(20), ); CREATE TABLE CONSTRUCTIONUNIT(施工单位名称 VARCHAR(30) ); CREATE TABLE GOODSNO(物码 VARCHAR(20), 名称规格 VARCHAR(30), 计量单位 VARCHAR(20) ); CREATE TABLE COST(单据号 VARCHAR(20), 预算单位 VARCHAR(20), 井号 VARCHAR(20), 预算金额 FLOAT, 预算人 VARCHAR(20), 预算日期 DATE, 开工日期 DATE,

完工日期 DATE, 施工单位 VARCHAR(30), 施工内容 VARCHAR(50), 材料费 FLOAT, 人工费 FLOAT, 设备费 FLOAT, 其他费用 FLOAT, 结算金额 FLOAT, 结算人 VARCHAR(20), 结算日期 DATE, 入账金额 FLOAT, 入账人 VARCHAR(20), 入账日期 DATE ); CREATE TABLE MATERIALPRICE(单据号 VARCHAR(20), 物码 VARCHAR(20), 消耗数量 BIGINT, 单价 FLOAT ); */ /*INSERT INTO UNITNO(单位代码,单位名称)VALUES('1122','采油厂'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112201','采油一矿'); INSERT INTO UNITNO(单位代码,单位名称)VALUES('112202','采油二矿');

数据库原理实验指导书_参考答案

《数据库原理与应用》实验指导 / 学年第学期 姓名:______________ 学号:______________ 班级:______________ 指导教师:______________ 计算机科学与工程学院 2009

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 2、SQL Server 2000(2005)的安装步骤? 三、实验内容和要求 1、注册服务器 基本步骤: (1)打开企业管理器 (2)右击SQL Server组→新建SQL Server注册 (3)添加可用的服务器(实际数据库服务器的名称或IP地址) (4)选择身份验证模式(选“系统管理员分配给我的登录信息”) (5)输入正确的登录名和密码 (6)选择SQL Server组(选“在现有的SQL Server组中添加SQL Server”)(7)完成注册 若注册成功,则显示注册成功的信息。 2、连接SQL Server服务器 (1)右键单击上面注册的数据库服务器,选择连接,建立与数据库服务器的连接。观察连接后服务器图标的变化; (2)右键单击选择编辑SQL Server注册属性,观察已注册数据库服务器的属性信息; (3)右键单击选择删除SQL Server注册。为保证数据库的安全性,使用完毕自己

的数据库后,可采取删除的方式,断开与数据库的连接; (4)重复注册服务器的步骤,再次建立与数据库的连接; 3、熟悉企业管理器 (1)单击建立的服务器连接,观察服务器的7个项目,写出它们的名称。通过查看联机帮助,总结7个项目的基本功能。 (2)单击数据库,观察Northwind数据库下的11个项目,写出项目名称,通过联机帮助了解它们的基本功能。 (3)查看Northwind的表项目,单击表,观察表的名称、所有者、类型以及创建日期。回答: ▪这些表的所有者有哪几种? ▪这些表的类型有哪几种? ▪选择表Employees,在右键菜单中选择打开表->返回所有行,观察表中的数据,说出这些数据的实际含义。观察其他用户类型的表,你还能说出它们数据的实际含义吗?

数据库系统原理及应用答案.

数据库系统原理及应用实验指导书 (本科) 福建工程学院计算机与信息科学系

目录 实验一数据定义语言 (2) 实验二SQL Sever中的单表查询 (5) 实验三SQL Serve中的连接查询 (8) 实验四SQL Serve的数据更新、视图 (11) 实验五数据控制(完整性与安全性) (16) 实验六语法元素与流程控制 (19) 实验七存储过程与用户自定义函数 (23) 实验八触发器 (27)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。

《数据库系统原理》实验指导书参考答案(计本10、电商10)

浙江树人大学信息科技学院《数据库系统原理》 实 验 指 导 书 适合专业:计算机科学与技术本科专业 编写部门:电子商务教研室 编写日期:2012.02

实验一:SQL Server 2005服务器管理 (1) 实验二:创建和管理数据库 (4) 实验三:数据定义 (4) 实验四:数据更新 (11) 实验五:数据查询1——简单查询 (15) 实验六:数据查询(2)—连接查询 (17) 实验七:数据查询(3)—综合 (20) 实验八:视图 (21) 实验九:约束、默认、规则 (25) 实验十:存储过程 (29) 实验十一:触发器(1) (34) 实验十二:触发器(2) (39) 实验十三:安全性管理 (46) 实验十四:数据库的备份与还原 (47)

实验一:SQL Server 2005服务器管理 一、实验目的 通过实验使学生掌握SQL Server 2005数据库服务器启动、暂停、停止的方法;掌握SQL Server 2005数据库服务器的注册方法。 二、原理解析 1、SQL Server 2005服务器注册 注册服务器就是在SQL Server Management Studio中登记服务器,然后把它加入到一个指定的服务器组中,并在SQL Server Management Studio中显示SQL Server服务器的运行状态和在SQL Server Management Studio连接时自动启动SQL Server服务器。 2、SQL Server 2005的各种实用工具 ●SQL Server Management Studio SQL Server提供了多种实用工具来帮助用户管理和使用数据库,这些工具大大方便了用户的工作。 SQL Server Management Studio是微软管理控制台中的一个内建控制台,用来管理所有的SQL Server数据库。 ●SQL Server Management Studio查询窗口 SQL Server Management Studio查询窗口是一个图形界面的查询工具,用它可以提交Transact-SQL语言,然后发送到服务器,并返回执行结果,该工具支持基于任何服务器的任何数据库连接。 ●性能监视器 SQL Server提供了监视服务器性能和活动的功能,其功能是在选择的计数器上设置阀值,当达到阀值时,产生警告。利用性能监视器可以创建、观察和保存功能图表,用户可以选择对象和计数器并把它们添加到图表中,不同颜色的图表代表不同的计数器,如果要使图表较小并且可读,可以创建不同的图表来监视不同的统计类型。 ●活动监视器 SQL 活动监视器是图形工具,使系统管理员得以监视SQL Server 2005实例中的事件,可以捕获有关每个事件的数据并将其保存到文件或SQL Server表中供以后分析。 ●SQL Server 2005联机丛书 提供如何使用SQL Server 2005的各种帮助。

相关文档
最新文档