永发信息网

SQL 题目 …… 全部答对 加分

答案:7  悬赏:10  手机版
解决时间 2021-04-24 11:47
  • 提问者网友:富士山上尢
  • 2021-04-23 15:48

现有关系数据库如下:

数据库名:学生成绩数据库

学生信息表(学号 char(6),姓名,性别,民族,身份证号)

课程信息表(课号 char(6),名称)

成绩信息表(ID,学号,课号,分数)

用SQL语言实现下列功能的sql语句代码。

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

2. 创建数据表[课程信息表]代码;

课程信息表(课号 char(6),名称)

要求使用:主键(课号)、非空(名称)



3. 创建数据表[学生信息表]代码;

学生信息表(学号 char(6),姓名,性别,民族,身份证号)

要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性

别)



4. 创建数据表[成绩信息表];

成绩信息表(ID,学号,课号,分数)

要求使用:外键(学号,课号)、检查(分数),自动编号(ID)

5. 将下列课程信息添加到课程信息表的代码

课号 名称

100101 西班牙语

100102 大学英语

修改 课号为100102的课程名称:专业英语

删除 课号为100101的课程信息



6. 创建视图[成绩信息表视图]的代码;

成绩信息表视图(学号,姓名,课号,课程名称,分数)


7. 从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。

8. 查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。

学生信息表(学号 char(6),姓名,性别,民族,身份证号)

课程信息表(课号 char(6),名称)

成绩信息表(ID,学号,课号,分数)

9. 创建带参数的存储过程[某门课程高低均分]、执行该过程的代码

存储过程功能:查询某门课程的最高分、最低分、平均分;

执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;




10 设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。请写出账户、权限设置的T_SQL脚本。

最佳答案
  • 五星知识达人网友:傲气稳了全场
  • 2021-04-23 16:00

天啊..我写了那么久..刷新却发现:


问题补充 2009-12-02 13:07

其他题目我做了 你们只需补充第9题就可以了



呜呜……累人了...唉!就写第9题,又发现别人写了!


我这速度...我命啊...我写的前面的答案你还要吗??

全部回答
  • 1楼网友:渡鹤影
  • 2021-04-23 22:53

还真没时间 你应该一个个问

不要分 都可以的 主要是经验

堆到一起麻烦

--------------------

--创建数据库 create database 学生成绩数据库

--创建视图[成绩信息表视图]的代码;

create view 成绩信息表视图

as

select 学号,姓名,课号,课程名称,分数 from 课程信息表,学生信息表,成绩信息表 where 课程信息表.课号=成绩信息表.课号 and 学生信息表.学号=成绩信息表.学号

----------

--创建存储过程 create proc Getmma @名称 nvarchar(100) as select max(@名称),min(名称),avg(@名称) from 课程信息表,成绩信息表 where 课程信息表.课号=成绩信息表.课号 and 课程信息表.名称=@名称 --执行 exec mma '专业英语'

  • 2楼网友:洒脱疯子
  • 2021-04-23 22:06
应该自己锻炼做才是,很少有人会这么有时间
  • 3楼网友:第幾種人
  • 2021-04-23 20:49

use master if exists(select * from sysdatabases where name=studentDB) drop database studentDB create database studentDB on ( name=studentDB_data', filename='D:\project\studentDB_data.mdf', size=10, filegrowth=20% ) log on ( name=studentDB_log', filename='D:\project\studentDB_log.ldf', size=3, maxsize=20, filegrowth=10% ) use bbsdb if exists(select * from sysobjects where name=studentUsers) drop table studentUsers create table studentUsers ( UID char(6) identity(1,1) not null,--学号,标识列 Uname varchar(15) not null,--姓名

Usex bit not null,--性别

Unation varchar(20),--民族

UIDcard varchar(20)--身份证

) alter table studentUsers add constraint PK_uid primary key(uid),--主键 constraint DF_Usex default (1) for Usex,--性别默认为男

其他的表可以照着改就行!

  • 4楼网友:雾月
  • 2021-04-23 19:26

对啊.

如果有时间 应该不成问题

  • 5楼网友:纵马山川剑自提
  • 2021-04-23 18:15
貌似挺麻烦的... 如果遇到个很有时间的也许回帮你做...
  • 6楼网友:旧脸谱
  • 2021-04-23 16:55

--现有关系数据库如下: --数据库名:学生成绩数据库 --学生信息表(学号 char(6),姓名,性别,民族,身份证号) --课程信息表(课号 char(6),名称) --成绩信息表(ID,学号,课号,分数) -- --用SQL语言实现下列功能的sql语句代码。 --1. 创建数据库[学生成绩数据库]代码 create database example on ( name = 'example_data', filename = 'E:\example_data.mdf', size = 3mb, filegrowth = 10% ) log on ( name = 'example_log', filename = 'E:\example_log.ldf', size = 1mb, filegrowth = 5% ) go

use example go

--2. 创建数据表[课程信息表]代码; --课程信息表(课号 char(6),名称) --要求使用:主键(课号)、非空(名称) create table ClassInfo ( classNo char(6) not null constraint PK_ClassNo primary key, className varchar(50) not null ) go --3. 创建数据表[学生信息表]代码; --学生信息表(学号 char(6),姓名,性别,民族,身份证号) --要求使用:主键(学号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性 --别) create table StudentInfo ( studentNo char(6) not null constraint PK_StudentNo primary key, sName varchar(50) not null, sSex varchar(4) not null constraint CK_sSex check(sSex='男' or sSex='女'), sNation varchar(50) not null constraint DF_sNation default('民族'), sCardId varchar(20) not null constraint QU_sCardId unique ) go

--4. 创建数据表[成绩信息表]; --成绩信息表(ID,学号,课号,分数) --要求使用:外键(学号,课号)、检查(分数),自动编号(ID) create table ScoreInfo ( id int identity(1,1) not null constraint PK_Id primary key, studentNo char(6) not null constraint FK_studentNo foreign key references StudentInfo(studentNo), classNo char(6) not null constraint FK_classNo foreign key references ClassInfo(classNo), score int not null constraint CK_Score check(score>=0 and score<=100) ) go

--5. 将下列课程信息添加到课程信息表的代码 --课号 名称 --100101 西班牙语 --100102 大学英语 insert into ClassInfo(classNo,className) values('100101','西班牙语') insert into ClassInfo(classNo,className) values('100102','大学英语')

--修改 课号为100102的课程名称:专业英语 update ClassInfo set className = '专业英语' where classNo = '100102'

--删除 课号为100101的课程信息 delete ClassInfo where classNo = '100101'

--6. 创建视图[成绩信息表视图]的代码; --成绩信息表视图(学号,姓名,课号,课程名称,分数) create view V_ScoreInfo as select st.studentNo,st.sName,ci.classNo,ci.className,si.score from ScoreInfo si,StudentInfo st,ClassInfo ci where si.studentNo=st.studentNo and si.classNo = ci.classNo go --测试试图 select * from V_ScoreInfo

--7. 从学生信息表中查询姓刘的女同学的情况:姓名、性别、民族。 select sName,sSex,sNation from StudentInfo where sName like '刘%' and sSex='女'

--8. 查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、姓名。 select * from StudentInfo where studentNo in (select studentNo from ScoreInfo where score<60 group by studentNo having count(*)>=1) --学生信息表(学号 char(6),姓名,性别,民族,身份证号) --课程信息表(课号 char(6),名称) --成绩信息表(ID,学号,课号,分数) --9. 创建带参数的存储过程[某门课程高低均分]、执行该过程的代码 --存储过程功能:查询某门课程的最高分、最低分、平均分; --执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分; create proc proc_total '专业英语' @className varchar(50) as select max(score) as '最高分', min(score) as '最低分', avg(score) as '平均分' from ScoreInfo where classNo = (select classNo from ClassInfo where className = @className) --测试过程 exec proc_total '专业英语'

--10 设置一SQL身份验证的用户账户:登录名:U院长,密码:888, --数据库用户名:U读者, --权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程。 --请写出账户、权限设置的T_SQL脚本。 exec sp_addlogin 'U院长', '888', 'example' exec sp_grantdbaccess 'U院长', 'U读者' exec sp_addrolemember 'db_datareader', 'U读者'

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯