首页
登录
从业资格
某大型集团公司的数据库的部分关系模式如下: 员工表:EMP(Eno,Ename
某大型集团公司的数据库的部分关系模式如下: 员工表:EMP(Eno,Ename
练习题库
2022-08-02
66
问题
某大型集团公司的数据库的部分关系模式如下:员工表:EMP(Eno,Ename,Age,Sex,Title),各属性分别表示员工工号、姓名、年龄、性别和职称级别,其中性别取值为“男”“女”;公司表:COMPANY(Cno,Cname,City),各属性分别表示公司编号、名称和所在城市;工作表:WORKS(Eno,Cno,Salary),各属性分别表示职工工号、工作的公司编号和工资。有关关系模式的属性及相关说明如下:(1)允许一个员工在多家公司工作,使用身份证号作为工号值。(2)工资不能低于1500元。根据以上描述,回答下列问题:【问题1】(4分)请将下面创建工作关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及工资不能低于1500元的约束。CREATE TABLE WORKS( Eno CHAR(10) (a) , Cno CHAR(4) (b) , Salary int (c) , PRIMARY KEY (d) , ); 【问题2】(6分)(1)创建女员工信息的视图FemaleEMP,属性有Eno、Ename、Cno、Cname和Salary,请将下面SQL语句的空缺部分补充完整。CREATE (e) AS SELECT EMP.Eno,Ename,COMPANY.Cno,Cname,Salary FROM EMP, COMPANY, WORKS WHERE (f) ;(2)员工的工资由职称级别的修改自动调整,需要用触发器来实现员工工资的自动维护,函数float Salary_value(char(10) Eno)依据员工号计算员工新的工资。请将下面SQL语句的空缺部分补充完整。CREATE (g) Salary_TRG AFTER (h) ON EMP REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE WORKS SET (i) WHERE (j) ; END【问题3】(5分)请将下面SQL语句的空缺部分补充完整。(1)查询员工最多的公司编号和公司名称。 SELECT COMPANY.Cno,Cname FROM COMPANY,WORKS WHERE COMPANY.Cno= WORKS.Cno GROUP BY (k) HAVING (l) ( SELECT COUNT(*) FROM WORKS GROUP BY Cno );(2)查询所有不在“中国银行北京分行”工作的员工工号和姓名。 SELECT Eno,Ename FROM EMP WHERE Eno (m) ( SELECT Eno FROM (n) WHERE (o) AND Cname=‘中国银行北京分行’ );
选项
答案
解析
本题考查 SQL 语句的应用。
此类题目要求考生掌握 SQL 语句的基本语法和结构,认真阅读题目给出的关系模式,针对题目的要求具体分析并解答。本试题已经给出了 3 个关系模式,需要分析每个实体的属性特征及实体之间的联系,补充完整 SQL 语句。
【问题1】
由题目说明可知, Eno 和 Cno 两个属性组合是 WORKS 关系表的主键,所以在 PRIMARY KEY 后填的应该是 (Eno,Cno) 组合; Eno 和 Cno 分别作为外键引用到 EMP 和 COMPANY 关系表的主键,因此需要用 REFERENCES 对这两个属性进行外键约束:
由"工资不能低于 1500 元"的要求,可知需要限制账户余额属性值的范围,通过CHECK约束来实现。从上述分析可知,完整的SQL 语句如下:
CREATE TABLE WORKS (
Eno CHAR (10) REFERENCES EMP(Eno) ,
Cno CHAR(4) REFERENCES COMPANY(Cno) ,
Salary int CHECK(Salary >=1500),
PRIMARY KEY (Eno,Cno) ,
);
【问题 2 】
(1)创建视图需要通过 CREATE VIEW 语句来实现,由题目可知视图的属性有 (Eno, Ename,Cno,Cname,Salary); 通过公共属性列 Eno 和 Cno 对使用的三个基本表进行连接: 由于只创建女员工的视图,所以还要在 WHERE 后加入 "Sex='女'"的条件。从上分析可 见,完整的 SQL 语句如下:
CREATE VIEW FemaleEMP(Eno ,Ename ,Cno ,Cname ,Sa1ary)
AS
SELECT EMP.Eno ,Ename ,COMPANY.Cno ,Cname,Sa1ary
FROM EMP ,COMPANY ,WORKS
WHERE EMP.Eno = WORKS.Eno AND COMPANY.Cno = WORKS.Cno AND Sex=‘女’;
(2)创建触发器可通过 CREATE TRIGGER 语句实现,要求考生掌握触发器的基本 语法结构。按照问题要求,在工资关系中更新职工职称级别时触发器应自动执行,故需要创建基于四DATE 类型的触发器,其触发条件是更新职工职称级别:最后添加表连接条件。完整的触发器实现的方案如下:
CREATE TRIGGER Salary_TRG AFTER UPDATE OF Title ON EMP
REFERENCING new row AS nrow
FOR EACH ROW
BEGIN
UPDATE WORKS
SET Salary = Salary value(nrow.Eno)
WHERE WORKS. Eno= nrow. Eno;
END
【问题 3】
SQL 查询通过 SELECT 语句实现。
(1)根据问题要求,可通过子查询实现"查询员工最多的公司编号和公司名称"的查询:对COUNT 函数计算的结果应通过 HAVING 条件语句进行约束:通过 Cno 和 Cname的组合来进行分组查询。完整的 SQL 语句如下:
SELECT COMPANY.Cno , Cname FROM COMPANY ,WORKS
WHERE COMPANY.Cno = WORKS. Cno
GROUP BY COMPANY.Cno ,Cname
HAVING COUNT(*) >= ALL (SELECT COUNT(*)
FROM WORKS
GROUP BY Cno
);
(2)根据问题要求,需要使用嵌套查询。先将 WORKS 和 COMPANY 表进行连接, 查找出所有在"中国银行北京分行"工作的员工:然后在雇员表中使用 "NOTIN" 或者 "<>ANY" 查询不在前述结果里面的员工即可。完整的 SQL 语句如下:
SELECT Eno ,Ename FROM EMP
WHERE Eno NOT IN 或 <>ANY (
SELECT Eno
FROM WORKS ,COMPANY
WHERE WORKS.Cno = COMPANY. Cno
AND Cname =‘中国银行北京分行'
);
转载请注明原文地址:https://tihaiku.com/congyezige/2419929.html
本试题收录于:
中级 数据库系统工程师题库软件水平考试初中高级分类
中级 数据库系统工程师
软件水平考试初中高级
相关试题推荐
设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至
设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至
设有一个关系emp-sales(部门号,部门名,商品编号,销售数),查询各部门至
要在HTML页面中设计如下所示的表单,应将下拉框type属性设置为()
(请作答此空)是指CPU一次可以处理的二进制的位数,它直接关系到计算机的计算精度
某网络拓扑结构如下: 在路由器R2上采用showiproute命令得到如下
某网络拓扑结构如下: 在路由器R2上采用showiprout命令得到如
某管理系统采用ASP+SQLServer开发,数据库名db,打开该网站主页,如
管理员在网络中部署了一台DHCP服务器之后,发现部分主机获取到非该DHCP服务器
SNMP管理模型由4部分组成,它们是管理站、()、网络管理协议和管理信息库。
随机试题
Weallhaveproblemsandbarriersthatblockourprogressorpreventusfrom
[originaltext]Interviewer(M)LizVaccariello(W)Now,listentoPartOneoft
研究人员有一个有趣的发现:让重病患者摆脱沮丧心情,实际上就能使医疗环境得以改善。(bekeptfreeof)Oneinterestingthingr
根据我国著作权法规定,期刊出版单位( )。A.享有版式设计权 B.翻译、刊载
下列哪一因素最能引起肺泡-动脉二氧化碳分压差增大()A.缺氧 B.吸入纯氧
在美国,一般来说,雇主对员工的健康管理多采取下列哪种策略( )A.生活方式管理
慢性胃炎按病变的解剖部位分型为____、____。
具有清热解毒、消痈排脓功效,善于治疗肺痈、肺热咳嗽的药物是()A.大血
关于奥尔德佛提出的ERG理论的说法,错误的是( )。A.“关系需要”对应马斯洛
下列关于新生儿败血症的叙述,错误的是( )。A.有不吃、不哭、体温降低的三大症
最新回复
(
0
)