有一个“学生-课程”数据库,数据库中包括三个表: 100

(1)“学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为:Student(Sno,... (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) 为关键字。
使用T-SQL语言完成下列操作:
1、创建“学生-课程”数据库:将数据文件和日志文件都存放在D盘自已学号的目录下。其中数据文件和日志文件初始大小都为1MB,自动增长率都为10%。
2、在“学生-课程”数据库创建“学生”表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号设为主键约束,性别设置检查性约束。
3、查询“学生”表中全体学生的学号与姓名
4、查询年龄在20至23岁之间的学生的姓名、所在系和年龄
5、 查所有姓刘的学生的姓名、学号和性别
6、 查询“学生选课”表中成绩最高和成绩最低的记录,要求显示学号(Sno)、课程号(Cno)、成绩(Grade)三个属性
7、使用内部联接查询并显示所有选修课程的同学的学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、课程号(Cno)、成绩(Grade)属性
8、向“学生”表中插入如下记录:学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、所在系: ’计算机科学系’
9、将计算机科学系全体学生的成绩置零
10、在“学生”表中,删除学号为’04160’同学的记录
展开
 我来答
skyfukk
推荐于2018-02-28 · TA获得超过1187个赞
知道小有建树答主
回答量:966
采纳率:100%
帮助的人:638万
展开全部
1、创建“学生-课程”数据库:将数据文件和日志文件都存放在D盘自已学号的目录下。其中数据文件和日志文件初始大小都为1MB,自动增长率都为10%。

create database MyDB
on(
name='Student-SC',
filename='d:\自己学号\Student-SC.mdf',
size=1,filegrowth=10%)
log on
(name='Student-SClog',
filename='d:\自己学号\Student-SClog.ldf',
size=1,filegrowth=10%)
go

2、在“学生-课程”数据库创建“学生”表,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号设为主键约束,性别设置检查性约束。

use Student-SC
create table Student
(Sno char(5) primary key,
Sname varchar(20),
Ssex varchar(2),
Sage tinyint,
Sdept varchar(30),
check(Ssex in('男','女')))
go

3、查询“学生”表中全体学生的学号与姓名

select Sno,Sname from Student

4、查询年龄在20至23岁之间的学生的姓名、所在系和年龄

select Ssex,Sdept,Sage from Student where Sage between 20 and 23

5、 查所有姓刘的学生的姓名、学号和性别

select Sname,Sno,Ssex from Student where Sname like '刘%'

6、 查询“学生选课”表中成绩最高和成绩最低的记录,要求显示学号(Sno)、课程号(Cno)、成绩(Grade)三个属性

select Sno,Cno,Grade from SC group by Sno,Cno having max(Grade) or min(Grade)

7、使用内部联接查询并显示所有选修课程的同学的学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)、课程号(Cno)、成绩(Grade)属性

select SC.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC.Cno,SC.Grade from SC inner join Student on SC.Sno=Student.Sno

8、向“学生”表中插入如下记录:学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、所在系: ’计算机科学系’

insert into Student values('04160','王燕','女',22,'计算机科学系')

9、将计算机科学系全体学生的成绩置零

update SC set Grade=0 where exists(select Sno,Sdept from Student where Student.Sno=SC.Sno and Student.Sdept='计算机科学系')

10、在“学生”表中,删除学号为’04160’同学的记录
delete from Student where Sno='04160'
Mr_sun_sir
2018-07-18 · TA获得超过162个赞
知道小有建树答主
回答量:238
采纳率:55%
帮助的人:63.8万
展开全部
以oracle 为例:

1、create table student( Sno  number(10) primary key,    
                            Sname varchar2(20),    
                            Ssex varchar2(2),
                            Sage  number(10),
                            Sdept varchar2(20)
);
2、SELECT * FROM  student FROM Sdept='计算机' ORDER BY Sno DESC

3、SELECT DISTINCT student.Sno,student.Sname,student.Ssex 
   FROM student,Course,SC
   where student.Sno=SC.Sno AND Course.Cno=SC.Cno
   AND Course.Ccredit=5 AND SC.Grade > 60
   
4、create or  replace trigger my_trig
   after delete on student
   for each row
   begin
   delete from SC where Sno=:student.Sno;
   end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老冯文库
2011-06-14 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8734

向TA提问 私信TA
展开全部
CREATE TABLE [课程]
(
Cno CHAR(4) PRIMARY KEY,
Cname VARCHAR(20),
Cpno VARCHAR(20),
Ccredit INT
)

CREATE TABLE [学生选课]
(
Sno CHAR(5),
Cno CHAR(4),
Grade INT

CONSTRAINT PK_Selectcourse PRIMARY KEY(Sno, Cno)
)

1、
CREATE DATABASE [学生-课程]
ON
( NAME = stud_course_dat,
FILENAME = 'D:\200101001\stud_course_dat.mdf',
SIZE = 1MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10% )
LOG ON
( NAME = stud_course_log,
FILENAME = 'D:\200101001\stud_course_log.ldf',
SIZE = 1MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
)

2、
CREATE TABLE [学生]
(
Sno CHAR(5),
Sname VARCHAR(20),
Ssex CHAR(2),
Sage INT,
Sdept VARCHAR(20)

CONSTRAINT PK_STUDENT PRIMARY KEY(Sno),
CONSTRAINT CHK_SEX CHECK(Ssex IN ('男','女'))
)

3、
SELECT Sno, Sname
FROM 学生

4、
SELECT Sno, Sdept, Sage
FROM 学生
WHERE Sage BETWEEN 20 AND 23

5、
SELECT Sname, Sno, Ssex
FROM 学生
WHERE Sname LIKE '刘%'

6、
SELECT Sno, Cno, MAX(Grade)
FROM 学生选课
GROUP BY Sno, Cno
UNION
SELECT Sno, Cno, MIN(Grade)
FROM 学生选课
GROUP BY Sno, Cno

7、
SELECT Sno, Sname, Ssex, Sage, Sdept, Cno, Grade
FROM 学生 S
JOIN 学生选课 SC
ON S.Sno = SC.Sno

8、
INSERT INTO 学生 VALUES('04160', '王燕', '女', 22, '计算机科学系')

9、
UPDATE 学生选课
SET Grade = 0
WHERE Sno = (SELECT Sno FROM 学生 WHERE Sdept = '计算机科学系')

10、
DELETE 学生
WHERE Sno = '04160'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shubo152
2010-12-10 · TA获得超过137个赞
知道答主
回答量:203
采纳率:50%
帮助的人:79.3万
展开全部
1.自己手动建吧!
2.select DISTINCT(Sno) from SG where Grade<60
3.update Student set Sage='22' where Sno='05001'
4.select cast(Grade) from Gourse where Cno=1
5.
CREATE PROCEDURE getDetailByName
@Sname NVARCHAR(10),
@intCount int ouput

AS
BEGIN
SELECT @intTotalCount=count(*) FROM Student WHERE Sname=@Sname
if @intCount =1
BEGIN
select * from Student where Sname=@Sname
END
ELSE
BEGIN
print '不存在此学生'
END
END
GO

6.select Sname,Ssex,Sage from where Ssex=N'男' and Sdept =N'计算机系' and Sname like '赵%'

7.

8.INSERT INTO Student(Sno,Sname,Ssex,Sage,Sdept) VALUES('05020','丁莉','女','17岁','计算机')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ttggnn5234
2011-06-25 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:165万
展开全部
用ACCESS处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式