资源预览内容
第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
第9页 / 共33页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课 程 设 计 说 明 书 设计题目 数据库课程设计 专 业 计算机科学与技术 班级 设计人 学号 山 东 科 技 大 学2012年04月07日山 东 科 技 大 学课 程 设 计 任 务 书 计算机 专业 5 班 马国庆一、 课程设计题目:数据库课程设计二、 设计原始资料:数据库系统概论 ,c语言程序设计,数据结构三、 设计应解决下列各主要问题: 1. CREAT TABLE ()2. ALTER TABLEADDDROPMODIFY。 3. 要求:能够以命令方式执行;能够以程序方式执行;提供课程设计报告 四、 设计说明书应附有下列图纸:图一五、命题发出日期:2012-04-07设计应完成日期:2012-06-05 设计指导教师(签章): 系主任(签章):指导教师对课程的评语指导教师(签章):年月日 摘要 本次设计是使用一种高级语言(C、C+、JAVA等)进行开发一中类似于DBMS的程序,主要功能包括表的建立、添加、删除、修改属性信息等基本操作。此文档为此编写。 通过对题目的分析我使用了C语言进行编写。将程序设计成以命令提示方式进行操作的不算很人性化的界面。但具有操作提示(另附txt)。 此次设计包含了自己定义的几个头文件、小程序程序,利用函数调用实现主函数的实现。自己编写了一个相当于DBMS的程序,经过不断改善能够很好的运行。 由于知识水平有限参考了前人的一些方法、技巧。特此说明。 目录1. 课程题目.72. 设计目的.73. 需求分析.7a) 创建一张表.7b) 对表的修改.7c) 数据类型的定义.74. 实现方式.8a) 算法分析.8b) 主要函数.9c) 程序流程图.9d) 详细设计.115. 程序实现.216. 总结.267. 附录.27正文一. 课程题目 用高级语言设计一个简单的DBMS二. 设计目的 设计一个小型的的DBMS实现对表的添加修改等属性操作,加深对数据库知识的理解。三. 需求分析 1.创建一张表。(1).要求:必须用到关键字“create table”;常用的符号“()”、“,”“;”;表的名字可以任意定义;定义最基本的权限:unique、not null、default、check,如果列中有性别一列则需要性别只能选择“男”、“女”;列不能重名;数据类型只能是已经定义的类型;约束只能是已经定义的约束;当遇到“;”时表的建立完成。(2).可能的错误:有两列或多列重名;定义的类型和约束不存、关键字错误。 2.表的修改 (1).加一行、列(Insert 、Alter table).所添加的与原有的不能重名;修改表中已存在一项;删除表中的一行列。(2).可能错误的操作:添加的表名或列已存在;字符输入错误。 3.数据类型的定义 常见的数据类型 char,int ,short,long等四. 实现方式1.算法分析 编写一个简单的DBMS,能从文本文件中识别出各种命令语句:create ,select ,delete ,insert。实现一个已固定属性的关系表的建立,元组记录的插入,查找,修改,浏览,删除操作。整体采用链表结构,节点由结构体构成,结构体内包含关系的各种属性,通过对链表的各种操作来实现对关系表的各种操作,然后将所建的表以文本文档的形式存储在同一 2.主要成员函数 int Sql_CREATE()/创建表 int Sql_INSERT()/插入表 int Sql_ALTER()/修改元组属性 int Sql_SELECT()/查找元组 int Sql_UPDATE()/查询记录 int Sql_DELETE()/删除表3程序流程图 开始选择操作新建关系表修改信息浏览记录修改记录退出程序是否继续操作y/n退出结束 图一 4.详细设计 (1). 关于自定义的两个头文件 在程序中自定义了sql.h与dbf.h两个头文件,分别实现对函数中所用到的主函数进行定义与定义结构体变量、全局变量、宏定义等一些基本操作。#ifndef dbf_H #define dbf_H #include #include #include /-宏定义-/ #define GET_YEAR 0 #define GET_MONTH 1 #define GET_DAY 2 #define FOX_VERISON_INFO 262 #define WIN_32 #define MAX_FIELD_COUNTS 40 /字段类型 #define FIELD_CHAR_TYPE 0x43 #define FIELD_DATE_TYPE 0x44 #define FIELD_FLOAT_TYPE 0x46 #define FIELD_LOG_TYPE 0x4C #define FIELD_MEMO_TYPE 0x4D #define FIELD_NUMIC_TYPE 0x4E #define FIELD_INT_TYPE 0x49/条件查询 #define CON_SMALL 0 #define CON_EQUAL 1 #define CON_LARGE 2 /排序 #define CON_SORT_INCREASE 0 #define CON_SORT_DECREASE 1 #define TRUE 1 #define FALSE 0 #define BOOL int /文件句柄 /Struct definition/ /文件头结构体定义 struct _DbfHead char dbFlag; char year; char month; char day; int recCounts; short firstRecAddr; short recLen; char undo20; ; typedef struct _DbfHead DbfHead, *pDbfHead; /字段描述结构体定义 struct _FieldDcp char fieldName10; char undo1; char fieldType; short offset; char undo22; char fieldLen; char numDecis; char undo314; ; typedef struct _FieldDcp FieldDcp, *pFieldDcp; /字段数据结构体定义 struct _DbfField char *fieldData; char fieldName10; char fieldType; char fieldLen; char fieldDcis; short offset; ; typedef struct _DbfField DbfField, *pDbfField; /记录结构体定义 struct _DbfRec char delFlag; DbfField fieldMAX_FIELD_COUNTS; int realCounts; ; typedef struct _DbfRec DbfRec, *pDbfRec; /dbf文件句柄定义 struct _DbfHand char filename50; DbfHead header; DbfRec rec; long curRecNo; long curFpAddr; FILE
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号