SQL上机作业(2)
SQL上机考试题
设有一个学生-课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC ,如下图所示:(18分)根据以上所定义的三张基表写出相应的SQL 语句: (1)统计有学生选修的课程门数。
(2)查询每个学生的姓名及其选修课程的课程名。
(3)求选修2号课程的学生的平均年龄。
(4)求学分为4的每门课程的学生平均成绩。
(5)查询年龄在20以下的学生的姓名、所在系、年龄。
(6)统计每门课程的学生选修人数,超过2人的课程才统计。
要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
(7)检索姓名以王打头的所有学生的姓名和年龄。
(8)创建一个视图,包括每个系的学生所选的每门课程的平均成绩。
(9)把查询学生表的权限授予用户U1设有一个学生-课程数据库,包括学生关系Student 、课程关系Course 、选修关系SC ,如下图所示:(18分)SC根据以上所定义的三张基表写出相应的SQL语句:(1)统计有学生选修的课程门数。
(2)查询每个学生的姓名及其选修课程的课程名。
答:SELECT 姓名,课程名FROM Student,Course,Sc Where Student.学号=SC.学号AND Course.课程号=SC.课程号.(3)求选修2号课程的学生的平均年龄。
答:SELECT A VG(年龄) FROM Student,SCWHERE Student.学生号=SC.学生号and 课程号=’2’(4)求学分为4的每门课程的学生平均成绩。
答:SELECT Course.课程号,AVG(成绩) FROM Course, SCWHERE Course.课程号=SC.课程号and 学分=4GROUP BY Course.课程号(5)查询年龄在20以下的学生的姓名、所在系、年龄。
答:SELECT 姓名、系别、年龄FROM StudentWHERE 年龄课<20(6)统计每门课程的学生选修人数,超过2人的课程才统计。
SQL Server上机练习二
练习二SQL Server数据库的管理1、在企业管理器中利用图形界面工具新建一个数据库studb1,设置其参数如下:数据文件的初始大小为2M,最大为6M,增长方式为每次1M;数据文件的名称和路径使用默认值日志文件的初始大小为1M,最大大小无限制,增长方式为递增5%;日志文件的名称和路径使用默认值2、在企业管理器中利用图形界面工具新建一个数据库studb2,设置其参数如下:数据文件的逻辑名为studb2_Data1;物理名称为studb2_Data1.Mdf,路径位于D:\sdata;数据文件的初始大小为1M,最大为8M,增长方式为每次10%;日志文件的逻辑名为studb2_Log1;物理名称为studb2_Log1.ldf,路径位于D:\sdata;日志文件的初始大小为2M且不自动增长;3、studb2数据库创建完成后,对数据库studb2进行如下操作创建新的文件组,名称为SEC创建新的数据文件,逻辑名称为studb2_Data2,物理文件名为studb2_Data2.ndf; 路径位于D:\sdata; 其他参数值采取默认值,并将其加入文件组SEC创建新的日志文件,逻辑名称为studb2_Log2,其余参数均采用默认值4、对数据库studb2,执行如下操作删除第3题中创建的文件组SEC,观察系统的反应。
删除第3题中创建的次数据文件,然后再删除文件组SEC,观察系统的反应。
删除第三题中创建的次日志文件删除主数据文件、主日志文件观察系统的反应删除主文件组,观察系统的反应。
5、在查询分析器中,编写SQL语句创建数据库Studentsdb1,不指定参数,创建完成后去企业管理器查看系统为其制定的各项参数。
6、利用图形界面工具修改数据库Studentsdb1的上述参数7、在查询分析器中,编写SQL语句创建数据库Studentsdb2,参数如下:a)数据文件逻辑名为stu2b)物理文件为stu2.mdf;存放在d盘目录db8、在查询分析器中,编写SQL语句创建数据库Studentsdb3,参数如下:a)数据文件逻辑名为stu3b)物理文件为stu3.mdf; 存放在d盘目录dbc)初始大小为2M,递增方式为1M,最大10M9、在查询分析器中,编写SQL语句创建数据库Studentsdb4,参数如下:a)数据文件逻辑名为stu4,物理文件为stu4.mdf;存放在d盘目录db;初始大小为2000KB,递增方式为10%,最大9000KB;b)日志文件逻辑名为stu4log;物理文件为stu4.ldf;存放在d盘目录db;初始大小1M,递增方式为5%,大小不限制10、在查询分析器中,编写SQL语句创建数据库Studentsdb5,参数如下:a)数据文件逻辑名为stu5,物理文件为stu5.mdf;存放在d盘目录db;初始大小为4000KB,其大小不可自动增长11、在查询分析器,编写SQL语句创建数据库Studentsdb6,要求如下:a)主文件组包括两个数据文件和两个日志文件b)数据文件1的逻辑文件名为stu61;物理文件存放于d:\db目录下,名字为stu61.mdf;初始大小为1MB;最大为5MB;递增方式是每次增加20%c)数据文件2的逻辑文件名为stu62;物理文件存放于D盘的DB目录下,名字为stu62.ndf;初始大小为3MB;且不自动增长d)日志文件的逻辑文件名分别为stu6log1,stu6log2,,名字分别为stu6log1.ldf和stu6log2.ldf; 存放于d:\db目录下;初始大小均为1MB;最大均为5MB;递增方式都是每次增加256KB12、利用企业管理器删除数据库Studentsdb1,Studentsdb2,Studentsdb313、编写SQL语句删除数据库Studentsdb4,Studentsdb5,Studentsdb614、如果希望在上面建立的每个数据库中都包含表test,如何快速建立这些表?。
sql上机练习2
要求
两个文件
sql文件
用于记录操作中用到的SQL语句 用于显示SQL Server上的SQL语句的运行结果(屏幕拷贝)
word演示报告
建立的表名要有名字和学号,方便老师运行sql文件, 避免表名相同带来的建表失败错误 所有sql语句都要在SQL Server上调通 做完后发到191474470@
(2)班
练习2-1(2班)
建立数据库,并设计以下表(不定义约束)
学生表student(sno, sname, ssex ) 课程表course(cno, cname ) 教师表teacher(tno,tname, tsex) 开课表offering(ono, cno, tno ) 选课表enrollment(sno, ono ) 在student表的sno字段上建立唯一性索引(降序) 在teacher表的tname字段上建立非唯一性索引(升序) 在enrollment表的sno, ono字段上建立联合索引
创建索引
练习2-2(2班)
增加约束
设置ssex字段只能为’男’或者’女’ 设置course表的cno字段非空 在course表上的cno字段上增加主键 在enrollment表的cno字段上设置关于course表cno 字段的外键
把student表的sno字段上的索引改为升序
创建索引
Байду номын сангаас
增加约束
完成后发到191474470@
注意事项
练习2-2(1班)
Sql Server上机实验答案
--以默认方式创建stu001数据库create database stu001--打开stu001数据库use stu001--创建学生表XScreate table xs(学号char(7)not null primary key,姓名char(8)not null,性别bit not null default 1,出生日期smalldatetime not null,班级char(5)default'41021',总学分tinyint default 0,备注text null)--创建课程表KCcreate table kc(课程号char(3)not null primary key,课程名char(20)not null,开课学期tinyint not null default 1 check(开课学期>=1 and开课学期<9 ),学分tinyint not null default 0,学时tinyint not null)--创建学生与课程表xs_kccreate table xs_kc(学号char(7)not null references xs(学号),课程号char(3)not null references kc(课程号),成绩tinyint null default 0 check(成绩>=0 and成绩<=100),学分tinyint null default 0primary key(学号,课程号))--修改学生情况表(XS)的“出生日期”字段,使其数据类型改为datetime,且允许为空use stu001alter table xsalter column出生日期datetime null--删除学生与课程表(XS_KC)中的“学分”字段alter table xs_kc drop constraint DF__xs_kc__学分__0AD2A005alter table XS_kc drop column学分--修改学生情况表(XS),删除“班级”字段,增加一“专业”字段(varchar(20), 默认值为“计算机”)alter table xs drop constraint DF__xs__班级__7E6CC920alter table xs drop column班级alter table xs add专业varchar(20)default'计算机'--向数据库STUxxxx的XS表、KC表和XS_KC表中插入或修改成数据insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4102101','王林',1,'1983-1-23','计算机',40,NULL)insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4102102','吴荣华',0,'1984-3-28','计算机',44,NULL)insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4202103','张强',1,'1981-11-19','电子',null,NULL)insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4202110','王向荣',1,'1980-12-9','电子',50,NULL)insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4202221','李丽',0,'1982-7-30','电子',null,NULL)insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4302101','刘明',1,'1982-10-18','自控',38,NULL)insert into xs(学号,姓名,性别,出生日期,专业,总学分,备注)values('4402130','叶凡',1,'1983-11-18','数学',46,'转专业学习')insert into kc(课程号,课程名,开课学期,学时,学分)values('101','计算机基础',1,48,3)insert into kc(课程号,课程名,开课学期,学时,学分)values('102','C语言',2,80,5) insert into kc(课程号,课程名,开课学期,学时,学分)values('103','数据库',4,64,4) insert into kc(课程号,课程名,开课学期,学时,学分)values('201','离散数学',6,64,4)insert into kc(课程号,课程名,开课学期,学时,学分)values('202','计算机网络',7,64,4)insert into kc(课程号,课程名,开课学期,学时,学分)values('301','软件工程',6,64,4)insert into xs_kc(学号,课程号,成绩)values('4102101','101',80)insert into xs_kc(学号,课程号,成绩)values('4102101','102',89)insert into xs_kc(学号,课程号,成绩)values('4102101','103',78)insert into xs_kc(学号,课程号,成绩)values('4102102','101',57)insert into xs_kc(学号,课程号,成绩)values('4102102','102',67)insert into xs_kc(学号,课程号,成绩)values('4202103','103',90)insert into xs_kc(学号,课程号,成绩)values('4202110','101',85)insert into xs_kc(学号,课程号,成绩)values('4202110','102',91)insert into xs_kc(学号,课程号,成绩)values('4202221','101',69)insert into xs_kc(学号,课程号,成绩)values('4402130','101',78)insert into xs_kc(学号,课程号,成绩)values('4402130','103',74)--(一)简单查询--1.查询XS表中各个同学的所有信息。
SQL上机作业2答案
SQL 上机作业2报告管理学院电子商务文(本)0902班邬涵卿0902110233SQL 上机作业21.在Student数据库中创建下列数据表:学生情况表233:课程情况表233:学生选课表233:2.按下列要求修改数据表1)修改“学生情况表099”的结构,为其添加“寝室号”、“照片”字段;2)将“性别”移到“身份证号”前面;将“省份”移到“班级”后面;3)修改“课程情况表099”,为其添加“职称”、“上课地点”字段;4)修改“学生选课表099”,添加“成绩等级”字段;5)将“专业”的类型修改为varchar,宽度修改为30,不允许为空;6)将“学生情况表099”的学号修改为不为空、且为主键;7)将“课程情况表099”中的课程号修改为不为空、且为主键;8)将“姓名、身份证号、课程名”修改为不为空。
9)生成3个数据表的脚本文件。
学生情况表233:学生选课表233:课程情况表233:3.用INSERT命令语句,为上面三个数据表录入至少10条记录(输入的学号是从自己学号开始的10个,姓名为自己和后面同学的真实姓名;课程号是自己学号的后三位开始,依次增加;专业、班级为真实信息;课程为自己学过的10门课程;其他数据自定);并将插入数据的命令保存。
学生情况表233:学生选课表233:课程情况表233:4.按下列要求进行查询1)查询自己第1学期高等数学的成绩,只显示学生的学号、姓名、班级、课程名、选课学期、成绩等字段;2)查询与自己同班同学的第1学期大学英语的成绩,只显示学生的学号、姓名、班级、课程名、选课学期、成绩等字段;3)查询第2学期各个院系英语成绩的平均分、最高分、最低分;*没有第二学期,所以只算第一学期,并且测量系英语只有一人,故只算管理学院*4)查询自己各个学期的选课情况,按“选课学期”升序、“成绩”降序显示学号、姓名、课程名、学时、学分、选课学期、成绩等信息。
5)查询高等数学成绩高于自己的其他同学的相关信息。
自考Sql srever 2000上机操作练习详解
例 53 P162 使用 In 限定查询
例 55 P163 连接查询
先修改数据表,使“学生 13”表也有“KH”字段,当两个表有相同字段,才可以进行连接 查询
例 56 P163
例 8 (P143)数据表输入数据
再建一个数据表
数据表输入数据,字段名与后面的具体值一一对应。
打开数据表,查看数据是否输入。
例 10(P144)更新数据表数据
updatea ….set…可以将数据表中已有数据更新 将“学生”表“cj”字段全部加 1
例 28(P153)表达式查询
查询数据表“student”,显示字段“xm,平均成绩,出生年份”,其中平均成绩由字段 cj 除以 4, 用取整函数 round()取整后得出,出生年份先由函数 getdate()获得系统时间,再由函数 year() 截取年份,由年份减年龄获得出生年份。
例 58 P165 嵌套查询
2014 年 4 月真题
43.有班级和学生表,如题 43 图所示,根据表中的数据,写出下列 SQL 语句的运行结果。
(1)SELECT 学号,姓名 FROM 学生 WHERE 性别=“女”;
启动 SQL server 2000
例 1(P134)
默认路径下建立数据库“学生 10”
运行代码
清除窗口
指定路径建立数据库
例 2(P134)创建数据库
SQL server 2000 上机操作练习详解
为了与课本操作环境一致,在 E 盘创建“测试”文件夹,
在上机操作缺乏经验的情况下,一定严格按步骤操作,顺序不能颠倒,代码也不要发挥。出 现提示名字已经时,可以在原名字后加数字,以能成功运行为目的,必须出现示例中出现的 成功运行提示,否则需查找原因重新运行。
10级《数据库系统》上机作业02—双号
班级:学号:姓名:实验3 SQL数据操纵1.实验目的掌握INSERT、UPDA TE、DELETE命令实现对表数据添加、修改与删除等更新操作。
2.背景知识(1)添加操作。
SQL语言中数据添加语句INSERT通常有两种形式,一种是一次添加一条元组,另一种是一次添加一个子查询结果,即一次添加多条元组。
1)添加单条元组。
在SQL语句中添加单条元组的语句格式如下:INSERT INTO <表名>[(<属性列1>[,<属性2>]…)]V ALUES(<常量1>[,<常量2>])功能是将指定的元组添加到指定的关系中,其中属性列的顺序要与常量值的顺序一一对应,常量i的值赋给属性列i(i=1,2,…)。
关系中在INTO子句中没有出现的属性列,新值在这些列上取空值。
注意,若表定义中不许为空的列不能取空值,否则会出错。
有时可以省略属性列表,但常量的列表顺序要求必须与指定关系的实际属性列顺序一致,且新添加的记录必须在每个属性列上均有值。
2)添加多个元组。
在SQL语句中,子查询结果可以一次添加到指定的关系中,添加子查询结果的语句格式如下:INSERT INTO <表名>[(<属性列1>[,<属性2>]…)] <子查询>说明:子查询结果集合中的列数、列序和数据类型必须与<基本表名>所指基本表中相应各项匹配或兼容。
(2)修改操作。
数据库中数据发生变化时,需要对关系进行修改,在SQL语句中修改操作的一般格式为:UPDATE <表名> SET <列名>=<表达式>[,<列名>=<表达式>]… [WHERE <条件>]功能是修改指定关系中满足WHERE子句条件的元组。
其中,SET子句给出指定列的修改方式及修改后取值。
若省略WHERE子句则说明要修改关系中所有的元组。
大工21秋《SQL数据库系统及应用》在线作业2-【答案】
大工21秋《SQL数据库系统及应用》在线作业2试卷总分:100 得分:1001.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上()。
<-A.->group<-B.->order<-C.->top<-D.->distinct【本题正确参考选择】:D2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用()参数。
<-A.->asc<-B.->desc<-C.->between<-D.->and【本题正确参考选择】:B3.查询学校员工工资信息时,结果按工资降序排列,正确的是()。
<-A.->ORDERBY工资<-B.->ORDERBY工资desc<-C.->ORDERBY工资asc<-D.->ORDERBY工资and【本题正确参考选择】:B4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当()。
<-A.->在join后面使用betweento子句<-B.->在groupby后面使用having子句<-C.->在where后面使用orderby子句<-D.->在join后面使用orderby子句【本题正确参考选择】:B5.在SQL查询语句中,HAVING子句的作用是()。
<-A.->指出排序的范围<-B.->指出查询结果的最大值<-C.->指出分组查询的条件<-D.->指出创建数据表的字段【本题正确参考选择】:C6.以下关于HAVING子句描述错误的是()。
<-A.->HAVING子句允许与GROUPBY子句同时使用<-B.->使用HAVING子句的同时不能使用WHERE子句<-C.->使用HAVING子句的同时可以使用WHERE子句<-D.->使用HAVING子句的作用是限定分组的条件。
大连理工大学20年秋季学期《SQL数据库系统及应用》在线作业2附参考答案
大连理工大学20年秋季学期《SQL数据库系统及应用》
在线作业2附参考答案
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上( )。
A.group
B.order
C.top
D.distinct
答案:D
2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用( )参数。
A.asc
B.desc
C.between
D.and
答案:B
更多加微boge30619
3.查询学校员工工资信息时,结果按工资降序排列,正确的
是( )。
A.ORDER BY 工资
B.ORDER BY 工资 desc
C.ORDER BY 工资 asc
D.ORDER BY 工资 and
答案:B
4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当( )。
A.在join后面使用between to子句
B.在group by后面使用having子句
C.在where后面使用order by子句
D.在join后面使用order by子句
答案:B
5.在SQL查询语句中,HAVING子句的作用是( )。
A.指出排序的范围
B.指出查询结果的最大值
C.指出分组查询的条件
D.指出创建数据表的字段
答案:C。
SQL数据库上机练习2
SQL数据库上机练习2在D盘根目录下用自己的名字加“练习2”建立一个目录一.(6分)在SQL Server Management Studio中建立满足如下要求的数据库:1.数据库名字为:TwoDB;2.此数据库包含两个数据文件,其中主数据文件的逻辑文件名为:Two_Data1,物理文件名为Two_data1.mdf,初始大小为2MB,存放在新建目录下,自动增长,每次增长1MB,最多增加到4MB。
辅助数据文件的逻辑文件名为:Two_data2,物理文件名为Two_data2.ndf,初始大小为3MB,同主数据文件存放在相同的位置,不自动增长。
3.日志文件包含一个,日志文件的逻辑文件名为:Two_log,物理文件名为Two_log.ldf,初始大小为3MB,同主数据文件存放在相同的位置,自动增长,每次增长30%,最多增加到5MB。
二.(10分)为描述书店对图书的进书情况,创建了三张表:图书表,书店表和书店进书表。
图书表用于表示图书的基本信息,书店表用于描述书店的基本信息,书店进书表描述了书店的图书进书情况。
用语句在TwoDB数据库中创建这三张表,请将语句以文件形式保存下来,文件名为“姓名.sql”,存放在新建的目录下。
可以将后续所有的SQL语句均保存在此文件中,在文件中要注明题号)。
注:括号中为表名和列名的拼音表示,建表时用拼音表示表名和列名即可。
三张表的结构如下:1.图书表(TSB)(记录出版社所印的每种图书的情况,一个图书编号对应一种图书,而不是一本图书)图书ISBN(ISBN):普通编码定长字符型,4位长,主码书名(SM):普通编码可变长字符型,30位长,非空类别(LB):普通编码定长字符型,10位长,允许空,取值范围为{计算机、通讯、数学、外语}印刷数量(YSSL),小整型,允许空,取值:大于等于1000单价(DJ):定点小数,小数点后保留2位,小数点前4位,允许空出版日期(CBRQ):小日期时间型,允许空2.书店(SDB)书店编号(SDBH):普通编码定长字符型,4位长,主码书店名称(SDDM):普通编码定长字符型,20位长,非空地址(DZh):普通编码可变长字符型,30位长,允许空电话(DH):普通编码定长字符型,12位长,取值形式为:“(3位数字)-6位数字”3.书店进书表(JSB)图书ISBN(ISBN):普通编码定长字符型,4位长,非空书店编号(SDBH):普通编码定长字符型,4位长,非空进书日期(JSRQ):小日期时间型,非空,默认值为插入记录时的当前时间进书数量(JSSL):小整型,允许空,取值:大于等于10其中:(图书ISBN,书店编号,进书日期)为主码图书ISBN为引用图书表的外码,书店编号为引用书店表的外码。
数据库原理及SQL Server 应用上机题2
1.以最简单的方式创建一个数据库,数据库的名称自定义。
create database 教学管理系统2.在自己创建的数据库中用t_sql语言创建,班级表,学生表,课程表,成绩表其中有关字段的名称和数据类型如下:班级表:(班号为主键,班级人数必须大于20)班号char(20) 专业char(20) 所在系char(20) 人数smallintcreate table 班级表(班号char(20) primary key,专业char(20),所在系char(20),人数smallint check(人数>20))学生表:(学号为主键,班号为外键)学号char(20) 姓名char(20) 性别char(20) 籍贯char(20) 出生日期smalldatetime 班号char(20)create table 学生表(学号char(20) primary key,姓名char(20),性别char(20),籍贯char(20),出生日期smalldatetime,班号char(20) references 班级表(班号)on delete cascadeon update cascade)课程表:(课程号为主键)课程号char(20) 课程名char(20) 教材char(20) 课时smallintcreate table 课程表(课程号char(20) primary key,课程名char(20),教材char(20),课时smallint)成绩表:(学号和课号为主键)学号char(10) 课号char (10) 成绩intcreate table 成绩表(学号char(10) ,课号char(100),成绩int,constraint cjb_zj primary key(学号,课号))3.用t_sql语言为每个表做修改1)--为学生表增加一个字段“年龄”,数据类型为smallintalter table 学生表add 年龄smallint2)--为成绩表中字段学号和课号添加非空约束alter table 成绩表add constraint xuehao_kehao_nonull check (学号is not null and 课号is not null)3)--为成绩表添加外键约束alter table 成绩表add constraint cj_wj foreign key (学号) references 学生表(学号)on delete cascadeon update cascadealter table 成绩表add constraint cj_wj1 foreign key (课号) references 课程表(课程号)on delete cascadeon update cascade4)--为成绩表成绩添加约束,成绩必须在0到100分之间alter table 成绩表add constraint cj_check check(成绩>=0 and 成绩<=100)5)--为学生表年龄添加约束,年龄必须小于40,(思考:加入对现有违反约束的数据不检查怎么写?)alter table 学生表with nocheckadd constraint nl_check check(年龄<40)6)--删除学生表年龄的check约束alter table 学生表drop constraint nl_check7)--删除成绩表中字段“课程”的外键alter table 成绩表drop constraint cj_wj18)--删除学生表年龄字段alter table 学生表drop column 年龄。
SQL上机指导(学生版本)
目录练习1 SQL Server 2000 的安装 (1)练习2 查询分析器的操作 (2)练习3 SQL Server 服务器的各种操作 (5)练习4 创建数据库 (7)练习5 创建表 (12)练习6 SQL基本语句 (18)练习7 数据库备份及恢复 (21)练习8 用户及权限管理 (24)练习9 创建视图 (25)练习10 创建索引 (28)练习11 创建存储过程 (30)练习12 创建触发器 (33)练习13 用Visual Basic开发数据库应用程序 (34)练习14 用ASP开发网络应用程序 (46)练习15 通过ArcCatalog进行矢量数据的入库 (48)练习16 shp2sde命令行方式向ArcSDE导入数据 (48)练习17 使用shp2sde命令行方式向ArcSDE批量导入数据 (49)练习18 使用sderaster导入栅格数据 (49)练习19 ArcSDE中空间数据的备份与恢复 (51)练习20 ArcView GIS与ArcSDE的连接 (53)附录其它ArcSDE连接方式 (55)1练习1 SQL Server 2000 的安装1.题目在WINDOWS 2000操作系统平台上安装SQL Server 2000个人版。
2.操作过程①将SQL Server 2000的安装光盘放入到光驱中,在弹出的SQL Server自动菜单中,选择“安装SQL Server 2000个人版”,在下一个窗口中选择“安装SQL Server 2000组件”选项。
○2安装程序启动安装向导,开始安装。
③设置计算机名。
输入本地计算机名,如:mycomputer,单击“下一步”按钮,进入“安装选择”窗口。
○4设置安装选择。
选择“创建新的SQL Server实例,或安装客户端工具”选项,单击“下一步”按钮,安装程序要求输入用户信息。
⑤设置用户信息。
在“用户信息”对话框中输入姓名和公司名输入。
但公司名称也可以不输入。
数据库上机作业
数据库上机作业语句查询数据(二)――汇总查询【实验内容】1) 打开“SQL Server Management Studio”窗口。
2) 单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口 3)在窗口中输入以下SQL查询命令并执行: a.在KC表中,统计每学期的总分数use xscj select 开课学期, COUNT(学分)as 总学分 from kcb.在XS_KC表中统计每个学生的选修课程的门数use xscj select 学号,count(课程号)as 选修的课程门数 from xs_kcc.统计KC表中的总学分,并显示明细信息use xscj select * from kcorder by 总学分d.按开课学期统计KC表中各期的学分,并显示明细信息use xscjselect 课程名,开课学期,学分 from kcgroup by 开课学期e.将XS_KC表中的数据记录按学号分类汇总,输出学号和平均分use xscjselect 学号,avg(学分)as 平均分 from xs_kc group by 学号f.查询平均分大于70且小于80的学生学号和平均分use xscjselect 学号,AVG(学分)as 平均分 from xs_kc group by 学号having AVG(学分)>70 and Avg(学分)<=80g.查询XS_KC表,输出学号、课程号、成绩,并使查询结果首先按照课程号的升序排列,当课程号相同时再按照成绩降序排列,并将查询结果保存到新表TEMP_KC中 use xscjselect 学号, 课程编号, 成绩 into TEMP_KC from xs_kcorder by 课程编号 asc,成绩 desc select * from TEMP_KCh.查询选修了“101”课程的学生的最高分和最低分 use xscjselect top 1 * from 教学成绩表 where 课程编号='101' order by 分数 descuse xscj select top 1 * from 教学成绩表 where 课程编号='101' order by 分数或者: use xscj select 课程号, MAX(成绩)as 最高分, MIN(成绩)as 最低分 from xs_kc group by 课程号 having 课程号='101'i.统计每个学期所开设的课程门数use xscj select 开课学期, count(*) as 课程门数 from kcgroup by 开课学期j.查询各专业的学生人数use xscjselect 专业,count(学号) as 学生人数 from xsqk group by 专业使用Select 语句查询数据(三)――连接查询和子查询【实验内容】1) 打开“SQL Server Management Studio”窗口。
sql作业2
1.按照籍贯统计每个省的平均入学成绩。
Select avg(入学成绩)From 学生Group by 贯籍2.查询89年6月15日以后出生的学生的名单。
Select 姓名From 学生Where 出生日期>”19890615”3查询1989年出生的学生信息。
Select *From 学生Where 出生日期like “1989*”4求选修“102”号课,成绩大于78分的学生的学号及成绩,并按成绩由高到低列出。
Select 学号,成绩From 成绩Where 课程号=”102” and 成绩>”78Order by desc”5.求出总分大于230的学生的学号,姓名及总成绩。
Select 学生.学号,学生.姓名,sum(成绩)as “总成绩”From 学生,成绩Where 成绩>(select sum(成绩) from 成绩where )6.求选修必修课学生的学号,课程号,成绩的情况。
Select 学生.学号,成绩.课程号,成绩.成绩From 学生,成绩,课程Where 学生.学号=成绩.学号and 成绩.课程号=课程.课程号Group by 是否选修7.列出所有学生选修的课程号,去掉重复值。
Select distinct 课程号From 成绩8.列出选修英语的所有学生的学号。
Select 学号From 成绩Where 课程号=(select 课程号from 课程where 课程名=”大学英语”)9.列出成绩为满分的学生的学号和课号。
Select distinct学号,课号From 成绩Where 成绩=”100”10..列出各门课的平均成绩、最高成绩、最低成绩和选课人数。
Select avg(成绩),max(成绩),min(成绩),count(学号)From 成绩Group by 课程号11.查询经济系的党员的学号,姓名。
Select 学号,姓名From 学生Where 是否党员and 系号=(select 系号from 系名where 系名=”国际经济与贸易”)12,查询选修了“邓小平理论”课的学生学号,姓名。
SQL第6周数据库上机作业答案
第二次(第6周)上机作业一、用T-SQL语句在E:\DATA\文件夹中创建一个教师信息数据库teacher,该数据库包含:(界面方式也要会)1、一个主数据文件逻辑名‘teacherdata1 ’,物理名‘E:\DATA\tdata1.mdf ’,初始容量1MB,最大容量10MB,每次增长量为15%。
2、一个辅助数据文件逻辑名‘teacherdata2 ’物理名‘E:\DATA\tdata2.ndf ’,初始容量2MB,最大容量15MB,每次增长量为2MB。
3、两个数据文件不单独创建文件组,即使用默认的PRIMARY组;4、一个事务日志文件逻辑名‘teacherlog’物理名‘E:\DATA\teacherlog.ldf ’,初始容量500KB,最大容量不受限制,每次增长量为500KB。
先确认E:\DATA\文件夹已创建,CREATE DATABASE teacherON PRIMARY( NAME = teacherdata1 ,FILENAME = 'E:\DATA\tdata1.mdf' ,SIZE =5MB ,MAXSIZE= 10 ,FILEGROWTH = 15%) ,( NAME = teacherdata2 ,FILENAME = 'E:\DATA\tdata2.ndf' ,SIZE = 2 ,MAXSIZE= 15 ,FILEGROWTH = 2MB)LOG ON /* 创建事务日志文件*/( NAME = teacherlog ,FILENAME = 'E:\DATA\teacherlog.LDF',SIZE = 500 KB ,/* 初始容量,KB单位不能省略*/MAXSIZE = UNLIMITED ,/* 日志文件最大容量不受限制*/FILEGROWTH = 500 KB/* 增长量KB 不能省略*/ )二、修改数据库“teacher”,增加两个文件组,文件组名:Gteacher1和Gteacher2。
SQL上机练习
实验一用SQL语句创建数据库及数据表的创建和修改实验目的: 掌握用SQL语句创建数据库、设置数据库属性等技术;掌握系统提供的数据类型、使用sql语句创建表、修改表结构和删除表的技术及对表中记录进行操作的方法:实验内容1.创建数据库(1)要求:创建了一个名为‚学生‛的数据库,该数据库的主数据文件逻辑名称为student_data,物理文件名为student_kc.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为student_log,物理文件名为student_kc.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
2、修改数据库要求:将‚学生‛数据库的初始大小改为1MB,最大为10MB。
3、创建表要求:(1(2(3)(4)(5)在创建学生表时,指定学号为主键值,为性别字段创建约束,输入性别字段值时,只能接受‚男‛或者‚女‛,而不能随意输入其他数据。
(6)修改授课表,为其增加一个字段(学时数,char,1,null)(7)在查询分析器中用insert语句为学生表中增加一条记录(20070155,张三,男,21,计算机系,计算机应用,2007年9月1日)(8)将学生表中的所有记录年龄增加1岁(9)删除成绩表中成绩小于60分的记录实验要求:1.按要求完成所有实验内容;所有操作均使用Transact-SQL语句完成,在上机通过后将SQL语句代码保存;2.所有实验要求完成后,分离该数据库(自己留备份,以后还要用);将数据库文件与代码文件压缩为‚实验一<姓名><班级>.RAR‛的形式命名的压缩文件。
实验二 SELECT语句基于单表的查询实验目的: 掌握SELECT语句基于单表的查询,熟悉掌握WHERE、GROUP BY、ORDER BY子句的使用方法,掌握使用各类运算符和聚合函数,从表中获取有用信息。
实验内容1、显示学生表中所有学生的学号和姓名;2、检索学生表中学号为200601001学生的年龄;3、使用BETWEEN子句,显示年龄在18—20之外的所有男同学的信息;4、查询所有教师中姓‚李‛的教师清单;5、列出所有学生的姓名和班级,把重复记录去掉;6、列出所有‚计算机系‛的男生名单;7、统计学生表中一共有多少名20岁以上的女学生,并列出详细清单;8、列出姓名中第二个字为‚成‛的计算机系学生的学号、姓名;9、列出所有参加‚C802‛课程考试的信息,并按成绩降序排列;10、统计各系学生人数及平均年龄;实验要求:1.按要求完成所有实验内容;所有操作均使用Transact-SQL语句完成,在上机通过后将SQL语句代码保存;2.所有实验要求完成后,保存查询语句,将语句代码文件压缩为‚实验二<姓名><班级>.RAR‛的形式命名的压缩文件。
SQL上机考试(答案)
数据库原理及应用上机考试提示:1、在F盘建立一个以学号+姓名为文件名的文件夹,将此Word文档存入该文件夹。
2、附加“THXY_SM”数据库,完成下面操作。
3、将每题目的操作要求完成。
4、提交该Word文档。
操作要求如下:1、创建“专业表”。
请写出SQL语句:Create table专业表(序号INT identity(1,1)primary key,专业代码char(8),专业名称varchar(20),系号char(10)references系部表(系号))2、设置“成绩表”的主键。
请写出SQL语句:alter table成绩表add constraint pk1 primary key(学号,课程号)3、在“THXY_SM”数据库中,打开“数据库关系图”中的“学生管理关系图”,请完善表之间关系的创建。
请截关系图并粘贴在此下面:SQL 语句为:(1)、Alter table学生表Add Constraint fk1 foreign key(班号)references班级表(班号)(2)、Alter table成绩表Add Constraint fk2 foreign key(学号)references学生表(学号)(3)、Alter table成绩表Add Constraint fk3 foreign key(课程号)references课程表(课程号)4、修改“学生表”,为学生表的“性别”列创建取值约束,约束条件为性别列的取值为“男”或“女”,约束名称为“性别取值约束”。
请写出SQL语句:Alter table学生表add constraint性别取值约束check( 性别in('男','女') )5、修改“成绩表”,将“成绩”列的数据类型修改为numeric,精度为6,小数位保留1位。
请写出SQL语句:Alter table成绩表alter column成绩numeric(6,1)6、为学生表的“姓名、班号”列建立一个非聚集组合索引“name_class”,按姓名的降序、班号升序排列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL上机作业(2)
一.针对SQL上机作业(1)第一题定义的三个表(book,card,borrow),用SQL语句实现如下查询:(注:藏书量=库存量+借出数)
1.求藏书种数、总册数、最高价、最低价。
select count(category)as category,sum(total)as total,
max(price) as maxpric,min(price)as minpric
from book
group by book.category;
select count(*),sum(total),max(price),min(price)
from book;
2.列出藏书在十本以上的书(书名、作者、出版社、年份)。
select title,author,press,year
from book
where total>10;
3.哪些出版社的总藏书超过100种。
select press ,count(distinct category)
from book
group by press
having count(distinct category)>100;
4.目前已借出多少册书?
select sum(total)-sum(stock)
from book;
5.年份最久远的书。
select title
from book
group by title
having min(year)<=all(select min(year)
from book
group by title);
6.“数据库系统原理教程,王珊编,清华大学出版社,1998年出版”还有几本?
select title ,stock
from book
where title='数据库系统原理教程'and press='清华大学出版社'
and author='王珊' and year='1998';
7.哪一年的图书最多?
select year
from book
group by year
having sum(total)>=all(select sum(total)
from book
group by total);
8.平均每本借书证的借书册数。
select count(*)/count(cno)
from borrow
where return_date is not null;
9.今年未借过书的借书证。
Select cno
From borrow
Where year(borrow_date)<'2009';
10.哪个系的同学平均借书最多?
create view CB
as
select o,department
from card,borrow
where o=o;
select department
from CB
group by department
having count(department)>all(select department
from CB
group by department);
11.最近两年都未被借过的书。
select title
from book
where bno not in(select bno
from borrow
where year(borrow_date)between'2007' and '2009');
12.今年那种书出借最多?
select category ,(sum(total)-sum(stock))
from book
group by category
having (sum(total)-sum(stock))>all(select (sum(total)-sum(stock))
from book
group by category);
二、针对SQL上机作业(1)第二题定义的四个表(S,P,J,SPJ),用SQL语句实现如下查询:
1.求供应工程J1零件的供应商号码SNO;
from SPJ
where jno='j1';
2.求供应工程J1零件P1的供应商号码SNO;
select distinct sno
from SPJ
where jno='j1'and pno='p1';
3.求供应工程J1零件为红色的供应商号码SNO;
方法一:复合条件连接查询
select sno
from SPJ,P
where SPJ.pno=P.pno and SPJ.jno='j1' and P.color='红'; 方法二:嵌套查询
select sno
from SPJ
where jno='j1'and
pno in
(select pno
from P
where color='红');
4.求没有使用天津供应商生产的红色零件的工程号JNO;select distinct jno
from SPJ
where jno not in
(select jno
from SPJ,P,S
where S.sno=SPJ.sno and
P.pno=SPJ.pno and
S.city='天津' and
P.color='红');
5.求至少用了供应商S1所供应的全部零件的工程号JNO。
select distinct jno
from SPJ fst
where not exists
(select *
from SPJ snd
where snd.sno='s1' and
not exists
(select *
from SPJ trd
where trd.jno=fst.jno and
trd.pno=snd.pno));
6. 找出所有供应商的姓名和所在城市。
from S;
7. 找出所有零件的名称、颜色、重量。
select pname,color,weight
from P;
8. 找出使用供应商S1所供应零件的工程号码。
select jno
from SPJ
where sno='s1';
9. 找出工程项目J2使用的各种零件的名称及其数量。
select ,SPJ.qty
from P,SPJ
where P.pno=SPJ.pno and SPJ,jno=‘j2’;
10. 找出上海厂商供应的所有零件号码。
select distinct pno
from SPJ
where sno in (select sno
from S
where city=‘上海’);
11. 找出使用上海产的零件的工程名称。
select jname
from S,SPJ,J
where SPJ.sno=S.sno and SPJ.jno=J.jno and S.city='上海'; 方法二
selcet jname
from J
where jno in (select jno
from SPJ,S
where SPJ.sno=S.sno and S.city=’上海’);
12. 找出没有使用天津产的零件的工程号码。
select jno
from J
where jno not in
(select jno
from SPJ
where SPJ.jno=J.jno and
sno in (select sno
from S
where city='天津'));
13. 把全部红色零件的颜色改为蓝色。
update p
set color='蓝'
where color='红';
14. 由S5供给J4的零件P6改为由S3供应,请作必要的修改。
update spj
set sno='s3'
where sno='s5' and pno='p6' and jno='j4';
15. 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。
delete
from s
where sno='s2';
delete
from spj
where sno='s2';
16. 请将(S2,J6,P4,200)插入供应情况关系。
insert
into spj(sno,jno,pno,qty)
values('s2','j6','p4',200);。