首页
登录
从业资格
阅读下列说明,回答问题。【说明】某大型集团公司的数据库的部分关系模式如下:员工表
阅读下列说明,回答问题。【说明】某大型集团公司的数据库的部分关系模式如下:员工表
练习题库
2022-08-02
47
问题
阅读下列说明,回答问题。【说明】某大型集团公司的数据库的部分关系模式如下:员工表:EMP(Eno,Ename,Age,Sex, Title),各属性分别表示员工工号、姓名、年龄、性别和职称级别,其中性别取值为"男""女";公司表:COMPANY(Cno,Cname,City),各属性分别表示公司编号、名称和所在城市;工作表:WORKS(Eno.Cno,Salary),各属性分别表示职工工号、工作的公司编号和工资。有关关系模式的属性及相关说明如下:(1)允许一个员工在多家公司工作,使用身份证号作为工号值。(2)工资不能低于1500元。 【问题1】请将下面创建工作关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及工资不能低于1500元的约束。CREATE TABLE WORKS(Eno CHAR(10)( a ), Cno CHAR(4)( b ), Salary int( c ), PRIMARY KEY( d ));【问题2】请将下面SQL语句的空缺部分补充完整。(1)创建女员工信息的视图FemaleEMP.属性有Eno、Ename、Cno、Cname和Salary,请将下面SQL语句的空缺部分补充完整。 CREATE( e )AS SELECT EMP.Eno, Ename, COMPANY.Cno, Cname, SalaryFROM EMP, COMPANY, WORKSWHERE( f );(2)员工的工资由职称级别的修改自动调整,需要用触发器来实现员工工资的自动维护,函数float Salary_value(char(10) Eno)依据员工号计算员工新的工资。请将下面SQL语句的空缺部分补充完整。CREATE( g )Salary_TRG AFTER( h )ON EMPREFERENCING new row AS nrowFOR EACH ROWBEGINUPDATE WORKS SET ( i ) WHERE( j );END【问题3】请将下面SQL语句的空缺部分补充完整。(1)查询员工最多的公司编号和公司名称。SELECT COMPANY.Cno, CnameFROM COMPANY, WORKSWHERE COMPANY.Cno=WORKS.CnoGROUP BY( k )HAVING( l ) (SELECT COUNT( * )FROM WORKS GROUP BY Cno) ;(2) 查询所有不在"中国银行北京分行"工作的员工工号和姓名。。SELECT Eno, EnameFROM EMPWHERE Eno( m ) ( SELECT EnoFROM( n )WHERE( o )AND Cname='中国银行北京分行' );
选项
答案
解析
【问题1】本题考查SQL语句的应用。此类题目要求考生掌握SQL语句的基本语法和结构,认真阅读题目给出的关系模式,针对题目的要求具体分析并解答。本试题已经给出了3个关系模式,需要分析每个实体的属性特征及实体之间的联系,补充完整SQL语句。由题目说明可知,Eno和Cno两个属性组合是WORKS关系表的主键,所以在PRIMARYKEY后填的应该是(Eno,Cno)组合;Eno和Cno分别作为外键引用到EMP和COMPANY关系表的主键,因此需要用REFERENCES对这两个属性进行外键约束;由"工资不能低于1500元"的要求,可知需要限制账户余额属性值的范围,通过CHECK约束来实现。从上述分析可知,完整的SQL语句如下:
【问题2】 (1) 创建视图需要通过CREATEVIEW语句来实现,由题目可知视图的属性有(Eno,Ename,Cno,Cname,Salary);通过公共属性列Eno和Cno对使用的三个基本表进行连接;由于只创建女员工的试图,所以还要在WHERE后加入"Sex='女'"的条件。从上分析可见,完整的SQL语句如下:
(2) 创建触发器可通过CREATETRIGGER语句实现,要求考生掌握触发器的基本语法结构。按照问题要求,在工资关系中更新职工职称级别时触发器应自动执行,故需要创建基于UPDATE类型的触发器,其触发条件是更新职工职称级别;最后添加表连接条件。完整的触发器实现的方案如下:
【问题3】SQL查询通过SELECT语句实现。(1)根据问题要求,可通过子查询实现"查询员工最多的公司编号和公司名称"的查询;对COUNT函数计算的结果应通过HAVING条件语句进行约束;通过Cno和Cname的组合来进行分组查询。完整的SQL语句如下:
(2) 根据问题要求,需要使用嵌套查询。先将WORKS和COMPANY表进行连接,查找出所有在"中国银行北京分行"工作的员工;然后在雇员表中使用"NOTIN"或者"<>ANY"查询不在前述结果里面的员工即可。完整的SQL语句如下:
转载请注明原文地址:https://tihaiku.com/congyezige/2418338.html
本试题收录于:
中级 数据库系统工程师题库软件水平考试初中高级分类
中级 数据库系统工程师
软件水平考试初中高级
相关试题推荐
函数f()、g()的定义如下图所示,调用函数f时传递给形参a的值为1。若采用传
阅读以下说明和流程图,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明
通过局域网接入因特网如下图所示,图中箭头所指的两个设备是()。 A.二层交
某网络结构如下图所示。在Windows操作系统中配置Web服务器应安装的软件是
某网络结构如下图所示。在Windows操作系统中配置Web服务器应安装的软件是
设有一个关系EMP(职工号,姓名,部门名,工种,工资),若需查询不同部门中担
软件“做什么”和“怎么做”是软件开发过程中需要解决的关键问题,其中“怎么做”是在
()是指系统或其组成部分能在其他系统中重复使用的特性。A.可扩充性 B.可移
计算机各功能部件之间的合作关系如下图所示。假设图中虚线表示控制流,实线表示数据流
阅读下列说明和C++代码,请回答问题1至问题3,将解答写在答题纸的对应栏内。
随机试题
(1)Thebannersarepacked,theticketsbooked.Theglitterandwhiteoverall
TherecentannouncementthatGPs(全科医生)maysendpatientswithdepressionaway
ForAmerica’scolleges,Januaryisamonthofreckoning.Mostapplicationsf
Drought,tsunami,violentcrime,financialmeltdown—theworldisfullofris
Webuybooks,andthentheywaitforustoreadthemDays,months,evenyear
[originaltext]M:Whatdoyouthinkofmynewsweater,Tracy?W:Well,it’svery
胃液中的黏液的叙述,哪项是错误的A.胃液中出现大量黏液,提示胃有炎症B.具有润滑
苏苏是某殡仪馆的社会工作者,主要负责提供临终关怀服务,但最近接受督导时苏苏情绪低
当使用硬膜外麻醉时,能加速局麻药起效和延长作用持续时间.并提供最大的感觉和运动阻
以下有关所有权的权能的表述,理解正确的是:()A.所有人占有是所有权人对自
最新回复
(
0
)