首页

软考 - 中级_数据库系统工程师

类型:
选择方向:
选择考试:
题型:
为你找到 70 个题目。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为E-SQL编写的部分售票代码:
请根据上述描述,完成下列问题:
【问题1】(5分)
上述售票程序,在并发状态下,可能发生什么错误?产生这种错误的原因是什么?
【问题2】(6分)
若将上述代码封装成一个完整的事务,则:
(1)在并发请求下的响应效率会存在什么问题?
(2)分析产生效率问题的原因。
(3)给出解决方案。
【问题3】(4分)
下面是改写的存储过程,其中flightno为航班号;a为购票数;result为执行状态:1表示成功,0表示失败;表tickets中的剩余机票数balance具有大于等于零约束。请补充完整。
CREATE PROCEDRUE buy_ticket(char[] flightno IN,   (a)  , int resuit OUT)
        AS
    BEGIN
        .........
        UPDATE tickets SET balance=  (b)  
            WHERE flight= flightno;
        if (SQLcode<>SUCCESS)  {  //SQLcode为SQL语句的执行状态
              (c)  ;
            result = 0;   return;
        }
        COMMIT;
          (d) 
END
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某地人才交流中心为加强当地企业与求职人员的沟通,促进当地人力资源的合理配置,拟建立人才交流信息网。
【需求描述】
1.每位求职人员需填写《求职信息登记表》(如表4-1所示),并出示相关证件,经工作人员审核后录入求职人员信息。表中毕业证书编号为国家机关统一编码,编号具有唯一性。每个求职人员只能填写一部联系电话。
2.每家招聘企业需填写《招聘信息登记表》(如表4-2所示),并出示相关证明及复印件,经工作人员核实后录入招聘企业信息。表中企业编号由系统自动生成,每个联系人只能填写一部联系电话。
3.求职人员和招聘企业的基本信息会在系统长期保存,并分配给求职人员和招聘企业用于登录的用户名和密码。求职人员登录系统后可登记自己的从业经历、个人简历及特长,发布自己的求职意向信息;招聘企业的工作人员登录系统后可维护本企业的基本信息,发布本企业的岗位需求信息。
4.求职人员可通过人才交流信息网查询企业的招聘信息并进行线下联系;招聘企业的工作人员也可通过人才交流信息网查询相关的求职人员信息并进行线下联系。
5.求职人员入职后应修改自己的就业状态(在岗/求职);招聘企业在发布需求岗位有人员到岗后也应该及时修改需求人数。
表4-1
表4-2

【逻辑结构设计】
根据上述需求,设计出如下关系模式:
个人信息(身份证号,姓名,性别,出生日期,毕业院校,专业名称,学历,毕业证书编号,联系电话,电子邮件,个人简历及特长)
从业经历(身份证号,起止时间,企业名称,职位)
求职意向(身份证号,职位名称,最低薪水)
企业信息(企业编号,企业名称,地址,企业网址,联系人,联系电话,电子邮件,企业简介)
岗位需求(企业编号,职位,专业,学历,薪水,人数,备注)
【问题1】(6分)
对关系“个人信息”,请回答以下问题:
(1)列举出所有候选键。
(2)它是否为3NF,用60字以内文字简要叙述理由。
(3)将其分解为BC范式,分解后的关系名依次为:个人信息1,个人信息2,…,并用下划线标示分解后的各关系模式的主键。
【问题2】(6分)
对关系“企业信息”,请回答以下问题:
(1)列举出所有候选键。
(2)它是否为2NF,用60字以内文字简要叙述理由。
(3)将其分解为BC范式,分解后的关系名依次为:企业信息1,企业信息2,…,并用下划线标示分解后的各关系模式的主键。
【问题3】(3分)
若要求个人的求职信息一经发布,即由系统自动查找符合求职要求的企业信息,填入表R(身份证号,企业编号),在不修改系统应用程序的前提下,应采取什么方法来实现,用100字以内文字简要叙述解决方案。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某省针对每年举行的足球联赛,拟开发一套信息管理系统,以方便管理球队、球员、主教练、主裁判、比赛等信息。
【需求分析】
(1)系统需要维护球队、球员、主教练、主裁判、比赛等信息。
球队信息主要包括:球队编号、名称、成立时间、人数、主场地址、球队主教练。
球员信息主要包括:姓名、身份证号、出生日期、身高、家庭住址。
主教练信息主要包括:姓名、身份证号、出生日期、资格证书号、级别。
主裁判信息主要包括:姓名、身份证号、出生日期、资格证书号、获取证书时间、级别。
(2)每支球队有一名主教练和若干名球员。一名主教练只能受聘于一支球队,一名球员只能效力于一支球队。每支球队都有自己的唯一主场场地,且场地不能共用。
(3)足球联赛采用主客场循环制,一周进行一轮比赛,一轮的所有比赛同时进行。
(4)一场比赛有两支球队参加,一支球队作为主队身份、另一支作为客队身份参与比赛。一场比赛只能有一名主裁判,每场比赛有唯一的比赛编码,每场比赛都记录比分和日期。
【概念结构设计】
根据需求分析阶段的信息,设计的实体联系图(不完整)如图3-1所示。
  
图3-1  实体联系图
【逻辑结构设计】
根据概念结构设计阶段完成的实体联系图,得出如下关系模式(不完整):
球队(球队编号,名称,成立时间,人数,主场地址)
球员(姓名,身份证号,出生日期,身高,家庭住址,  (1)  
主教练(姓名,身份证号,出生日期,资格证书号,级别,  (2)  
主裁判(姓名,身份证号,出生日期,资格证书号,获取证书时间,级别)
比赛(比赛编码,主队编号#,客队编号#,主裁判身份证号#,比分,日期)
【问题1】(6分)
补充图3-1中的联系和联系的类型。
图3-1中的联系“比赛”应具有的属性是哪些?
【问题2】(4分)
根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(2)补充完整。
【问题3】(5分)
现在系统要增加赞助商信息,赞助商信息主要包括赞助商名称和赞助商编号。
赞助商可以赞助某支球队,一支球队只能有一个赞助商,但赞助商可以赞助多支球队。赞助商也可以单独赞助某些球员,一名球员可以为多个赞助商代言。请根据该要求,对图3-1进行修改,画出修改后的实体间联系和联系的类型。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】   
某大型集团公司的数据库的部分关系模式如下:
员工表: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=‘中国银行北京分行’
    );
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大学为进一步推进无纸化考试,欲开发一考试系统。系统管理员能够创建包括专业方向、课程编号、任课教师等相关考试基础信息,教师和学生进行考试相关的工作。系统与考试有关的主要功能如下。
(1)考试设置。教师制定试题(题目和答案),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储。
(2)显示并接收解答。根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的考试提醒时间进行提醒,并接收学生的解答。
(3)处理解答。根据答案对接收到的解答数据进行处理,然后将解答结果进行存储。
(4)生成成绩报告。根据解答结果生成学生个人成绩报告,供学生查看。
(5)生成成绩单。对解答结果进行核算后生成课程成绩单供教师查看。
(6)发送通知。根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送给教师。
现采用结构化方法对考试系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
    图1-1  上下文数据流图

图1-2  0层数据流图
【问题1】(2分)
使用说明中的词语,给出图1-1中的实体E1~E2的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】(4分)
根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(5分)
图1-2所示的数据流图中,功能(6)发送通知包含创建通知并发送给学生或老师。请分解图1-2中加工(6),将分解出的加工和数据流填入答题纸的对应栏内。(注:数据流的起点和终点须使用加工的名称描述)
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
某图书馆的图书借还业务使用如下关系模式:
书目(ISBN,书名,出版社,在库数量)
图书(书号,ISBN,当前位置)
其中在库数量为当前书目可借出的图书的数量,每本图书入库后都会有当前位置,借出后当前位置字段改为空值。每一条书目信息对应多本相同的图书,每一本图书只能对应一条书目。
借还书业务的基本流程如下描述:
(1)读者根据书名查询书目,当前书目的在库数量大于0时可借阅。
(2)读者借出一本图书时,进行出库操作:根据该图书的书号将该图书的当前位置字段值改为空值,并根据其ISBN号将对应书目的在库数量减1。
(3)读者归还一本图书时,进行入库操作:系统根据当前书架的空余位置自动生成该本书的存放位置,并根据该图书的书号将其当前位置字段值改为生成的存放位置,然后将对应书目的在库数量加1。
(4)借还书时,逐一扫描每本图书的书号并进行出、入库操作。
【问题1】(7分)
引入两个伪指令:a= R(X)表示将在库数量X值读入到变量a中;W(a,X)表示将变量a的值写入到在库数量X中。入库操作用下标I表示,出库操作用下标O表示。
将出库和入库操作分别定义为两个事务,针对并发序列:ao=Ro(X),aI=RI(X),ao=ao-1,Wo(ao,X),aI-aI+1,WI(aI,X)。其中变量 aI和 ao分别代表入库事务和出库事务中的局部变量。
(1)假设当前X的值为3,则执行完上述并发序列的伪指令后,X的值是多少?简述产生这一错误的原因(100字以内)。
(2)为了解决上述问题,引入独占锁指令XLock(X)对数据X进行加锁,解锁指令Unlock(X)两对数据X进行解锁。入库操作用下标I表示,如XLockI(X);出库操作用下标O表示,如Unlocko(X)。请根据上述的并发序列,给出一种可能的执行序列,使其满足2PL协议。
【问题2】(8分)
下面是用SQL实现的出入库业务程序的一部分,请补全空缺处的代码。
CREATE PROCEDURE IOstack(IN BookNo VARCHAR(20), IN Amount INT){
       //输入合法性验证
       if not(Amount=1 or Amount=-1) return -1;
       //修改图书表当前位置
       UPDATE 图书 SET 当前位置=GetPos(BookNo,Amount)//系统生成
       WHERE     (a)   ;
       if error then {ROLLBACK;return -2;}
       //修改在库数量
       UPDATE 书目 SET 在库数量=    (b)     
       WHERE EXISTS(
                    SELECT  *
                    FROM 图书
                    WHERE  书号=BookNo AND
                               (c)        );
       if error then {ROLLBACK;return -3;}
          (d)   ;
       return 0;
}
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某小区由于建设时间久远,停车位数量无法满足所有业主的需要,为公平起见,每年进行一次抽签来决定车位分配。小区物业拟建立一个信息系统,对停车位的使用和收费进行管理。
【需求描述】
(1)小区内每套房屋可能有多名业主,一名业主也可能在小区内有多套房屋。业主信息包括业主姓名、身份证号、房号、房屋面积,其中房号不重复。
(2)所有车位都有固定的编号,且同一年度所有车位的出租费用相同,但不同年份的出租费用可能不同。
(3)所有车位都参与每年的抽签分配。每套房屋每年只能有一次抽签机会。抽中车位的业主需一次性缴纳全年的车位使用费用,且必须指定唯一的汽车使用该车位。
(4)小区车辆出入口设有车牌识别系统,可以实时识别进出的汽车车牌号。为方便门卫确认,系统还需登记汽车的品牌和颜色。
【逻辑结构设计】
根据上述需求,设计出如下关系模式:
业主(业主姓名,业主身份证号,房号,房屋面积)
车位(车位编号,房号,车牌号,汽车品牌,汽车颜色,使用年份,费用)
【问题1】(6分)
对关系“业主”,请回答以下问题:
(1)给出“业主”关系的候选键。
(2)它是否为2NF,用60字以内文字简要叙述理由。
(3)将其分解为BCNF,分解后的关系名依次为:A1,A2,...,并用下划线标示分解后的各关系模式的主键。
【问题2】(6分)
对关系“车位”,请回答以下问题:
(1)给出“车位’’关系的候选键。    
(2)它是否为3NF,用60字以内文字简要叙述理由。
(3)将其分解为BCNF,分解后的关系名依次为:B1,B2,...,并用下划线标示分解后的各关系模式的主键。
【问题3】(3分)
若临时车辆进入小区,按照进入和离开小区的时间进行收费(每小时2元)。试增加“临时停车”关系模式,用100字以内文字简要叙述解决方案。

阅读下列说明,回答问题1至问题3;将解答填入答题纸的对应栏内。

【说明】

某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络销售业务,需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。

【需求描述】

(1)记录公司所有员工的信息。员工信息包括工号、身份证号、姓名、性别、出生日期和电话,并只登记一部电话。

(2)记录所有商品的信息。商品信息包括商品名称、生产厂家、销售价格和商品介绍。系统内部用商品条码唯一区别每种商品。

(3)记录所有顾客的信息。顾客信息包括顾客姓名、身份证号、登录名、登录密码、和电话号码。一位顾客只能提供一个电话号码。系统自动生成唯一的顾客编号。

(4)顾客登录系统之后,在网上商城购买商品。顾客可将选购的商品置入虚拟的购物车内,购物车可长期存放顾客选购的所有商品。顾客可在购物车内选择商品、修改商品数量后生成网购订单。订单生成后,由顾客选择系统提供的备选第三方支付平台进行电子支付,支付成功后系统需要记录唯一的支付凭证编号,然后由商城根据订单进行线下配送。

(5)所有的配送商品均由仓库统一出库。为方便顾客,允许每位顾客在系统中提供多组收货地址、收货人及联系电话。一份订单所含的多个商品可能由多名分检员根据商品所在仓库信息从仓库中进行分拣操作,分拣后的商品交由配送员根据配送单上的收货地址进行配送。

(6)新设计的系统要求记录实体店的每笔销售信息,包括营业员、顾客、所售商品及其数量。

【概念模型设计】   

根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。

    
图3-1实体联系图

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整): 

员工(工号,身份证号,姓名,性别,出生日期,电话)

商品(商品条码,商品名称,生产厂家,销售价格,商品介绍,  (a)  

顾客(顾客编号,姓名,身份证号,登录名,登录密码,电话)

收货地点(收货ID,顾客编号,收货地址,收货人,联系电话)

购物车(顾客编号,商品条码,商品数量)

订单(订单ID,顾客编号,商品条码,商品数量,  (b)  

分检(分拣ID,分拣员工号,  (c)  ,分拣时间)  

配送(配送ID分拣ID,配送员工号,收货ID,配送时间,签收时间,签收快照)

销售(销售ID,营业员工号,顾客编号,商品条码,商品数量)

【问题1】(4分)
补充图3-1中的“配送”联系所关联的对象及联系类型。  
【问题2】(6分)
补充逻辑结构设计中的(a)、(b)和(c)三处空缺。
【问题3】(5分)
对于实体店销售,若要增加送货上门服务,由营业员在系统中下订单,与网购的订单进行后续的统一管理。请根据该需求,对图3-1进行补充,并修改订单关系模式。

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】
某单位公用车辆后勤服务部门数据库的部分关系模式如下:   
驾驶员: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】(4分)
请将下面创建调度关系的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 DATETIME,
PRIMARY KEY          (d)       );
【问题2】(6分)
(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】(5分)
请将下面SQL语句的空缺部分补充完整。
(1)查询调度次数最多的汽车车牌号及其品牌。
SELECT  CAR.Cno,Brand
FROM  CAR, SCHEDULE
WHERE  CAR.Cno =SCHEDULE.Cno
GROUP BY      (k)      
HAVING       (l)       (SELECT  COUNT(*)
FROM SCHEDULE
CROUP BY Cno);
(2)查询所有在调度表中没有安排过“大金龙”品牌车辆的驾驶员工号和姓名。
SELECT Eno,Ename
FROM EMP
WHERE Eno          (m)     (
SELECT Eno
FROM        (n)    
WHERE       (o)       
AND  brand= ‘大金龙');

阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用。场地包括一个大型报告厅、一个小型报告厅以及诸多会议室。这些报告厅和会议室可提供的设备有投影仪、白板、视频播放/回放设备、计算机等。为了加强管理,该中心欲开发一会议预订系统,系统的主要功能如下。

(1)检查可用性。客户提交预订请求后,检查预订表,判定所申请的场地是否在申请日期内可用;如果不可用,返回不可用信息。

(2)临时预订。会议中心管理员收到客户预定请求的通知之后,提交确认。系统生成新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存。根据客户记录给客户发送临时预订确认信息和支付定金要求。

(3)分配设施与设备。根据临时预订或变更预定的设备和设施需求,分配所需设备(均能满足用户要求)和设施,更新相应的表和预订表。

(4)确认预订。管理员收到客户支付定金的通知后,检查确认,更新预订表,根据客户记录给客户发送预订确认信息。

(5)变更预订。客户还可以在支付余款前提交变更预订请求,对变更的预订请求检查可用性,如果可用,分配设施和设各;如果不可用,返回不可用信息。管理员确认变更后,根据客户记录给客户发送确认信息。

(6)要求付款。管理员从预订表中查询距预订的会议时间两周内的预定,根据客户记录给满足条件的客户发送支付余款要求。

(7)支付余款。管理员收到客户余款支付的通知后,检查确认,更新预订表中的已支付余款信息。

现采用结构化方法对会议预定系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图(不完整)。

图1-1 上下文数据流图

                                                   

图1-2 0层数据流图

【问题1】(2分)
使用说明中的词语,给出图1-1中的实体E1~E2的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】(6分)
根据说明和图中术语,补充图1-2之中缺失的数据流及其起点和终点。
【问题4】(3分)   
如果发送给客户的确认信息是通过Email系统向客户信息中的电子邮件地址进行发送的,那么需要对图1-1和图1-2进行哪些修改?用150字以内文字加以说明。

上一页

第 4 页