美文网首页
软件评测师写作专栏之数据库系统综合应用09

软件评测师写作专栏之数据库系统综合应用09

作者: 昊洋_写作的匠心 | 来源:发表于2020-08-18 14:51 被阅读0次

各位学员大家好,大家在做数据库的真题时,发现很多真题都是以3-4个小题的复合型题目出现,此时会涉及到很多知识点。为了让大家快速掌握这方面的知识点,接下来就带领大家一起来学习一下!

例题:某汽车维修公司有部门、员工和顾客等实体,各实体对应的关系模式如下:

部门(部门代码,部门名称,电话)

员工(员工代码,姓名,部门代码)

顾客(顾客号,姓名,年龄,性别)

维修(顾客号,故障情况,维修日期,员工代码)

假设每个部门允许有多部电话,那么电话属性为( 1 )。若每个部门有多名员工,而每个员工只属于一个部门。员工代码唯一标识员工关系的每一个元组。部门和员工之间是( 2 )联系。一个员工同一天可为多位顾客维修车辆,而一名顾客,也可由多个员工为其维修车辆,维修关系模式的主键是( 3 ),员工关系模式的外键是( 4 )

1、A、组合属性    

B、派生属性   

C、多值属性    

D、单值属性

2、A、1:1    B、1:n    C、n:1    D、n:m

3、A、顾客号,姓名    

B、顾客号,故障情况   

C、顾客号,维修日期,员工代码 

D、故障情况,维修日期,员工代码

4、A、顾客号    

B、员工代码    

C、维修日期    

D、部门代码

【昊洋详解】:这道题目是在2018年软件评测师考试真题的第27-30题,在当年的数据库知识考察中,就考了这一道综合题,在以后的考试中,这种题型出现的频率会越来越高。所以一定要把选项中的知识点全部掌握,以后再次考察的时候,考点范围不会出现太大的变化。

第一空考察实体的属性,考点一共可以分为如下方面:

简单属性:简单属性是原子的、不可再分的,例如某人的性别,如果不特别声明,通常都是指简单属性。

复合属性:复合属性是相对于简单属性来说的,复合属性可以细分为更小的部分,即可以划分为别的属性,例如职工实体集的通信地址可以进一步划分为邮编、省、市和街道等,如果考题考察复合属性,一般需要特别声明一下。问题中出现的“组合属性”一般没有这种叫法,但是可能指的就是复合属性的意思。

单值属性:指属性对于一个特定的实体都只有单独的一个值,例如对于一个特定的学生,在系统中只对应一个学号和身份证号。

多值属性:多值属性是相对于单值属性来说的,在某些特定情况下,一个属性可以对应一组值,例如题干中提到的一个部门可以有多部电话,那么电话的属性就属于多值属性。

NULL属性:当实体在某个属性上没有值,或属性值未知时,使用NULL值,表示无意义或不知道。

派生属性:该属性可以从其他属性得出,例如“学生”实体中有“生日”和“年龄”等属性,从“生日”可以计算出“年龄”属性的值,“年龄”属性就是派生属性。

第二空考察两个不同实体之间的联系,该联系一共有如下四种:

一对一:指实体E1中的一个实体最多只与实体集E2中的一个实体相联系,记为:1:1。例如一个班级只有一个班主任,一个班主任只属于一个班级,这种关系就是一对一。

一对多:指实体E1中的一个实体可与实体集E2中的多个实体相联系,记为:1:n。例如一个班级可以有多名学生,一名学生只能属于一个班级,班级和学生之间的关系就是一对多。

多对一:指实体E1中的多个实体只能与实体集E2中的一个实体相联系,记为:n:1。例如一个班级可以有多名学生,一名学生只能属于一个班级,学生和班级之间的关系就是多对一。

多对多:指实体E1中的多个实体可与实体集E2中的多个实体相联系,记为:m:n。例如一个学生可以选多门课程,一门课程也可以被多个学生选择,学生和课程之间的关系就是多对多。

从题干可得出:一个部门有多个员工,一个员工只在一个部门,推出部门与员工之间为1:n。

第三空和第四空考察主键、候选键和外键的基础知识,具体如下:

候选键:又叫做候选码,英文为Candidate Key,若关系中某一属性(或属性组)的值能唯一地标识一个元组,则该属性(或属性组)为候选码。例如学生的学号和身份证号都可以唯一标识一个学生,那么学号和身份证号都可以作为学生关系模式的候选键。

主键:又叫做主码,英文为Primary Key,若一个关系有多个候选码,则选择其中一个作为主码。例如学生关系中,学号和身份证号都可以作为主键,我们可以事先声明一下即可。

外键:又叫做外码,英文为Foreign Key,如果关系模式R中的属性(或属性组)不是该关系的主键,但它是其他关系的主键,那么该属性(或属性组)对应关系模式R而言就是外码。例如学生关系模式中的“课程代码”属性,因为一门课程可以被多个学生选择,所以“课程代码”属性不能作为学生关系的主键,但是“课程代码”属性可以是课程关系模式的主键,此时“课程代码”属性就是学生关系模式的外键。

从题干可得出:一个员工可以给多个顾客修车,一个顾客可以由多个员工修车,推出员工和顾客之间是多对多,一般多对多的联系转关系的主键为双方实体主码组合而成;但本题由于一个顾客可以找同一员工多次修车的情况,因此需要在额外增加一个属性修车的时间,所以第三空选项C比较合适。

员工关系模式的“部门代码”属性不能唯一标识一名员工,因为一个部门可以有多名员工,但是“部门代码”属性可以唯一标识一个部门,所以“部门代码”属性是部门关系模式的主键,因此它是员工关系模式的外键,所以第四空选择D。

综上所述,该题正确答案为:1-C   2-B   3-C  4-D

巩固练习题

(1)高校教学管理系统中的院系关系Department和学生关系Students的模式分别为:

院系关系Department(院系号、院系名、负责人、办公电话);

学生关系Students(学号、姓名、身份证号、院系号、联系电话、家庭住址);

Department中的“院系号”唯一标识一个院系,Students中的“学号”能唯一标识一名学生,“家庭住址”可进一步分为邮编、省、市、街道。根据以上描述可知,关系Students的候选键为(1 ),“家庭住址”为(2 )

创建Student的SQL语句如下,请填补其中的空缺:

CREATE TABLE Students ( 学号CHAR(8) PRIMARY KEY,姓名CHAR(16),身份证号CHAR(18),院系号CHAR(4),联系电话CHAR(13),家庭住址CHAR(30)  FOREIGN KEY( 3 ) );

1、A、学号 

B、身份证号和院系号  

C、学号和身份证号   

D、学号和院系号

2、A、简单属性   

B、复合属性   

C、多值属性   

D、派生属性

3、A、 (联系电话) REFERENCES  Department(办公电话)   

     B、 (院系号) REFERENCES Department(院系号)

    C、 (院系号) REFERENCES  Students(院系号)                  

    D、 (负责人号) REFERENCES Students(学号)

(2)某教学管理数据库中,学生、课程关系模式和主键分别为:

S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;

C(课程号,课程名,学分),关系C的主键为课程号。

假设一个学生可以选择多门课程,一门课程可以由多个学生选择。一旦学生选择某门课程必定有该课程的成绩。由于学生与课程之间的“选课”联系类型为(1 ),所以对该联系(2 )

1、A、n:m    

B、1:n   

C、n:1   

D、1:1

2、A、不需要构建—个独立的关系模式 

    B、需要构建一个独立的关系模式,且关系模式为:SC(课程号,成绩)

    C、需要构建一个独立的关系模式,且关系模式为:SC(学号,成绩)

    D、需要构建一个独立的关系模式,且关系模式为:SC(学号,课程号,成绩)

练习题参考答案

(1)解析:本题和例题考察的模式大同小异,其中:

第一空中学生学号和身份证号都可以唯一标识英学生,所以其候选键是身份证号和学号,答案选C。

第二空中的问题可以从题干中找答案,提供中明确指出:“家庭住址”可进一步分为邮编、省、市、街道。我们在例题的解析里明确说明:如果考题考察复合属性,一般需要特别声明一下。所以“家庭住址”是复合属性,故第二空的答案为B。

第三空一方面考察外键的确定,另一方面考察外键的SQL语句表达方式。学生关系模式中的“院系号”属性是院系关系的主键,所以在学生关系中“院系号”属性是外键。外键SQL语句表示为:

FOREIGN KEY (院系号) REFERENCES

Department (院系号) ;

综上所述,正确答案为:1-C  2-B  3-B

(2)解析:本题是2016年软件评测师考试上午真题第22-23题,其中:

第一空由题意可知:“一个学生可以选择多门课程,一门课程可以由多个学生选择”。显然他们的对应关系为多对多,故第一空的正确答案为:A。

第二空中,对于多对多的联系转换成关系时,需要构建一个独立的关系模式,联系的属性由两端实体的码和联系的属性组成,对于本题要求:“一旦学生选择某门课程必定有该课程的成绩”,联系本身需要记录成绩,所以SC关系需要由学号,课程号,成绩三个属性组成,故第二空的正确答案为:D。

综上所述,正确答案为:1-A  2-D 

作者唯一官方个人微信公众号(昊洋与你一起成长):HYJY20180101

写于2020年8月18日

作者:昊洋讲师

版权所有,侵权必究

相关文章

网友评论

      本文标题:软件评测师写作专栏之数据库系统综合应用09

      本文链接:https://www.haomeiwen.com/subject/dsfkjktx.html