SQL实训题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.关系模式R1
学生(学号,姓名,性别,专业号,年龄)主键是(学号)候选关键字是(姓名),是否属于第一范式?(是)另有一表R2主键是(专业号),两表的公共建是(专业号),外键是(专业号)。
R1:
学号姓名性别专业号年龄
801 张三女01 19
802 李四男01 20
803 王五男01 20
804 赵六女02 20
805 钱七男02 19
R2:
专业号专业名
01 信息
02 数学
03 计算机
2.下列关系模式属于第几范式。请试着分解成符合第三范式多个表。
关系模式P3(学号、姓名、性别、课程号、成绩、所在系、住处)
属于第一范式
第二范式
S1(学号,课程号,成绩)
S2(学号,姓名,所在系,住处)
第三范式
S1(学号,姓名,性别)
S2(学号,所在系)
S3(所在系,住处)
1、【实验实例一】定义2个字符变量a1和a2,分别赋值为“I AM A STUDENT”,
“我是一个好学生”,并进行输出。
DECLARE @a1 char,@a2 char
SET @a1='I AM A STUDENT'
SET @a2='我是一个好学生'
select @a1
select @a2
2、【实验实例二】返回自上次启动SQL SERVER以来,连接或试图连接的次数以及当
前SQL SERVER服务器的版本。
select@@connections
select@@version
(三)函数(下列各题均需使用一条语句完成)
1、分别用函数求出-
2、3.2的绝对值,36的平方根及5的立方。
select abs(-2),abs(3.2),sqrt(36),power(5,3)
2、返回字符串“Abcd”第一个字符的AS CⅡ码值。
select ascii('Abcd')
3、使用RTRIM和LTRIM函数去掉字符串“机械工业”两边的空格,再与“中
国”及“出版社”连接起来。
select'中国'+rtrim(ltrim(' 机械工业 '))+'出版社'
4、使用函数从字符串“中国机械工业出版社”中返回字符串“机械”,并使用REVERSE
函数将字符串“机械”逆序返回。
select substring('中国机械工业出版社',3,2)
select reverse('机械')
5、将字符串“abcdabcd”中的所有字符“a”换成字符“%”。
select replace('abcdabcd','a','%')
6、使用函数返回系统当前日期及当前日期的年分,月份及日期子部分。
select year_now=datename(year,getdate()),
month_now=datename(month,getdate()),
weekday_now=datename(weekday,getdate()),date_now=getdate()
三.实验作业
1、用WHILE语句求1—100之间的累加和
declare @sum int,@count int
select @sum=0,@count=1
label:
select @sum=@sum+@count
select @count=@count+1
while @count<=100
goto label
select @sum,@count
2、使用PRINT语句在屏幕上输出2的10次方的值,输出的形式为“2的10次方为:”print'2的次方为'+rtrim(power(2,10))
3、用IF语句,求分段方程的值,方程如下:
X2 (X<=0)
Y= X+10(0 X(X>5) declare @x int,@y int set @x=7 if @x<=0 set @y=power(@x,2) else if @x>5 set @y=@x else set @y=@x+10 select @y, @x 4、设置在20秒钟以后进行一次返回当前系统日期时间的操作。 begin waitfor delay'00:00:20' select getdate() end 5、创建一个数据库NEW,并在数据库中创建一个表student,该表中有四个字段,表如下: 用”use new select*,'显示的信息'=case姓名 when'黄宏'then'有这个人' else'查无此人' end from student 三、实训作业:本次实验的1,2,3,4四个题。 1、数据库的创建 1)使用SSMS创建一个只含一个数据文件和一个事务日志文件的数据库,数据库名为new,主数据库文件逻辑名称为new_data,数据文件初始大小为5MB,最大值为200MB,数据文件大小以3MB的增量增加。日志逻辑文件名称new_log.ldf,日志文件初始大小为2MB,最大值100MB,日志文件以15%增量增加。 create database new2 on primary(name=new2_date, filename='C:\Program Files\Microsoft SQL Server\MSSQL.3\MSSQL\Data\new2.mdf',