试卷代号:1060 座位号引 中央广播电视大学2010一2011学年度第二学期“开放本科”期末考试 数据库系统概论 试题 2011年7月 题 号 二 三 四 五 六 总 分 分 数 得 分 评卷人 一、(每小题6分,共12分) 请为顾客定购零件设计一个数据库,要求包括零件和顾客的信息。 零件的信息包括零件名、零件号、重量、颜色、单价、供应商; 顾客的信息包括顾客名、顾客号、地址、电话; 定购需要记录数量和价格: 要求:(1)将数据库用ER图来描述; (2)写出对应的关系模式。 得 分 评卷人 二、(每小题6分,共18分) 用SQL的有关语句定义 (l)商店关系(S),包括商店号SNo、商店名SName、地址SAdd; (2)商品关系(P),包括商品号PNo、商品名PName、单价PPrice; (3)商店销售商品关系(Sell),包括某商店销售某商品的数量Sell_Number、日期Sell_ Date。 注意:说明主键码和外键码(如果有的话)。 428
试卷代号 座位号 I I 中央广播电视大学 1学年度第二学期"开放本科"期末考试 数据库系统概论试题 2011 年7 L… 一、(每小题 6分,共 2分) 请为顾客定购零件设计一个数据库,要求包括零件和顾客的信息 零件的信息包摇零件名、零件号、重量、颜色、单价、供应商; 顾客的信息包括顾客名、顾客号、地址、电话; 定购需要记录数量和价格 要求: (1) 用E/R 来描 (2) 模式 LI I 二、(每小题 6分,共 8分) L的有关语句定义 (1) 号SNo 名SName 址SAdd; (2) 括商 号PNa 名PName 价PPrice; ω) 销 售 ll ,包括某商店销售某商品的数量 ll r、日期 [)atεc 注意:说明主键码和外键码(如果有的话) 0 428
得 分 评卷人 三、(每小题6分,共18分) 结合题二的数据库,用SQL的有关语句 (1)针对商店销售商品关系Sll,授予“大中电器商店”查询权限以及对SNo和PNo的插 人权限; (2)在商品关系P的键码属性上建立索引; (3)删除编号为1200236的商品所有的有关数据。 得 分 评卷人 四、(本题12分) 设某航班某日尚有余票100张,甲预订15张,乙预订25张,若按如下顺序执行有何问题? 如何实现并发控制? 甲 乙 (1)读余票A (2) 读余票A (3)A=A-15 (4)写回A (5) A=A-25 (6) 写回A 得分 评卷人 五、(本题20分)】 对于关系图书Book(BookID,Title,Author,Publisher),按嵌入式SQL的格式插入任一 部图书的图书编号、图书名称、图书作者、出版社。 429
得分|评卷入 三、(每小题 结合题二的数据库,用 L的有关语句 (1) 系Sell 查 询 对SNa 和PNa 入权限 (2) 系P (3) 为1200236 所有 数据 得分|评卷入 四、(本题 忡' (1) 票A (2) (3) A = A-15 (4) 囚A (5) ←一一(6) 设某航班某日尚有余票 0张,甲预订 5张,乙预订 5张,若按如下顺序执行有何问题? 如何实现并发控制? { !得分|评卷人 五、(本题 2 0 对于关系图书 o o D, Title, Author, Publisher) 式SQI.I 部图书的图书编号、图书名称、图书作者、出版社。 429
得 分 评卷人 六、(第一小题14分,第二小题6分,共20分) 电影数据库涉及如下数据: 电影类(Movie)包括电影名(Title)、制作年份(Year)等属性; 制片公司类(Studio)包括制片公司名称(Pname)、地址(Add)、电话(Tel)等属性; 每部电影都可能由多个制片公司多次制作,而每个制片公司都可能制作多部电影。 (1)用ODL给出类的说明(包括范围名); (2)用OQL查询“上海电影制片公司”所制作电影的基本情况。 430
得分|评卷入 六、(第一小题 4分,第二小题 6分,共 0分) 电影数据库涉及如下数据: 电影类 )包括电影名 )、制作年份 制片公司类 )包括制片公司名称 )、地址 )、电话 每部电影都可能由多个制片公司多次制作,而每个制片公司都可能制作多部电影。 (1) 用ODL ; (2) 用OQL 上 海 基本情况 430
试卷代号:1060 中央广播电视大学2010一2011学年度第二学期“开放本科”期末考试 数据库系统概论 试题答案及评分标准 (供参考) 2011年7月 一、(每小题6分,共12分) (1) 零件名 零件号 重量 单价 颜色 零件 供应商 数量 定购 价格 顾客 顾客号 顾客名 地址 电话 (2)零件(零件名,零件号,重量,颜色,单价,供应商) 顾客(顾客名,顾客号,地址,电话) 定购(顾客号,零件号,数量,价格) 二、(每小题6分,共18分) (1) CREATE TABLE S( 431
试卷代号 中央广播电视大学 1学年度第二学期"开放本科"期末考试 数据库系统概论试题答案及评分标准 (供参考) 2011 年7 一、(每小题 (1) 零件名 顾客号 顾客名 供应商 价格 (2) 供应 顾客(顾客名,顾客号,地址,电话) 定购(顾客号,零件号,数量,价格〉 二、(每小题 (}) CREATE '[ABLE S{ 431
SNo INT PRIMARY KEY, SName CHAR(30), SAdd CHAR(20) }; (2) CREATE TABLE P( PNo INT PRIMARY KEY, PName CHAR(30), PPrice CHAR(30) }: (3) CREATE TABLE Sell( SNo INT, PNo INT, Sell_Number CHAR(30), Sell_Date DATE, PRIMARY KEY (SNo,PNo), FOREIGN KEY (SNo)REFERENCES S(SNo), FOREIGN KEY (PNo)REFERENCES P(PNo) }; 三、(每小题6分,共18分)】 (1)GRANT SELECT,INSERT(SNo,PNo)ON Sell TO大中电器商店; (2)CREATE INDEX PNoIndex ON P(PNo); (3)DELETE FROM Sell WHERE PNo-1200236; DELETE FROM P WHERE PNo=1200236; 四、(本题12分)】 答:若按上述顺序执行,则最后的余票为75,显然不对,因为正确结果应为60。这种错误 432
SNo INT PRI扣IARY KEY , SName CHAR(30) , SAdd CHAR(20) (2) CREA'fE TABLE P { PNo INT PRIMARY KEY , PName CHAR(30) , PPrice CHAR(30) (3) CREATE TABLE Sell { SNo IN'r, PNo IN1', Sell_Number CHAR(30) , Sell_Date DA'fE, PRIMARY KEY (SNo ,PNo) , F'OREIGN KEY (SNo) REFERENCES S(SNo) , FOREIGN KEY (PNo) REFERENCES P(PNo) 三、(每小题 (1) GRANT SEI~ECT INSERT(SNo , PNo) ON Sell TO (2) CREATE INDEX PNoIndex ON P(PNo) ; (3) DELETE FROM Sell WHERE PNo= 1200236; DELETE f'ROM P WHERE PNo= 1200236; 四、(本题 答:若按上述顺序执行,则最后的余票为 5,显然不对,因为正确结果应为 432
属于“丢失修改”,即把甲写回的数据丢失了。应采用封锁机制实现并发控制,具体修改如下: 甲 乙 LOCK-X(A) 读A=100 LOCK -X(A) A=A-15 等待 写回A=85 等待 COMMIT 等待 UNLOCK(A) 获得 读A=85 A=A-25 写回A=60 COMMIT UNLOCK(A) 五、(本题20分) 答: (I)说明:EXEC SQL BEGIN DECLARE SECTION; int BookID [30]; char Title; char Author; char Publisher; char SQLSTATE[6]; EXEC SQL END DECLARE SECTION; (2)赋值:BookID:=01023892356; Title:='哈里波特'; Author:='JK罗琳'; Publisher:='布鲁斯伯里出版社'; (3)插入:EXEC SQL INSERT INTO Movie VALUES(:BookID,:Title,Author,:Publisher); 六、(第一小题14分,第二小题6分,共20分) 答: (1)interface Movie 433
属于"丢失修改",即把甲写囚的数据丢失了。应采用封锁机制实现并发控制,具体修改如下: LOCK - X(A) = 100 LOCK - X(A) A = A-IS 等待 i 写回 = 85 等待 COMMIT 等待 UNLOCK(A) 获得 = 85 -- A = A-25 写回 = 60 COMMIT UNLOCK(A) 五、(本题 答: (1) EXEC SQL, BEGIN DECLARE SECTIOl' int BookID [30J; char 1'itIe; char Author; char Publisher; char SQLSTl\1'E[6] ; EXEC SQL END DECL,ARE SECrrION; (2) 值:BookID:=01023892356; Title: == '哈里波特 Author: ='JK Publisher: = '布鲁斯伯里出版社 (3) 入:EXEC SQL INSERT INTO Movie VAl.;UESC:BookID , : Title , : Author, : Publisher); 六、(第一小题 4分,第二小题6分,共 0分) 答: ( 1)interface Movie 433
(extent Movies) attribute string Title; attribute integer Year; relationship Setownedby inverse Studio::owns; }: interface Studio (extent Studios) attribute string Pname; attribute string Add; attribute string Tel; relationship Setowns inverse Movie:ownedby; }; (2)SELECT m FROM Studios a,a.owns m WHERE a.Pname='上海电影制片公司'; 434
(extent Movies) attribute string Title; attribute integer Year; relationship Set o\vnedby inverse Studio: : owns; interface Studio (extent Studios) attribute string Pname; attribute string Add; attribute string Tel; relationship Set owns inverse Movie: : ownedby; (2)SELECT m :F'ROM Studios a , a. owns m WHERE a. Pname=' 上海 434