数据库语句练习题及答案
SQL语句练习题 部分答案
1、用SQL语句建立以下四个表:供应商表S表:S(SNO,SNAME,STATUS,CITY)零件表P表:P(PNO,PNAME,COLOR,WEIGHT)工程表J表:J(JNO,JNAME,CITY)供应情况表SPJ表:SPJ(SNO,PNO,JNO,QTY)2、针对第1题的四表,用SQL语言完成下列查询1)求供应工程J1零件的供应商号码SNO。
SELECT SNO FROM SPJ WHERE JNO=”JI”2)求供应工程J1零件P1的供应商号码SNO。
SELECT SNO FROM SPJ WHERE JNO=”JI” AND PNO=”P1”3)求供应工程J1零件为红色的供应商号码SNO。
●SELECT SNO FROM SPJ,P WHERE JNO=”JI”AND SPJ.PNO=P.PNOAND P.COLOR=”红色”●SELECT SNO FROM SPJ WHERE JNO=”JI”AND PNO IN (SELECT PNO FROM P WHERE COLOR=”红色”)3、针对第1题的四表,用SQL语言完成下列查询1)求出所有供应商的姓名及其所在城市。
SELECT SNAME,CITY FROM S2)找出所有零件的名称、颜色、重量。
SELECT PNAME,COLOR,WEIGHT FROM P3)找出使用供应商S1所供应零件的工程项目代码。
SELECT JNO FROM SPJ WHERE SNO=”JI”4)找出工程项目J2所使用的各种零件的名称及其数量。
SELECT P.PNAME,SPJ.QTY FROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=”J2”5)找出上海厂商供应的所有零件的代码。
SELECT DISTINCT PNO FROM SPJWHERE SNO IN(SELECT SNO FROM S WHERE CITY=”上海”)6)找出所有使用上海产的零件的工程项目名。
数据库SQL语句练习题含答案
SQL语句练习练习5. 1. 2: 基于不断滚动的电影数据库的实例:Movie( 电影名title,拍摄年代year ,长度length, inColor ,制片厂名studioName, 制片人证书号producerC# )StarsIn(电影名movieTitle,拍摄年份movieYear ,影星名starName) MovieStar (姓名name,地址address,性别gender ,生日birthdate) MovieExec( 姓名name,地址address ,证书号cert # ,净资产netWorth ) Studio(姓名name, 地址address,总裁证书号presC# )请写出下列SQL 查询语句:* ( a) 找出米高梅制片公司(MGM studios)的地址。
SELECT address AS Studio_AddressFROM Studio WHERE name = 'MGM';( b) 找出桑德拉·布洛克( Sandra Bullock ) 的出生日期( birthdate) 。
SELECT birthdate AS Star_BirthdateFROM MovieStar WHERE name = 'Sandra Bullock';* ( c) 找出在1980 年拍摄过电影的所有影星, 或者拍摄过电影名中含有“Love”的电影的所有影星。
SELECT starName FROM StarsInWHERE movieYear = 1980 OR movieTitle LIKE '%Love%';( d) 找出净资产至少1 000 万美元的所有行政长官。
SELECT name AS Exec_NameFROM MovieExec WHERE netWorth >= 10000000;( e) 找出所有的男影星或者是住址中含有Malibu 的影星。
数据库题库及答案精选全文完整版
可编辑修改精选全文完整版数据库题库及答案数据库技术是计算机科学中重要的一部分,广泛应用于各个领域。
为了更好地学习和理解数据库知识,题库是一个非常有用的资源。
本文提供一些常见的数据库题目及其答案,希望对读者的学习和实践有所帮助。
一、选择题1. 在关系数据库中,用于描述记录之间的关系的是:a) 表格b) 行c) 列d) 键答案:a) 表格2. 数据库管理系统(DBMS)的主要功能包括:a) 数据的存储和管理b) 数据的查询和分析c) 数据的备份和恢复d) 数据的安全性控制答案:a) 数据的存储和管理、b) 数据的查询和分析、c) 数据的备份和恢复、d) 数据的安全性控制3. 关系数据库中,用于唯一标识一条记录的属性被称为:a) 主键b) 外键c) 候选键d) 索引答案:a) 主键4. 数据库的范式用于描述数据库的结构是否符合某种规范。
以下哪一项不是数据库的范式:a) 一范式b) 二范式c) 三范式d) 四范式答案:d) 四范式5. 在SQL语句中,用于插入新记录的关键字是:a) SELECTb) UPDATEc) INSERTd) DELETE答案:c) INSERT二、填空题1. 在关系数据库中,每一行都代表一个________。
答案:记录2. 数据库中具有相同属性的记录集合被称为____________。
答案:表3. 在关系数据库中,用于检索某一部分记录的语句是________。
答案:SELECT4. 数据库设计中常用的三个范式依次是一范式、二范式和__________。
答案:三范式5. 数据库表中,用于唯一标识一条记录的属性被称为________。
答案:主键三、应用题1. 请列举至少三种数据库管理系统(DBMS)的类型,并简要描述它们的特点。
答案:关系型数据库管理系统(RDBMS):采用表格的形式组织数据,具有高度结构化和强一致性的特点。
常见的关系型数据库管理系统有MySQL、Oracle、SQL Server等。
数据库 练习题(答案)
第四章练习题一、选择题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 )。
3-SQL语句练习题参考答案
标准SQL语言一、选择题1、下面关于SQL标准的叙述中,不正确的是(B )。
A.SQL语言是集数据定义、数据操纵、数据控制功能为一体的语言。
B.SQL语言是一种高度过程化的语言。
C.SQL标准规定数据库是按三级模式结构构建。
D.SQL语言是关系型数据库的标准语言。
E.SQL语言是面向集合的语言。
2、SQL语言中,修改基本表结构的语句是( B )。
A.UPDATE B.ALTER C.DROP D.CREATE3、SQL语言中,删除基本表结构的语句是( C )。
A.DELETE B.ALTER C.DROP D.CREATE4、下面关于“视图”的叙述中,不正确的是( C )。
A.视图是一种“虚表”,它的数据被存放在基本表中。
B.视图提供了逻辑数据独立性。
C.不能通过视图来更新数据库中的数据。
D.视图能提供对数据的安全保护。
5、下面关于SELECT语句的叙述中,不正确的是(C)。
A.SELECT产生的结果是一个集合。
B.HA VING子句必须与GROUP BY子句一起使用。
C.可以省略FROM子句。
D.可以省略WHERE子句。
二、填空题1、在使用INSERT语句向一个表中插入元组时,“值列表”中值的个数、(顺序)、类型必须与“列名表”保持一致。
2、在向一个表中插入元组时,对于未指定默认值且(不能取空值)的字段必须赋值。
3、向表中插入元组时,主键的值不能取(NULL )值。
4、在使用DELETE语句时,如果不指定(where 条件)就会将整个表的数据删除。
5、视图是从一个或几个基本表或(视图)导出的表,它与基本表不同,是一个虚表。
三、判断题1、SQL语言是面向集合操作的语言。
√2、可以通过视图来查询数据,但不能通过视图来更新数据库中的数据。
×3、在SQL Server数据库系统中,向表中插入元组时,系统自动为具有标识属性的列赋值。
√4、在SQL Server数据库系统中,向表中插入元组时,对取值类型为timestamp(时间戳)的列不能赋值,系统自动赋值。
(完整版)数据库练习题(答案)..
(完整版)数据库练习题(答案)..第四章练习题⼀、选择题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. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。
数据库练习题库(含答案)
数据库练习题库(含答案)一、单选题(共98题,每题1分,共98分)1.在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法,下列不属于结构化分析和建模方法优点的是()。
A、可避免过早陷入具体细节B、从局部或子系统开始分析问题,便于建模人员了解业务模型C、图形对象不涉及太多技术术语,便于用户理解模型D、用图形化的模型能直观表示系统功能正确答案:B2.DBMS通过加锁机制允许用户并发访问数据库,这属于DBMS提供的()。
A、数据定义功能B、数据操纵功能C、数据库运行管理与控制功能D、数据库建立与维护功能正确答案:C3.关于数据划分策略,下述说法错误的是()。
A、散列划分釆用某种散列函数,以数据的划分属性作为函数参数,计算数据应存储的磁盘序号B、范围划分根据某个属性的取值,将数据划分为n个部分,分别存储到不同磁盘上C、范围划分有利于范围查询和点查询,但也可能会引起数据分布不均匀及并行处理能力下降问题D、轮转法划分能保证元组在多个磁盘上的平均分配,并具有较高的点查询和范围查询正确答案:D4.存取方法设计属于数据库设计的()阶段的设计任务。
A、逻辑结构设计B、概念结构设计C、系统需求分析D、物理结构设计正确答案:D5.将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是()。
A、散列文件B、堆文件C、索引文件D、聚集文件正确答案:B6.关于"死锁”,下列说法中正确的是()。
A、在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库B、只有出现并发操作时,才有可能出现死锁C、当两个用户竞争相同资源时不会发生死锁D、死锁是操作系统中的问题,数据库操作中不存在正确答案:B7.关于数据库应用系统的需求分析工作,下列说法正确的是()。
A、在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图B、通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明C、数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标D、数据需求分析的主要工作是要辩识出数据处理中的数据处理流程正确答案:C8.如果一个系统定义为关系系统,则它必须( )oA、支持关系数据库B、支持选择、投影和连接运算C、A和B均成立D、A、B都不需要正确答案:C9.联机分析处理包括以下()基本分析功能。
数据库练习题及答案
35 查询所有未讲课的教师的Tname和Depart.
36、查询至少有2名男生的班号。
37、查询Student表中不姓“王”的同学记录。
38、查询Student表中每个学生的姓名和年龄。
39、查询Student表中最大和最小的Sbirthday日期值。
SQL查询练习
找了好久的查询练习, 附有答案
CREATE TABLE STUDENT
(SNO VARCHAR(3) NOT NULL,
SNAME VARCHAR(4) NOT NULL,
SSEX VARCHAR(2) NOT NULL,
SBIRTHDAY DATETIME,
30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree.
31、查询所有教师和同学的 name、sex和birthday.
32、查询所有“女”教师和“女”同学的name、sex和birthday.
33、查询成绩比该课程平均成绩低的同学的成绩表。
或
select Sno as 学号,Sname as 姓名,Ssex as 性别,Sbirthday as 出生日期,Class as 班号 from student;
4、 select * from score where degree between 60 and 80;
或select * from score where degree>=60 and degree<=80;
40、以班号和年龄从大到小的顺序查询Student表中的全部记录。
41、查询“男”教师及其所上的课程。
数据库系统原理练习题(附参考答案)
数据库系统原理练习题(附参考答案)一、单选题(共100题,每题1分,共100分)1.在SELECT语句的语法结构中,【】用于对查询的结果进行排序。
A、ORDER BY子句B、WHERE子句C、GROUP BY子句D、HAVING子句正确答案:A2.将符合要求的初始数据装载到数据库中去是指A、数据库维护B、数据库试运行C、应用程序设计D、加载数据正确答案:D3.下列关于存储函数与存储过程的说法中,错误的是A、存储过程可以拥有输出参数B、可以直接对存储函数进行调用,且不需要使用CALL语句C、存储过程中必须包含一条RETURN语句D、对存储过程的调用,需要使用CALL语句正确答案:C4.能唯一标识该关系的元组的属性称为该关系的A、超键B、分量C、码D、超码正确答案:C5.下列关于MySQL中的常量的说法中,错误的是A、常量是指在程序运行过程中值不变的量B、常量的使用格式取决于值的数据类型C、字符串常量是指用单引号或双引号括起来的字符序列D、一个十六进制值通常指定为一个字符串常量,每对十六进制数字被转换为一个字符,其最前面有一个大写字母“O”或小写字母“o”正确答案:D6.在数据定义语言包括的SQL语句中,用于对数据库或数据库对象进行修改的是【】A、CREATEB、ALTERC、DROPD、UPDATE正确答案:B7.在关系的一个码中移去某个属性,它仍然是这个关系的码,这样的码称为A、主属性B、全码C、外码D、超码正确答案:D8.下列关于数据库外模式的说法,正确的是A、外模式不能重叠B、不可被多个应用程序所共享C、一个外模式可以只为一个应用程序使用D、一个数据库只能有一个外模式正确答案:C9.下列关于索引的说法中,错误的是A、索引文件需要占用磁盘空间B、创建的索引越多越好C、DBMS会将一个表的所有索引保存在同一个索引文件中D、创建索引能够提高数据文件的访问效率正确答案:B10.下列不属于数据库系统三级模式结构的是A、外模式B、内模式C、模式D、数据模式正确答案:D11.下列关于SQL的说法中,错误的是A、SQL不是某个特定数据库供应商专有的语言B、掌握SQL可以帮助用户与几乎所有的关系数据库进行交互C、SQL 简单易学D、SQL 语句区分大小写正确答案:D12.属于行为设计阶段的是A、逻辑设计B、概念设计C、功能设计D、物理设计正确答案:C13.下列不属于数据库的建立和维护功能的是A、数据库的性能监视B、数据库空间的维护C、数据定义D、数据库的分析正确答案:C14.下列关于数据控制语言的说法中,错误的是A、GRANT语句用于授予权限B、REVOKE语句用于收回权限C、数据控制语言主要用于数据执行流程管理D、数据控制语言包括的主要SQL语句是GRANT和REVOKE 正确答案:C15.下列属于新一代数据库系统的是A、面向对象数据库系统B、关系数据库系统C、层次数据库系统D、网状数据库系统正确答案:A16.DBMS提供【】来严格地定义模式。
ORACLE数据库 查询50习题(题目+答案)
select * from emp where comm>(sal*0.6)
--5、找出部门10中所有经理和部门20中所有办事员的详细资料
select * from emp where (deptno=10 and job='MANAGER') or (deptno=20 and job='CLERK')
select ename from emp where instr(ename,'R')=0
--14、显示所有雇员的姓名的前三个字符
select substr(ename,1,3) from emp
--15、显示所有雇员的姓名,用"a"替换所有的"A"
select replace(ename,'A','a')from emp
--------------------------------------------------------------------------------------------------
--1、列出至少有一个雇员的所有部门信息
select emp.ename,dept.* from emp,dept where emp.deptno=dept.deptno
--2、列出薪金(工资)比'SMITH'多的所有雇员信息
select * from emp where sal>(select sal from emp where ename='SMITH')
--3、列出所有雇员的姓名及其上级的姓名
数据库练习题(打印版)
数据库练习题(打印版)# 数据库练习题(打印版)## 一、选择题1. 在关系数据库中,数据表之间的关系可以是以下哪些类型?- A. 一对一- B. 一对多- C. 多对多- D. 所有以上2. SQL语言中,用于查询数据的关键字是:- A. SELECT- B. INSERT- C. UPDATE- D. DELETE3. 以下哪个不是数据库的完整性约束?- A. 主键约束- B. 外键约束- C. 检查约束- D. 索引约束## 二、填空题4. 数据库管理系统(DBMS)是位于用户和_________之间的一层数据管理软件。
5. SQL是_________查询语言,用于与数据库进行交互。
6. 在SQL中,使用_________关键字可以删除表中的数据。
## 三、简答题7. 简述数据库事务的四大特性(ACID)。
## 四、操作题8. 假设有一个学生表(Students),包含字段:学生ID (StudentID),姓名(Name),年龄(Age),专业(Major)。
编写SQL语句完成以下操作:- A. 插入一条新的学生记录。
- B. 更新学生的年龄信息。
- C. 查询所有学生的信息。
- D. 删除一个学生记录。
## 五、综合应用题9. 你是一家电子商务公司的数据库管理员,需要设计一个数据库来存储产品信息。
请列出至少五个字段,并为每个字段提供一个合理的数据类型。
## 参考答案:### 一、选择题1. D2. A3. D### 二、填空题4. 操作系统5. 结构化6. DELETE### 三、简答题7. 事务的四大特性(ACID)包括:- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。
- 一致性(Consistency):事务必须保证数据库从一个一致的状态转移到另一个一致的状态。
- 隔离性(Isolation):并发执行的事务之间不会互相影响。
- 持久性(Durability):一旦事务提交,则其更改永久保存在数据库中。
数据库模拟练习题及答案
数据库模拟练习题及答案一、单选题(共90题,每题1分,共90分)1、在SQLServer 2000中,若希望数据库用户ACCT具有创建数据库对象的权限,较为合适的实现方法是()。
A、使ACCT只在db_ddladmin角色中B、使ACCT只在db_creator角色中C、使ACCT只在db_owner角色中D、使ACCT只在public角色中正确答案:B2、数据库概念设计是面向企业或组织中的数据需求的。
下列有关概念模型设计的说法中,错误的是()。
A、分析和定义实体集中的每一个实例,并用有意义的符号或文字分别描述它们B、从一个联系的两端(两个方向)确定实体集之间联系的基数,并把联系的基数标注在模型中C、按照具有相同属性特征原则对客观事物进行分类,在分类的基础上概括命名,得到实体集D、要保证一个实体集中定义的每一个属性有意义、不重名正确答案:A3、关于数据库系统中的数据的静态转储和动态转储机制,下述说法正确的是()。
A、静态转储时允许其他事务访问数据库B、静态转储能够保证数据库的可用性C、动态转储时允许在转储过程中其他事务对数据进行存取和修改D、动态转储无法保证数据库的可用性正确答案:C4、在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法,下列不属于结构化分析和建模方法优点的是()。
A、图形对象不涉及太多技术术语,便于用户理解模型B、用图形化的模型能直观表示系统功能C、从局部或子系统开始分析问题,便于建模人员了解业务模型D、可避免过早陷入具体细节正确答案:C5、下列关于数据仓库的叙述中,()是不正确的。
A、数据仓库前端分析工具中包括报表工具B、数据仓库中间层OLAP服务器只能采用关系型OLAPC、数据仓库通常釆用三层体系结构D、底层的数据仓库服务器一般是一个关系型数据库系统正确答案:B6、在数据库应用系统生命周期模型中,作为系统总体设计阶段输入的是()。
A、技术可行性分析报告和需求规范说明书B、软硬件选型和配置设计C、数据库应用系统体系结构设计D、应用软件总体设计正确答案:A7、文件系统与数据库系统的重要区别是数据库系统具有()。
mysql数据库练习题(含答案)
mysql数据库练习题(含答案)创建数据库1 DROP DATABASE IF EXISTS test1; #如果存在test1数据库删除test1数据库2 CREATE DATABASE test1; #创建test1数据库3 USE test1; #切换的test1数据库⾥创建部门表1 DROP IF EXISTS TABLE DEPT; #如果存在dept数据表,删除dept数据表.2 CREATE TABLE DEPT(3 DEPTNO int PRIMARY KEY, #部门编号4 DNAME VARCHAR(14) , #部门名称5 LOC VARCHAR(13) #部门地址6 ) ;向部门表插⼊数据1 INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');2 INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');3 INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');4 INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');创建员⼯表1 DROP IF EXISTS TABLE EMP; #如果存在emp数据表,删除emp数据表.2 CREATE TABLE EMP(3 EMPNO int PRIMARY KEY, #员⼯编号4 ENAME VARCHAR(10), #员⼯姓名5 JOB VARCHAR(9), #员⼯⼯作6 MGR int, #员⼯直属领导编号7 HIREDATE DATE, #⼊职时间8 SAL double, #⼯资9 COMM double, #奖⾦10 DEPTNO int #对应dept表的外键11 );添加部门和员⼯之间的主外键关系1 ALTER TABLE EMP ADD CONSTRAINT FOREIGN KEY EMP(DEPTNO) REFERENCES DEPT (DEPTNO); #加主键约束1.主键约束:要对⼀个列加主键约束的话,这列就必须要满⾜的条件就是分空因为主键约束:就是对⼀个列进⾏了约束,约束为(⾮空、不重复)以下是代码要对⼀个列加主键,列名为id,表名为emp格式为:alter table 表格名称 add constraint 约束名称增加的约束类型(列名)添加部门和员⼯1 INSERT INTO EMP VALUES(7369,'SMITH','CLERK',7902,"1980-12-17",800,NULL,20);2 INSERT INTO EMP VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30); 3 INSERT INTO EMP VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30); 4 INSERT INTO EMPVALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20); 5 INSERT INTO EMP VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30); 6 INSERT INTO EMP VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30); 7 INSERT INTO EMP VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10); 8 INSERT INTO EMP VALUES(7788,'SCOTT','ANALYST',7566,'1987-07-03',3000,NULL,20); 9 INSERT INTO EMPVALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10); 10 INSERT INTO EMP VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30); 11 INSERT INTO EMP VALUES(7876,'ADAMS','CLERK',7788,'1987-07-13',1100,NULL,20); 12 INSERT INTO EMP VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30); 13 INSERT INTO EMP VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20); 14 INSERT INTO EMPVALUES(7934,'MILLER','CLERK',7782,'1981-01-23',1300,NULL,10);创建⼯资等级表1 DROP IF EXISTS TABLE SALGRADE; #如果存在salgrade数据表,删除salgrare数据表.2 CREATE TABLE SALGRADE(3 GRADE int, #等级4 LOSAL double, #最低⼯资5 HISAL double ); #最⾼⼯资6 INSERT INTO SALGRADE VALUES (1,700,1200);7 INSERT INTO SALGRADE VALUES (2,1201,1400);8 INSERT INTO SALGRADE VALUES (3,1401,2000);9 INSERT INTO SALGRADE VALUES (4,2001,3000); 10 INSERT INTO SALGRADE VALUES (5,3001,9999);单表查询题⽬及答案1 #1、查找部门30中员⼯的详细信息。
数据库练习-(答案)
一、填空题1.数据管理技术共经历了三个阶段:人工管理阶、、。
文件管理阶段、数据库系统阶段2.事务具有四个基本特性,分别是:、一致性、和持续性。
原子性、隔离性3.关系模型的三类完整性规则:实体完整性规则、、和。
参照完整性规则、用户自定义的完整性4.两个实体之间的联系可分为:一对一联系(1:1)、和三类。
一对多联系(1:n)、多对多联系(n:m)5.数据库领域中最常用的数据模型为:层次模型、、和面向对象模型。
网状模型、关系模型6.数据库设计过程是和的密切结合。
结构设计(或数据设计)、行为设计(或处理设计)7.数据库的完整性是指数据的和。
正确性、相容性8.事务故障、系统故障的恢复是由完成的,介质故障是由完成的。
系统自动、DBA执行恢复操作过程二、单选题1.下面哪个并非DBMS必须提供的数据保护能力。
A.安全性B.并发控制C.完整性D.可移植性D2.在数据库中有如图3.1所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作不能执行。
A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中C.将职工号为“001”的工资改为700D.将职工号为“038”的部门号改为‘03’B3.数据库管理系统的存取方法通常有三类,下面哪个不是常用的存取方法。
A.B+树索引方法B.聚簇方法C.阵列方法D.HASH方法C4.SQL中,与“IN”等价的操作符是A.=ANY B.<>ANY C.=ALL D.<>ALLA5.文件系统与数据库系统的本质区别是。
A.数据共享B.数据独立C.数据结构化D.数据冗余. C6.从E-R图导出关系模式时,如果两实体间的联系是m:n,下列说法中正确的是。
A.将m方码和联系的属性纳入n方的属性中B.将n方码和联系的属性纳入m方的属性中C.在m方属性和n方属性中均增加一个表示级别的属性D.增加一个关系表示联系,其中纳入m方和n方的码D7.设关系R(A,B,C)和S(B,C,D),下列关系代数表达式不成立的是。
数据库课后练习及标准答案
数据库课后练习及标准答案————————————————————————————————作者:————————————————————————————————日期:第一章:一、单选题1.以下的英文缩写中表示数据库管理系统的是( B)。
A. DB B.DBMS C.DBA D.DBS2.数据库管理系统、操作系统、应用软件的层次关系从核心到外围分别是(B )。
A. 数据库管理系统、操作系统、应用软件B. 操作系统、数据库管理系统、应用软件C. 数据库管理系统、应用软件、操作系统D. 操作系统、应用软件、数据库管理系统3.DBMS是(C )。
A. 操作系统的一部分B.一种编译程序 C.在操作系统支持下的系统软件 D.应用程序系统4.数据库系统提供给用户的接口是(A )。
A.数据库语言 B.过程化语言 C.宿主语言D.面向对象语5.(B )是按照一定的数据模型组织的,长期存储在计算机内,可为多个用户共享的数据的聚集。
A.数据库系统 B.数据库C.关系数据库D.数据库管理系统6. ( C)处于数据库系统的核心位置。
A.数据模型 B.数据库C.数据库管理系统D.数据库管理员7.( A)是数据库系统的基础。
A.数据模型B.数据库C.数据库管理系统D.数据库管理员8.( A)是数据库中全部数据的逻辑结构和特征的描述。
A.模式B.外模式 C.内模式 D.存储模式9.(C )是数据库物理结构和存储方式的描述。
A.模式 B.外模式 C.内模式D.概念模式10.( B)是用户可以看见和使用的局部数据的逻辑结构和特征的描述》 A.模式B.外模式C.内模式D.概念模式11.有了模式/内模式映像,可以保证数据和应用程序之间( B)。
A.逻辑独立性B.物理独立性C.数据一致性D.数据安全性12.数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统( B)。
A.有专门的软件对数据进行管理B.采用一定的数据模型组织数据C.数据可长期保存D.数据可共享13.关系数据模型通常由3部分组成,它们是(B )。
数据库练习题(含答案)
数据库练习题(含答案)一、单选题(共80题,每题1分,共80分)1、同一个数据模型的任意两个元组值()A、不能全同B、可全同C、必须全同D、以上都不是正确答案:A2、在创建主/子窗体之前,要确定主窗体与子窗体之间的数据源之间存在着的关系。
A、多对一B、多对多C、一对一D、一对多正确答案:D3、Access不能对数据类型进行排序和索引。
( )A、文本B、数字C、备注D、自动编号正确答案:D4、任何一个满足2NF但不满足3NF的关系模式都存在( )A、非主属性对候选码的传递依赖B、主属性对候选码的部分依赖C、非主属性对候选码的部分依赖D、主属性对候选码的传递依赖正确答案:A5、以下哪一条属于关系数据库的规范化理论要解决的问题?( )A、如何构造合适的应用程序界面B、如何构造合适的数据库逻辑结构C、如何控制不同用户的数据操作权限D、如何构造合适的数据库物理结构正确答案:B6、在数据管理技术发展的三个阶段中,数据独立性最好的是( )。
A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同正确答案:C答案解析:数据库系统管理阶段的独立性最高,是因为采用了数据库管理系统来管理数据,将应用程序和数据分开存储。
7、在设计表时,若输人掩码属性设置为“LL”,则能接收的输人是( )A、abBdB、aBC、AB+CD、ABa9正确答案:B答案解析:在输入掩码的格式符号中,“L”表示在该位置必须输入一个字母。
B送选项中少了一个字母,C选项中不能接受“+”,D 选项中不能接受“9”8、在下列SQL语句中,修改表结构的语句是( )。
A、ALTERB、CREATEC、UPDATED、INSERT正确答案:A9、空数据库是指()A、没有基本表的数据库B、没有任何数据库对象的数据库C、数据库中数据表记录为空的数据库D、没有窗体和报表的数据库正确答案:B答案解析:Access由六大对象组成,因此空数据库必须是没有任何对象的数据库。
史上最全Oracle数据库基本操作练习试题[含答案解析]
史上最全Oracle数据库基本操作练习试题[含答案解析] Oracle基本操作练习题使⽤表:员⼯表(emp):(empno NUMBER(4)notnull,--员⼯编号,表⽰唯⼀ename VARCHAR2(10),--员⼯姓名job VARCHAR2(9),--员⼯⼯作职位mgr NUMBER(4),--员⼯上级领导编号hiredate DATE,--员⼯⼊职⽇期sal NUMBER(7,2),--员⼯薪⽔comm NUMBER(7,2),--员⼯奖⾦deptno NUMBER(2)—员⼯部门编号)部门表(dept):(deptno NUMBER(2)notnull,--部门编号dname VARCHAR2(14),--部门名称loc VARCHAR2(13)—部门地址)说明:增删改较简单,这些练习都是针对数据查询,查询主要⽤到函数、运算符、模糊查询、排序、分组、多变关联、⼦查询、分页查询等。
建表脚本.txt建表脚本(根据需要使⽤):练习题:1.找出奖⾦⾼于薪⽔60%的员⼯信息。
SELECT * FROM emp WHERE comm>sal*0.6;2.找出部门10中所有经理(MANAGER)和部门20中所有办事员(CLERK)的详细资料。
SELECT * FROM emp WHERE (JOB='MANAGER' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20);3.统计各部门的薪⽔总和。
SELECT deptno,SUM(sal) FROM emp GROUP BY deptno;4.找出部门10中所有理(MANAGER),部门20中所有办事员(CLERK)以及既不是经理⼜不是办事员但其薪⽔⼤于或等2000的所有员⼯的详细资料。
SELECT * FROM emp WHERE (JOB='MANAGER' AND DEPTNO=10) OR (JOB='CLERK' AND DEPTNO=20) OR (JOB NOT IN('MANAGER','CLERK') AND SAL>2000);5.列出各种⼯作的最低⼯资。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、连接查询
(一)简单连接
1、列出选修1号课的学生姓名及成绩。
SELECT 姓名,成绩 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课号="1"
2、列出选修1号课的学生的学号、姓名及成绩。
INSERT INTO 课程(课号,课名) VALUES("5","大学英语")
2、给学生表中男生的记录加上删除标记。
DELETE FROM 学生 WHERE 性别="男"
3、将选课表中所有课程的成绩分别提高5分。将课号为“4”的课程的成绩置为空值。
UPDATE 选课 SET 成绩=成绩+5
姓名
C
8
不能为空
性别
C
2
年龄
N
3
0
年龄大于10小于45
是否党员
L
入学年月
D
默认值为1999年9月1日
OPEN DATABASE XSK
CREATE TABLE 学生1 (学号 C(6) PRIMARY KEY,姓名 C(8) NOT NULL,性别 C(2),;
SELECT "领导",S.雇员姓名,"雇员",E.雇员姓名 FROM 雇员 S,雇员 E WHERE S.雇员号=E.经理
(三)超连接
1、列出选修1号课的学生姓名及成绩。
方法一:(使用简单连接查询格式)
SELECT 姓名,成绩 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课号="1"
10、求出所有学生的总成绩。
SELECT SUM(成绩) AS 总成绩 FROM 选课
11、列出每个学生的平均成绩。
SELECT 学号,AVG(成绩) AS 平均成绩 FROM 选课 GROUP BY 学号
12、列出各科的平均成绩、最高成绩、最低成绩和选课人数。
SELECT 课号,AVG(成绩) AS 平均成绩,MAX(成绩) AS 最高分,;
2、列出每个学生中成绩低于本人平均成绩的选课信息。
SELECT * FROM 选课 A WHERE 成绩<(SELECT AVG(成绩) FROM 选课 B WHERE A.学号=B.学号)
3、列出表“订购单2.dbf”(其内容就是在订购单表的基础上增加一个总金额字段)中每个职工经手的具有最高总金额的订购单信息。(教案中例题)
方法二:(使用内部连接格式)
SELECT 姓名,成绩 FROM 学生 INNER JOIN 选课 ON 学生.学号=选课.学号 WHERE 课号="1"
方法三:内部连接的INNER短语可以省略。(与方法二等价)
SELECT 姓名,成绩 FROM 学生 JOIN 选课 ON 学生.学号=选课.学号 WHERE 课号="1"
2、查询订货管理数据库中数据的仓库号、城市、供应商名和地址信息。
方法一:使用简单连接格式。
SELECT 仓库.仓库号,城市,供应商名,地址 FROM 供应商,订购单,职工,仓库;
WHERE 供应商.供应商号=订购单.供应商号 AND订购单.职工号=职工.职工号 ;
AND 职工.仓库号=仓库.仓库号
要求:将所有“外汇汇率”表中的数据插入rate表中并且顺序不变,由于“外汇汇率”中的币种1和币种2存放的是外币名称,而rate表中的币种1代码和币种2代码应该存放外币代码,所以插入时要做相应的改动,外币名称与外向代码的对应关系存储在“外汇代码”表中。
SELECT A.外币代码 AS 币种1代码,B.外币代码 AS 币种2代码,;
方法二:使用超连接的内部连接格式。(注意连接条件的顺序)
SELECT 仓库.仓库号,城市,供应商名,地址 FROM 供应商 JOIN 订购单 JOIN 职工 JOIN 仓库 ;
ON 职工.仓库号=仓库.仓库号 ON 订购单.职工号=职工.职工号 ON 供应商.供应商号=订购单.供应商号
3、查询没有选修任何课程的学生姓名。
方法二:
SELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>ALL ;
(SELECT 成绩 FROM 选课 WHERE 课号="1")
(三)内外层互相关嵌套(外层依赖于内层的查询结果,内层依赖于外层来进一步查询)
1、列出每门课程中成绩最高的选课信息。
SELECT * FROM 选课 A WHERE 成绩=(SELECT MAX(成绩) FROM 选课 B WHERE A.课号=B.课号)
一、简单查询
1、列出全部学生的信息。
SELECT * FROM 学生
2、列出软件专业全部学生的学号及姓名。
SELECT 学号,姓名 FROM 学生 WHERE 专业="软件"
3、列出所有必修课的课号。
SELECT DISTINCT 课号 FROM 必修课
4、求1号课成绩大于80分的学生的学号及成绩,并按成绩由高到低列出。
SELECT 姓名 FROM 学生 LEFT JOIN 选课 ON 选课.学号=学生.学号 WHERE 选课.学号<>学生.学号
三、嵌套查询
(一)普通嵌套与谓词EXISTS
1、列出选修汇编语言课的学生的学号。
方法一:
SELECT 学号 FROM 选课 WHERE 课号=(SELECT 课号 FROM 课程 WHERE 课名="汇编语言")
相反条件查询:SELECT * FROM 选课 WHERE 学号 NOT LIKE "98%"
9、列出成绩为空值(或不为空值)的学生的学号和课号。
答案一:SELECT 学号,课号 FROM 选课 WHERE 成绩 IS NULL
答案二:SELECT 学号,课号 FROM 选课 WHERE 成绩 IS NOT NULL
买入价,卖出价 FROM 外汇代码 A,外汇汇率,外汇代码 B;
WHERE A.外币名称=外汇汇率.币种1 AND B.外币名称=外汇汇率.币种2 INTO TABLE rate
4、假定有“雇员”表(雇员号 C(2),雇员姓名 C(6),经理号 C(2)),根据雇员关系列出上一级经理及其所领导的职员清单。(教案中的例题)
SELECT 学号,成绩 FROM 选课 WHERE 课号="1" AND 成绩>80 ORDER BY 成绩 DESC
5、列出非软件专业学生的名单。
方法一:SELECT 姓名 FROM 学生 WHERE 专业<>"软件"
方法二:SELECT 姓名 FROM 学生 WHERE NOT 专业="软件"
3、有以下表rate.dbf
币种1代码 C(2)、币种2代码 C(2)、买入价 N(8,4)、卖出价 N(8,4)
外汇汇率.dbf
币种1 C(4)、币种2 C(4)、买入价 N(8,4)、卖出价 N(8,4)
外汇代码.dbf
外汇名称 C(10)、外汇代码 C(10)
SELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>;
(SELECT MIN(成绩) FROM 选课 WHERE 课号="1")
方法二:ANY等价于SOME,所以可将ANY换成SOME。
SELECT 学号,成绩 FROM 选课 WHERE 课号="2" AND 成绩>ANY ;
相反条件查询:SELECT 学号,成绩 FROM 选课 WHERE 课号 NOT IN ("1","3")
8、列出所有98级学生的学生成绩情况。
SELECT * FROM 选课 WHERE 学号 LIKE "98%"
SELECT * FROM 选课 WHERE 学号 LIKE "98_ _ _ _"
(二)自连接查询
1、列出那些专业相同的学生相应的姓名及专业信息。
SELECT a.姓名,b.姓名,专业 FROM 学生 a,学生 b WHERE a.学号<>b.学号 AND a.专业=b.专业
2、求至少选修1号课和2号课的学生的学号。
SELECT X.学号 FROM 选课 X,选课 Y WHERE X.学号=Y.学号 AND X.课号="1" AND Y.课号="2"
SELECT out.职工号,out.供应商号,out.订货单号,out.订货日期,out.总金额;
FROM 订购单 out WHERE 总金额=(SELECT MAX(总金额) FROM 订购单 inner1;
Where out.职工号=inner1.职工号)
四、操作功能
1、在课程表中插入新的元组(5,大学英语)。
不在此范围内的查询:(注意写出和以下语句等价的语句)
SELECT * FROM 选课 WHERE 成绩 NOT BETWEEN 70 AND 80
7、列出选修1号课或3号课的全体学生的学号和成绩。
方法一:SELECT 学号,成绩 FROM 选课 WHERE 课号="1" OR 课号="3"
方法二:SELECT 学号,成绩 FROM 选课 WHERE 课号 IN ("1","3")