Ⅰ SQL 数据库,求解答。
1. 阅读程序,说明它们的功能
use master
go
create database jxgl on (name=jxgldata1,filename=’c:\jxgl_data.mdf’, Size=5mb,maxsize=100mb,filegrowth=5mb)
go
创建一个名字为 jxgl 的数据库,数据文件存储在 c:\jxgl_data.mdf
文件初始的大小为5mb
随着数据量的增加顷改卜,如果文件空间不足了,会自动增长,每次增长的幅度为5MB
最大增长到 100MB
2. 阅读程序,说明它们的功能
use jxgl
go
select * from student
检索 jxgl 数据库下面的 student 表的 所有数据。
3. 阅读程序,说明它们的功能
use jxgl
go
select sno,avg(grade) from sc group by sno
检索 jxgl 数据库下面的 sc 表
按 sno 分组,求 grade 的平均值
4. 阅读程序,说明它们的功能
use library
go
update readcatgory set 借书数量=15,借书期限=借书期限+5 where 种类名称=‘一类读者’
go
更新 library 数据库下面的 readcatgory 表
将所有 种类名称歼山 为 一类读者 的数据, 将 借书数量 更新为 15, 借书期限 在原有的基础上,增加5。
5. 阅读程序,说明它们的功能
use library
go
select 出版社,count(出版社) as 图书数量 from books group by 出版社 having count(出版社)>10
go
检索 library 数据库下的 books 表
按出版社分组, 查询每个出版社的出版的图书总数量
如果这个出版社出版的图书总数量在10本以下(含10本),那么不显示。
六、设计题。(共20分)
现有关系数据库如下:
数据库名:学籍管理数据库
学生表(学号 char(6),姓名 char(8),性别 char(2),出生日期 datetime)
课程表(课程编号 char(2),课程名称 char(20),任课教师 char(10))
选课表(学号 char(6),课程编号 char(2),成绩 tinyint)
用SQL语言实现下列功能的sql语句代码:
1. 创建数据表“选课表”代码。(4分)
选课表(学号 char(6),课程编号 char(2),成绩 tinyint)
要求使用:外键(学号),非空(学号、课程编号)。-------(提示词:foreign key,references)
CRETAE TABLE 选课表 (
学号 char(6) NOT NULL,
课程编号 char(2) NOT NULL,
成绩 tinyint,
FOREIGN KEY (学号) REFERENCES 学生表,
FOREIGN KEY (课程编号) REFERENCES 课程表
);
2. 从选课表中查询每位学生选课的最高分、最低分、平均分。(4分)
要求:分别使用函数max(),min(),avg()。
SELECT
学号,
MAX(成绩) AS 最高分,
MAX(成绩) AS 最低分,
MAX(成绩) AS 平均分
FROM
选课表
GROUP BY
学号
3. 创建视图“学生选课信息视图”代码。(4分)
学生选课信息视图(姓名, 课程编号, 成绩)
CREATE VIEW 学生选课信息视图
AS
SELECT
学生表.姓名,
选课表.课程编号,
选课表.成绩
FROM
学生表 JOIN 选课表 ON (学生表.学号 = 选课表.学号)
4. 请用联接查询实雀穗现查询选修过“李明”老师讲授课程的所有学生姓名(4分)
SELECT
学生表.姓名
FROM
课程表, 选课表, 学生表
WHERE
学生表.学号 = 选课表.学号
AND 课程表.课程编号 = 选课表.课程编号
AND 课程表.任课教师 = '李明'
5. 请用嵌套查询实现查询选修过“李明”老师讲授课程的所有学生姓名(4分)
SELECT
学生表.姓名
FROM
学生表
WHERE
学生表.学号 IN
( SELECT
学号
FROM
选课表
WHERE
课程编号 IN
(
SELECT
课程编号
FROM
课程表
WHERE
任课教师 = '李明'
)
)
Ⅱ 有一个学生数据库,有以下关系模式构成: 学生(学号,姓名,性别,年龄,所在系)
6.有一个“学生-课程”数据库,数据库中包括三个表:
(1)“学生”表student由学号、姓名、性别、年龄、所在系五个属性组成,可记为:核渣春
student(学号,姓名,性别,年龄,所在系),学号为关键字。
(2)“课程”表course由课程号、课程名、先修课号、学分四个属性组成,可记为:
course(课程号,课程名,先改耐修课号,学分),课程号为关键字。
(3)“学生选课”表sc由学号、课程号、成绩三个属性组成,可记为:
sc(学号,课程号,成绩),(学号,课程号)为关键字。
完成下列操作:
a请把其中建立“学生”表student的梁含语句写下来,表student是由学号、姓名、性别、年龄sage、所在系五个属性组成,其中学号属性不能为空,并且其值是唯一的。
b在student表中查询所在系是‘计算机’的学生的所有信息,并按学号降序排列。
c在以上三个表中查询学分为5并且成绩大于60的学生的学号、姓名和性别。
Ⅲ 设有一个关系数据库,其有三个基本表,其关系模式为:
1.数据管理经历了 (人工管理 ), (文件系统 ) , (数据库系统 ) 三个阶段。
2.数据库保护问题包括: ( 安全性) 、(完整性)、(故障恢复)和(并发控制)等多方面。
3.SQL是 (关系数据库语言)(或结构化查询语言) 。
4.关系规范化理论是设计 逻辑结构 的指南和工具。
5.SQL语言是一种 ( 通用的 ) , ( 功能极强的关系数据库 )语言。我觉得正帆这个填空要求不明确啊
6.关系代数中专门的关系运算包括:(选择)、(投影)、(连接)和 ( 除运算 ) 。
7.关系模式的定义主要包括( 关系名),(关系的属性名),(属性的域),(属性向域的映象),(属性间的依赖关系) 。这个我们课本上么有的,看楼上的挺有道理的,应该没错吧。
8.关系数据库中基于数学上的两类运算是 ( 关系代数 ) (和猛 关系演算 ) 。
9.数据库的逻辑模型设计阶段,任务是将( E-R图(或概念模型)) 转换成关系模型。
10.数据库保护包括数据的 (泄露 ) (更举棚雹改) (破坏) 。差一个空,不知道咯。
11.数据的完整性是 ( 实体完整性 ) ( 参照完整性 ) ( 用户定义完整性 ) 。
12.SQL语言提供(数据库定义) ( 数据操纵 ) (数据控制)等功能。
13.关系中主码的取值必须唯一且非空,这条规则是 ( 实体 ) 完整性规则。
14.视图是一个虚表,它是从 (基本表 )中导出的表。在数据库中只存放那个使用的( 命令 ) ,不存放视图的( 数据 )。
Ⅳ 已知学生数据库中包括三个表如下
1.select c.Cname from Course c,SC s1 where s1.Cno=c.Cno and s1.Sno='95002'
2.select Sname Ssex from Student s where s.Sno in (select c.Sno Course c ,SC c1 where c1.Cno=c.Cno='猛配肢1'枝世 )
3.select Sno from Student s where s.no in (select s1.Sno from Course,SC s2 where s2.Cno=s1.Cno and Cname in ( select distinct(Cname) from Course ))
先写这三 先忙了 一会在继续 在上班卖旁 忙了 你可以参考下 上面的 都差不多
继续回答:
4.select s.Sname s.Ssex from where Student s where s.age>22 and s.Sdept='CS'
5.select AVG(s1.Grade) from SC s1 where s1.Sno ='95003'
6.select s.Sno,s.Sname from student s ,SC s1 where s.Sno=s1.Sno and s1.Cno='3'
完事
Ⅳ 学生数据库包括3个基本表, 谢谢 大家!
学号和成绩表都在同一个表胡祥里:[选课]
好办了:
select 学号,sum(成绩腔做数) as 总成绩 from 选课 where 成绩>=60 group by 学号 having count(学号)>=3 order by sum(成绩) desc
测试过了,成功!别忘记加伍首分哈!
Ⅵ 某个学籍数据库有如下表结构: 学生表
delete from课程表 where课老键物程号 = '8';
update学生表 set家庭住址='河北石家庄' where 姓名='李四';
select学号,成绩 from成绩表 where成绩 >= 60 and成绩 <= 80;
select sum(成绩)from成绩表 group by课程号;
select学亮岁号,成绩 from成绩表 order by成绩 desc;
select A.学号, B.成绩 from学生表侍液 A, 成绩表 B where A.学号 = B.学号 and B.姓名='王五';
Ⅶ 数据库中有如下三个表:学生表(Sno、SName……),选课表(Sno、Cno、Score、……),课程表(Cno、
selecta.Snoas学号,Snameas姓名,avg(Score)纯此as平均分
from学生表ainnerjoin选课表bona.Sno=b.Sno
innerjoin课程表做升迅conb.Cno=c.Cno
groupbya.Sno,Sname
havingavg(Score)>笑晌70andcount(c.Cno)>2
orderby平均分
Ⅷ 现有关系数据库如下
select 学号,姓名 from 学生 where 性别=‘女’ and 年龄<22
select 学号,姓名,专业 from 学生 where 学号 not in ( select 学号 from 学习 where 课程号=‘C135’ )
select 学号,姓名,专业 from 学生 where 学号 in (select 学号 from 学习 where 课程号=‘C135’ and 学号 in (select 学号 from 学乱竖习 where 课程号=‘C219’ ) )
delete 学生 where 学号 in (select 学号 from 学习 where 分数=0)
insert into 学生凳态( 三个对应的字段并用","分开 ) values ( 'S001','liu',21)
最后一个没太枣陪源看懂问题
--declare @课程号 string
---select count(*) from 学习 where 课程号=@课程号
Ⅸ 现有关系数据库如下: 学生(学号,姓名,性别,专业、奖学金) 课程(课程号,名称,学分) 学习(学号,课程
用SQL语言实现下列功能的SQL语句代码:
1、创建[学生表]代码:
学生表(学号 char(6),姓名,性别,年龄,专业)
要求使用:主键(学号)、非空(姓名,专业)、检查(性别)
CREATE TABLE 学生表
(
学号 CHAR(6) PRIMARY KEY,
姓名 CHAR(10) NOT NULL,
性别 CHAR(2) NOT NULL CHECK (性别 IN ('男','女')),
年龄 INT,
专业 CHAR(20) NOT NULL
)
2、创建[选课表]代码:
选课表(ID,学号,课号,分数)
要求使用:外键(选课表.学号,选课表.课程号)、检查(分数),自动编号(ID)
CREATE TABLE 选课表
(
ID INT IDENTITY(1,1) NOT NULL,
学号 CHAR(6) NOT NULL FOREIGN KEY REFERENCES 学生表(学号),
课号 CHAR(10) NOT NULL FOREIGN KEY REFERENCES 课程表(课程号),
分数 INT CHECK (分数 BETWEEN(0,100))
)
3、将下列课程信息饥配添加到课程表的代码
课程号 课程名 学分 先行课程号
100002 数据结构 2 100001
修改 课程号为100003的课程名:SQL数据库
删除 课程号为100002的课程信息
INSERT INTO 课程表 (课程号,课程名,学分,先行课程号)VALUES ('100002','数据结构',2,'100001')
UPDATE 课程表 SET 课程名 = 'SQL数据库' WHERE 课程号 = '100003'
DELETE FROM 课程表 WHERE 课程号 = '100002'
4、写出创建:选课表视图(学号,姓名,课程圆则号,课程名,学分,分烂腔指数)的代码
CREATE VIEW UV_选课表_OnShow
AS
SELECT A.学号,A.姓名,C.课程号,C.课程名,C.学分,B.分数
FROM 学生表 AS A INNER JOIN 选课表 AS B ON A.学号 = B.学号
INNER JOIN 课程表 AS C ON B.课号 = C.课程号
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用SQL实现:
(5)查询没有任何一门成绩在80分以下的所有学生的信息,包括学号、姓名和专业
SELECT 学生.学号,学生.姓名,学生.专业
FROM 学生,学习
WHERE 学生.学号 = 学习.学号
GROUP BY 学生.学号,学生.姓名,学生.专业
HAVING MIN(分数) > 80
(6)对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000
不知道没有获得奖学金的情况下,奖学金是多少,现假设是0
UPDATE 学生 SET 奖学金 = 1000 WHERE 学号 IN (SELECT 学生.学号
FROM 学生,学习
WHERE 学生.学号 = 学习.学号
GROUP BY 学生.学号
HAVING MAX(分数) = 100) and 奖学金 = 0
Ⅹ 数据库原理题,设有一个关系数据库,有三个基本表,表的结构如下;高手帮答下!
1
2 create table student(
学号 char[10] primary key,
姓名 char[10],
年龄 int,
性别 char[2] defaut '男',
系名 char[10]
)
3 create table SC(
学号 char[10],
课程号 char[10],
成绩 int,
primary key (学号,课程号),
foreignkey(学号) references STUDENT(学号),
foreign key(课程号) references COURSE(课程号)
)
4 delete from SC where 成绩 is null
5 insert into STUDENT values('20130301009','王进', 18,'男','自动控制')
6
select distinctC.*
from STUDENT S, COURSE C, SC
where C.任课教师 ='李平' and S.系名='计算机' and S.学号=SC.学号 and C.课程号=SC.课程号
7
select S.学号,姓名,任课教师
from STUDENT S, COURSE C, SC
where C.课程名 ='计算机原理' and 成绩>60 and 成绩<85and S.学号=SC.学号 and C.课程号=SC.课程号
8
delete from SC where 学号 in (select 学号 from STUDENT where 姓名='王林')
9
create view view1
as
select *
from STUDENT
where 年龄<22 and 系名='通信' and 性别='女'