设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生学号、姓名以及所在系,则对应的SELECT语句如下;
SELECT学号,姓名,系名 FROM Students WHERE{{U}}
(1) {{/U}}AND{{U}} (2) {{/U}};
某银行信贷额度关系credit-in(C_no,C_name,limit,Credit
balance)中的4个属性分别表示用户号、用户姓名、信贷额度和累计消费额。该关系的{{U}} (13)
{{/U}}属性可以作为主键。表3-8为关系credit-in的一个具体实例。
表3-8
C_no
C_name
limit
Credit_balance
1310001
1310002
2410003
2410004
4110041
4110042
4110812
张静
陈继年
李丽莉
刘华东
赵庆民
范建华
赵庆民
3500
3500
23800
6600
9800
16000
1800
2000
2100
2000
5800
4500
查洵累计消费额大于3000的用户姓名以及剩余消费额的SQL语句应为: Select {{U}}(14)
{{/U}} From credit-in Where {{U}}(15)
{{/U}};
关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、{{U}} (1)
{{/U}}、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效率和存储空间的利用率,需要对{{U}} (2)
{{/U}}进行分解。
对于下面表3-9和表3-10所示的Students和SC关系,属性Sno表示学号,Sname表示姓名,Sex表示性别,SD表示专业,Age表示年龄,Cno表示课程号,Grade表示成绩。
表3-9
Sno
Sname
Sex
SD
Age
310001
310002
410003
410004
110041
110042
张静
陈继军
李丽莉
刘华东
赵庆民
范建华
女
男
女
男
男
男
计算机
计算机
机l掀
机械
通信
通信
8
9
8
9
0
0
表3-10
Sno
Cno
Grade
310002
310002
310002
410004
410004
110042
110042
1
2
3
2
3
1
2
93
84
84
83
93
84
82
a.当用户查询“选了课程2的学生数”时,其结果应为{{U}} (16)
{{/U}};当Students和SC关系进行自然连接时,其结果集的属性列数应为{{U}} (17)
{{/U}}。
关系数据库是表的集合。对视图进行查询,本质上就是对从{{U}} (7)
{{/U}}中导出的数据进行查询;支持数据库各种操作的软件系统称为{{U}} (8)
{{/U}}。
数据库是在计算机系统中按照一定的数据模型组织、存储和应用的{{U}} (1)
{{/U}}的集合。提供数据库各种操作的软件系统叫做{{U}} (2)
{{/U}}。
设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),其中,属性“系名”是关系DEPT的主键,用户要求访问“家庭住址”的某个成分,如邮编、省、市、街道以及门牌号。关系Students的主键和外键分别是{{U}}
(4) {{/U}}。“家庭住址”是一个{{U}} (5)
{{/U}}属性。
通过{{U}} (11)
{{/U}}关系运算,可以从表3-5和表3-6获得表3-7;表3-7的主键为{{U}} (12) {{/U}}。
表3-5
课程号
课程名
10011
计算机文化
10024
数据结构
20010
数据库系统
20021
软件工程
20035
UML应用
表3-6
课程号
教师名
10011
赵军
10024
李小华
10024
林志鑫
20035
李小华
20035
林志鑫
表3-7
课程号
课程名
教师名
10011
计算机文化
赵军
10024
数据结构
李小华
10024
数据结构
林志鑫
20035
UML应用
李小华
20035
UML应用
林志鑫
关系数据库是{{U}} (1)
{{/U}}的集合,它由一个或多个关系模式定义。SQL语言中的数据定义功能包括对数据库、基本表、{{U}} (2) {{/U}}和{{U}}
(3) {{/U}}的定义。
设有关系student(学号,姓名,年龄,性别,系名),如果要查询姓名至少包括5个字母,且倒数第二个字母为“G”的学生的学号、姓名以及所在系,则对应的SELECT语句如下:
SELECT学号,姓名,系名 FROM Students WHERE
{{U}}(4) {{/U}} LIKE {{U}}(5)
{{/U}};
关系代数运算是以集合操作为基础的运算,其五种基本运算是并、差、{{U}} (9)
{{/U}}、投影和选择,其他运算可由这些运算导出。为了提高数据的操作效率和存储空间的利用率,需要对{{U}} (10)
{{/U}}进行分解。
设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生的学号、姓名以及所在系,则对应的SELECT语句如下:
SELECT学号,姓名,系名 FROM Students WHERE
{{U}}(20) {{/U}} AND {{U}}(21)
{{/U}};
职员关系模式为E(Eno, Ename, Dept, Eage,
Eaddr),其中Eno表示职员号,Ename表示职员名,Dept表示职员所在部门,Eage表示年龄,Eaddr表示职员的家庭住址。建立“开发部”(DS表示开发部)职员的视图DS_E如下,要求进行修改、插入操作时保证该视图只有开发部的职员。
CREATE VIEW DS_E AS SELECT Eno, Ename, Dept, Eage,
Eaddr FROM WHERE {{U}} (1)
{{/U}} 如下SQL语句可以查询开发部姓“王”职员的姓名和家庭住址。 Select
Ename, Eaddr From DS_E Where {{U}}(2)
{{/U}};
商品关系P(商品名,条形码,产地,价格)中的{{U}} (1)
{{/U}}属性可以作为该关系的主键。查询由“北京”生产的185升电冰箱的SQL语句应该是:
SELECT商品名,产地 FROM P WHERE
产地='北京'AND{{U}} (2) {{/U}};
将价格小于50的商品上调5%的SQL语句应该是: UPDATE P
{{U}} (3) {{/U}}
WHERE价格<50;
数据库系统从广义的角度看,应该由{{U}} (1)
{{/U}}组成。数据字典中存放{{U}} (2)
{{/U}},数据库管理系统对应用程序的操作都要通过数据字典来进行。
设有一个关系EMP(职工号,姓名,部门名,工种,工资),若需查询不同部门中担任“钳工”的职工的平均工资,则相应的SELECT语句为:
SELECT部门名,AVG(工资)AS平均工资 FROM EMP
GROUP BY {{U}}(1) {{/U}} HAVING
{{U}}(2) {{/U}}
将职工号为“23115”、姓名为“李军”、部门名为“硬件测试部”的元组插入EMP关系中的SQL语句为:Insert {{U}}(3)
{{/U}}
设有一个关系EMP(职工号,姓名,部门名,工种,工资),若需查询不同部门中担任“钳工”的职工的平均工资,则相应的SELECT语句为:
SELECT部门名,AVG(工资)AS甲均工资 FROM EMp
GROUP BY {{U}}(22) {{/U}}
HAVING {{U}}(23) {{/U}}
将职工号为“23115”、姓名为“李军”、部门名为“硬件测试部”的元组插入EMP关系中的SQL语句为:Insert {{U}}(24)
{{/U}}。
填空题关于上述C++代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)?
①sh和tr分别引用同一个对象;
②sh和tr分别引用同一类型的不同的对象;
③sh和tr分别引用不同类型的不同对象;
④sh和tr分别引用同一个对象的不同复制;
⑤sh和tr所引用的内存空间是相同的。
填空题[说明] 下面C程序代码的功能是:对于输入的一个正整数n(100≤n<1000),先判断其是否是回文数(正读反读都一样的数)。若不是,则将n与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278不是回文数,其反序数为872,相加后得到的1150还不是回文数,再将1150与其反序数511相加,得到的1661是回文数。 函数int isPalm(long m)的功能是:将正整数m的各位数字取出存入数组中,然后判断其是否为回文数。若m是回文数则返回1,否则返回0。 [C程序代码] #include<stdio.h> #include<stdlib.h> int isPalm(long m) int i=0, k=0; char str[32]; while(m>0) str[k++]= (1) +'0'; m=m/10; for(i=0; i<k/2; i++) if(str[i]!=str[ (2) ])return 0; return 1; int main( ) long n, a, t; printf("input a positive integer: "); scanf("%ld", if(n<100||n>=1000)return -1; while( (3) ) printf("%id->", n); for(a=0, t=n; t>0; ) a= (4) *10+t%10; t=t/10; n= (5) ; printf("%id/n", n); system("pause"); return 0;
填空题[说明] 下面的程序用Dole Rob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。 ①在第一行的正中插入1。 ②新位置应当处于最近插入位置的右上方,若该位置已超出方阵的上边界,则新位置取应选列的最下一个位置;若超出右边界,则新位置取应选行的最左一个位置。 ③若最近插入的元素是N的整数倍,则选同列的下一行位置为新位置。 例如,3阶魔方阵如下所示: 8 1 6 3 5 7 4 9 2 [C程序] #include<stdio.h> #include<stdlib.h> #define SIZE 50 main( ) int row, col, n, value; int a[SIZE+1][SIZE+1]; /*不使用下标为0的元素*/ printf("请输入要输出魔方阵的阶数n(奇数, <%d):n=", SIZE); scanf("%d", if(!(n%2) || n<1 || (1) ) printf("输入数据有误!/n"); exit(0); row=1; col=(n+1)/2; value=1; while(value<= (2) ) a[row][col]=value; /*计算下一位置*/ if(value%n!=0) row--; (3) ; if(row<1)row=n; if(col>n) (4) ; else row++; value= (5) ; printf("/n%d阶魔方阵如下所示:/n/n", n); for(row=1; row<=n; row++) for(col=1; col<=n; col++) printf("%5d", a[row][col]); printf("/n");
填空题阅读下列说明、图和C++代码,填补空缺。[说明]已知对某载客车辆(Car)进行类建模,如图12-2所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。constint{{U}}(1){{/U}}=7;//定义最多载客数constintMAX_WHEELS=5;//定义最多轮胎数classBody{//此处代码省略);//车身类classPassenger{//此处代码省略};//乘客类ClassWheel{//此处代码省略};//车轮类ClassDriver{//司机类public:stringname;//表示第几路公交车司机Driver(stringdriverName):marne({{U}}(2){{/U}}){};//构造函数};classEngine{//引擎类public:stringengineNo;//引擎编号Engine(stringengineNo){{{U}}(3){{/U}}->engineNo=engineNo;}//构造函数};ClassCar{//汽车类protected:Engine*engine;Driver*driver;Bodybody;Wheel*wheels[MAX_WHEELS];Passenger*passengers[MAX_PASSENGERS];public:Car(Driver*driver)(//构造函数this->driver=driver;engine=newEngine("TX6536型号引擎");for(intindex=0;index<MAX_WHEELS;index++){wheels[index]=newWheel();}for(intindex=0;indexpassengers[index]=NULL;}}virtual-Car(){//析构函数for(intindex=0;index<MAX_WHEELS;index++)deletewheels[index];delete{{U}}(4){{/U}};}intgetPassengerNumber(){//获取车上乘客数量//此处代码省略}voidgetonpassenger(Passenger*apassenger){//乘客上车//此处代码省略}voidrun(){//开车if(driver==NULL){cout<<"司机尚未上车!";return;}//此处代码省略}};voidmain(){Driverdriver("第五路公交车司机");Carcar({{U}}(5){{/U}});Passengerpassengers[MAX_PASSENGERS];for(intindex=0;index<MAX_PASSENGERS;index++)//乘客上车处理car.getOnPasSenger(car.run();}
