数据库简单练习

合集下载

数据库练习题

数据库练习题

一、关系运算1、设有两个关系R(A,B)和S(B,C),请写出与下面关系代数表达式等价的SQL语句。

πB(R) -πB(σc=`C56`(S))2、已知关系R、S如下所示,以表的形式给出下列运算结果。

(1)σX=Z(R ╳ S)已知关系模式如下:学生:S(Sno,Sname,Ssex,Sage,Sdept) 对应学生的学号,姓名,性别,年龄,系;课程:C(Cno,Cname,Tname) 对应课程的课程号,课程名,授课教师名字;学生选课:SC(Sno,Cno,Grade)对应学生选修课程的成绩。

3、检索至少选修两门课程的学生学号及姓名。

4、查询王力同学不学课程的课程名。

5、查询既选修了课程1也选修了课程2的学生学号。

6、检索全部学生都选修的课程的课程号与课程名。

7、查询刘宏老师所授课程的每门课程的学生平均成绩。

8、为“三建”工程项目建立一个供应情况视图,包括SNO、PNO、QTY。

9、试修改Student表结构,实现学生性别取值为‘男’,‘女’的约束。

答案:1、SELECT BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=`C56`);2、(bebb,cccc) ,(ccc)3、检索至少选修两门课程的学生学号及姓名。

select sno,sname from student where sno in(select sno from scgroup by snohaving count(*)>=2);4、查询王力同学不学课程的课程名。

SELECT CNAME FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE O=O AND SNO =(SELECT SNO FROM STUDENT WHERE SNAME=’王力’));5、查询既选修了课程1也选修了课程2的学生学号。

SELECT SnoFROM SCWHERE Cno='1' AND Sno IN(SELECT SnoFROM SCWHERE Cno='2');6、检索全部学生都选修的课程的课程号与课程名。

数据库使用初步练习题

数据库使用初步练习题

收集精品文档============================= =========================================================================== ==============================专业收集精品文档七、数据库使用初步练习题一、判断题1.利用数据库存储数据,可以避免所有的数据重复。

( )2.在数据库中,由于共享数据不必重复存储,因而可以减少数据的冗余。

( )3.用“创建空数据库”来创建Microsoaf Access2000数据库的步骤包括:选择“数据库”选项卡。

( )4.在Access2000数据库窗口使用表设计器创建表的步骤包括:打开表设计器。

( )5.字段的输入掩码属性对“文本”、“数字”、“日期/时间”和“货币”类型的字段有效。

( )6.在两个表之间建立关系的结果是两个表变成了一个表。

( )7.在两个表之间建立关系后,只要访问其中的任一个表就可以得到两个表的信息。

( )8.查询结果可以作为数据库其他对象数据的来源。

( )9.不能在报表中添加背景图片。

( )10.能在报表中进行计算。

( )二、单选题1.数据库是按一定的结构和规则组织起来的 的集合。

A.相关数据B.无关数据C.杂乱无章的数据D.排列整齐的数据2.数据库管理系统是 。

A.系统软件B.计算机辅助设计软件C.应用软件D.通用应用工具软件3.用二维表数据来表示事物之间联系的模型叫做 。

收集精品文档============================= ================================= ==========================================A.层次模型B.关系模型C.网络模型D.实体一联系模型4.数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。

不是常用的数据模型。

mysql基本练习题

mysql基本练习题

mysql基本练习题MySQL是一种流行的开源关系型数据库管理系统,广泛应用于各种Web应用程序和数据分析任务中。

为了熟悉和掌握MySQL的使用,下面将介绍一些基本的MySQL练习题。

通过这些题目的实践,你将能够加深对MySQL数据库操作的理解和技能。

练习题一:创建数据库和表格1. 创建一个名为"学生管理"的数据库。

2. 在"学生管理"数据库中创建一个名为"学生信息"的表格,包含以下列:- 学号:学生的唯一标识符,为整数型。

- 姓名:学生的姓名,为字符串型。

- 性别:学生的性别,为字符串型。

- 年龄:学生的年龄,为整数型。

- 分数:学生的考试成绩,为浮点数型。

练习题二:插入数据1. 向"学生信息"表格中插入若干学生数据,包括学号、姓名、性别、年龄和分数。

练习题三:查询数据1. 查询"学生信息"表格中的所有学生数据。

2. 查询成绩大于80分的学生数据。

3. 查询性别为女性且年龄小于20岁的学生数据。

练习题四:更新数据1. 将学号为1001的学生的年龄更新为20岁。

2. 将姓名为"张三"的学生的分数更新为90分。

练习题五:删除数据1. 删除学号为1002的学生数据。

2. 删除所有分数小于60分的学生数据。

练习题六:排序和限制1. 按照分数降序排列所有学生数据。

2. 查询前5个成绩最高的学生数据。

练习题七:聚合查询1. 查询学生总数。

2. 查询平均分最高的学生数据。

3. 查询每个性别的学生数量。

练习题八:连接表查询1. 创建一个名为"科目信息"的表格,包含以下列:- 科目ID:科目的唯一标识符,为整数型。

- 科目名称:科目的名称,为字符串型。

- 学生学号:参加该科目的学生学号,外键关联到"学生信息"表格的学号列。

2. 向"科目信息"表格中插入若干科目数据,包括科目ID、科目名称和学生学号。

数据库 练习题(答案)

数据库  练习题(答案)

第四章练习题一、选择题1、设有两个关系R(A,B)与S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式就是 [ C]A.πA,B(σC≠'C56'(R⋈S))B.πA,B(R ⋈ S)C≠'C56'C.R-πA,B(σC= 'C56'(R⋈S))D.R-πA,B(σC≠'C56'(R⋈S))2、嵌入式SQL的预处理方式,就是指[ B]A.识别出SQL语句,加上前缀标识与结束标志B.把嵌入的SQL语句处理成函数调用形式C.对源程序进行格式化处理D.把嵌入的SQL语句编译成目标程序3、SQL中,“DELETE FROM 表名”表示 [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)用于[ C]A.计算元组个数B.计算属性的个数C.对一列中的非空值计算个数D.对一列中的非空值与空值计算个数5、在传统SQL技术中,使用“ORDER BY”子句的SELECT语句查询的结果,实际上为 [B]A.数组B.列表C.包D.集合6、在数据库中,能提高查询速度的就是(C )A、数据依赖B、视图C、索引D、数据压缩7、语句 delete from sc 表明( A )A、删除sc中的全部记录B、删除基本表scC、删除基本表sc中的列数据D、删除基本表sc中的部分行8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现。

A、指针B、游标C、数组D、栈9、在下列基本表的定义中,数值5表示( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A、表中有5条记录B、表中有5列C、表中字符串Sno 的长度D、表格的大小10、在视图上不能完成的操作就是( C )A、更新视图B、查询C、在视图上定义新的基本表D、在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的就是 (C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where子句中,对空值的操作,不正确的就是 ( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。

数据库练习及答案

数据库练习及答案

一. 创建一个学生档案表(表名为xsda),其表结构如下:Create Table xsda(xh Char (10) not null unique,xm Char(8),csny Datetime ,gz Decimal(6,1),zy Char (10))1.在xsda表中插入一个学生记录:(2000jsj008,李平)insert into xsda(xh,xm) values(‘2000jsj008’,’李平’)2.把xsda表中80-01-01前出生的人的工资增加20%Update xsda set gz=gz*1.2 where csny<’ 80-01-01’3.查询xsda表中不同专业的人数Select zy ,count(xh) from xsda group by zy4.假如另外还有一个学生成绩表xscj(xh,kch,kccj), xh,kch,kccj分别指学号、课程号、成绩,要求查询姓名为李平的同学的各门课程的成绩。

Select kch,kccj from xsda,xscj where xsda.xh=xscj.xh and xm=’李平’5.xsda、xscj表同上,查询选修了kch为Yy2的学生的xh和XmSelect xh,xm from xsda,xscj where xsda.xh=xscj.xh and kch=’Yy2’二、使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。

CREATE ___table_____ CLASS(CLASSNO __char____ (8) NOT NULL,DEPARTNO CHAR (2) NOT NULL,CLASSNAME CHAR (__20__) NOT NULL)三、有一个[学生课程]数据库,数据库中包括三个表:学生表:Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno 为关键字。

数据库练习题

数据库练习题

数据库练习题近年来,数据库技术在各个领域中得到了广泛应用和发展。

对于程序员和数据库开发人员来说,熟练掌握数据库的操作和问题解决能力是非常重要的。

为此,本文将提供一系列数据库练习题,旨在提升读者的数据库理论知识与实践能力。

1. 建立一个员工信息表,包含字段:员工编号、姓名、性别、职位、工资。

实现以下操作:a) 插入多条员工记录;b) 查询所有员工的信息;c) 查询工资在某个范围内的员工信息;d) 更新某个员工的职位;e) 删除某个员工的记录。

2. 创建一个学生选课表,包含字段:学生编号、学生姓名、课程编号、课程名称、成绩。

实现以下操作:a) 插入多条学生选课记录;b) 查询某个学生的选课情况;c) 查询某门课程的选课人数;d) 查询某门课程的平均成绩;e) 查询平均成绩在某个范围内的学生信息。

3. 创建一个图书馆借阅表,包含字段:读者编号、读者姓名、图书编号、图书名称、借阅日期、归还日期。

实现以下操作:a) 插入多条借阅记录;b) 查询某个读者的借阅情况;c) 查询某本图书的借阅情况;d) 查询已经借阅但还未归还的图书;e) 查询借阅天数超过某个阈值的借阅记录。

4. 建立一个订单管理表,包含字段:订单编号、客户姓名、订单日期、订单金额。

实现以下操作:a) 插入多条订单记录;b) 查询某个客户的订单情况;c) 查询某个时间段内的订单总金额;d) 查询金额最高的订单;e) 查询某个订单金额在某个范围内的订单。

5. 创建一个电影评分表,包含字段:用户编号、电影名称、评分、评价日期。

实现以下操作:a) 插入多条评分记录;b) 查询某个用户的评分情况;c) 查询某部电影的平均评分;d) 查询评分最高的电影;e) 查询评价日期在某个范围内的评分记录。

通过以上练习题,我们可以提升数据库操作和查询的熟练程度,加深对数据库原理和实践的理解。

在实际开发中,数据库是数据存储和管理的核心,只有掌握了数据库的基本概念和操作技巧,才能更好地进行开发工作。

(完整版)数据库练习题(答案)..

(完整版)数据库练习题(答案)..

(完整版)数据库练习题(答案)..第四章练习题⼀、选择题1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式是 [ C]A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S)C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B(σC≠'C56'(R?S))2、嵌⼊式SQL的预处理⽅式,是指[ B]A.识别出SQL语句,加上前缀标识和结束标志B.把嵌⼊的SQL语句处理成函数调⽤形式C.对源程序进⾏格式化处理D.把嵌⼊的SQL语句编译成⽬标程序3、SQL中,“DELETE FROM 表名”表⽰ [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)⽤于[ C]A.计算元组个数B.计算属性的个数C.对⼀列中的⾮空值计算个数D.对⼀列中的⾮空值和空值计算个数5、在传统SQL技术中,使⽤“ORDER BY”⼦句的SELECT语句查询的结果,实际上为 [B]A.数组 B.列表 C.包 D.集合6、在数据库中,能提⾼查询速度的是(C )A. 数据依赖B. 视图C. 索引D. 数据压缩7、语句 delete from sc 表明( A )A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏8、在DB应⽤中,⼀般⼀条SQL 语句可产⽣或处理⼀组记录,⽽DB主语⾔语句⼀般⼀次只能处理⼀条记录,其协调可通过(B )实现。

A. 指针B. 游标C. 数组D. 栈9、在下列基本表的定义中,数值5表⽰( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 的长度D. 表格的⼤⼩10、在视图上不能完成的操作是( C )A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的是(C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where⼦句中,对空值的操作,不正确的是( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。

(完整版)数据库练习题及答案解析

(完整版)数据库练习题及答案解析

第一章习题一、单项选择题1 •数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是(A )。

A. DBS 包括DB 和DBMSB. DBMS 包括DB 和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D )。

I •人工管理阶段II.文件系统阶段III •数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C )。

A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B )。

A .不会因为数据的变化而影响到应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C )。

A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A )。

A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C ),它是模式的逻辑子集。

A.模式B.物理模式C. 子模式D. 内模式8. 下述(B )不是DBA 数据库管理员的职责。

A.完整性约束说明B.定义数据库模式C.数据库安全D.数据库管理系统设计9. 常见的数据模型有三种,它们是(B )A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R 图中,用来表示属性的图形是(B )A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

现有表如下:
员工表:(employee)
职位表:(post)
(1)在数据库中建立以上几个表,并建立关系。

(2)输入部门的名称查找本部门的员工数量。

(使用存储过程)
create or replace procedure pai(
p_department_name varchar2,
p_count_e out number
) is
begin
select count(e.EMP_ID) into p_count_e from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID=
p.DEPARTMENT_ID and e.EMP_NAME=p_department_name;
end pai;
(3)要求输入部门的名称查找到本部门工资最高的员工信息。

(使用存储过程)
如:输入:软件部;
显示
p_department_name varchar2,
p_max_e out testpackage.test_cursor
) is
maxs number;
p_sql varchar2(1000);
begin
p_sql:='select max(salary) from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID=
p.DEPARTMENT_ID and d.department_name='||p_department_name;
execute immediate p_sql into maxs;
open p_max_e for
select* from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID= p.DEPARTMENT_ID and e.salary=maxs;
end two;
(4)查找所有比自己本部门平均工资高的员工信息。

(使用视图)
create or replace view three
as
select avg(salary) sal,d.DEPARTMENT_NAME men from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID=
p.DEPARTMENT_ID group by d.DEPARTMENT_NAME;
select * from department d,employee e,post p,three t where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID= p.DEPARTMENT_ID and d.department_name=t.men and e.salary>t.sal;。

相关文档
最新文档