当前位置:首页 > 数据库系统概论模拟试题1
数据库系统概论模拟试题6
一、填空题(主观)
1、 事务的四个特性是 __原子性___ 、 一致性_____ 、 _隔离性____ 和 __持久性____。 2、 DBMS允许用户把一个或多个数据库操作组成___事务___,它是一组按顺序执行的操作单位。 3、 在SQL中使用 ____alter table__ 命令修改数据库模式。
二、简答题
4、 说明对象查询语言中路径表达式的三种基本形式及其含义。 5、 简述ODL类转换为关系时属性转换的主要内容。
6、 说明对象查询语言中路径表达式的三种基本形式及其含义。
三、综合题
7、请为计算机经销商设计一个数据库,要求包括生产厂商和产品的信息。生产厂商的信息包括名称、地址、电话等;产品的信息包括
生产商、品牌、型号、价格等。试用ODL描述这个数据库,注意要为所有的属性和联系选择适当的类型,并且指出每个类的键码。 8、下图表示航空公司的E/R图,试将其转换成关系数据库模式。其中Customer表示乘客,有三个属性:乘客号No,姓名Name和地
址Address;Flight表示航班,也有三个属 性:航班号Number,日期Date和机型Kind;Booking表示乘客订票的信息,有一个属性:座位号Seat。 9、 关系模式如下:
商品 P(PNO,PN,COLOR,PRICE) 商店 S(SNO,SN,CITY) 销售 SP(PNO,SNO,QTY)
用SQL写出查询程序: 只销售商品P2(商品号)的商店名SN。 10、 假设一数据库关系模式如下:
Product(maker, model, type);
PC(model, speed, ram, hd, cd, price);Laptop(model, speed, ram, hd, screen, price) Printer(model, color, type, price)。 Product
关系给出不同产品的制造商(maker)、型号(model)和类型(type,PC机、便携式电脑或打印机)。假设型号对于所有制造商
和产品类型是唯一的。
PC关系给出不同型号的PC机的速度(speed,指CPU的速度,以兆赫计算)、内存容量(ram,以兆字节计算)、硬盘容量(hd,
以吉(G)字节计算)、光盘驱动器的速度(cd,以几倍速描述)和价格(price)。
Laptop(便携式电脑)关系和PC关系类似,差别只是用屏幕尺寸(screen,以英寸计算)代替了光驱速度。
Printer(打印机)关系给出不同型号的打印机是否产生彩色输出(color,真或假)、工艺类型(type,激光或喷墨)和价格。 用SQL语句写出下列查询。
(1)找出价格低于5000元的所有PC机的型号(model)、速度(speed)以及硬盘容量(hd)。 (2)找出制造打印机的制造商(maker)。
(3)找出价格高于15000元的便携式电脑(Laptop)的型号、内存容量(ram)以及屏幕尺寸(screen)。 (4)找出硬盘容量(hd)至少为1G字节的便携式电脑的生产厂商(maker)。 (5)找出生产厂商A生产的所有产品的型号(model)和价格(price)
数据库系统概论模拟试题6参考答案
1、 事务的四个特性是(原子性、一致性、隔离性、持久性)
2、 DBMS允许用户把一个或多个数据库操作组成( 事务),它是一组按顺序执行的操作单位。 3、 在SQL中使用( ALTER TABLE )命令修改数据库模式。
4、 设a表示某类的对象,p是该类的某个特性。路径表达式的三种基本形式及其含义如下:
1. 如果p是属性,则a.p就是对象a的该属性值; 2. 如果p是联系,则a.p就是通过联系p与a相连的对象或对象的聚集; 3. 如果p是方法,则a.p就是把p用于a的结果。
5、1)对于原子类型的属性,类的每个属性对应于关系的一个属性。 2)对于非原子类型的属性:
①结构属性:把结构中的每个域作为关系中的一个属性。②集合属性:按元素的个数把一个元组扩展为多个元组。
③数组:按元素的个数扩展为多个元组或多个属性。
6、设a表示某类的对象,p是该类的某个特性。路径表达式的三种基本形式及其含义如下: 1. 如果p是属性,则a.p就是对象a的该属性值;
2. 如果p是联系,则a.p就是通过联系p与a相连的对象或对象的聚集; 3. 如果p是方法,则a.p就是把p用于a的结果。 7、
interface Producer (key name )
{ attribute string name ; attribute string address; attribute string tel;
relationship Set
Booking (No, Number ,Date,Seat )9、(答案一) SELECT SN FROM S.SP WHERE S.SNO=SP.SNO AND SP.PNO=’P2’ AND S.SNO IN (SELECT SNO FROM SP GROUP BY SNO HAVING COUNT(*)=1); 10、1)SELECT model, speed, hd FROM PC
WHERE price<5000;
2) SELECT maker FROM Product
WHERE type=’printer’;
3) SELECT model, ram, screen FROM Laptop WHERE price>15000;
4)SELECT maker
FROM Product, Laptop
WHERE Product.model=Laptop.model
AND hd>=1G;
5) SELECT model, price
FROM Product, PC, Laptop, Printer WHERE Product.model=PC.model AND Product.model=Laptop.model AND Product.model=Print.model
AND Product.maker=’A’;
interface Product (key (brand ,model) )
{ attribute string brand ; attribute string model; attribute integer price ;
relationship Producer producedBy inverse Producer::produces ; };
(答案二) SELECT SN FROM S
WHERE SNO=(SELECT SNO FROM SP AS SPX WHERENOT EXISTS (SELECT * FROM SP
WHERE PNO<>“P2”
共分享92篇相关文档