SQL数据库题目

现有关系数据库如下:

数据库名:学生成绩数据库
学生表(*学号,姓名,性别,民族)
课程表(*课程号,课程名称,任课教师)
成绩表(*学号,*课程号,分数)
用SQL语言实现下列功能的sql语句代码:

1.创建数据库[学生成绩数据库]代码;

2. 创建[课程表]代码;
课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称)

3. 创建[学生表]代码;
学生表(学号 char(6),姓名,性别,民族)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、检查(性别)

4. 创建[成绩表]代码;
成绩表(学号,课程号,分数)
要求使用:外键(成绩表.学号,成绩表.课程号)、检查(分数)

5. 将下列课程信息添加到课程表中
课号 课程名称
100001 大学语文
100002 大学英语

6. 写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码;

7. 写出计算大学语文课程成绩最高分、最低分、平均分的代码;

8. 检索姓李的女同学的信息:姓名、性别、民族。

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个回答  2007-01-16
1、创建数据库
create database 学生成绩数据库
on primary
(name='学生成绩数据库_mdf',
filename='e:\学生成绩数据库.mdb',
size=1,
maxsize=10,
filegrouth =10%)
log on
(name='学生成绩数据库_ldf',
filename='e:\学生成绩数据库.ldf',
size=1,
maxsize=10,
filegrouth =10%)

2、 创建学生表
create table 学生表
( 学号 char(10) not null primary key,
姓名 varchar(20) not null,
性别 char(2) check( 性别='男' or 性别='女'),
民族 varchar(20) not null default '汉')
3、创建课程表
create table 课程表
(课程号 char(10) not null primary key,
课程名称 varchar(20) not null,
任课教师 char(20)

4、创建成绩表
create table 成绩表
(学号 char(10) not null,
课程号 char(10) not null
分数 int check(分数 between 0 and 100)
primary key(学号,课程号),
foreign key 学号 references 学生(学号),
foreign key 课程号 references 课程表(课程号)
)
5、
insert into 课程表(课程号,课程名)
values '100001', '大学语文'
insert into 课程表(课程号,课程名)
values '100002', '大学英语'

6. 写出创建成绩表视图(学号,姓名,课程号,课程名称,成绩)的代码
create view 成绩表视图
as (select 学生表.学号,姓名,课程表.课程号,课程名称,成绩
from 学生表,课程表,成绩表
where 学生表.学号=成绩表.学号 and 成绩表.课程号=课程表.课程号

7. 写出计算大学语文课程成绩最高分、最低分、平均分的代码
select 课程号,max(分数),min(分数),avg(分数)
from 成绩表
where 课程号=(select 课程号 from 课程表 where 课程名称=
'大学语文')
group by 课程号
8、 检索姓李的女同学的信息:姓名、性别、民族
select 姓名,性别,民族
from 学生表
where 姓名 like '李%'
相似回答