有一简要描述职位工作关系学生情况的关系sc,每个学生有以下信息:学号(s#)、所在系名称(sd)、系住址(sl)、

数据库作业(3)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据库作业(3)
上传于||文档简介
&&数​据​库​相​关​练​习​题​计​算​法​。
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
你可能喜欢数据库相关
这里主要介绍几道题目用以更加深入的了解SQL语句。在工作面试时乃至在考研时,很多时候都会考到SQL语句。如果这篇文章中的所有的题目都搞明白了,那么应付工作面试笔试或者考研笔试将会更加的游刃有余。
现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)
课程(课程号,名称,学分)
学习(学号,课程号,分数)
用SQL语言实现下列题目:
1. 检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业。
select 学号, 姓名, 专业
where 学号 NOT IN (
select 学号
where 课程号=&C135&);
2. 检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业。select 学号, 姓名, 专业
where 学号 IN (
select 学号
from 学习 x, 学习 y
where x.学号=y.学号 AND x.课程号='C135' AND y.课程号='C219');
3. 从学生表中删除成绩出现过0分的所有学生信息。delete from 学生
where 学号 IN (
select 学号
where 分数=0);
4. 定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。create view AAA(学号, 姓名, 课程号, 分数)
select 学号, 姓名, 课程号, 分数
from 学生, 学习
where 学生.学号=学习.学号 AND 专业=&英语&;
学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:
学生(学号,姓名,专业,入学日期)
收费(学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。
试用SQL语句定义上述表的结构。(定义应包括主键子句和外键子句)。
create table 学生(
学号 char(8) primary key,
姓名 char(25),
专业 char(50),
入学日期 date
create table 收费(
学年 char(10),
学号 char(8),
学费 numeric(4),
书费 numeric(5,2),
总金额 numeric(7,2),
primary key(学号, 学年),
foreign key(学号) references 学生(学号)
设某公司数据库中有关系模式如下:职工(职工号,职工名,性别,年龄)工作(职工号,公司号,工资)公司(公司号,公司名,地址)。1. 写出查询每个公司女职工的平均工资的SQL语句。(提示:求平均值用函数AVG())select 公司号, 公司名, AVG(工资)
from 职工, 工作, 公司
where 公司.公司号=工作.公司号 AND 职工.职工号=工作.职工号 AND 性别='女'
group by 公司号;
2. 试用SQL语句写出下列操作:超过50岁职工的工资增加200元。update 工作
set 工资=工资+200
where 职工号 IN (
select 职工号
where 年龄&=50);
3. 把对职工表的插入权限授给用户A,并许诺他再将此权限授予其他用户。grant insert ON 职工 TO A WITH GRANT OPTION;
图书出版管理数据库中有两个基本表:
图书 (书号,书名,作者编号,出版社,出版日期)
作者 (作者编号,作者名,年龄,地址)
试用SQL语句写出下列查询:
检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
select 作者名, 书名, 出版社
from 图书, 作者
where 图书.作者编号=作者.作者编号 AND 年龄 &= (
select AVG(年龄)
from 作者);
现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用SQL语言实现下列题目。&
1. 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
select 学号, 姓名, 专业
where 奖学金&=0 AND 学号 IN (
select 学号
where 分数&=95);
2. 检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业。select 学号, 姓名, 专业
where 学号 NOT IN (
select 学号
where 分数&80);
3. 对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元。update 学生
set 奖学金=1000
where 奖学金&=0 AND 学号 IN (
select 学号
where 分数=100);
4. 定义学生成绩得过满分(100分)的课程视图 AAA,包括课程号、名称和学分。create view AAA(课程号, 名称, 学分)
select 课程号, 名称, 学分
where 课程号 IN (
select 课程号
where 分数=100);
设有学生-课程关系数据库,其数据库关系模式为:学生Student(学号Sno,姓名Sname,所在系Sdept,年龄Sage,性别Ssex)课程Course(课程号Cno,课程名称Cname,先修课号Cpno,学分Ccredit)学生选课SC(学号Sno,课程号Cno,成绩Grade)试用SQL语言分别写出下列查询:1. 查询选修了3号或6号课程的学生的学号。select Sno
where Cno='3' OR Cno='6';2. 查询至少选修了一门其直接先行课为8号课程的学生学号与姓名。
select Sno, Sname
from SC, Course, Student
o AND Student.Sno=SC.Sno AND Cpno='8';3. 查询选修了全部课程的学生学号、姓名和年龄。
-- 查询没有一门课程是该学生没有选的
select Sno, Sname, Sage
from Student
where NOT EXISTS (
from Course
where NOT EXISTS (
where Student.Sno=SC.Sno o));
4. 查询没有选修2号课程的学生学号与姓名。select Sno, Sname
from Student
where Sno NOT IN (
select Sno
where Cno='2');
5. 查询选修了3门以上课程并且成绩均及格的学生学号与其平均成绩。-- 本题未经验证,未必正确
select Sno, AVG(Grade)
group by Sno
having COUNT(Cno)&3
where NOT EXISTS (
x.o AND Grade&60);
6. 将计算机科学系(CS)全体学生的所有成绩置为零。update SC
set Grade=0
where Sno IN (
select Sno
from Student
where Sdept='CS');
设有学生-课程关系数据库,其数据库关系模式为:学生S(学号S#,姓名SN,所在系SD,年龄SA)课程C(课程号C#,课程名称CN,先修课号PC#)学生选课SC(学号S#,课程号C#,成绩G)试用SQL语言分别写出下列查询:1. 求学生'95001'(为学号)所选的成绩为60以上的课程号。select C#
where S#='95001' AND G&=60;2. 求选读了“数据库概论”,并成绩为80或90的学生学号和姓名。
select S#,SN
from S,SC,C
where C.C#=SC.C# AND SC.S#=S.S# ='数据库概论' AND (G=90 OR G=80);3. 求选修了全部课程的学生学号、姓名及其所在系名。
-- 没有一门课程是该学生没有选修的
select S#, SN, SD
where NOT EXISTS (
where NOT EXISTS (
where SC.C#= C.C# AND SC.S#=S.S#
4. 找出没有学生选修的课程号及课程名称。select C#, CN
where C.C# NOT IN (
select SC.C#
from SC);5. 列出选课数超过3门的学生学号、其所修课程数及平均成绩。
select S#, count(C#), AVG(G)
group by S#
having count(C#)&3;
6. 删除“数据结构”课程及所有对它的选课情况。
-- 首先删除SC中的数据
delete from SC
where SC.C# IN (
select C.C#
where CN='数据结构');
-- 其次删除C的数据
delete from C
where Cname='数据结构';
下表为数据表Register的相关信息,请写出创建该表的语句(PK代表主键)。字段名数据类型长度允许空。
Id(PK) int8
Username varchar20
Password varchar20
create table Register(
id int(8) primary key,
username varchar(20),
password varchar(20)
根据下表完成任务:(PK代表主键)
professional
表StudentInfo
1. 请找出stuId为IIIT003的学生信息。
from StudentInfo
where stuId=&IIIT003&;
2. 在字段stuId上创建索引。
create unique index stuIndex ON StudentInfo(stuId);3. 创建视图查询学生的stuId和sName。
create view StuView
select stuId, sName
from StudentI4. 创建存储过程,通过输入stuId对应的学生id号码,输出sName(学生姓名)。
-- 创建存储过程
CREATE PROCEDURE pro_inid_out_sName
@stuIdvarchar(10),sNamevachar(10) OUTPUT
Select @sName=sName
from StudentInfo
where stuId=@stuId
-- 调用存储过程
declare @sNamevarchar(10)
execute pro_inid_out_sName ‘IIIT001’,@sName output
全文完。转载请注明出处。如有不对之处请在留言板中指正。
王珊. 数据库系统概论,高等教育出版社.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:30511次
排名:千里之外
原创:52篇
评论:11条
(1)(1)(3)(9)(5)(2)(2)(24)(7)(2)[数据库试题及答案]数据库试卷及答案_数据库试题及答案-牛bb文章网
[数据库试题及答案]数据库试卷及答案 数据库试题及答案
所属栏目:
1. 数据库软件系统的根本区别在于数据结构化。2.在数据库的三级模式结构中,描述数据库中全局逻辑结构和特征的是模式。3. 数据路的特点之一是数据共享,严格的说,数据共享是多种应用、多种语言、多个用户相互覆盖的使用数据集合。4. 关系R 包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为码(key),下面说法正确的是:R中绝对不可能出现两个在A1,A2上的取值完全相同的元组。5. 视图是一个虚表,视图的构造基于基本表。6. 文字图像 图形 声音 学生的档案记录,货物的运输情况等,这些都是数据。7. SQL语言具有两种使用方式,分别称为交互式SQL和 嵌入式SQL。8. 数据库DB数据库系统DBS和数据管理系统DBMS三者的关系DBS包DB, DBMS。9. 关系数据模型①表示实体间的1:1的联系②表示实体间的1:n的联系③表示实体间的m:n的联系。10.对数据库进行,防止未经授权的或不合法的使用造成的数据泄漏,更改破坏,这是指数据的安全性。二.填空题1.在SQL SELECT语句查询中,要去掉查询结果中的重复记录,应该使用字。2. 任何一个二元关系一定满足的范式是(在1NF,2NF,3NF范围内)。3. 从关系规范化管理论的角度讲,一个满足1NF的关系可能存在的四方面问题是:数据冗余度大, 删除异常 插入异常和 修改复杂。4. 数据模型通常由数据结构,完整性约束和 数据操作 三部分组成。5.67. 在SQL语句中,要求一列中的最大值,应使用8. 数据管理技术的发展经历了人工管理,文件系统阶段和阶段。三.简答题:1. 设有供应商关系S和零件关系P, 如图所示,S和P的主码分别是 供应商号 和 零件号,P的外码是 供应商号S P供应商号 供应商名 所在城市 零件号 颜色 供应商号A1 红星 北京 P1 红 A1A2 宇宙 上海 P2 蓝 A3A3 黎明 天津 P3 白 A4A4 立新 重庆分析下列2个操作能否正确执行,并说明理由(1) 在P中插入元组(“P2”,‘白’,‘A2’)INSERTINTO P(零件号,颜色,供应商号)VALVES(‘P2’, ‘白’, ‘A2’);不能,因为零件号是主码,必须唯一。(2) 在P中插入元组(‘P4’,‘白’,‘A5’)INSERTINTO P(零件号,颜色,供应商号)VALVES(‘P4’,‘白’,‘A5’);P的外码供应商号不能为‘A5’,因为S表的主码中不含‘A5’。2.试述关系模型的完整性规则,在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才能为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。若属性(或属性组)F是基本关系属性R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为:空值(F的每个属性值均为空值),或者等于S中某个元组的主码值,即属性F本身不是主属性,则可以取空值,否则不能取空值。四.设计题:已知教学数据库包含三个关系:学生关系S(SNO,SNAME,SA,SD)课程关系C(CNO,CN,TNAME),选课关系SC(SNO,CNO,G)其中,下划线的字段为该关系的码,SNO代表学号,SNAME 代表学生姓名,SA代表学生年龄,SD代表学生所在系,CNO代表课程号,CN 代表课程名,TNAME代表任课教师姓名,G代表成绩,请用SQL 语句实现:1. 建立学生关系和选课关系,有完整约束的要定义完整性约束2. 将下列学生信息插入学生关系中:李丹,18岁,电信系,学号:3. 找出选修了课程号为 “112002 ”的学生学号和姓名4. 修改学号为 “” 的学生所在的系为计算机5. 查询选修了 数据库系统原理 这门课的学生的姓名和成绩6. 查看1号课程的学生的平均成绩7. 在C表上按课程号升序建立唯一性索引8. 授予用户李丹对学生关系S具有查看权,对姓名字段具有修改权9. 创建 数据库系统原理 课的成绩表视图exam,包括学生的学号,所在系,课程名和成绩4个字段解:①CREATE TABLE S(SNO CHAR(8) PRIMARY KEY,SNAME CHAR(20) UNIQUE,SA INT,SD CHAR(20));CREATE TABLE SC(SNO CHAR(9),CNO CHAR(4),②INSERTINTO S(SNO,SNAME,SA,SD)VALVES(‘’,‘李丹’,‘18’,‘电信系’);③SELECT SNO,SNAMEFROM S,SCWHERE SNO=‘112002’;④UPDATE SSET SD=计算机WHERE SNO=‘’;⑤SELECT SNAME,GFROM S,C,SCWHERE CN=‘数据库系统原理’;⑥SELECT AVG(G)FROM SCWHERE CNO=‘1’;⑦CREATE UNIQUE INDEX Coucno ON C(CNO)⑧GRANT UPDATE(SNAME),SELECT on TABLE S TO 李丹;⑨CREATE VIEWdata_examSELECT SNO,SD,CN,GFROM S,C,SC五.问答题:设有关系student(sno,sname,sdept,mname,grade),{sno,cname}为键码, 中存在如下函数依赖:{sno,cname}-→{sname,sdept,mname}; {sno}-→{sname,sdept,mname}; {sno,cname}-→{grade};{sdept}-→{mname}试求解下列问题:1. 关系student属于几范式?(4分)2. 若关系student不属于第三范式,试将关系student逐步分解为第三范式(6分) 解:1)关系student属于第一范式;{sno,cname}-→{sname,sdept,mname}; {sno}-→{sname,sdept,mname}; sno存在部分函数依赖由于{sno,cname}-→{grade}则存在全部函数依赖,所以??2) :student(sdept,mname,grade,Sname)消除主属性对码得部分函数依赖:, S2 (,sname,sdept,mname)消除主属性对码的传递函数依赖: ,’(Sno,Sname,Sdept) S2’’(Sdept,mname)消除主属性对码的部分和传递函数依赖BCNF消除非平凡且非函数依赖的多值依赖六.E-R图设计 (10分)学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。请设计此学校的E-R模型欢迎您转载分享:
更多精彩:数据库实验报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据库实验报告
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩26页未读,继续阅读
你可能喜欢

我要回帖

更多关于 客户关系怎么描述 的文章

 

随机推荐