数据库第三章知识题
数据库第三章所有例题参考答案
11级信管,保密,图档上机考试题目与参考答案3.3Simple Select Statements1.EXAMPLE 3.3.1find the aid values and names of agents that are based in New York. select aid, aname from agents where city=’New York’;2.EXAMPLE3.3.3Retrieve all pid values of parts for which orders are placed.select distinct pid from orders;3.EXAMPLE 3.3.4retrieve all customer-agent name pairs, (cname, aname), where the customer places an order through the agent.select distinct ame,agents.anamefrom customers,orders,agentswhere customers.cid=orders.cid and orders.aid=agents.aid;4.EXAMPLE 3.3.6all pairs of customers based in the same city.select c1.cid, c2.cidfrom customers c1, customers c2where c1.city = c2.city and c1.cid < c2.cid;5.EXAMPLE 3.3.7find pid values of products that have been ordered by at least twocustomers.select distinct x1.pidfrom orders x1, orders x2where x1.pid = x2.pid and x1.cid < x2.cid;6.EXAMPLE 3.3.8Get cid values of customers who order a product for which an order is also placed by agent a06.select distinct y.cidfrom orders x, orders ywhere y.pid = x,pid and x.aid = ‘a06’;3.4Subqueries7.EXAMPLE 3.4.1Get cid values of customers who place orders with agents in Duluth or Dallas.select distinct cid from orderswhere aid in (select aid from agentswhere city= ‘Duluth’ or city = ‘Dallas’)8.EXAMPLE 3.4.2to retrieve all information concerning agents based in Duluth or Dallas (very close to the Subquery in the previous example).select * from agentswhere city in (‘Duluth’, ‘Dallas’ );or select *from agentswhere city = ‘Duluth’ or city = ‘Dallas’;9.EXAMPLE 3.4.3to determine the names and discounts of all customers who place orders through agents in Duluth or Dallas.select distinct cname, discnt from customerswhere cid in (select cid from orders where aid in(select aid from agents where city in (‘Duluth’, ‘Dallas’ ))); 10.EXAMPLE 3.4.4to find the names of customers who order product p05.select distinct cname from customers, orderswhere customers.cid = orders.cid and orders.pid = ‘p05’or select disti nct cname from customers where ‘p05’ in(select pid from orders where cid = customers.cid);11.EXAMPLE 3.4.5Get the names of customers who order product p07 from agent a03. select distinct cname from customerswhere cid in (select cid from orders where pid = ‘p07’ and aid = ‘a03’) 12.EXAMPLE 3.4.6to retrieve ordno values for all orders placed by customers in Duluth through agents in New York.select ordno from orders x where exists(select * from customers c, agents awhere c.cid = x.cid and a.aid = x.aid and c.city = ‘Duluth’ anda.city=‘New York’);13.EXAMPLE 3.4.7find aid values of agents with a minimum percent commission.select aid from agents where percent = (select min(percent) from agents);14.EXAMPLE 3.4.8find all customers who have the same discount as that of any of the customers in Dallas or Boston.select cid, cname from customerswhere discnt = some (select discnt from customerswhere city = ‘Dallas’ or city = ‘Boston’);15.EXAMPLE 3.4.9Get cid values of customers with discnt smaller than those of any customers who live in Duluth.select cid from customerswhere discnt <all (select discnt from customerswhere city = ‘Duluth’);16.EXAMPLE 3.4.10Retrieve all customer names where the customer places an order through agent a05.select distinct ame from customers cwhere exists (select * from orders xwhere c.cid = x.cid and x.aid = ‘a05’);or select distinct ame from customers c, orders xwhere c.cid = x.cid and x.ai d = ‘a05’ ;17.EXAMPLE 3.4.11Get cid values of customers who order both products p01 and p07. select distinct cid from orders xwhere pid = ‘p01’ and exsits (select * from orderswhere cid = x.cid and pid = ‘p07’);orselect distinct x.cid from orders x, orders ywhere x.pid = ‘p01’ and x.cid = y.cid and y.pid = ‘p07’;18.EXAMPLE 3.4.12Retrieve all customer names where the customer does not place an order through agent a05.select distinct ame from customers cwhere not exists (select * from orders xwhere c.cid = x.cid and x.aid = ‘a05’);19.EXAMPLE 3.4.13retrieving all customer names where the customer does not place an order through agent a05, but using the two equivalent NOT IN and <>ALLpredicates in place of NOT EXISTS.select distinct ame from customers cwhere c.cid not in (select cid from orders where aid = ‘a05’);or select ame from customers cwhere c.cid <>all (select cid from orders where aid = ‘a05’);20.EXAMPLE 3.4.14Find cid values of customers who do not place any order through agent a03.select distinct cid from orders xwhere not exists (select * from orderswhere cid = x.cid and aid = ‘a03’);orselect cid from customers cwhere not exists (select * from orderswhere cid = c.cid and aid = ‘a03’);21.EXAMPLE 3.4.15Retrieve the city names containing customers who order product p01. select distinct city from customers where cid in(select cid from orders where pid = ‘p01’);or select distinct city from customers where cid =some(select cid from orders where pid = ‘p01’);or select distinct city from customers c where exsits(select * from orders where cid = c.cid and pid = ‘p01’);or select distinct city from customers c, orders xwhere x.cid = c.cid and x.pid = ‘p01’;or select distinct city from customers c where ‘p01’ in(select pid from orders where cid = c.cid);3.5UNION Operators and FOR ALL Conditions 22.EXAMPLE 3.5.1to create a list of cities where either a customer or an agent, or both, is based.select city from customersunion select city from agents;23.EXAMPLE 3.5.2Get the cid values of customers who place orders with all agents based in New York.select c.cid from customers cwhere not exsits(select * from agents awhere a.city = ‘New York’ and not exsits(select * from orders xwhere x.cid = c.cid and x.aid = a.aid));24.EXAMPLE 3.5.3Get the aid values of agents in New York or Duluth who place orders forall products costing more than a dollar.select aid from agents awhere (a.city = ‘New York’ or a.city = ‘Duluth’)and not exsits(select p.pid from products pwhere p.price > 1.00 and not exsits(select * from orders xwhere x.pid = p.pid and x.aid = a.aid));25.EXAMPLE 3.5.4Find aid values of agents who place orders for product p01 as well as for all products costing more than a dollar.select a.aid from agents a where a.aid in(select aid from orders where pid = ‘p01’)and not exsits (select p.pid from products pwhere p.price > 1.00 and not exsits (select * from orders xwhere x.pid = p.pid and x.aid = a.aid));or select distinct y.aid from orders ywhere y.pid = ‘p01’ and not exsits(select p.pid from products pwhere p.price > 1.00 and not exsits(select * from orders xwhere x.pid = p.pid and x.aid = y.aid));26.EXAMPLE 3.5.6Find pid values of products supplied to all customers in Duluth.select pid from products pwhere not exsits(select c.cid from customers cwhere c.city = ‘Duluth’and not exists(select * from orders xwhere x.pid = p.pid and x.cid = c.cid));3.7 Set Functions in SQL27.EXAMPLE 3.7.1determine the total dollar amount of all orders.select sum(dollars) as totaldollars from orders28.EXAMPLE 3.7.2To determine the total quantity of product p03 that has been ordered. select sum(qty) as TOTAL from orders where pid=’p03’29.EXAMPLE 3.7.4Get the number of cities where customers are based.select count(distinct city) from customers30.EXAMPLE 3.7.5List the cid values of alt customers who have a discount less than the maximum discount.select cid from customerswhere discnt < (select max(discnt) from customers)31.EXAMPLE 3.7.6Find products ordered by at least two customers.select p.pid from products pwhere 2 <=(select count(distinct cid) from orders where pid=p.pid)图档的学生的上机考查的考题到此为止___________________________________________________________ ___________________________________________________________ 信管,保密的学生上机考查还包括下面的题目32.EXAMPLE 3.7.7Add a row with specified values for columns cid, cname, and city (c007, Windix, Dallas, null)to the customers table.insert into customers(cid, cname, city)values (‘c007’, ‘Windix’, ‘Dallas’)33.EXAMPLE 3.7.9After inserting the row (c007, Windix, Dallas, null) to the customers table in Example 3.7.7, assume that we wish to find the average discount of all customers.select avg(discnt) from customers3.8 Groups of Rows in SQL34.EXAMPLE 3.8.1to calculate the total product quantity ordered of each individual product by each individual agent.select pid, aid, sum(qty) as TOTAL from ordersgroup by pid, aid35.EXAMPLE 3.8.2Print out the agent name and agent identification number, and the product name and product identification number, together with the total quantity each agent supplies of that product to customers c002 and c003.select aname, a.aid, pname, p.pid, sum(qty)from orders x, products p, agents awhere x.pid = p.pid and x.aid = a.aid and x.cid in (‘c002’, ‘c003’)group by a.aid, a.aname, p.pid, p.pname36.EXAMPLE 3.8.3Print out all product and agent IDs and the total quantity ordered of the product by the agent, when this quantity exceeds 1000.select pid, aid, sum(qty) as TOTAL from ordersgroup by pid, aidhaving sum(qty) > 100037.EXAMPLE 3.8.4Provide pid values of all products purchased by at least two customers. select distinct pid from ordersgroup by pidhaving count(distinct cid) >= 23.9 A Complete Description of SQL Select38.EXAMPLE 3.9.1List all customers, agents, and the dollar sales for pairs of customers and agents, and order the result from largest to smallest sales totals. Retain only those pairs for which the dollar amount is at least equal to 900.00. select ame, c.cid, a.aname, a.aid, sum(dollars) as casalesfrom customers c, orders o, agents awhere c.cid = o.cid, and a.aid = o.aidgroup by ame, c.cid, a.aname, a.aidhaving sum(o.dollars) >= 900.00order by casales desc39.EXAMPLE 3.9.2listed the cid values of all customers with a discount less than the maximum discount.select cid from customerswhere discnt < (select max(discnt) from customers)40.EXAMPLE 3.9.3Retrieve the maximum discount of all customers.select max(discnt) from customers;select distinct discnt from customers cwhere discnt >= all (select discnt from customers dwhere d.cid<>c.cid)41.EXAMPLE 3.9.4Retrieve all data about customers whose cname begins with the letter “A”.select * from customers where cname like ‘A%’42.EXAMPLE 3.9.5Retrieve cid values of customers whose cname does not have a third letter equal to “%”.select cid from customers where cname not like ‘__[%]’43.EXAMPLE 3.9.6Retrieve cid values of customers whose cname begins “Tip_” and has an arbitrary number of characters following.select cid from customers where cname like ‘TIP\[_]%’44.EXAMPLE 3.9.7Retrieve cid values of customers whose cname starts with the sequence “ab\”.select cid from customers where cname like ‘ab\%’3.10 Insert, Update, and Delete Statements 45.EXAMPLE 3.10.1Add a row with specified values to the orders table, setting the qty and dollars columns null.insert into orders (ordno, month, cid, aid, pid)values (1107, ‘aug’, ‘c006’, ‘a04’, ‘p01’)46.EXAMPLE 3.10.2Create a new table called swcusts of Southwestern customers, and insert into it all customers from Dallas and Austin.create table swcusts (cid char(4) not null,cname varchar(13),city varchar(20),discnt real);insert into swcustsselect * from customerswhere city in (‘Dallas’, ‘Austin’)47.EXAMPLE 3.10.3Give all agents in New York a 10% raise in the percent commission they earn on an order.update agents set percent = 1.1 * percent where city = ‘New York’48.EXAMPLE 3.10.4Give all customers who have total orders of more than $1000 a 10% increase in the discnt.update agents set percent = 1.1 * discntwhere cid in(select cid from orders group by cid having sum(dollars) > 1000) 49.EXAMPLE 3.10.6Delete all agents in New York.delete from agents where city = ‘New York’50.EXAMPLE 3.10.7Delete all agents who have total orders of less than $600.Delete from agents where aid in(select aid from ordersGroup by aidHaving sum(dollars)<600)51.EXAMPLE 3.11.2Retrieve the names of customers who order products costing $0.50. delete from agents where aid in(select aid from orders group by aid having sum(dollars)<600)(完)。
数据库第3章习题参考答案
第3章习题解答1.选择题(1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。
A.主键B.外键C.NULL D.CHECK(2)下列关于表的叙述正确的是(C)。
A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏C.系统表可以隐藏D.系统表可以删除(3)下列关于主关键字叙述正确的是( A )。
A.一个表可以没有主关键字B.只能将一个字段定义为主关键字C.如果一个表只有一个记录,则主关键字字段可以为空值D.都正确(4)下列关于关联叙述正确的是( C )。
A.可在两个表的不同数据类型的字段间创建关联B.可在两个表的不同数据类型的同名字段间创建关联C.可在两个表的相同数据类型的不同名称的字段间创建关联D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段(5)CREATE TABLE语句(C )。
A.必须在数据表名称中指定表所属的数据库B.必须指明数据表的所有者C.指定的所有者和表名称组合起来在数据库中必须唯一D.省略数据表名称时,则自动创建一个本地临时表(6)删除表的语句是(A)。
A.Drop B.Alter C.Update D.Delete (7)数据完整性不包括(B )。
A.实体完整性B.列完整性C.域完整性D.用户自定义完整(8)下面关于Insert语句的说法正确的是(A )。
A.Insert一次只能插入一行的元组B.Insert只能插入不能修改C.Insert可以指定要插入到哪行D.Insert可以加Where条件(9)表数据的删除语句是( A )。
A.Delete B.Inser C.Update D.Alter (10)SQL数据定义语言中,表示外键约束的关键字是(B )。
A.Check B.Foreign Key C.Primary Key D.Unique2.填空题(1)数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。
3数据库基本操作习题与答案
第三章数据库基本操作一、选择题1. 如果需要给当前表增加一个字段,应使用的命令是________。
A) APPEND B) INSERTC) EDIT D) MODIFY STRU2. 设表文件及其索引已打开,为了确保指针定位在物理记录号为1的记录上,应该使用命令________。
A) SKIP 1 B) SKIP -1C) GO 1 D) GO TOP3. 要显示数据库中当前一条记录的内容,可使用命令________。
A) LIST B) BROWSEC) TYPE D) DISPLAY4. 在当前表中,查找第2个女同学的记录,应使用命令________。
A) LOCATE FOR 性别="女"B) LOCATE FOR 性别="女" NEXT 2C) LIST FOR 性别="女"CONTINUED) LOCATE FOR 性别="女"CONTINUE5. Visual FoxPro的数据库表之间可建立两种联系,它们是________。
A) 永久联系和临时联系B) 长期联系和短期联系C) 永久联系和短期联系D) 长期联系和临时联系6. 数据库表的索引中,字段值不能有重复的索引有________种。
A) 1 B) 2C) 3 D) 47. 建立表间临时关联的命令是________。
A) LET RELATION TO命令B) JOIN命令C) SET RELATION TO命令D) 以上都不是8. 通过关键字建立表间的临时关联的前提是________。
A) 父表必须索引并打开B) 子表必须索引并打开C) 两表必须索引并打开D) 两表都不必索引9. 查询设计器的“筛选”选项卡上,“插入”按钮的作用是________。
A) 用于增加查询输出字段B) 用于增加查询的表C) 用于增加查询去向D) 用于插入查询输出条件10. 在多工作区的操作中,如果选择了4,7,8号工作区并打开了相应的数据库,在命令窗口执行命令SELECT 0,其功能是________。
数据库第3章习题
(一)选择题1.关系数据库管理系统应能实现的专门关系运算包括____。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表2.在一个关系中如果有这样一个属性或属性组存在,它的值能唯一地标识关系中的每一个元组,称这个属性或属性组为____。
A.关键字B.数据项C.主属性D.主属性值3.同一个关系模型的任两个元组值____。
A.不能全同B.可全同C.必须全同D.以上都不是4.一个关系数据库文件中的各条记录____。
A.前后顺序不能任意颠倒,一定要按照输入的顺序排列B.前后顺序可以任意颠倒,不影响库中的数据关系C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列5.在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。
如果W中的元组属于R,或者属于S,则W为____运算的结果。
如果W中的元组属于R而不属于S,则为____运算的结果。
如果W中的元组既属于R又属于S,则W为____运算的结果。
A.笛卡尔积B.并C.差D.交6.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为____;从表中选取满足某种条件的元组的操作称为____;将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为____。
A.选择B.投影C.连接D.扫描7.自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的____。
A.元组B.行C.记录D.属性8.等值连接与自然连接是____。
A.相同的B.不同的9.如图所示的关系R,经操作ΠA,B(σB=b(R))(Π为“投影”运算符,σ“选择”运算符)的运算结果是____。
D10.设有属性A,B,C,D,以下表示中不是关系的是____。
A.R(A)B.R(A,B,C,D)C.R(A×B×C×D)D.R(A,B)11.关系运算中花费时间可能最长的运算是____。
【精选】数据库第三章课后习题
• 14、 • (1)GRANT SELECT ON 职工,部门TO 王明 • (2) GRANT INSERT,DELETE ON 职工,部门TO
李勇
• (3) GRANT SELECT ON 职工WHEN USER() = NAME TO ALL
• (4) GRANT SELECT,UPDATE(工资) ON 职工 TO 刘星
• 7、视图的优点 • 视图能够简化用户的操作 • 视图使用户能以多种角度看待同一数据 • 视图对重构数据库提供了一定程度的逻辑
独立性; • 视图能够对机密数据提供安全保护。
• 8、所有的视图是否都可以更新?
• 不是。视图是不实际存储数据的虚表,因 此对视图的更新,最终要转换为对基本表 的更新。因为有些视图的更新不能惟一有 意义地转换成对相应基本表的更新,所以 ,并不是所有的视图都是可更新的。
SPJ TO 李天明;
• 13、 • (1)INSERT INTO SC(Sno,Cno,Grade)
VALUES("2000012", "1128", NULL); • (2)SELECT Sno,Cno
FROM SC
WHERE Grade IS NULL;
• (3)SELECT cname,grade FROM course,Sc WHERE o=o AND cname="英语"
• (1) SELECT DIST PNO,QTY FROM SPQ
• (2) SELECT DIST * FROM SPQ WHERE SNO="S1‘
• 12、 • (1)GRANT INSERT
ON TABLE S TO 张勇
mysql数据库武洪萍版第三章习题与答案
一.选择题
1.下列选项中属于创建数据库的语句是(A)
A.CREATE DATABASE
B. ALTER DATABASE
C. DROP DATABASE
D. 以上都不是
2.在创建数据库时,每个数据库都对应放在一个与数据库同名的(B)中
A.文件
B.文件夹
C.路径
D.以上都不是
3.显示当前所有的数据库的命令是(A)。
A.SHOW DATABASES;
B. SHOW DATABASE;
C. LIST DATABASES;
D. LIST DATABASE;
4.在MySQL
5.5以上系统中,默认的存储引擎是(C)。
A.MyISAM
B.MEMORY
C.InnoDB
D.ARCHIVE
5.SQL 系统中,表结构文件的扩展名是(A)。
A..frm
B. .myd
C. myi
D.mdf
6.MySQL 使用(D)文件中的配置参数。
A.my-larger.ini
B. my-small.ini
C. My-huge.ini
D.my.ini 二.简述题
(1)简述数据库定义以及数据库的作用。
(2)简述MySQL数据库的组成。
(3)简述创建数据库的方法。
数据库原理第三章简答题总结
第三章关系数据库SQL语⾔32. SQL数据库的体系结构及术语:SQL数据库的体系结构也是三级,但术语与传统的关系模型不同。
关系模式称为“基本表”,存储模式称为“存储⽂件”,⼦模式称为“视图”,元组称为“⾏”,属性称为“列”。
33. SQL数据库的体系结构要点是什么:(1)⼀个SQL数据库是表(table)的汇集,它⽤⼀个或多个SQL模式定义。
⼀个SQL模式是表和授权的表态定义。
(2)⼀个SQL表由⾏集构成,⼀⾏是列的序列,每列对应⼀个数据项。
(3)⼀个表或者是⼀个基本表,或者是⼀个视图。
(视图只保存定义,不保存数据)(4)⼀个基本表可跨⼀个或多个存储⽂件,⼀个存储⽂件也可存放⼀个或多个基本表。
每个存储⽂件与外部存储器上⼀个物理⽂件对应。
(5)⽤户可⽤SQL语句对视图和基本表进⾏查询等操作。
(6) SQL⽤户可以是应⽤程序,也可以是终端⽤户。
34. SQL的组成分成⼏部分:SQL主要分成四部分:(1)数据定义。
(SQL DDL)⽤于定义SQL模式、基本表、视图和索引的创建和撤消操作。
(2)数据操纵。
(SQL DML)数据操纵分成数据查询和数据更新两类。
数据更新⼜分成插⼊、删除、和修改三种操作。
(3)数据控制。
包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
(4)嵌⼊式SQL的使⽤规定。
涉及到SQL语句嵌⼊在宿主语⾔程序中使⽤的规则。
35. SQL模式的撤消有哪两种⽅式:CASCADE(连锁式)⽅式:执⾏DROP语句时,把SQL模式及其下属的基本表、视图、索引等所有元素全部撤消。
RESTRICT(约束式)⽅式:执⾏DROP语句时,只有当SQL模式中没有任何下属元素时,才能撤消SQL模式,否则拒绝执⾏DROP语句。
36. SQL提供的基本数据类型有哪些?每种举两个例⼦:(1)数值型:INTEGER长整数、SMALLINT短整数(2)字符串型:CHAR(N)长度为N的定长字符串、VARCHAR(N)具有长度为N的变长字符串。
第三章数据库习题答案
第三章数据库习题答案第三章数据库习题答案数据库是现代信息系统的核心组成部分,它以其高效、可靠和灵活的特性,成为许多企业和组织存储和管理数据的首选。
在学习数据库的过程中,习题是检验知识掌握程度的重要方式。
本文将为大家提供第三章数据库习题的详细答案,希望能够帮助大家更好地理解和应用数据库知识。
1. 什么是关系数据库?答:关系数据库是一种基于关系模型的数据库,它以表格的形式存储数据,表格由行和列组成,每一行表示一个记录,每一列表示一个属性。
关系数据库通过建立表之间的关系,实现数据的组织和管理。
2. 什么是关系模型?答:关系模型是一种用于描述和组织数据的模型,它基于数学集合论的概念,将数据组织成表格的形式。
关系模型通过定义表格之间的关系,实现数据的一致性和完整性。
3. 什么是主键?答:主键是关系数据库中用于唯一标识记录的属性或属性组合。
主键具有唯一性和非空性的特点,它能够确保每一条记录都能够被唯一标识。
4. 什么是外键?答:外键是关系数据库中用于建立表之间关系的属性或属性组合。
外键与其他表的主键相关联,通过外键可以实现表之间的关联和数据的一致性。
5. 什么是实体完整性?答:实体完整性是指数据库中的每一条记录都能够被唯一标识。
实体完整性通过主键来实现,它能够确保每一条记录都具有唯一性和非空性。
6. 什么是参照完整性?答:参照完整性是指数据库中的外键与其他表的主键相关联,确保数据之间的一致性和完整性。
参照完整性能够防止无效的外键值和数据的不一致。
7. 什么是范式?答:范式是一种用于设计关系数据库的规范化方法。
它通过分解表和消除冗余数据,提高数据库的一致性和性能。
常用的范式包括第一范式、第二范式和第三范式。
8. 什么是第一范式?答:第一范式是指关系数据库中的每一列都具有原子性,即每一列都不可再分。
第一范式能够消除表中的重复数据,提高数据库的一致性。
9. 什么是第二范式?答:第二范式是在第一范式的基础上,要求关系数据库中的每一条记录都能够被唯一标识。
数据库系统原理教程课后习题及答案(第三章)
第3章关系数据库标准语言1 .试述语言的特点。
答:(l)综合统一。
语言集数据定义语言、数据操纵语言、数据控制语言的功能于一体。
(2)高度非过程化。
用语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以与语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
2 .试述的定义功能。
的数据定义功能包括定义表、定义视图和定义索引。
语言使用语句建立基本表,语句修改基本表定义,语句删除基本表;使用语句建立索引,语句删除索引;使用语句建立视图,语句删除视图。
3 .用语句建立第二章习题5 中的4 个表。
答:对于S 表:S ( , , , ) ;建S 表:S ( C(2) ,C(6) ,C(2),C(4));对于P 表:P ( , , , );建P 表:P( C(2) ,C(6),C(2),);对于J 表:J ( , , );建J 表:J( C(2) ,C(8),C(4))对于表:( , , , );建表:()( C(2),C(2),C(2),))4.针对上题中建立的4 个表试用语言完成第二章习题5 中的查询。
( l )求供应工程零件的供应商号码;’J1’( 2 )求供应工程零件的供应商号码;'J1' 'P1'( 3 )求供应工程零件为红色的供应商号码;'J1' '红'( 4 )求没有使用天津供应商生产的红色零件的工程号;( '天津' '红' )。
数据库系统l试题库及答案第3章栈与队列
第3章栈和队列3.1栈一、填空题1. 线性表、栈和队列都是________ 结构,可以在线性表的__________ 位置插入和删除元素;对于栈只能___________插入和删除元素;对于队列只在 ____________ 插入元素,并且只在____________ 删除元素。
2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为____________ 。
不允许插入和删除运算的一端称为_________ 。
3. 向栈中压入元素的操作是先____________ ,后 _______ 。
4. 从栈中弹出元素的操作是先____________ ,后 ________ 。
二、选择题:1. ()栈中元素的进出原则是()。
A.先进先出 B .后进先出C .栈空则进D .栈满则出2. ()若已知一个栈的入栈序列是1 , 2, 3,…,n,其输出序列为pl, p2, p3,…,pn,若p仁n,贝U pi为()。
A. i B . n=i C . n-i+1 D .不确定3. ()判定一个栈ST (最多元素个数为m0)为空的条件是()。
A. ST->top<>0 B . ST->top=0 C . ST->top<>mO D . ST->top=mO4. ()有六个元素1,2,3,4,5,6 的顺序进栈,问下列哪一个不是合法的出栈序列?()A. 1,2,3,4,5,6B. 5,4,3,2,1,6C. 4,3,2,1,5,6D. 6,5,4,3,1,25. ()将递归算法转换成非递归算法时,通常要借助的数据结构是()。
A.线性表B. 栈C. 队列D. 树6. ()若栈采用顺序存储方式存储,现两栈共享空间V[1..m] , top[i]代表第i个栈(i =1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是()。
A. |top[2]-top[1]|=0B. top[1]+1=top[2]C. top[1]+top[2]=mD. top[1]=top[2]7. ()一个递归算法必须包括()。
数据库 第三章 关系数据库标准语言SQL习题
第三章关系数据库标准语言SQL一、单项选择题1.SQL语言是 D 。
A.过程化语言B.宿主语言C.汇编语言D.非过程化语言2.在视图上不能完成的操作是 C 。
A.更新视图B.查询C.在视图上定义基本表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中CREA TE、DROP、ALTER语句实现 C 功能。
A.数据查询B.数据操纵C.数据定义D.数据控制4.在SQL语言中,删除一个视图的命令是 B 。
A.DELETE B.DROP C.CLEAR D.REMOVE5.在SQL语言中,视图对应于数据库的__A____。
A.外模式B.模式C.内模式D.存储模式6.在下列SQL语句中,___D___不是数据定义语句。
A.CREA TE TABLE B.DROP VIEWC.CREA TE VIEW D.GRANT7.若要除去数据库中已经存在的表S,可用 C 。
A.DELETE TABLE S B.DELETE SC.DROP TABLE S D.DROP S8.若要在基本表S中增加一列CN,可用 C 。
A.ADD TABLE S(CN CHAR(8)) B.ADD TABLE S ALTER(CN CHAR(8)) C.ALTER TABLE S ADD (CN CHAR(8)) D.ALTER TABLE S (ADD CN CHAR(8)) 9.若要删除关系模式S(Sno, Sname, Ssex, Sage)的Sage属性,可用 B 。
A.DELETE Sage FROM S B.ALTER TABLE S DROP SageC.UPDA TE S Sage D.ALTER TABLE S …Sage‟10.设有学生关系S(Sno, Sname, Sage),课程关系C(Cno, Cname),选修关系SC(Sno, Cno, Grade),其中Sno是学号,Sname是学生姓名,Sage是学生年龄,Cno是课程号,Cname 是课程名,Grade是成绩。
【《数据库与信息系统》复习题及答案】第3章数据库创建与维护2019
A. 一个完整的信息系统 B. 一组硬件 C. 一组数据管理软件 D. 既有硬件,也有软件 答案:C 解析:DBMS 是创建和使用数据库的必备软件,它提供了集中进行数据组织、存储、维护 和检索的功能。
9. 数据库服务器、数据库和表的关系,正确的说法是________。 A. 一个数据库服务器只能管理一个数据库,一个数据库只能包含一个表 B. 一个数据库服务器可以管理多个数据库,一个数据库可以包含多个表 C. 一个数据库服务器只能管理一个数据库,一个数据库可以包含多个表 D. 一个数据库服务器可以管理多个数据库,一个数据库只能包含一个表 答案:B 解析:一个数据库服务器可以安装多个数据库实例,一个数据库实例可以管理多个数据库, 一个数据库可以有多个数据表。
5. 数据库三级模式中,模式和内模式________。 A. 只能有一个 B. 最多只有一个 C. 至少两个 D. 可以有多个 答案:A 解析:模式是对数据库中全体数据的全局逻辑结构和特征的描述;内模式是对数据物理结构 和存储方法的描述。一个数据库只有一个模式和一个内模式。
6. 数据库的三级模式结构中最接近用户的是________。 A. 内模式 B. 外模式 C. 概念模式 D. 主模式 答案:B 解析:数据库的三级模式为外模式、模式、内模式。外模式又称子模式或用户模式,是某个或 某些应用程序员所看到的数据库的局部数据视图。
19. 关于主键约束,以下说法错误的是________。 A. 允许空值的字段上不能定义主键约束 B. 可以将包含多个字段的字段组合设置为主键 C. 一个表中只能设置一个主键约束 D. 允许空值的字段上可以定义主键约束 答案:D 解析:主关键字(简称主键)是表中能保证表中记录唯一性的一个或多个字段的组合。主键 的值不能重复,且不能为空。一个表只能有一个主键。
数据库第三章习题及答案
,不存放视图的
③ 。 答案:①一个或几个基本表 。
②插入’95031’班学号为 30、姓名为’郑和’的学生记录;
。
③将学号为 10 的学生姓名改为’王华’;
。
④将所有’95101’班号改为’95091’;
。
⑤删除学号为 20 的学生记录;
。
⑥删除姓’王’的学生记录;
。
答案:
①INSERT INTO R VALUES(25,’李明’,’男’,21,’95031’) ②INSERT INTO R(NO,NAME,CLASS) VALUES(30,’郑和’,’95031’) ③UPDATE R SET NAME=‘王华’ WHERE NO=10 ④UPDATE R SET CLASS=’95091’WHERE CLASS=’95101’ ⑤DELETE FROM R WHERE NO=20 ⑥DELETE FROM R WHERE NAME LIKE’王%’
(4) SELECT S# ,AVG(GRADE) FROM SC GROUP BY S# HAVING AVG(GRADE)>80
数据库第3章习题参考答案
第3章习题解答1.选择题(1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。
A.主键B.外键C.NULL D.CHECK (2)下列关于表的叙述正确的是(C)。
A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏C.系统表可以隐藏D.系统表可以删除(3)下列关于主关键字叙述正确的是(A )。
A.一个表可以没有主关键字B.只能将一个字段定义为主关键字C.如果一个表只有一个记录,则主关键字字段可以为空值D.都正确(4)下列关于关联叙述正确的是( C )。
A.可在两个表的不同数据类型的字段间创建关联B.可在两个表的不同数据类型的同名字段间创建关联C.可在两个表的相同数据类型的不同名称的字段间创建关联D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段(5)CREATE TABLE语句(C )。
A.必须在数据表名称中指定表所属的数据库B.必须指明数据表的所有者C.指定的所有者和表名称组合起来在数据库中必须唯一D.省略数据表名称时,则自动创建一个本地临时表(6)删除表的语句是(A)。
A.Drop B.Alter C.Update D.Delete(7)数据完整性不包括(B )。
A.实体完整性B.列完整性C.域完整性D.用户自定义完整(8)下面关于Insert语句的说法正确的是(A )。
A.Insert一次只能插入一行的元组B.Insert只能插入不能修改C.Insert可以指定要插入到哪行D.Insert可以加Where条件(9)表数据的删除语句是( A )。
A.Delete B.Inser C.Update D.Alter(10)SQL数据定义语言中,表示外键约束的关键字是(B )。
A.Check B.Foreign Key C.Primary Key D.Unique 2.填空题(1)数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。
数据库第三章课后习题答案
第三章课后习题3-7(1) delete from sWhere placeofb=’上海’;(2)delete from scWhere s# in (select s#from swhere sname=’李建平’);(3)delete form sWhere s# in(select s#from scwhere grade is null);3-8(1)update scSet grade=61Where grade<60 and c# in(select c#from cwhere cname=’计算机网络’);(2)update scSet grade=grade*1.05Where grade<(select avg(grade)From scWhere c# in(select c#From cWhere cname=’数据结构’)) andC# in(select c#From cWhere cname=’数据结构’);3-10(1)create view grade_tAsSelect s.s#,sname,c.c#,cname,classh,grade,t.t#,tnameFrom s,c,t,sc,teachWhere s.s#=sc.s# and c.c#=sc.c# and sc.c#=teach.c# and teach.t#=t.t#;(2)create view teach_lAsSelect t.t#,tname,c#,cname,classh,avg(grade) as avg_gradeFrom t,c,sc,teachWhere t.t#=teach.t# and teach.c#=sc.c# and sc.c#=c.c#Group by t.t#;3-11 select s#,snameFrom sWhere ssex=’男’;3-12 select s#,snameFrom sWhere sbirthin>’1981-1-1’ and sex=’女’;3-13 select s#,ssex,scode#From sWhere s# in (select s#From scWhere c# in (select c#From cWhere cname=’操作系统’));3-14 select s#,sname,scode#From sWhere s# in(select s#From scWhere c# in(select c#From teachWhere t# in(select t#From tWhere tname=’刘少华’)));3-15 select s#,snameFrom sWhere not exists(select *From cWhere not exists(select *From scWhere sc.s#=s.s# andc.c#=sc.c#));3-16 select c#,classh,tnameFrom c,teach,t,s,scWhere c.c#=sc.c# and sc.c#=teach.c# and teach.t#=t.t# and sc.s#=s.s# and s.sname=’王丽丽’;3-17 select c#,classhFrom cWhere c# in(select c#From teachWhere t# in(select t#From tWhere tname=’刘少华’));3-18 select tnameFrom tWhere t# in(select t#From teach);3-19 select s#,sname,sbirthinFrom sWhere scode# in(select scode#From ssWhere ssname=’计算机应用技术’) order by sbirthin;3-20 select s#,snameFrom sWhere s# in(select s#From scWhere c# in(select c#From cWhere cname=’计算机网络’)); 3-21 select s#,snameFrom sWhere s# in(select s#From scWhere c# in(select c#From cWhere cname=’计算机网络’));Intersectselect s#,snameFrom sWhere s# in(select s#From scWhere c# in(select c#From cWhere cname=’信息安全技术’)); 3-22 select s#,sname,ssnameFrom s,ssWhere s.scode#=ss.scode# and s# not in(select s#From scWhere c# in(select c#From cWhere cname=’计算机网络’));3-23 select c#,cnameFrom cWhere c# in(select c#From scGroup by c#Having count(*)>=5);。
数据库习题第三章 习题
CH3关系数据库标准语言SQL一、选择题1、SQL属于()数据库语言A、关系型B、网状型C、层次型D、面向对象型2、SQL中创建基本表应使用()语句A、CREATE INDEXB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE3、SQL中创建视图应使用()语句A、CREATE SHCEMAB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE4、关系代数中的Π运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY5、关系代数中的σ运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY6、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配是()A、*B、%C、_D、?7、WHERE子句的条件表达式中,可以匹配单个字符的通配是()A、*B、%C、_D、?8、SELECT语句中与HA VING子句同时使用的是()子句A、ORDER BYB、WHEREC、GROUP BYD、无需配合9、与WHERE G BETWEEN 60 AND 100 语句等价的子句是()A、WHERE G>60 AND G<100B、WHERE G>=60 AND G<100C、WHERE G>60 AND G<=100D、WHERE G>=60 AND G<=10010、若用如下的SQL语句创建一个表student:CREATE TABLE student ( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR (2),AGE INT)可以插入到student表中的是()A、(‘1031’,‘刘华’,男,23)B、(‘1031’,‘刘华’,NULL,NULL)C、(NULL,‘刘华’,‘男’,‘23’)D、(‘1031’,NULL,‘男’,23)11、SQL语言支持建立聚簇索引,这样可以提高查询效率,但是,并非所有属性列都适宜建立聚簇索引,下面()属性列不适宜建立聚簇索引。
数据库系统概论 第三章习题
第三章1在SQL中域是用(数据类型)实现的。
2定长字符串类型的优点是( 操作效率高),缺点是( 浪费空间)。
变长字符串类型的优点是( 节省空间),缺点是( 操作效率低)。
3在SQL Server中,查询表定义的命令是(select )。
4.SQL是一种( 结构化查询)语言。
5.SQL采用( 面向集合)操作方式,即操作对象和操作结果都是集合。
6.关系数据库的三级模式是:外模式、模式、内模式。
其中,外模式对应于(用户级),模式对应于( 概念级),内模式对应于( 物理级)。
7.在SQL中一个关系对应一个( 基本表)。
8.视图是从一个或几个( 基本表)导出的表。
数据库中只存放视图的( 定义),而不存放视图对应的数据。
9.一个( 数据库)下可创建多个基本表、视图和索引。
10.使用DROP SCHEMA <模式名> RESTRICT 删除模式时,要求( 该模式中没有任何下属的数据库对象)。
11.数据定义语言(DDL )有创建表的create table语句、修改表结构的alter table语句和删除表的drop table语句。
12.数据操纵语言(DML )有添加记录的insert语句、修改记录的update语句和删除记录的delete语句。
13.(主键)是唯一能够区分表中每一行记录的一个或多个列。
14.索引由表的一个或多个列构成,一个表允许具有(多个)个索引。
15.在select子句中代表全部列的通配符是(* )。
16.在查询结果集中,select子句中表达式通常显示为“无列名”,为了增加查询语句的可读性,可以对表达式定义(别名)。
17.SQL Server提供逻辑运算符(% )和(_ )实现模糊查询。
18.在order by子句中可以对列按照(asc )和(desc )排序。
19.常用的聚合函数有:计算最大值的(MAX ),计算最小值的(MIN ),统计总和的(SUM ),统计记录总数的(COUNT )和计算平均值的(A VG )。
第3章 关系数据库复习题
A.实体完整性规则
C.参照完整性规则
答案:A
B.属性完整性规则
D.用户定义完整性规则
3.若属性 F 是关系 D 的主属性,同时又是关系 R 的外关键字,则 F 必须和 S 中的关键字
相对应。该规则称为_________。
A.实体完整性规则 B.属性完整性规则
C.参照完整性规则 D.用户定义完整性规则
B.可再分
16.关系数据库用表格来表示实体之间的联系,其任何检索操作的实现都是由_________种
基本操作组合而成的。
A.选择、投影和扫描
C.选择、运算和投影
答案:B
17.设有关系 R,按条件 f 对关系 R 进行选择,正确的是
A.RR
答案:C
B.R R C. f(R)
f
18.________是由数据结构、关系操作集合和完整性约束三部分组成。
A.关系模型 B.关系 C.关系模式 D.关系数据库
答案:A
二、填空题
1.关系操作的特点是______操作。
答案:集合
2.关系代数运算中,传统的集合运算有
和④
。
答案:①笛卡尔积 ②并 ③交 ④差
3.关系代数运算中,专门的关系运算有
。
答案:①选择 ②投影 ③连接
A.投影
答案:C
14.关系模式的任何属性________。
A.不可再分
C.记录
B.选择 C.笛卡儿积 D.除
C.命名和该关系模式中可以不惟一 D.以上都不是
答案:A
15.在关系代数运算中,五种基本运算为
A.并、差、选择、投影、自然连接
B.并、差、交、选择、投影
C.并、差、选择、投影、乘积
D.并、差、交、选择、乘积
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章SQL语言习题一、单项选择题1.SQL语言是()的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式2.SQL语言是()语言。
A.层次数据库B.网络数据库C.关系数据库D.非数据库3.SQL语言具有()的功能。
A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵4.关于SQL语言,下列说法正确的是()。
A 数据控制功能不是SQL语言的功能之一B SQL采用的是面向记录的操作方式,以记录为单位进行操作C SQL是非过程化的语言,用户无须指定存取路径D SQL作为嵌入式语言语法与独立的语言有较大差别5.对表中数据进行删除的操作是()。
A.DROPB.ALTERC.UPDATED.DELETE6.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。
其中最重要的,也是使用最频繁的语句是()。
A.SELECTB.INSERTC.UPDATED.DELETE7.SQL语言具有两种使用方式,分别称为交互式SQL和()。
A.提示式SQLB.用户式SQLC.嵌入式SQLD.解释式SQL8.SQL语言中,实现数据检索的语句是()。
A.SELECTB.INSERTC.UPDATED.DELETE9.下列SQL语句中,修改表结构的是()。
A.ALTERB.CREATEC.UPDATE D .DELETE10.在SQL中,用户可以直接操作的是()。
A 基本表B 视图C 存储文件D 基本表和视图11.在SQL的查询语句中,对应关系代数中“投影”运算的语句是()。
A WHEREB FROMC SELECTD HAVING12.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用()。
A WHEREB GROUP BYC ORDER BYD HAVING 13.SQL中,与“NOT IN”等价的操作符是()。
A =ANYB <>ANYC =ALLD <>ALL14.视图建立后,在数据字典中存放的是()。
A 查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义第15到第18题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX性别,AGE为年龄,DETP为系别,C#为课程号,CN为课程名,GRADE为成绩。
15.检索所有比“王华”年龄大的学生姓名、年龄和性别。
正确的SELECT语句是()。
A.SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM SWHERE SN=’王华’)B.SELECT SN, AGE, SEX FROM S WHERE SN=’王华’C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERESN=’王华’)D.SELECT SN, AGE, SEX FROM S WHERE AGE>王华.AGE16.检索选修课程“C2”的学生中成绩最高的学生的学号。
正确的SELECT语句是()。
A.SELECT S# FROM SC WHEREC#=’C2’AND GRADE>=(SELECTGRADE FROM SC WHERE C#=’C2’)B.SELECT S# FROM SC WHERE C#=’C2’AND GRADE IN(SELECTGRADE FROM SC WHEREC#=’C2’)C.SELECT S# FROM SC WHERE C#=’C2’AND GRADE NOT IN(SELECTGRADE FROM SC WHERE C#=’C2’)D.SELECT S# FROM SC WHERE C#=’C2’AND GRADE>=ALL (SELECTGRADE FROM SC WHERE C#=’C2’)17.检索学生姓名及其所选修课程的课程号和成绩。
正确的SELECT语句是()。
A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#B.SELECT S.SN, SC.C#, SC.GRADE FROM SC WHERE S.S#=SC.GRADEC.SELECT S.SN, SC.C# , SC.GRADE FROM S, SC WHERE S.S#=SC.S#D.SELECT S.SN, SC.C#, SC.GRADE FROM S, SC18.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
正确的SELECT的语句是()。
A.SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 GROUPBY S# ORDER BY 2 DESC HAVING COUNT (*)>=4B.SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 GROUPBY S# HAVING COUNT (*)>=4 ORDER BY 2 DESCC. SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT (*)>=4 GROUP BY S# ORDER BY 2 DESCD. SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 ORDERBY 2 DESC GROUP BY S# HAVING COUNT (*)>=419.假定学生关系是S (S#,SNAME ,SEX ,AGE ),课程关系是C (C#,CNAME ,TEACHER ),学生选课关系是SC (S#,C#,GRADE )。
要查找选修“COMPUTER ”课程的:“女”学生姓名,将涉及到关系( )。
A.SB.SC, CC.S, SCD .S,C,SC20.下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL 操作( )不能执行。
部门表 A. 从职工表中删除行(‘025’,‘王芳’,‘03’,720)B. 将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中C. 将职工号为‘001’的工资改为700D. 将职工号为‘038’的部门号改为‘03’21.若用如下的SQL 语句创建一个student 表:CREATE TABLE student(NO CHAR(4) NOT NULL, NAME CHAR(10) NOT NULL, SEX CHAR(2), AGE INT),可以插到student 表中的是( )。
A.(‘1031’,‘曾华’,男,23)B.(‘1031’,‘曾华’,NULL ,NULL )C.(NULL ,‘曾华’,‘男’,‘23’)D.(‘1031’,NULL ,‘男’,23) 22.数据库中建立索引的目的是为了()。
A 加快建表速度 B 加快存取速度 C 提高安全性 D 节省存储空间 23.视图是数据库系统三级模式中的( )。
A 外模式B 模式C 内模式D 模式映像24.下列说法不正确的是( )。
A 基本表和视图一样,都是关系B 可以使用SQL 对基本表和视图进行操作C 可以从基本表或视图上定义视图D 基本表和视图中都存储数据二、综合题1.已知关系R如图所示图关系R试用SQL语言实现下列操作:(1)按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RVE中。
Create view RVE(A,CMAX,CMIN)AsSelect max(C),min(C)From RGroup by A;(2)在视图RVE中查询属性A=‘98’的记录。
Select *From RVEWhere A=‘98’;2.已知学生表S和学生选课表SC其关系模式如下:S(SNO,SN,SD, PROV);SC(SNO,CN,GR),其中SNO为学号,SD为系名,PROV为省区,CN为课程名,GR为分数。
试用SQL语言实现下列操作:(1)查询“信息系”的学生来自哪些省区。
Select DISTINCT PROVFrom SWhere SD=‘信息系’;(2)按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。
Select SN,GRFrom S,SCWhere S.SNO=SC.SNO AND SD=‘英语’AND CN=‘计算机’Group by GR DESC;3.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各操作:(1)创建一个视图V-SSC(SNO,SN,CNO,CN,G)。
Create view V-SSC(SNO,SN,CNO,CN,G)ASSelect S.SNO, S.SN, O, , SC.GFrom S, SCWhere S.SNO=SC.SNO(2)从视图V-SSC上查询平均成绩在90分以上的SNO和平均分。
Select SNO,AVG(G)From V-SSCGroup by SNOHaving AVG(G)4.设有关系模式:S(SN,SNAME,CITY)其中,S代表供应商,SN,代表供应商号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN;P(PN,PNAME,COLOR,WEIGHT)其中P代表零件,PN代表零件号,PNAME 代表零件名,COLOR为零件颜色,WEGHT为零件重量,主关键字为PN;J(JN,JNAME,CITY)其中J表示工程,JN为工程编号,JNAME为工程名,CITY为工程所在城市,主关键字为JN。
如下图所示表示供应商(S)-零件(P)-工程(J)数据库表,写出实现以下各题功能的SQL语句:S(1)取出工程的全部细节。
Select *From J(2)取出所在城市为上海的所有工程的全部细节。
Select *From JWhere CITY=‘上海’;(3)取出重量最轻的零件代号。
Select PNFrom PWhere WEIGHT=(Select MIN (WEIGHT)From P );(4)取出为工程J1提供零件的供应商代号。
Select SNFrom SPJWhere JN=’J1’;(5)取出为工程J1提供零件P1的供应商代号。