免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2019年上半年 数据库系统工程师 下午试卷 案例
  第4题      
  知识点:   数据库   外键约束   信息管理   信息管理系统

 
【说明】
某学生信息管理系统的部分数据库关系模式如下:
学生:Student ( stuno, stuname, stuage, stusex, schno),各属性分别表示学生的学号、姓名、年龄、性别,以及学生所属学院的编号;
学院:School ( schno, schname, schstunum ),各属性分别表示学院的编号、名称及学生人数;
俱乐部:Club (clubno,clubname, clubyear, clubloc ),各属性分别表示俱乐部的编号、名称、成立年份和活动地点;
参加:JoinClub ( stuno, clubno. joinyear ),各属性分别表示学号、俱乐部编号,以及学生加入俱乐部的年份。
有关关系模式的说明如下:
(1) 学生的性别取值为‘F’和‘M' (F表示女性,M表示男性)。
(2) 删除一个学院的记录时,通过外键约束级联删除该学院的所有学生记录。
(3) 学院表中的学生人数值与学生表中的实际人数要完全保持一致。也就是说,当学生表中增减记录时,就要自动修改相应学院的人数。
 
问题:4.1   (4分)
请将下面创建学生表的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE Student (
stuno CHAR(11) ( ),
stuname VARCHAR( ),
stuage SMALLINT,
stusex CHAR(1) ( ),
schno CHAR(3) ( ) ON DELETE ( ));
 
问题:4.2   (5分)
创建倶乐部人数视图,能统计每个倶乐部已加入学生的人数,属性有clubno> clubname 和clubstunum。对于暂时没有学生参加的俱乐部,其人数为0。此视图的创建语句如下,请补全。
CREATE VIEW CS_NUMBER ( clubno, clubname, clubstunum ) AS
SELECT JoinClub.clubno, ( ) , ( )
FROM JoinClub, Club
WHERE JoinClub.clubno = Club.clubno
( ) BY JoinClub.clubno ( )
SELECT clubno, clubname, 0 FROM Club
WHERE clubno NOT 04
(SELECT DISTINCT clubno FROM ( ));
 
问题:4.3   (4分)
每当系统中新加或删除一个学生,就需要自动修改相应学院的人数,以便保持系统中学生人数的完整性与一致性。此功能由下面的触发器实现,请补全。
CREATE TRIGGER STU_NUM_TRG
AFTER INSERT OR DELETE ON ( )
REFERENCING new row AS nrow, old row AS orow FOR EACH( )
BEGIN
IF INSERTING THEN
UPDATE School ( )
END IF;
IF DELETING THEN
UPDATE School ( );
END IF;
END;
 
问题:4.4   (2分)
查询年龄小于19岁的学生的学号、姓名及所属学院名,要求输出结果把同一个学院的学生排在一起。此功能由下面的SQL语句实现,请补全。
SELECT stuno, stuname, schname FROM Student, School WHERE Student.schno = School.schno
AND stuage <19 ( ) BY ( );
 
 
 

   知识点讲解    
   · 数据库    · 外键约束    · 信息管理    · 信息管理系统
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       外键约束
        外键是指在关系模式R中作为候选键的属性集,但在关系模式T中不是候选键。则对于T来说,这些属性集称为相对于R的外键。通常外键在数据库中会被标记为FOREIGN KEY字样。在这里,称R为父模式,T为子模式。通俗地说,就是父表中的主键字段被子表中某个字段引用,那么子表的这个字段则应声明为外键,而父表的那个字段可以声明为主键,也可以声明为唯一键(候选键)。一旦子表的字段被声明为父表的外键,同样的一个字段在父表中称为引用的父键,在子表中称为引用的子键。子键的取值应遵守如下规则,否则将被禁止。
        (1)每个子键的取值不能取父键中取值以外的值,但空除外。
        (2)对于父键是组合字段的,子键也应是组合字段。父键要求能唯一地标识父表的每一条记录,而子键不要求能唯一标识子表的每一条记录。
        (3)对于组合键,子键为空时,所有键的成员字段都为空,不允许部分为空。
        一个子表可以有多个子键,每个子键可以对应不同父表的父键。如果是组合键,那么同一个字段可能作为不同外键的成员。当然,子表和父表是相对的,子表如果有唯一键被其他表引用,那么这时的子表对于其他表关于某键,它又是父表。外键的引入,主要是为了表示表间的一对多问题。下面的语句说明了两个表间的外键引用情况。
        
        这两条语句创建了dept和emp两个表,其中dept表中的deptno是它的主键,它被表emp引用。在emp中也有个同样名字的deptno字段,这个字段被声明为引用dept.deptno字段的外键。那么dept表是父表,deptno构成了引用中父表的父键;emp表是子表,deptno构成了引用中子表的子键。
        因为外键是引用父表父键的子表的子键,所以父表的数据是引用的基础。一旦父表数据被修改或删除,引用也会造成相关的影响,表现在子表和子键上,这就需要做出相应的规则来约定父表父键发生改动后子表子键如何来进行维护活动。根据这种活动,将子表的外键分为三大类。
        (1)禁止更新和删除父键,许多DBMS默认为这一类外键约束。一旦父表的父键被某个子表的子键引用了,那么父表中已有的数据是禁止修改和删除的。
        (2)删除或更新父表数据的同时删除或更新子表子键中对应父键取值的行。
        (3)删除或更新父表数据的同时将子表中对应父键的子键的取值设置为NULL。
        加入这三种外键约束声明的语句可以如下所示:
        
        该语句说明外键deptno默认为第一类。
        
        该语句声明一个第二类的外键。
        
        该语句声明一个第三类的外键。
 
       信息管理
        管理信息系统是由人、计算机和管理规则等组成,以采集、加工、维护和使用信息为主要功能的人-机系统。例如金融、财会、经营、管理、教育、科研、医疗、人事、档案、物资等各方面都有大量的信息需要及时分析和处理,以便为决策提供依据。虽然在这方面应用中计算公式并不复杂,但数据量极大,在当今信息爆炸的时代,人工已难以胜任这一重任,计算机则成为信息管理的重要工具。该系统一般以数据库管理系统为核心,以其他软件和网络系统为支撑环境,而用户则通过专门的人机交互界面,进行数据的查询、修改等操作,并实现统计分析、规划、决策等功能。在信息管理方面,我们正经历着从单项事务的电子数据处理,向以数据库为基础的管理信息系统,及以数据库、模型库和方法库为基础的决策支持系统发展的过程,并且呈现出系统集成化、结构分布化、信息多元化、功能智能化等趋势。
 
       信息管理系统
        用来管理和分发项目信息的工具有很多,包括:
        .纸质文件管理,如信件、备忘录、报告和新闻稿。
        .电子通信管理,如电子邮件、传真、语音信箱、电话、视频和网络会议、网站。
        .项目管理电子工具,如基于网页界面的进度管理工具和项目管理软件,会议和虚拟办公支持软件,门户网站和协同工作管理工具。
   题号导航      2019年上半年 数据库系统工程师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第4题    在手机中做本题