当前位置:首页 → 计算机类 → 软件水平考试 → 中级数据库系统工程师->某单位公用车辆后勤服务部门数据库的部分关系模式如下:驾驶员:
某单位公用车辆后勤服务部门数据库的部分关系模式如下:驾驶员:EMP(Eno,Ename,Age,Sex,telephone),各属性分别表示驾驶员工号、姓名、年龄、性别和电话号码;车辆:CAR(Cno,Brand,Capacity),各属性分别表示汽车车牌号、品牌名和排量;调度:SCHEDULE(Sno,Eno,Cno,StartTime,Endtime),各属性分别表示调度号、驾驶员工号、汽车车牌号、发车时间和收车时间;奖金:BONUS(Eno,Year,Month,Amount),各属性分别表示驾驶员工号、年、月和当月的奖金数量。有关车辆调度的相关说明如下:公车的行驶时间只能在工作时间内,因此规定调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内。
【问题1】请将下面创建调度关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内的约束(由函数Time Get_time (DATETIME StartTime) 返回出车的时间)。 CREATE TABLE SCHEDULE( Sno CHAR(10), Eno CHAR(10) ___(a)____, Cno CHAR(8) ____(b)______, StartTime DATETIME ____(c)______, EndTime DATET IME, PRIMARY KEY____(d)______);
【问题2】(1)创建所有'奥迪'品牌汽车的调度信息的视图AudiSCHEDULE,属性有Eno、Ename、Cno、Brand、StartTime和EndTime,请将下面SQL语句的空缺部分补充完整。CREATE ______( e ) _____AS SELECT EMP,Eno,Ename,CAR.Cno,Brand,StartTime,EndTime FROM EMP,CAR,SCHEDULE WHERE ____( f ) _____;(2)驾驶员的奖金在收车时间写入时,由出车时间段自动计算,并用触发器来实现奖金的自动维护,函数float Bonus_value(DATETIME StartTime, DATETIME EndTime)依据发车时间和收车时间来计算本次出车的奖金。系统在每月初自动增加一条该员工的当月奖金记录,初始金额为零。请将下面SQL语句的空缺部分补充完整。 CREATE____(g)_____Bonus_TRG AFTER____(h)_____ON SCHEDULE REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE BONUS SET_____(i)______ WHERE_____(j)_____AND Year=Get_Year(nrow.StartTime) AND Month=Get_Month(nrow.StartTime); END
【问题3】请将下面SQL语句的空缺部分补充完整。(1)查询调度次数最多的汽车车牌号及其品牌。 SELECT CAR.Cno,Brand FROM CAR,SCHEDULE WHERE CAR.Cno=SCHEDULE.Cno GROUP BY___(k)_______ HAVING____(1)______(SELECT COUNT(*) FROM SCHEDULE GROUP BY Cno );(2)查询所有在调度表中没有安排过"大金龙"品牌车辆的驾驶员工员和姓名。 SELECT Eno,Ename FROM EMP WHERE Eno _____(m)_____( SELECT Eno FROM _____(n)_____ WHERE ____(o)______ AND Brand='大金龙')
【问题1】由题目说明可知Sno属性是SCHEDULE关系表的主键,所以在PRIMARYKEY后填的应该是Sno;Eno和Cno分别作为外键引用到EMP和CAR关系表的主键,因此需要用REFERENCES对这两个属性进行外键约束;由"每天安排发车的时间在上午07:00:00至下午18:00:00范围内"的约束,可知需要限制StartTime属性值的取值范围,通过CHECK约束来实现。从上分析可见,完整的SQL语句如下:
【问题2】(1)创建视图需要通过CREATE VIEW语句来实现,由题目可知视图的属性有(Eno,Ename,Cno,Brand,StartTime,EndTime);通过公共属性列Eno和Cno对使用的三个基本表进行连接;由于只创建奥迪汽车的视图,所以还要在WHERE后加入Bram='奥迪'的约束条件。从上分析可见,完整的SQL语句如下:
(2)创建触发器通过CREATE TRIGGER语句实现,要求考生掌握触发器的基本语法结构。按照问题要求,在SCHEDULE关系中更新调度信息时触发器应自动执行,故需要创建基于UPDATE类型的触发器;最后添加表连接条件。完整的触发器实现的方案如下:
【问题3】SQL查询通过SELECT语句实现。
(1)根据问题要求,可通过子查询实现"调度次数最多的汽车车牌号及其品牌"的查询;对COUNT函数计算的结果应通过HAVING条件语句进行约束;通过Cno和Brand的组合来进行分组查询。完整的SQL语句如下:
(2)根据问题要求,需要使用嵌套查询。先将WORKS和COMPANY表进行连接,查找出所有在"安排过'大金龙,品牌车辆的驾驶员";然后在雇员表中使用"NOTIN,或者"image.png>ANY"查询不在前述结果里面的员工即可。完整的SQL语句如下:
( )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个(一个多位数页码包含多个数字),据此可以推断,该书最大的页码为( )。