数据库创建表源程序.docx
《数据库创建表源程序.docx》由会员分享,可在线阅读,更多相关《数据库创建表源程序.docx(8页珍藏版)》请在冰豆网上搜索。
数据库创建表源程序
1.题目要求……………………………………………..1
2.需求分析……………….…………………………….1
2.1功能需求……………………………………….2
2.2运行需求……………………………………….2
2.3目的需求……………………………………….2
3.设计…………………………………………………..2
3.1粗设计…………………………………………..2
3.2详细设计……………………………………..3
3.21主函数………………………………………..3
3.22插入模块………………………………………..5
3.23修改模块……………………………………….7
3.24显示模块……………………………………….8
3.25退出程序………………………………………..8
3.26其他模块……………………………………..10
4.实现…………………………………………………..13
5.总结…………………………………………………..16
一、题目要求
CREATETABLE<表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>])ALTERTABLE<表名>[ADD<新列名><数据类型>[<列完整性约束>]][DROP<列完整性约束名>][MODIFY<列名><数据类型>]要求:
(1)能够以命令方式执行;
(2)能够以程序方式执行;(3)提供课程设计报告。
二、需求分析
1.功能需求
(1)表的建立:
此操作是在用户第一次使用时进行操作的,前提是原表为空。
第一次为建立新链表的过程进入主菜单,选择:
“新建表”即可进行次操作。
进行此项操作时可以直接向新建立的表中添加信息,而且可选择此次操作想添加的人数。
(2)表信息添加:
若要想在表中添加新信息,分两个方面:
一是若此次操作为第一次使用,,则需要先选操作
(1)进行新建,然后才可使用此处的信息添加;二是若该系统中已有建立好的表,则可直接向此表中添加新的信息以此类推。
而且,在每添加一条信息时,系统都将自动为此信息添加一个编号,方便进行其他操作且让用户每次输入的信息不会重复。
(3)表信息修改:
在录入信息错误或信息有更改时,用户将用到此项功能。
在用户使用此项功能时,需要自动提供出查询选项,让用户先将要修改的信息进行查询,找到后再进行修改。
且在查询时判断是否有匹配的信息。
若没有找到匹配信息时要有提示。
(4)表信息删除:
在信息不再需要时,可以进行删除操作。
操作也是要先进行查询操作,在找到匹配信息后,输入相应的人员编号可直接进行删除操作。
删除成功后要有提示,让用户知道此次操作是否完成。
(5)表退出功能:
当用户结束操作时,要进行此项操作。
进入主菜单,选择“0”,退出系统。
2.运行需求
(1)用户界面:
人性化界面,操作简便,一目了然,采用菜单。
本软件部需要特定的硬件或硬件接口进行支撑。
Windows的操作系统均可运行
(2)目的需求
其目的是对数据库有更深的理解,巩固所学的高级语言以及面向对象程序设计知识,进一步掌握面向对象程序设计方法及各种编程技巧。
设计目的是加深对理论教学内容的理解和掌握,使学生掌握程序设计及其在实践中的广泛应用中的基本方法及技巧。
为学生综合运用所学知识,进行软件开发和实践应用方面打下一定基础。
能编写出具有良好风格的程序。
三、设计
3.1粗设计
首先,整个系统必须有一个主函数,为了尽量提高程序的易改行,且不至于相互干扰,将每一个功能分成不同的模块,用不同的函数来实现。
这个表系统共编写了如下函数:
voidmain();//主函数
voidADD(students*&S);//增加数据函数
voidSAVE(students*&S);//添加数据函数
voidUPDATE(students*&S);//更改数据函数
voidPRINT(students*&S);//打印函数
voidUPDATE(students*&S);//修改函数
voidDEL(students*&S);//删除函数
voidSEARCH(students*&S);//搜索主函数
voidSEARCH_NAME(students*&S);//搜索子函数
voidSEARCH_TEL(students*&S);//搜索子函数
3.2详细设计
3.2.1主函数
主函数一般设计得比较简洁,只提供输入,处理和输出部分的函数调用。
其中各功能模块用菜单方式选择。
流程图
N
Y
3.2.2插入模块
此模块为插入信息模块,插入后再调用保存函数来保存所插入的数据,支持多条信息的插入。
流程图
3.3.3显示模块
此模块为显示所有记录,流程图如下:
3.3.4删除模块
此模块先利用查找模块找到所要删除的信息,然后根据用户的选择来确定是否删除信息,此种调用到Save函数。
其流程图如下:
3.3.5修改模块
遍历数组,查找数据,若查到跳出循环,如果找到,则开始修改。
此模块先调用查找函数查找到所要修改的信息,然后用户根据需要来修改信息。
流程图如下:
3.3.6退出系统:
可用一个函数exit()首先将信息保存到文件中释放动态的内存空间,在退出此程序。
3.3.7其他模块
保存模块
intSave(Man*pMan,intSize)//把数据写入文件
{
inti;
FILE*out;
out=fopen("info.txt","w");
if(out==NULL)//判断文件打开成功与否
{
printf("\t\t******文件info.txt打开失败!
***********\n");
printf("\t\t***********************************\n");
return0;
}
for(i=0;i{
fprintf(out,"%s\t%s\t%s\t%s\n",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);
}
fclose(out);
return1;
}
浏览模块
intScan(Man*pMan)//从文本中读取数据
{
printf("\t\t**********正在读取文件信息,请稍后!
***********\n");
inti;
FILE*in=fopen("info.txt","r");
if(in==NULL)//判断文件是否打开成功
{
printf("\t\t***********文件info.txt打开失败!
***********\n");
return0;
}
for(i=0;!
feof(in);i++,pMan++)//打开成功后一一读取,直到读完为止
fscanf(in,"%s%s%s%s",pMan->Name,pMan->Depart,pMan->TEL,pMan->Email);
fclose(in);
printf("\t\t*************文件数据读入成功!
*************\n");
return(i-1);
}
getch()函数
【程序】
voidgetch()
{
charstop;
printf("\n确认?
(按任意键并回车返回!
)\n");
getchar();
scanf("%c",&stop);
return;
}
四实现
主界面
使用说明
构建表
插入数据
构件表格
五总结
课程设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
通过这次课程设计使我明白了自己原来知识还比较欠缺。
自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。
通过这次课程设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。
在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。
总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。
最后终于做完了有种如释重负的感觉。
此外,还得出一个结论:
知识必须通过应用才能实现其价值!
有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。
感谢老师们给我们的帮助。
在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。
虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。