首页
登录
从业资格
某大型集团公司的数据库的部分关系模式如下: 员工表:EMP(Eno,Ename
某大型集团公司的数据库的部分关系模式如下: 员工表:EMP(Eno,Ename
练习题库
2022-08-02
53
问题
某大型集团公司的数据库的部分关系模式如下:员工表: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部分组成,它们是管理站、()、网络管理协议和管理信息库。
随机试题
Thesethreeshirtshavelittleincommoninstyleexceptforthecolorsandpatt
Itiswellknownthatteenageboystendtodobetter(1)_____maththangirls
Internetuseappearstocauseadeclineinpsychologicalwell-being,accordi
公关领导人员的特殊工作包括( )。A.确定工作目标与制定工作计划 B.领导全体
依法必须招标的水利施工项目中,下列情形中必须公开招标的有()。A.国家重点水
根据《退役士兵安置条例》,下列关于退役士兵教育培训的说法中,正确的是()A.自主
下列哪一项不属于理财师的工作流程所包含的内容?()A.接触客户,建立信任关系
在认知活动过程中,根据认知目标及时评价、反馈认知活动的结果与不足,正确估计自己达
(2021年真题)用于治疗寻常痤疮的药物是()A.炉甘右洗剂 B.莫匹罗
编制安全技术措施计划包括以下工作:①工作活动分类;②风险评价;③危险源识别;④制
最新回复
(
0
)