桂林电子科技大学硕士研究生入学考试复试试卷考试科目代码:211考试科目名称:数据库系统原理+程序设计基础请注意:答案必须写在答题纸上(写在试卷上无效)。数据库系统原理部分一、简答题(共2小题,每小题5分,共10分)1、请简述两段锁协议的内容。2、设有如下图所示的关系R和S,计算:R1=RSRSABCBC1a2b21b2c32b22c33c3二、SQL(共4小题,每小题5分,共20分)设某公司的信息管理系统中有三个基本表:职工表E(E#,ENAME,AGE,SEX,ECITY),其属性是职工编号、姓名、年龄、性别和籍贯。部门表C(C#,CNAME,TELE),其属性是部门编号、部门名称和电话号码工作表W(E#,C#,SALARY),其属性是职工编号、部门编号和工资。备注:表示主码,表示外码。用SQL语言完成如下查询:(20分)(1)用SQL语言建立W表,要求满足以下完整性约束条件的定义:①定义关系的主码,②定义参照完整性,③SALARY1000。(2)查询年龄大于25岁的女职工的职工编号。(3)为每个部门中超过50岁的女职工加薪1000元。(4)请为女职工信息建立一个视图E_W,属性包括职工编号E#,职工姓名ENAME,所在部门编号C#,所在部门名称CNAME,工资SALARY。共4页第1页请注意:答案必须写在答题纸上(写在试卷上无效)。三、分析题(共5个问题,每个问题2分,共10分)设有关系模式R(学号,课程号,学习期限,成绩,奖学金),该模式用于统计学生选课、成绩和奖学金情况。如果规定:每门课都有一定的学习期限,每个学生选修每门课程都有一个成绩,根据成绩评定奖学金。请回答下列问题:(1)根据上述规定,写出模式R的基本函数依赖集F。(2分)(2)请计算(学号)关于F的闭包。(2分)(3)确定关系模式R的候选码。(2分)(4)关系模式R最高已经达到第几范式?为什么?(4分)四、设计题(共2小题,每小题5分,共10分)设某集团数据库中有3个实体集,分别为部门,属性有部门号,部门名,办公地点;职工,属性有职工号,姓名,性别,年龄;产品,属性有产品号,产品名,产品类型,单价。每个部门可以聘用多名职工,每名职工只受聘于一个部门,每个部门聘用每名职工时保存聘用期限和聘用日期。每个部门生产多种产品,每种产品可以在不同的部门生产,每个部门生产每种产品都有一个生产量。每种产品由一名职工负责,每个职工最多负责一种产品。请根据上面的描述完成如下题目:(1)根据需求分析,用E-R图画出该公司的部门、职工、产品的概念模型,要求给出实体、联系的属性。(5分)(2)将第(1)步得到的E-R图转换成关系模型,并注明明主码和外码。(5分)共4页第2页请注意:答案必须写在答题纸上(写在试卷上无效)。程序设计基础部分:一、选择题(共15分,每题3分)。1、以下程序的输出结果是______。main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i3;i++)for(j=i;j=i;j++)t=t+b[j][j]];printf(%d\n,t);}A)3B)4C)1D)92、下列程序运行后的输出结果是______。main(){inti=1;while(i=19)if(++i%3!=2)continue;elseprintf(“%d”,i);printf(“\n”);}A)158111417B)258111417C)1258111417D)258111417203、下列程序:intsum(intn){intp=1,s=0,i;for(i=1;i=n;i++)s+=(p*=i);returns;}main(){inti=5;printf(“sum(5)=%d\n”,sum(i));}运行后的输出的数据是___________。A)sum(5)=151B)sum(5)=152C)sum(5)=153D)sum(5)=155共4页第3页请注意:答案必须写在答题纸上(写在试卷上无效)。4、下列程序:main(){staticinta[]={5,6,7,3,2,9};ints1,s2,i,*ptr;s1=s2=0;ptr=&a[0];for(i=0;i5;i+=2){s1+=*(ptr+i);s2+=*(ptr+i+1);}printf(“s1=%d,s2=%d\n”,s1,s2);}运行后的输出结果是____________。A)s1=18,s2=14B)s1=14,s2=32C)s1=14,s2=18D)s1=15,s2=195、有以下程序int*f(int*x,int*y){int*t;t=x;x=y;y=t;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;printf(%d,%d,,*p,*q);f(p,q);printf(%d,%d,%d\n,*p,*q);}执行后输出结果是___________。A)7,8,7,8B)7,8,8,7C)7,7,8,8D)8,7,8,7二、编写C语言程序完成以下功能。1、编程实现输入三角形的边长a,b,c,求三角形的面积area。(10分)2、编程打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。(12分)3、判断s1字符串中是否包含s2字符串。如:china123包含na12,但不包含abc。(13分)共4页第4页