建议你按附件内说明 *** 作,如果要别人做作业的话是不科学的!
题目做不完不要紧,把不理解的地方百度一下,怎么建库,怎么建表,怎么建字段,怎么建视图,怎么查询,修改删除。都是些基本功,如果现在你要别人做,以后怎么办,对不?
先画E-R图:
试卷 - 题目 (多对多关系,要加中间表)
题目 1- 特殊数据
再设计表 (为主键,字段类型请自行决定):
试卷(试卷号,试卷名称)
试卷_题目(试卷号,题目号,题目顺序)
题目(题目号,题型,题目内容)
特殊数据(特殊数据号,题目号,特殊数据内容)
然后用SQL Server Management Studio这工具建表,建关系
第一个
select from s where sno in(
select sno from sc where cno in(
select cno from c where cteacher='李明'
)
)
第二个
select ssname,sc,sum(sgrade) from s left join sc on ssno=scsno
where scsgrade>=60
group by ssname第三个
create index c_cno_index ON c(cno)
1、创建数据库
create database 学生成绩数据库
on primary
(name='学生成绩数据库_mdf',
filename='e:\学生成绩数据库mdb',
size=1,
maxsize=10,
filegrowth =10%)
log on
(name='学生成绩数据库_ldf',
filename='e:\学生成绩数据库ldf',
size=1,
maxsize=10,
filegrowth =10%)
2、创建课程表
create table 课程表
(课程号 char(6) primary key,
课程名称 char(20) not null,
任课教师 char(8))
3、 创建学生表
create table 学生表
(学号 char(6) primary key,
姓名 char(8) not null,
性别 char(2) constraint ck_性别 check( 性别 in ('男','女')),
民族 char(20) not null default '汉')
4、创建成绩表
create table 成绩表
(学号 char(6) not null foreign key(学号) references 学生表(学号),
课程号 char(6) not null foreign key(课程号) references 课程表(课程号),
分数 int constraint ck_分数 check(分数 between 0 and 150))
5、添加信息
insert 课程表(课程号,课程名)
values ('100001', '大学语文')
insert 课程表(课程号,课程名)
values ('100002', '大学英语')
6 写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码
create view 成绩表视图
as
select 学生表学号,姓名,课程表课程号,课程名称,成绩
from 学生表,课程表,成绩表
where 学生表学号=成绩表学号 and 成绩表课程号=课程表课程号
7 写出计算大学语文课程成绩最高分、最低分、平均分的代码
select max(分数) '最高分数',min(分数) '最低分数',avg(分数) '平均分数'
from 成绩表
where 学号 in (select 学号
from 课程表
where 课程名称='大学语文')
8、 检索姓李的女同学的信息:姓名、性别、民族
select 姓名,性别,民族
from 学生表
where 姓名 like '李%' and 性别='女'
1
SELECT S FROM dboStudent AS S
INNER JOIN dboResults AS R
ON SSNO = RSNO
INNER JOIN dboSchedule AS SC
ON RCNO = SCCNO
WHERE SCCNAME = '软件工程'
2
SELECT S, SC FROM dboStudent AS S
INNER JOIN dboResults AS R
ON SSNO = RSNO
INNER JOIN dboSchedule AS SC
ON RCNO = SCCNO
WHERE SSNO IN
(SELECT SNO FROM dboResults GROUP BY SNO HAVING COUNT(SNO) > 5)
3
SELECT S, SC FROM dboStudent AS S
INNER JOIN dboResults AS R
ON SSNO = RSNO
INNER JOIN dboSchedule AS SC
ON RCNO = SCCNO
WHERE SSNO IN
(SELECT SNO FROM dboResults WHERE Level < 60)
1一名学生可以选修多个科目,一个科目可以被多个学生选修,这种关系是 D
A一对一 B一对多 C多对一 D多对多
2现阶段处于数据处理技术的哪个阶段 d
A人工管理 B文件管理 C数据库系统 D数据库系统管理
3NULL是指 b
A 0 B 空 C 不确定 D 无意义
4 向表中插入一条记录使用( b )语句。
A select B insert C create D update
5 如要查找姓李的同学,应使用( c )通配符。
A B _ C % D ^
6 SELECT语句中与HAVING子句通常同时使用的是( c )子句。
AORDER BY BWHERE CGROUP BY D无需配合
7 SQL Server2000是一个( c )的数据库系统
A.网状型 B层次型 C关系型 D以上都不是
8假设“产品”表中有“产品ID”,“产品名称”,“价格”此三个字段,要在此表里添加一条新记录,下列SQL语句能实现添加功能的是 c
A. UPDATE INSERT 产品 VALUES('01008','花生','20');
B. INSERT 产品 VALUES(01008,花生,20);
C. INSERT INTO 产品 VALUES('01008','花生','20');
D INSERT FROM 产品 VALUES('01008','花生','20');
9 用于删除表中所有数据行的命令是 c
ADELETE TABLE 表名 BTRUNCATE TABLE 表名
CDROP TABLE 表名 DALTER TABLE 表名
10. SQL Server 2000提供了一整套管理工具和实用程序,其中负责启动、暂停和停止SQL Server的4种服务的是 d
A企业管理器 B导入和导出数据 C事件探察器 D服务管理器
1 在SQL中,用___update _命令可以修改表中的数据,用__alter__命令可以修改表的结构。
2 删除表命令是:_____drop______。
3 数据库系统的特点分别是数据的结构化、数据的共享性高、冗余度低、易于扩充
、数据独立性和 数据由DBMS统一管理和控制 。
4 在数据库的表中, 主键 是指表中的某一列,该列的值唯一标识一行。
5 SQL Server中索引类型包括的三种类型分别是_聚集____、__费聚集____和___唯一___。
6 SQL Server 2000的文件包括: 数据文件(mdf或ndf)和 ldf 。
1数据的概念及种类:
所谓数据,通常指用符号记录下来的可加以鉴别的信息。例如,为了描述黑板的信息,可以用一组数据“黑色、矩形、32m×14m”来表示,由于“黑色”、“矩形”、“32”、“m”……这些符号已经被人们赋予了特定的语义,所以它们就具有了传递信息功能。
2数据的特点:
数据是信息的符号表示或称为载体,信息则是数据的内涵,是对数据的语义解释。但另一方面,某一具体信息与表示它的数据的这种对应关系又因环境而异。同一信息可能有不同的符号表示,同一数据也可能有不同的解释。数据处理领域中的数据概念较之科学计算领域中数据概念已经大大地拓宽了。定义中所说的符号,不仅包含数字符号,而且包含文字、图像和其他符号;而所谓“记录下来”也不仅是指用笔写在纸上,还包括磁记录、光刻等各种记录形式。
3数据库的概念:
数据库这个名词起源于20世纪50年代,当时美国为了战争的需要,把各种情报集中在一起,存入计算机,称为Information Base或Database。1963年美国Honeywell公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序幕。1965年美国利用数据库帮助设计了阿波罗登月火箭,推动了数据库技术的产生。当时社会上产生了许多行行色色的Database或Databank,但基本上都是文件系统的扩充。1968年美国IBM公司推出了层次模型的IMS数据库系统,并于1969年形成产品;1969年,提出了COBOL语言的美国CODASYL(Conference on Date System Language,数据系统语言协会)组织的数据库任务组(DBTG)发表了网状数据库系统的标准文本(1971年正式通过);1970年初,IBM公司的高级研究员EFCodd发表论文提出了关系模型,奠定了关系数据库的理论基础
4列举创建数据库的方法:
1)create database 数据库名()
2)在企业管理器中,选择数据库,点新建数据库就,填写名称,选择路径,确定就可以了。
1 显示雇员表中所有信息。
select from employ(雇员表)
2 显示雇员表中的雇员ID和姓名列的内容。
select 雇员ID,姓名 from employ
3 在雇员表中使用英文employeeid代替雇员ID,用name代替姓名显示列标题。
select 雇员ID as employeeid ,姓名 as name from employ
4 在雇员表中消除“职务”列中的重复行。
select distinct 职务 from employ
5 获得雇员表中职务为销售代表的人的雇员ID和姓名。
select 雇员id,姓名 from employ where 职务=’销售‘
6 获得雇员ID大于等于4的所有职员的雇员ID,姓名和职务。
select 雇员ID,姓名,职务 from employ where 雇员ID>=4
7 从产品表获得单价大于5美元的所有产品名称,汇率为1人民币兑换0125美元。
select from product (产品表) where 单价>5 and 汇率=0125
8 产品表中获得单价在30~40之间的所有产品的单价,产品名称和库存量。
select 单价,产品名称,库存量 from 产品表 where 单价>30 and 单价<40
9 查找雇员表中姓“张”的雇员的所有列信息。
select from employ(雇员表) where 姓名 like '张%'
10 查找雇员表中姓名的第二个字为“雪”的雇员的所有列信息。
select from client where adress like '_雪%'
A
此题在sql
server中会有2处错误,第一是不能有双引号都用单引号,但是所有数据库中不能成功执行的是A因为我们删除表的时候创建了主外键约束,但是选项A先删除的是主表的数据故不能成功执行
10题答案
select 课程号,总分,平均分,最高分,最低分(
select 课程号,
总分=sum(成绩),
平均分=sum(成绩)/count(),
最高分=max(成绩),
最低分=min(成绩)
from 成绩
group by 课程号) as kc order by 平均分 desc
11题答案
select 课程号,
平均分=sum(成绩)/count()
from 成绩
where 课程号='1001' or 课程号='1002'
group by 课程号
12题答案
select 姓名,xs学号,kc平均分
from 学生 as xs
left join (select 学号,
平均分=sum(成绩)/count()
from 成绩
group by 学号) as kc on kc学号=xs学号
where kc平均分>80
以上就是关于帮做道SQL数据库题,急!全部的内容,包括:帮做道SQL数据库题,急!、用SQL server建立一个存储试卷的数据库、SQL数据库题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)