欢迎来到图者知识网!

软考数据库系统工程师,软考数据库工程师真题

计算机类 时间:2022-09-10

【www.tuzhexing.com--计算机类】

计算机软考数据库系统工程师考前练习题及答案(8)

  1.用SQL的有关语句定义(12分)

  1)学生关系Student,包括学号Sno、姓名SN、年龄SA;

  2)课程关系Course,包括课程号Cno、课程名CN、任课教师CT;

  3)学生选课关系,包括Sno、Cno和成绩G。

  注意:说明主键码和外键码(如果有的话),并在键码属性上建立索引。

  2.按题1的学生关系模式,用SQL的有关语句(12分)

  1)授予赵华对学生关系Student的插入和修改权限;

  2)插入任意3个学生的完整信息;

  3)修改所有学生的年龄(加1)。

  3.结合题1定义的学生选课数据库,用SQL语句查询计算机系学生数据库课的成绩,输出学生姓名和成绩,按成绩排序(降序),若成绩相同,再按学号排序(升序)。(6分)

  4.已知关系R、S如下所示,求域演算表达式的结果。(4分)

  R S
  A B C D E F
  a c 5 4 d 8
  b d 3 5 a 1
  m e 4 3 e 2



  6.商店销售商品的数据库,涉及如下数据:(12分)

  商店号、商店名、地址

  商品号、商品名、单价。

  某商店销售某商品的数量和日期。

  1)设计E/R图(属性名用中、英文均可);

  2)转换成关系模型(注明键码和函数依赖)。

  7.有关图书发行的关系模型如下:(12分)

  书店S(书店号SNo,书店名SN,地址A)

  图书B(书号BNo,书名BN,价格P)

  图书馆L(馆号LNo,馆名LN,城市C)

  图书发行LBS(LNo,BNo,SNo,发行量Q)

  分别用关系代数和SQL语言表达如下查询:

  图书馆L4(馆号)收藏图书的书名和出售该书的书店名。

  8.图书管理数据库关系模型如下:(12分)

  图书B(书号BN,书名T,作者A,出版社P)

  学生S(姓名N,班级C,借书证号LN)

  借书L(LN,BN,日期D)

  查询:2001.1.1(20010101)以前借书的学生姓名和书名。

  求:1)以笛卡尔积为基础表达查询要求;

  2)画出原始语法树;

  3)画出优化语法树。

  9.写出3个关系模式分别满足:(12分)

  1)是1NF,不是2NF;

  2)是2NF,不是3NF;

  3)是3NF,也是BCNF;

  各用两句话分别说明你所写的关系模式是前者,不是(或也是)后者。

  10.电影数据库涉及如下数据:电影类包括电影名、制作年份、电影长度等属性,演员类包括姓名、年龄、地址等属性,每部电影都可能有多个演员出演,而每个演员都可能出演多部电影。(12分)

  1)用ODL给出类的说明;

  2)用OQL查询演员张晓丽所出演的电影的电影名和制作年份。

  1.1) CREATE TABLE Student(
   Sno INT PRIMARY KEY,
    SN CHAR(30),
    SA INT
    );

    2) CREATE TABEL Course(
    Cno INT PRIMARY KEY,
    CN CHAR(30),
    CT CHAR(30)
    );

    3) CREATE TABEL SC(
   Sno INT,
   Cno INT,
   G INT,
   PRIMAYR KEY(S Sno,Cno),
   FOREIGN KEY(Sno) REFERENCES Student(Sno),
   FOREIGN KEY(Cno) REFERENCES Course(Cno)
   );
  
  2.1) GRANT INSERT, UPDATE, ON Student TO 赵华;
    2) INSERT INTO Student
(TABLE (01001,‘赵华"",19),
   (01002,’李芳‘,18),
   (01003,’刘红‘,20),
   );
    3) UPDATE Student
   SET SA=SA+1;
  
  3.SELECT SN,G
   FROM Student,Course,SC
  WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno
  AND Course.CN=’数据库‘
   ORDER BY G DESC,Sno;

   4.R1 X Y Z
   a c 5
  b d 3
 m e 4
  4 d 8
  
   5.1) 说明:EXEC SQL BEGIN DECLARE SECTION;
  int sno;
   char sname[30];
   int sage;
   char SQLSTATE[6];
   EXEC SQL END DECLARE SECTION;
    2) 赋值:sno:=01001;
   sname:=’赵华‘;
   sage:=19;
    3) 插入:EXEC SQL INSERT
   INTO Student
   VALUES(:sno,:sname,:sage);
  
   6.1)

    2) 商店(商店号,商店名,地址)商店号→商店名,地址
   商品(商品号,商品名,单价)商品号→商品名,单价
   销售(商店号,商品号,数量,日期)商店号,商品号→数量,日期

   7.1) π BN,SN(σ LNo=L4(BLBSS))
    2) SELECT BN,SN
   FROM B,LBS,S
   WHERE B.BNo=LBS.BNo AND LBS.SNo=S.SNo
   AND LBS.LNo=L4;
  
   8.1) π N,T(σ D=20010101(S × L × B)) 
    2)

   9.1) 学生选课(学号,姓名,课程号,成绩)
   属性不可分,是1NF;存在非主属性对键码的部分依赖(学号,课程号姓名),不是2NF。
    2) 学生(学号,姓名,系别,系主任)
   键码为单属性,不存在部分依赖,是2NF;存在非主属性对键码的传递依赖(学号→姓名,系别;系别学号;系别→系主任;学号系主任),不是3NF。
    3) 学生(学号,姓名,年龄)
   非主属性(姓名,年龄)对键码不存在部分依赖和传递依赖,是3NF;
   主属性(学号)对键码也不存在部分依赖和传递依赖,是BCNF。

  10.1) interface Movie{
   attribute string title;
      attribute integer year;
      attribute integer length;
      relationship Set (Act) acts
      inverse Act::starredIn;
      };  
      interface Act{
      attribute st ring name;
      attribute integer age;
      attribute string address;
      relationship Set starredIn
      inverse Movie::acts;
      };
    2) SELECt m.title m.year
      FROM Act a, a.starredIn m
      WHERE a.name=“张晓丽”;

本文来源:http://www.tuzhexing.com/kaoshi/1201937/

推荐内容