当前位置:首页 → 计算机类 → 软件水平考试 → 中级数据库系统工程师->某汽车租赁公司建立汽车租赁管理系统,其数据库的部分关系模式如
某汽车租赁公司建立汽车租赁管理系统,其数据库的部分关系模式如下:用户:USERS( UserId,Name, Balance),各属性分别表示用户编号、姓名、余额;汽车:CARS(CId, Ctype, CPrice,CStatus)各属性分别表示汽车编号、型号、价格(日租金)、状态;租用记录: BORROWS(BRId, UserId,CId, STime, ETime),各属性分别表示租用编号、用户编号、汽车编号、租用用时间、归还时间;不良记录:BADS(BId, UserId.BRId, BTime),各属性分别表示不良记录编号、用户编号、租用编号、不良记录时间。
相关关系模式的属性及说明如下(1)用户租用汽车时,其用用户表中的余额不能小于 500,否则不能租用。
(2)汽车状态为待租和已租,待租汽车可以被用户租用,已租汽车不能租用。
(3)用户每租用一次汽车,向租用记录中添加一条租用记录,租用时间默认为系统当前时间,归还时间为空值,并将所租汽车状态变为已租。用户还车时,修改归还时间为系统当前时间,并将该汽车状态改为待租。要求用户不能同时租用两辆及以上汽车。
(4)租金从租用时间起按日自动扣除。根据以上描述,回答下列问题题,将 SQL 语句的空缺部分补充完整。
【问题1】(1)请将下面建立 租用记录 表的 SQL 语句补充完整,要求定义主码完整性约束和引用完整性约束。CREATE TABLE BORROWS ( BRID CHAR(20) (a) ,UserId CHAR(10) (b) ,Cld CHAR(10) (c) , STime DATETIME (d) , ETime DATETIME,);
【问题2】当归还时间为空值时,表示用户还未还车,系统每天调用事务程序从用户余额中自动扣除当日租金,每个事务修改一条用户记录中的余额值。由用户表上的触发器实现业务:如用户当日余额不足,不扣除当日租金,自动向不良记录表中加入一条记录,记录中的 BId 取值由 UserId+系统当前日期构成, Btime 采用 GETDATE()函数取系统当前时间。补全创建触发器 Bad_TRG 的 SQL 语句。CREATE TRIGGER Bad_TRG (e) UPDATEof Balance ON USERSReferencing new row as nrowFor each rowWhen nrow.Balanceimage.png0BEGIN (f) ; //插入不良记录INSERT INTO BADSSELECT CONCAT(BORROWs.UserId, CONVERT(varchar(100), GETDATE(), 10)), BORROWS UserId,BRID, (g) // CONVERTO 函数将日期型数据改为字符串型,CONCATO 函数实现字符串拼接FROM BORROWSWHERE (h) AND ETime IS NULL;END;
【问题3】不良记录是按日记录的,因此用户一次租车可能会产生多条不良记录。创建不良记录单视图 BADS_Detail,统计每次租车产生的不良记录租金费用总和大于 200 的记录,属性有UserId、Name、BRId、CId、Stime、Etime 和 total(表示未缴纳租金总和)。补全建视图 BADS Detail 的 SQL 语句。CREATE VIEW (i) AS SELECT BADS. UserId, USERS. Name, BADS.BRId, CARS. Cld, Stime, Etime, (j) AS total FROM BORROWS,BADS,CARS,USERS WHERE BORROWS.BRId=BADS. BRId AND BORROWS.Cid=CARS. Cld AND (k) =BADS.UserId GROUP BY BADS. UserId, USERS.Name, BADS.BRID, CARS. CId, Stime, Etime HAVING (l) ;
【问题4】查询租用了型号为“A8”且不良记录次数大于等于 2 的用户,输出用户编号、姓名,并按用户姓名降序排序输出。SELECT USERS.UserId, NameFROM USERS,BORROWS, CARSWHERE USERS. UserId= BORROWS.UserId AND BORROWS.Cid= CARS.CIdAND (m) AND EXISTS(SELECT * FROM BADSWHERE BADS.UserId=BORROWS.UserId AND (n) GROUP BY UserId HAVING COUNT(*)>= 2)ORDER BY (0) 。
【问题1】(a)PRIMARY KEY(b)REFERENCES UERS(UserID)(c)REFERENCES CARS(Cid)(d)GETDATE()
【问题2】(e)After(f)Rollback(g)GETDATE()(h)UserID=nrow.UserID
【问题3】(i)BADS_Detail(j)COUNT(*)*Cprice(k)USERS. UserId(l)COUNT(*)*Cprice>200
【问题4】(m)CARS.Ctype=‘A8’(n)BADS.BRId=BORROWS.BRId(o)Name DESC
( )is the process of transforming information so it is unintelligible to anyone but the intended recipient.
As each application module is completed,it undergoes( )to ensure that it operates correctly and reliably.
( )algorithm specifies the way to arrange data in a particular order.
After analyzing the source code,( )generates machine instructions that will carry out the meaning of the program at a later time.
( )can help organizations to better understand the information contained within the data and will also help identify the data that is most important to the business and future business decisions.
浏览器开启无痕浏览模式后,( )依然会被保存下来。
下列协议中,不属于TCP/IP协议簇的是( )。
下列传输介质中,带宽最宽、抗干扰能力最强的是( )。
数控编程常需要用参数来描述需要加工的零件的图形。在平面坐标系内,确定一个点需要2个独立的参数,确定一个正方形需要( )个独立的参数。
某书的页码为1,2,3,...,共用数字900个(一个多位数页码包含多个数字),据此可以推断,该书最大的页码为( )。