问答题OLAP主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。OLAP的实现方式主要有三种:MOLAP、_________和HOLAP。
问答题在OLAP的实现方式中,以多维数组作为存储结构的被称作_________OLAP。
问答题已知在IN.DAT文件中存有若干个(<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编写函数CalValue(),其功能是:(1)求出文件中的正整数个数totNum;(2)求这些数右移1位后,产生的新数是奇数的数的个数totCnt以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到OUT.DAT文件中。 注意:部分源程序已经给出。 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 #include<stdio.h> #include<conio.h> #define MAXNUM 200 int xx[MAXNUM]; int totNum=0; /*IN.DAT文件中的正整数个数*/ int totCnt=0; /*符合条件的正整数个数*/ double totPjz=0.0; /*平均值*/ int ReadDat(void); void writeDat(void); void CalValue(void) void main() int i; for(i=0;i<MAXNUM;i++) xx[i]=0; if(ReadDat()) printf("数据文件INDAT不能打开!/007/n"); return; CalValue(); printf("IN.DAT文件中的正整数个数=%d个/n",totNum); printf("符合条件的正整数个数=%d个/n",totCnt); printf("平均值=%.2f/n",totPjz); writeDat(); int ReadDat(void) FILE *fp; int i=0; if((fp=fopen("IN.DAT","r"))==NULL) return 1; while(!feof(fp)) fscanf(fp,"%d,",&xx[i++]); fclose(fp); return 0; void writeDat(void) FILE *fp; fp=fopen("OUT.DAT","w"); fprintf(fp, "%d/n%d/n%6.2f/n",totNum,totCnt,totPjz); fclose(fp);
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以前的五个数且该数是奇数,且该数必须能被7整除(该四位数以前不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中,最后调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序已经给出。 程序中已定义数组:a[200],b[200];已定义变量:cnt。 请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。 #include<stdio.h> #define MAX 200 int a[MAx],b[MAx],cnt=0; void jsVal() void readDat() int i; FILE *fp; fp=fopen("IN.DAT","r"); for(i=0;i<MAX;i++) fscanf(fp,"%d,",&a[i]); fclose(fp); void writeDat() FILE *fp; int i; fp=fopen("OUT.DAT","w"); fprintf(fp,"%d/n",cnt); for(i=0; i<cnt; i++) fprintf(fp,"%d/n",b[i]); fclose(fp); void main() int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for(i=0;i<cnt;i++) printf("%d",b[i]); printf("/n"); writeDat();
问答题在并行数据库中,最适合整表扫描操作的数据划分方法是_______。
问答题在SQL Server 2008中,登录账户的来源共有_______种。
问答题已知在IN.DAT文件中存有若干个(<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编写函数CalValue(),其功能是:(1)求出这个文件中共有多少个正整数totNum;(2)求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到OUT.DAT文件中。 注意:部分程序已经给出。 请勿改动主函数main()、读函数ReadDat()和写函数witeDat()的内容。 #include<stdio.h> #include<conio.h> #define MAXNUM 200 int xx[MAXNUM]; int totNum=0; int totCnt=0; double totPjz=0.0; int ReadDat(void); void writeDat(void); void CalValue(void) void main() int i; for(i=0;i<MAXNUM;i++) xx[i]=0; if(ReadDat()) printf("数据文件IN.DAT不能打开!/007/n"); return; CalValue(); printf("IN.DAT文件中的正整数个数=%d个/n",totNum); printf("符合条件的正整数个数=%d个/n",totCnt); printf("平均值=%.2f/n",totPjz); writeDat(); int ReadDat(void) FILE *fp; int i=0; if((fp=fopen("IN.DAT","r"))==NULL) return 1; while(!feof(fp)) fscanf(fp,"%d,",&xx[i++]); fclose(fp); return 0; void writeDat(void) FILE *fp; fp=fopen("OUT.DAT","w"); fprintf(fp, "%d/n%d/n%6.2f/n",totNum,totCnt,totPjz); fclose(fp);
问答题某商场商品经营管理系统使用SQL Server 2008数据库管理系统,此系统上线运行1年后,业务人员使用某统计功能(此功能每月使用一次)时发现速度很慢。该统计功能主要执行的SQL语句如下:SELECT商品号,SUM(销售数量*销售价格)销售额FROM销售明细GROUP BY商品号;该销售明细表的建表语句如下:CREATE TABLE销售明细(序列号int IDENTITY(1,1)NOT NULL,商品号int NOT NULL销售日期datetime NULL,销售数量int NOT NULL,销售价格int NOT NULL);并在销售明细表上建有如下索引:CREATE index ix_销售明细一商品号on销售明细(商品号);某技术人员提出通过执行下述语句以提高此查询的运行效率:CREATE VIEW商品销售额视图WITH SCHEMABINDINGASSELECT商品号,SUM(销售数量*销售价格)销售额,COUNT_BIG(*)cntFROM dbo.销售明细GROUP BY商品号;CREATE UNIQUE CLUSTERED INDEX ix_商品销售额ON商品销售额视图(商品号);
问答题请编写程序,从in.dat文件中读取200个整数至数组xx中,求出奇数的个数cnt1和偶数的个数cnt2以及数组xx下标为偶数的元素值的算术平均值pj(保留2位小数)。结果cnt1、cnt2、pj输出到out.dat文件中。 注意:部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 #include<conio.h> #include<stdio.h> #define N 200 void read dat(int xx[N]) int i,j; FILE *fp; fp=fopen("in.dat","r"); for(i=0;i<20;i++) for(j=0;j<10;j++) fscanf(fp,"%d,",&xx[i*10+j]); printf("%d",xx[i*10+j]); printf("/n"); fclose(fp); void main() int i; int cnt1,cnt2,xx[N]; long j=0; float pj; FILE *fw; fw=fopen("out.dat","w"); read_dat(xx); /**************************************/ /**************************************/ printf("/n/ncnt1=%d,cnt2=%d,pj=%6.2f/n",cnt1,cnt2,pj); fprintf(fw,"%d/n%d/n%6.2fkn",cnt1,cnt2,pj); fclose(fw);
问答题删除用户自定义的函数使用_______语句来实现。
问答题在分布式数据库中,如果用户编写程序时不必了解数据分片在各个场地的分配情况,则称该分布式数据库系统具有_______透明性。
问答题设某学校选课系统使用SQL Server 2008数据库管理系统,在学生选课期间,用户反映速度缓慢,大部分时间内,学生无法正常选课(选课学生近1万人)。经技术人员分析,发现速度缓慢的原因为数据库服务器响应缓慢。在选课期间,数据库服务器CPU使用率为100%,内存使用率95%,磁盘IO占用10%,网络带宽占用20%。在进一步分析后发现,学生在选课过程中需要在每次选定课程前校验相关课程的成绩信息,而校验成绩的SQL语句在业务不繁忙时仍需要1~2分钟才能执行完成。现有服务器硬件情况如下:
CPU:两颗英特尔至强处理器E5-2640 2.50GHz
内存:128GB,主频1600MHz
磁盘:6块600GB 15000转6Gbps SAS硬盘,RAID5
网卡:千兆网卡
为了保证系统稳定运行,现有如下优化方案:
(1)将CPU更换为两颗英特尔至强处理器E5-2690 2.90GHz。
(2)将内存提高到256GB,主频1600MHz。
(3)将磁盘更换为6块800GB读取密集型MLC 6Gpbs硬盘,保持RAID5。
(4)将网卡更换为万兆网卡。
(5)优化校验成绩SQL语句并建立相关索引,校验完成时间降低到1秒。
根据题目描述,请从是否能解决选课运行速度缓慢问题的角度逐个评价以上5个方案并给出原因。
问答题为了保证正确地调度事务的并发操作,事务对数据库对象加锁、解锁需遵守加锁协议。加锁协议中两阶段加锁协议可以保证事务调度____________性。
问答题已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数小于该四位数以后的连续五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt,并把这些四位数存入数组b中,而后对数组b进行升序排序,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。
程序中已定义数组:a[200],b[200],已定义变量:cnt
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>
#define MAX 200 //定义宏变量MAX其值等于200
int a[MAX], b[MAX], cnt=0; //其初始值为0, 定义全局整型一维数组a[MAX], b[MAX]和变量cnt
void writeDat(); //writeDat()函数的说明语句
void jsVal()
{
}
/*readDat()从数据文件in.dat中读取200个四位数存入数组a中*/
void readDat()
{
int i;
FILE *fp;
fp=fopen("in.dat", "r");
for(i=0; i<MAX; i++)
fscanf(fp, "%d",
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal(); //调用jsVal()函数, 实现题目要求的功能
printf("满足条件的数=%d/n", cnt);
for (i=0; i<cnt; i++)
printf("%d", b[i]);
printf("/n");
writeDat();
}
/*函数wnteDat()把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中*/
void writeDat()
{
FILE *fp;
int i;
fp=fopen("out.dat", "w");
fprintf(fp, "%d/n", cnt);
for(i=0; i<cnt; i++)
fprintf(fp, "%d/n", b[i]);
fclose(fp);
}
问答题下列程序的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt,以及满足此条件的所有SIX与NINE的和sum。请编写函数countValue()实现程序功能,最后调用函数writetDAT(),把结果cnt和sum输出到文件OUT.DAT中。其中的S,I,X,N,E各代表一个十进制数。
请勿改动主函数main()和写函数writeDAT()的内容。
[试题程序]
#include<stdio.h>
int cnt, sum;
void writeDAT();
void countValue()
{
}
void main()
{
cnt=sum=0;
countValue();
printf("满足条件的数的个数=%d/n", cnt);
printf("满足条件的所有SIX与NINE的和=%d/n", sum);
writeDAT();
}
void writeDAT()
{
FILE*fp;
fp=fopen("OUT.DAT", "w");
fprintf(fp, "%d/n%d/n", cnt, sum);
fclose(fp);
}
问答题在SQL Server 2008中,计算两个日期之差的函数是_________。
问答题设有如下UML图。该图是一种_______图。
问答题数据库管理系统为三级模式结构提供了两层映像机制,其中模式/内模式映像提供了_________独立性。
问答题已知数据文件IN24.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中。请编制函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT24.DAT文件中。 例如:6712,6+2=7+1,则该数满足条件,存入数组b中,且个数cnt=cnt+1。 8129,8+9≠1+2,则该数不满足条件,忽略。 注意:部分源程序已给出。 程序中已定义数组:a[300],b[300],已定义变量:cnt。 请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。 试题程序: #include〈stdio.h> int a[300], bi300], cnt=0; void jsValue() main ( ) int i; readDat(); jsValue(); writeDat(); printf("cnt=%d/n", cnt); for(i=0; i〈cnt; i++) printf("b[%d]=%d/n", i, b[i]); readDat() FILE *fp; int i; fp = fopen("IN24.DAT", "r"); for(i=0; i〈300; i++) fscanf(fp, "%d,", fclose(fp); writeDat() FILE *fp; int i; fp = fopen("OUT24.DAT", "w"); fprintf (fp, "%d/n",cnt); for(i=0; i〈cnt; i++) fprintf(fp, "%d,/n", b[i]); fclose(fp);
问答题现有系表(系号,系名,联系电话)和教师表(教师号,教师名,职称,工资,系号)。目前某些系还没有招聘到教授,如果要用一个查询语句列出没有招聘到教授的系的系号和系名,用_________连接操作可以实现这个查询。
