当前位置:文档之家› 2011湖南省数据库考试含答案入门

2011湖南省数据库考试含答案入门

1、本题应使用深度优先遍历,从主调函数进入dfs(v)时,开始记数,若退出dfs()前,已访问完有向图的全部顶点(设为n个),则有向图有根,v为根结点。将n个顶点从1到n编号,各调用一次dfs()过程,就可以求出全部的根结点。题中有向图的邻接表存储结构、记顶点个数的变量、以及访问标记数组等均设计为全局变量。建立有向图g的邻接表存储结构参见上面第2题,这里只给出判断有向图是否有根的算法。

int num=0, visited[]=0 //num记访问顶点个数,访问数组visited初始化。

const n=用户定义的顶点数;

AdjList g ; //用邻接表作存储结构的有向图g。

void dfs(v)

{visited [v]=1; num++; //访问的顶点数+1

if (num==n) {printf(“%d是有向图的根。\n”,v); num=0;}//if

p=g[v].firstarc;

while (p)

{if (visied[p->adjvex]==0) dfs (p->adjvex);

p=p->next;} //while

visited[v]=0; num--; //恢复顶点v

}//dfs

void JudgeRoot()

//判断有向图是否有根,有根则输出之。

{static int i ;

for (i=1;i<=n;i++ ) //从每个顶点出发,调用dfs()各一次。

{num=0; visited[1..n]=0; dfs(i); }

}// JudgeRoot

算法中打印根时,输出顶点在邻接表中的序号(下标),若要输出顶点信息,可使用g[i].vertex。

2、编写一个过程,对一个n×n矩阵,通过行变换,使其每行元素的平均值按递增顺序排列。

3、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。20分

void Hospital(AdjMatrix w,int n)

//在以邻接带权矩阵表示的n个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。

{for (k=1;k<=n;k++) //求任意两顶点间的最短路径

for (i=1;i<=n;i++)

for (j=1;j<=n;j++)

if (w[i][k]+w[k][j]

m=MAXINT; //设定m为机器内最大整数。

for (i=1;i<=n;i++) //求最长路径中最短的一条。

{s=0;

for (j=1;j<=n;j++) //求从某村庄i(1<=i<=n)到其它村庄的最长路径。

if (w[i][j]>s) s=w[i][j];

if (s<=m) {m=s; k=i;}//在最长路径中,取最短的一条。m记最长路径,k记出发顶点的下标。

Printf(“医院应建在%d村庄,到医院距离为%d\n”,i,m);

}//for

}//算法结束

对以上实例模拟的过程略。各行中最大数依次是9,9,6,7,9,9。这几个最大数中最小者为6,故医院应建在第三个村庄中,离医院最远的村庄到医院的距离是6。

1、对图1所示的连通网G,请用Prim算法构造其最小生成树(每选取一条边画一个图)。

4、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。若非二叉排序树,则置flag为false。

#define true 1

#define false 0

typedef struct node

{datatype data; struct node *llink,*rlink;} *BTree;

void JudgeBST(BTree t,int flag)

// 判断二叉树是否是二叉排序树,本算法结束后,在调用程序中由flag得出结论。

{ if(t!=null && flag)

{ Judgebst(t->llink,flag);// 中序遍历左子树

if(pre==null)pre=t;// 中序遍历的第一个结点不必判断

else if(pre->datadata)pre=t;//前驱指针指向当前结点

else{flag=flase;} //不是完全二叉树

Judgebst (t->rlink,flag);// 中序遍历右子树

}//JudgeBST算法结束

5、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。若非二叉排序树,则置flag为false。

#define true 1

#define false 0

typedef struct node

{datatype data; struct node *llink,*rlink;} *BTree;

void JudgeBST(BTree t,int flag)

// 判断二叉树是否是二叉排序树,本算法结束后,在调用程序中由flag得出结论。

{ if(t!=null && flag)

{ Judgebst(t->llink,flag);// 中序遍历左子树

if(pre==null)pre=t;// 中序遍历的第一个结点不必判断

else if(pre->datadata)pre=t;//前驱指针指向当前结点

else{flag=flase;} //不是完全二叉树

Judgebst (t->rlink,flag);// 中序遍历右子树

}//JudgeBST算法结束

6、请设计一个算法,要求该算法把二叉树的叶子结点按从左到右的顺序连成一个单链表,表头指针为head。二叉树按二叉链表方式存储,链接时用叶子结点的右指针域来存放单链表指针。分析你的算法的时、空复杂度。

7、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件放入背包(这时背包可放入物品的重量变为s-w[n])。若第n件物品不能放入背包,则考虑从n-1件物品选若干件放入背包(这时背包可放入物品仍为s)。若最终s=0,则有一解;否则,若s<0或虽然s>0但物品数n<1,则无解。

(1)s-w[n],n-1 //Knap(s-w[n],n-1)=true

(2)s,n-1 // Knap←Knap(s,n-1)

8、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。

int LeafKlevel(BiTree bt, int k) //求二叉树bt 的第k(k>1) 层上叶子结点个数

{if(bt==null || k<1) return(0);

BiTree p=bt,Q[]; //Q是队列,元素是二叉树结点指针,容量足够大

int front=0,rear=1,leaf=0; //front 和rear是队头和队尾指针, leaf是叶子结点数int last=1,level=1; Q[1]=p; //last是二叉树同层最右结点的指针,level 是二叉树的层数

while(front<=rear)

{p=Q[++front];

if(level==k && !p->lchild && !p->rchild) leaf++; //叶子结点

if(p->lchild) Q[++rear]=p->lchild; //左子女入队

if(p->rchild) Q[++rear]=p->rchild; //右子女入队

if(front==last) {level++; //二叉树同层最右结点已处理,层数增1

last=rear; } //last移到指向下层最右一元素

if(level>k) return (leaf); //层数大于k 后退出运行

}//while }//结束LeafKLevel

9、设T是一棵满二叉树,编写一个将T的先序遍历序列转换为后序遍历序列的递归算法。

10、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的Wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。20分

void Hospital(AdjMatrix w,int n)

//在以邻接带权矩阵表示的n个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。

{for (k=1;k<=n;k++) //求任意两顶点间的最短路径

for (i=1;i<=n;i++)

for (j=1;j<=n;j++)

if (w[i][k]+w[k][j]

m=MAXINT; //设定m为机器内最大整数。

for (i=1;i<=n;i++) //求最长路径中最短的一条。

{s=0;

for (j=1;j<=n;j++) //求从某村庄i(1<=i<=n)到其它村庄的最长路径。

if (w[i][j]>s) s=w[i][j];

if (s<=m) {m=s; k=i;}//在最长路径中,取最短的一条。m记最长路径,k记出发顶点的下标。

Printf(“医院应建在%d村庄,到医院距离为%d\n”,i,m);

}//for

}//算法结束

对以上实例模拟的过程略。各行中最大数依次是9,9,6,7,9,9。这几个最大数中最小者为6,故医院应建在第三个村庄中,离医院最远的村庄到医院的距离是6。

1、对图1所示的连通网G,请用Prim算法构造其最小生成树(每选取一条边画一个图)。

11、假设K1,…,Kn是n个关键词,试解答:

试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K1,K2,…,Kn 时,用算法建立一棵以LLINK / RLINK 链接表示的二叉查找树。

12、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一个遍历序列。但对于满二叉树,任一结点的左右子树均含有数量相等的结点,根据此性质,可将任一遍历序列转为另一遍历序列(即任一遍历序列均可确定一棵二叉树)。

void PreToPost(ElemType pre[] ,post[],int l1,h1,l2,h2)

//将满二叉树的先序序列转为后序序列,l1,h1,l2,h2是序列初始和最后结点的下标。

{if(h1>=l1)

{post[h2]=pre[l1]; //根结点

half=(h1-l1)/2; //左或右子树的结点数

PreToPost(pre,post,l1+1,l1+half,l2,l2+half-1) //将左子树先序序列转为后序序列PreToPost(pre,post,l1+half+1,h1,l2+half,h2-1) //将右子树先序序列转为后序序列

} }//PreToPost

32. .叶子结点只有在遍历中才能知道,这里使用中序递归遍历。设置前驱结点指针pre,初始为空。第一个叶子结点由指针head指向,遍历到叶子结点时,就将它前驱的rchild指针指向它,最后叶子结点的rchild为空。

LinkedList head,pre=null; //全局变量

LinkedList InOrder(BiTree bt)

//中序遍历二叉树bt,将叶子结点从左到右链成一个单链表,表头指针为head

{if(bt){InOrder(bt->lchild); //中序遍历左子树

if(bt->lchild==null && bt->rchild==null) //叶子结点

if(pre==null) {head=bt; pre=bt;} //处理第一个叶子结点

else{pre->rchild=bt; pre=bt; } //将叶子结点链入链表

InOrder(bt->rchild); //中序遍历左子树

pre->rchild=null; //设置链表尾

}

return(head); } //InOrder

时间复杂度为O(n),辅助变量使用head和pre,栈空间复杂度O(n)

13、冒泡排序算法是把大的元素向上移(气泡的上浮),也可以把小的元素向下移(气泡的下沉)请给出上浮和下沉过程交替的冒泡排序算法。

48.有n个记录存储在带头结点的双向链表中,现用双向起泡排序法对其按上升序进行排序,请写出这种排序的算法。(注:双向起泡排序即相邻两趟排序向相反方向起泡)

14、我们可用“破圈法”求解带权连通无向图的一棵最小代价生成树。所谓“破圈法”就是“任取一圈,去掉圈上权最大的边”,反复执行这一步骤,直到没有圈为止。请给出用“破圈法”求解给定的带权连通无向图的一棵最小代价生成树的详细算法,并用程序实现你所给出的算法。注:圈就是回路。

15、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。

int LeafKlevel(BiTree bt, int k) //求二叉树bt 的第k(k>1) 层上叶子结点个数

{if(bt==null || k<1) return(0);

BiTree p=bt,Q[]; //Q是队列,元素是二叉树结点指针,容量足够大

int front=0,rear=1,leaf=0; //front 和rear是队头和队尾指针, leaf是叶子结点数

int last=1,level=1; Q[1]=p; //last是二叉树同层最右结点的指针,level 是二叉树的层数

while(front<=rear)

{p=Q[++front];

if(level==k && !p->lchild && !p->rchild) leaf++; //叶子结点

if(p->lchild) Q[++rear]=p->lchild; //左子女入队

if(p->rchild) Q[++rear]=p->rchild; //右子女入队

if(front==last) {level++; //二叉树同层最右结点已处理,层数增1

last=rear; } //last移到指向下层最右一元素

if(level>k) return (leaf); //层数大于k 后退出运行

}//while }//结束LeafKLevel

《数据库基础及应用》期末试题

2005年7月考生注意:本试卷考核方式为上机操作,时间为120分钟。 理论部分:把答案写在word文档中,然后保存到以本人学号姓名命名文件夹中。 一、填空(共30分,每空1分) 1.一个完整的数据库系统由________________、________________、________________、数据库管理员和用户组成。 2.Visual FoxPro 6.0 数据库管理系统基于______模型,提供了面向______的程序设计方法。3.实体间的联系可以分为三种类型,分别是、和。4.关系模型主要由、和完整性约束三大部分组成。 5.获取字符串中间部分字符可用_____________函数。 6.记录指针从当前记录向上移动3条记录的命令是,移动指针到表头的命令是。 7.表达式3+5<4.OR.’ABC’!=STR(123).AND..NOT..T.的值为_____________。 8.Visual FoxPro 6.0中有四种类型的索引:、、 和唯一索引。 9.Visual FoxPro 6.0 提供的类有两种:________和_________。 10.一个对象的性质如:长、宽、颜色、字体等叫做它的________。 11.从表中的当前记录开始,向下删除共5条记录的命令是。 12.数据库的保护主要包括四个方面的内容:、 和。 13.截取字符串”河北电大”得到结果为“电大”,函数表达式为:。14.数据库表之间的关系有和两种,其中建立 关系可以实现表间的指针联动。 15.下面这段程序实现的功能是计算1+3+5+…+99的和,请在下划线填上所缺语句: s=0 i=1 do while i<100 s=s+i enddo ?"1+3+5+…+99=",s 二、判断题(共10分,每题1分)(对的画√,错的画×) 1.同一个表中可以有相同的字段名。()2.逻辑运算符的优先级比关系运算符的优先级高。()3.str(2345.546,7,2)的结果为2345.546。()4.LOOP语句可在IF语句中使用。()5.FIELDS 子句用于指定操作的字段名,没有这项表示对所有字段操作。()6.数据库表和自由表都能建立主索引。()7.表文件间的关系有临时关系和永久关系二种情况。()8.临时关系的作用是:使关联表之间的记录指针能关联移动;()9.主索引和候选索引都能使记录的关键字值不重复。()10.删除内存变量A的命令是clear A。()

数据库系统基础教程(第二版)课后习题答案

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

数据库期末考试填空题及答案

1 .数据库数据具有__________、__________和__________三个基本特点。 2.数据库管理系统是数据库系统的一个重要组成部分,它的功能包括__________、__________、__________、__________。 3. 数据库系统是指在计算机系统中引入数据库后的系统,一般由__________、__________、__________和__________构成。 4. 数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:__________阶段,__________阶段和__________阶段。 5. 数据库具有数据结构化、最小的__________、较高的__________等特点。 6. DBMS还必须提供__________保护、__________检查、__________、__________等数据控制功能。 7. 模式(Schema)是数据库中全体数据的__________和__________的描述,它仅仅涉及到__________的描述,不涉及到具体的值。 8. 三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的__________和__________。 9. 根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是__________,第二类是__________。 10. 数据模型的三要素是指__________,__________,__________。实际数据库系统中所支持的主要数据模型是__________,__________,__________。 11. 数据模型中的__________是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,__________是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。 12. 用树型结构表示实体类型及实体间联系的数据模型称为__________模型,上一层的父结点和下一层的子结点之间的联系是的联系。 13. 用有向图结构表示实体类型及实体间联系的数据模型称为__________模型,数据之间的联系通常通过__________实现。 14. 关系的完整性约束条件包括三大类:__________、__________和__________。 15. 关系数据模型中,二维表的列称为________,二维表的行称为________。 16. 用户选作元组标识的一个候选码为________,其属性不能取________。 17. 关系代数运算中,传统的集合运算有_____,_____,_____,_____。 18. 关系代数运算中,基本的运算是________,________,________,________,________。 (问答题) 19. 关系代数运算中,专门的关系运算有________,________,________。 20. 关系数据库中基于数学上的两类运算是________和________。 21. 关系代数中,从两个关系中找出相同元组的运算称为________运算。 22. R S表示R与S的________。 23. 设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,XB表示性别,NL表示年龄,DP表示系部。查询学生姓名和所在系的投影操作的关系运算式是________________。 24. 在“学生-选课-课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为________________。 25. 已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是________,系关系的外码是________,学生关系的主码是________,学生关系的外码是________。

南京理工大学《数据库系统基础教程》试题和答案

一、选择题60(选择一个最合适的答案,在答题纸上涂黑) 1.一个事务中的一组更新操作是一个整体,要么全部执行,要么全部不执行。这是事务的:A.原子性B.一致性 C.隔离性 D.持久性 2.在数据库的三级模式结构中,描述一个数据库中全体数据的全局逻辑结构和特性的是:A.外模式 B.模式 C.存储模式D.模式 3.关于联系的多重性,下面哪种说法不正确? A.一个多对多的联系中允许多对一的情形。 B.一个多对多的联系中允许一对一的情形。 C.一个多对一的联系中允许一对一的情形。 D.一个多对一的联系中允许多对多的情形。 4.考虑学校里的"学生"和"课程"之间的联系,该联系的多重性应该是: A. 一对一 B. 多对一 C. 一对多 D. 多对多 5.下面哪种约束要求一组属性在同一实体集任意两个不同实体上的取值不同。 A. 键(key)约束。 B. 单值约束。 C. 参照完整性。 D. 域(domain)约束 6.关系模型要求各元组的每个分量的值必须是原子性的。对原子性,下面哪种解释不正确:A.每个属性都没有部结构。 B.每个属性都不可再分解。 C.各属性值应属于某种基本数据类型。 D.属性值不允许为NULL。 7.对于一个关系的属性(列)集合和元组(行)集合,下面哪种说法不正确: A.改变属性的排列次序不影响该关系。 B.改变元组的排列次序不影响该关系。 C.改变元组的排列次序会改变该关系。 D.关系的模式包括其名称及其属性集合。 8.若R是实体集R1与R2间的一个多对多联系,将其转换为关系R',哪种说法不正确:A.R'属性应包括R1与R2的所有属性。 B.R'属性应包括R1与R2的键属性。 C.R1与R2的键属性共同构成R'的键。 D.R'的属性应包括R自身定义的属性。 9.关于函数依赖的判断,下面哪种说法不正确? A.若任意两元组在属性A上一致,在B上也一致,则有A → B成立。 B.若任意两元组在属性A上一致,在B上不一致,则A → B不成立。 C.若任意两元组在属性A上不可能一致,则不管在B上是否一致,有A → B成立。

sql数据库期末考试题及答案

一、单选题(共 10 道试题,共 50 分。)V 1. SQL Server中,保存着每个数据库对象的信息的系统表是( C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D )。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A )。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D )约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D )。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。 A. SELECT * FROM CP WHERE 产品名称 LIKE ‘冰箱’ B. SELECT * FROM XSH WHERE 产品名称 LIKE ‘冰箱’ C. SELECT * FROM CP WHERE 产品名称 LIKE ‘%冰箱%’ D. SELECT * FROM CP WHERE 产品名称=‘冰箱’ 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D )。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 9. 列值为空值(NULL),则说明这一列( C)。 A. 数值为0

考试系统数据库设计

数据库设计 4.2.1 概念结构设计 本系统的E-R图如图4-2所示。 图4-2 E-R 图 4.2.2 逻辑结构设计 课程表设置如表4-1所示 表4-1 课程表 列名数据类型长度是否为空注释 ID int8no课程编号name varchar50no课程名称 填空题表设置如表4-2所示 表4-2 填空题 列名数据类型长度是否为空注释 id int4no编号 CourseID int8no课程编号FrontTitle varchar500no前半部分题目BackTitle varchar500no后半部分题目Answer varchar200no答案

判断题表设置如表4-3所示 表4-3 判断题表 列名数据类型长度是否为空注释id int4no编号CourseID int8no课程编号Title varchar1000no题目Answer bit1no答案 多选题表设置如表4-4所示 表4-4 多选题表 列名数据类型长度是否为空注释id int4no编号CourseID int8no课程编号Title varchar1000no题目AnswerA varchar500no答案A AnswerB varchar500no答案B AnswerC varchar500no答案C AnswerD varchar500no答案D Answer varchar50no答案 试卷表设置如表4-5所示 表4-5 试卷表 列名数据类型长度是否为空注释PaperID int8no试卷编号CourseID int8no课程编号PaperName varchar200no试卷题目PaperState bit1no试卷状态 试卷明细表设置如表4-6所示 表4-6 试卷明细表 列名数据类型长度是否为空注释ID int8no编号PaperID int8no试卷编号Type varchar10no试题类型TitleID int8yes题目编号Mark int8yes分值 考生成绩表设置如表4-7所示 表4-7 考生成绩表

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

《数据库》2016期末考试卷

高二《数据库应用基础》期末考试试卷 制卷人:贾静 一、填空题(共30分,每空1分) 1.在VFP数据库中,三种数据模型有层次模型,网状模型和。 2.VFP中字符型字段的最大宽度为。 3.表达式5+6*3**2%7的结果是。 4.表达式Y E A R(D A T E()+8)的数据类型为。 5.实体之间的联系可以分成一对一的联系,一对多的联系和。 6.在Visual FoxPro中可以打开多个数据库,但在任一时刻,只能对其中一个数据库进 行操作,这个数据库称为。 7.在Visual FoxPro中可以打开多个表,但在任一时刻,每个工作区只能打开一张表, 默认操作的工作区只有一个,称为。 8.在VFP6.0中显示表结构的命令为。 9.在VFP6.0中修改表结构命令是: 10.在5号工作区打开XSDA表使用命令:。 11.测试一张表里记录总数的函数为。 12.当前记录指针指向第15号记录上,现在若移动记录指针指向第12号记录上,则在 命令窗口输入。 13.在输出屏幕上显示当前表中所有的记录命令为。 14.打开表设计器创建一个表名为XSDA.DBF表的命令为。 15.使用命令创建数据库的命令为。 16.选择一个没有使用的工作区号中最小的工作区命令为。 17.在VFP中项目文件的扩展名为。 18.在Visual Foxpro中数据库文件的扩展名为。 19.Visual Foxpro中有两种表,分别是和。 20.STR(1357.2468,8,3)的值为,VAL(“-215.5XY7”)的值为。 21.在屏幕显示表的当前记录号的命令为,在屏幕显示当前记录信息的命令 为。 22.Asc(“C”)的结果为,LEN(STR(211))的值为。23.VFP中的表的数据项称为,一个表最多允许有个字段。 24.在VFP的表允许多种字段类型并且各种类型的宽度都不同,日期型字段的宽度为 25.逻辑型字段的宽度为。 二、单项选择题(共40分) 1.VFP是一种()的数据库管理系统。 2. A. 层次模型 B.关系模型 C.结构模型 D.网络模型 3.定义数组A(4,5)后,有()个元素。 4. A.2 B.20 C. 9 D.10 5.数组元素建立后,其初值为() 6. A.0 B. .F. C. NULL D. .T. 7.数据库管理系统的英文缩写是() 8. A. DB B.DBMS C.DBS D.DB2 9.下列表达式中结果为真的是() 10.A. “3”-“2”=“1” B. “3”+“2”=“5” 11.C. “3”-“2”=“32” D. “3”-“2”=“23” 12.表达式MOD(12,7)的值是() 13.A. 5 B.-2 C.-5 D.2 14.下列表达式中结果为.T.的是() 15.A. “9”< “10” B. “王五”$ “王” 16.C.{^05/06/16}>{^08/02/15} D.9>10 17.TYPE(“123.456”)的结果为() 18.A.C B.N C.U D.L 19.表达式SBUSTR(RIGHT(“数据库技术基础”,8),5,4)的结果为() 20.A. 基础 B.术基 C.基 D.技术 21.命令?STR(357.268,5,1)的执行后的结果是() 22.A. 357 B. 357.2 C.357.3 D.357. 23.下列关于数据库表的叙述中,错误的是()。 24.A. 一个数据库表只能属于一个数据库 25.B.一个数据库表可以属于多个数据库 26.C.数据库表可以移出数据库成为多个数据库 27.D.自由表可以添加到数据库中成为数据库表

在线考试系统数据库设计

在线考试系统数据库设计 0.试题类型表exam_ptype // Id 编号 Type 类型名称(C++,Java,Android...) string 1.单项选择题相关信息表exam_schoose // Id 编号 Tid 所属类型(java,C++,Android...) DrawpersonId 出题人编号 Drawtime 出题时间 QuestionText 问题文本 degree 难度(int) OptionA 选项A OptionB 选项B OptionC 选项C OptionD 选项D Answer 答案 Score 分值 2.多项选择题相关信息表exam_mchoose // Id 编号 Tid 所属类型(java,c++,Android...) Drawpersonid 出题人Id Drawtime 出题时间 QuestionText 问题文本 chooseCount 选项数量(<7个) Degree 难度 OptionA 选项A OptionB 选项B OptionC 选项C OptionD 选项D OptionE 选项E OptionF 选项F Answer 答案(由多个答案拼接成的) Score 分值

3.判断题相关信息表exam_judge // Id 编号 Tid 所属类型(java,c++,Android...) Drawpersonid 出题人id Drawtime 出题时间 Degree 难度 QuestionText 问题文本 Answer 答案 Score 分值 4.应用题相关信息表exam_application // Id 编号 Tid 所属类型(java,c++,Android...) Drawpersonid 出题人id Drawtime 出题时间 Degree 难度 QuestionText 问题文本 Answer 答案 Score 分值 //5.考生信息表exam_user // Id 编号 Username 用户名 Password 密码 Realname 真实姓名 idcard身份证号码 6.考生成绩信息表exam_score // Id 编号 sid考生号 Ip 考试机IP地址 Starttime 考试时间 Pid 试卷编号 Score 成绩

数据库设计练习题

1、为某百货公司设计一个E-R模型。 百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。 实体类型“商店”的属性有:店号、店名、店址、店经理。 实体类型“商品”的属性有:商品号、品名、单价、产地。 实体类型“职工”的属性有:工号、姓名、性别、工资。 在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。 (1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。 (2)根据画出的E-R图,设计数据库系统的关系模型。 2.设某商业集团数据库中有三个实体集。一就是“商店”实体集,属性有商店编号、商店名、地址等;二就是“商品”实体集,属性有商品号、商品名、规格、单价等;三就是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期与月薪。 (1)试画出E-R图,并在图上注明属性、联系的类型。 (2)将E-R图转换成关系模型,并注明主键与外键。 3.假设某公司的业务规则如下: ( 1 )公司下设几个部门,如技术部、财务部、市场部等。 ( 2 )每个部门承担多个工程项目,每个工程项目属于一个部门。 ( 3 )每个部门有多名职工,每一名职工只能属于一个部门。 ( 4 )一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工。每名职工可以参与该部门的多个工程项目,根据职工在工程项目中完成的情况发放酬金。 ( 5 )工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属性;职工有职工号、姓名、性别属性。 4、一个图书借阅管理数据库要求提供下述服务: 可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期与还书日期。且任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。且一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 5、某医院病房计算机管理中需要如下信息: 科室:科名,科地址,科电话,医生姓名 病房:病房号,床位数,所属科室名 医生:姓名,职称,所属科室名,年龄,工作证号 病人:病历号,姓名,性别,诊断,主官医生,病房号,床位号 其中,一个科室可有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个,一个病房可以住多位病人,每位病人对 应一个床位。 6、某酒店管理信息系统具有以下实体、属性及语义描述: 房间:房间号,床位数量。 客户:顾客编号,姓名,年龄,性别。

sql数据库期末考试题及答案

A.sysdatabases B.Syscolu mns C.Sysobjects D.Syslogs 2.在存在下列关键字的SQL语句中,不可能出现 Where子句的是(D )。 A.Update B.Delete C.I nsert D.Alter 3.在查询语句的 Where子句中,如果出现了" age Between 30 and 40 ” ,这个表达式等同于( A )。 A.age>=30 and age<=40 B.age>=30 or age<=40 C.age>30 and age<40 D.age>30 or age<40 4.如果要在一张管理职工工资的表中限制工资的输入范围,应使用( D )约束。 A.PDRIMARY KEY B.FOREIGN KEY C.unique D.check 5.记录数据库事务操作信息的文件是(D )。 A.数据文件 B.索引文件 C.辅助数据文件 D.日志文件 6.要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用( C)命令。

A.SELECT * FROM CP WHERE产品名称 LIKE '冰箱’

B.SELECT * FROM XSH WHERE产品名称 LIKE '冰箱' C.SELECT * FROM CP WHERE产品名称 LIKE ' %冰箱 % D.SELECT * FROM CP WHERE产品名称='冰箱’ 7.储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是( D )。 A.一对一的联系 B.一对多的联系 C.多对一的联系 D.多对多的联系 8.SQL的聚集函数 COUNT SUM AVG MAX MIN不允许出现在查询语句的(D)子句之中。 A.SELECT B.HAVING C.GROUP BY…HAVING D.WHERE 9.列值为空值(NULL,则说明这一列(C)。 A.数值为0 B.数值为空格 C.数值是未知的 D.不存在 10.数据库的数据一般存放在(D )中。 A.内存 B.CPU C.寄存器 D.磁盘 二、判断题(共10道试题,共50分。) 1.如果定义视图的FROM?句包括多张表,并且视图中列来自多张表,则不能用DML语句 通过视图操纵数据。B

数据库系统基础教程(第二版)课后习题答案2

Database Systems: The Complete Book Solutions for Chapter 2 Solutions for Section 2.1 Exercise 2.1.1 The E/R Diagram. Exercise 2.1.8(a) The E/R Diagram Kobvxybz Solutions for Section 2.2 Exercise 2.2.1 The Addresses entity set is nothing but a single address, so we would prefer to make address an attribute of Customers. Were the bank to record several addresses for a customer, then it might make sense to have an Addresses entity set and make Lives-at a many-many relationship. The Acct-Sets entity set is useless. Each customer has a unique account set containing his or her accounts. However, relating customers directly to their accounts in a many-many relationship conveys the same information and eliminates the account-set concept altogether. Solutions for Section 2.3 Exercise 2.3.1(a) Keys ssNo and number are appropriate for Customers and Accounts, respectively. Also, we think it does not make sense for an account to be related to zero customers, so we should round the edge connecting Owns to Customers. It does not seem inappropriate to have a customer with 0 accounts;

SQLServer数据库期末复习试题试卷及答案

现有关系数据库如下: 数据库名:教学数据库(Teacher) 教师信息表(教师编号,姓名,性别,民族,职称,身份证号) 课程信息表(课程号,课程名,标准课时数) 任课信息表(教师编号,课程号,实际课时数) 一、用SQL语言实现下列功能 1. 创建数据库。 要求:数据库名为 Teacher,主数据文件名为 Teacher_data.MDF,存放在目录下,初始值大小为2MB增长方式为按照10%的比例增长;日志文件名为Teacher_log.LDF,存放在目录下,初始值大小为 1MB增长方式为按照1MB的增量增长。 2. 创建教师信息表Teacherinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Teacher_Id char 6 主键教师编号 Teacher_Name n varchar 8 不允许空姓名 Sex n char 2 检查(男/女)性别 Birth_Place n varchar 20 默认值(汉族)民族 Zhiche ng n varchar 20 不允许空职称 H Id char 16 唯一身份证号 3.创建课程信息表Course info,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Course_ld char 5 主键】田千口i=r. 课程 号 Course_Name n varchar 20 不允许空课程名 B Hours Int 检查(0~200) 标准课时数 4.创建任课信息表TCinfo,数据表的各字段属性如下表所示: 列名数据类型长度属性描述 Id int 自动编号 Teacher_Id char 6 外键教师编号 Course_Id char 5 外键】田千口 i=r. 课程号S Hours Int 实际课时数 5. 将下列课程信息添加到课程表中: 课号课程名称课时数 30001 SQL Server 数据库 90 30002 数据结构60 30003 VB 程序设计72 修改课号为30003的课程名称:Visual Basic 程序设计。

在线考试系统数据库设计与实现

西南财经大学Southwestern University of Finance and Economics 课程实验报告 课程名称:数据库 学生姓名:周小钰、李佳颖 学院:经济信息工程学院 专业:计算机科学与技术 指导教师:李玉荣. 2016年12月

1.课程设计题目与要求 1.1数据库设计题目 设计和实现一个网上在线考试系统,系统应完成以下基本的业务: a.至少两个教师,每个教一门课程 b.每个班至少包含十名学生。 c.教师能够修改试卷的题目并模仿一名同学参加一门考试 d.教师可提取一份试卷查卷 e.教师可检查其所教班级的成绩、任一学生的成绩以及查询全班的平均 成绩和总成绩。 f.每一套题至少包括十道选择题 g.选择题自动阅卷,书写题人工阅卷 以上很粗略描述了网上考试系统的基本要求,你们可以根据实际问题的需要,补充和细化系统的要求。 本课程设计包括两个部分:数据库和用户界面(用户图形化界面基本要求就是登录加试卷内容的提取) 1.2数据库设计要求 a.使用java/c语言,源程序要有适当的注释,使程序易于阅读 b.建议作出用户界面 c.学生可自动增加新功能模块 2.数据库设计过程 2.1需求分析 2.1.1业务范围 a.增加、删除、维护学生账号,老师账号,课程信息和选课信息 b.在线出题、出题过程可修改试题、答题、分数 c.学生若有疑问可以由老师提出自己的答卷查卷 d.统计一个班的学生的成绩情况供老师分析 e.提取试题 2.1.2业务流程 a.进入在线考试系统 b.通过输入账号密码判断身份,分别进入不同界面: (1)进入管理员界面后获取管理员身份。管理员具有对整个系统

数据库课程设计-试题库管理系统

《数据库系统概论》课程设计 实验报告 题目试题库管理系统 学院商学院 专业信息管理与信息系 班级信息101 学号 2 学生姓名杨贵文 同组成员周杭施建炉王于宾 指导教师宣军英 编写日期2012-06-19——2012-06-29

一、课题名称:试题库管理系统 二、课题要求:结合所学知识,开发一个简易的试题库管理系统。 三、实验目的:结合本学期所学知识,使学生温故而知新,并在实践操作上增加对数据库系统设计的认识和理解。 四、实验步骤: 五、1、需求分析 2、概念结构设计 3、逻辑结构设计 4、物理结构设计 5、数据库实施 6、数据库运行和维护 六、课程开发内容: 5.1 需求分析 5.1.1 系统调查 对现行的试题库管理业务进行了详细的调查和研究是了解系统需求和进行系统分析和设计的重要基础工作,因此要对我们的试题库管理工作进行全面的细致的调查研究。首先与相关的老师进行了交流和沟通,了解他们对试题库管理的看法,看看有没有什么新的要求,在这个基础上,结合自身所掌握的知识水平,量力而行开发相应的试题库管理系统。

在调查中我们可以发现,高校的试题库是极其庞大的,如果没有一个智能的系统将人们从手工阶段解放出来,那么一个庞大的、完整的试题库是无法有效运行的,甚至出题的老师也无法有效、准确地在试题库中抽取自己所需要的试题,这等于说是一个没有实际运用价值的试题库。所以说,他们对希望有这样的一个可以详细地表示试题属性的这样的一个试题库。那么今天我们就围绕着这样的一个目标展开我们的工作。 5.1.2 用户需求 要设计一个性能良好的管理系统,明确用户的应用环境对 系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析: 1)用户的需求信息:出题老师可以看到题目所属的类型和题目所考察的内容以及试题的分值和 难度等级。当然这个权限也给管理员和系主任。 2)用户的处理要求:管理员可以对试题库进行插入和删除操作,出题老师可以凭借自己自定义的 选题要求在试题库中选择自己需求的试题,这个权限 也对系主任开放。 3)对系统的适应性、通用性要求:要求系统不仅能提供一门课程的试题库管理,还要综合多么学 科进行管理,建立一个高效的试题库管理系统。

数据库期末考试复习题及答案

数据库期末考试复习题及答案 试题一 一、单项选择题 在每小题列出的四个备选项中只有一个是符合题目要 求的,请将其代码填写在题后的括号内。错选、多选 或未选均无分。 1. 数据库系统的核心是( B ) A.数据库B.数据库管理系统 C.数据模型D.软件工具 2.下列四项中,不属于数据库系统的特点的是(C ) A.数据结构化B.数据由DBMS统一管理和控制 C.数据冗余度大D.数据独立性高 3.概念模型是现实世界的第一层抽象,这一类模型中最着名的模型是 ( D ) A.层次模型B.关系模型 C.网状模型D.实体-联系模型 4.数据的物理独立性是指( C ) A.数据库与数据库管理系统相互独立 B.用户程序与数据库管理系统相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立

的 D.应用程序与数据库中数据的逻辑结构是相互独立的 5.要保证数据库的逻辑数据独立性,需要修改的是( A )A.模式与外模式之间的映象B.模式与内模式之间的映象 C.模式D.三级模式 6.关系数据模型的基本数据结构是(D ) A.树B.图C.索引D.关系 7.有一名为“列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是( C )A.车次B.日期 C.车次+日期D.车次+情况摘要 8.己知关系R和S,R∩S等价于( B ) A. (R-S)-S B. S-(S-R) C.(S-R)-R D. S-(R-S) 9.学校数据库中有学生和宿舍两个关系: 学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号)假设有的学生不住宿,床位也可能空闲。如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行( A ) A. 全外联接

sql数据库期末考试题及答案

一、单选题(共10 道试题,共50 分。) 1. SQL Server中,保存着每个数据库对象的信息的系统表是(C)。 A. sysdatabases B. Syscolumns C. Sysobjects D. Syslogs 2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D)。 A. Update B. Delete C. Insert D. Alter 3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A)。 A. age>=30 and age<=40 B. age>=30 or age<=40 C. age>30 and age<40 D. age>30 or age<40 4. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D)约束。 A. PDRIMARY KEY B. FOREIGN KEY C. unique D. check 5. 记录数据库事务操作信息的文件是(D)。 A. 数据文件 B. 索引文件 C. 辅助数据文件 D. 日志文件 6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。 A. SELECT * FROM CP WHERE 产品名称LIKE …冰箱? B. SELECT * FROM XSH WHERE 产品名称LIKE …冰箱? C. SELECT * FROM CP WHERE 产品名称LIKE …%冰箱%? D. SELECT * FROM CP WHERE 产品名称=…冰箱? 7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D)。 A. 一对一的联系 B. 一对多的联系 C. 多对一的联系 D. 多对多的联系 8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。 A. SELECT B. HAVING C. GROUP BY… HAVING D. WHERE 9. 列值为空值(NULL),则说明这一列(C)。 A. 数值为0 B. 数值为空格 C. 数值是未知的 D. 不存在 10. 数据库的数据一般存放在(D)中。 A. 内存 B. CPU C. 寄存器 D. 磁盘 二、判断题(共10 道试题,共50 分。)V 1. 如果定义视图的FROM子句包括多张表,并且视图中列来自多张表,则不能用DML语句通过视图操纵数据。 A. 错误 B. 正确 2. 在sysdatabases中,还记录着存储过程中每个参数的信息。A A. 错误 B. 正确 3. 在SELECT语句中,当使用ORDER BY子句时,一定要使用GROUP BY 子句。A A. 错误 B. 正确 4. 由于索引是独立的,删除表时,与该表相关的索引并不被删除。A A. 错误 B. 正确 5. 日志文件用于存放恢复数据库用的所有日志信息,每个数据库至少拥有一个日志文件,也可以拥有多个日志文件,扩展名ldf B A. 错误 B. 正确 6. 使用INSERT命令一次只能插入一行数据。A A. 错误 B. 正确

相关主题
文本预览
相关文档 最新文档