MySql系统设计

  • 格式:doc
  • 大小:69.50 KB
  • 文档页数:13
{
char filename[50];
DbfHead header;
DbfRec rec;
long curRecNo;
long curFpAddr;
FILE *fd;
};
typedef struct _DbfHand DbfHand, *pDbfHand;
同时也在dbf.h中进行了一些宏定义,方便其它函数直接使用:
#define FIELD_DATE_TYPE0x44
#define FIELD_FLOAT_TYPE0x46
#define FIELD_LOG_TYPE0x4C
#define FIELD_MEMO_TYPE0x4D
#define FIELD_NUMIC_TYPE0x4E
#define FIELD_INT_TYPE0x49
caseUPDATE:Update(...);break;更新记录
caseDELETE:Delete(...); break;删除记录caseSELECT:Select(...);break;查询记录
caseQUIT:return;
}
Judge(); //判断用户是否继续操作,继续或者结束程序
Return 0;
5)算法:c面向过程的函数处理机制
6)逻辑流程图:
int main()
{
Show(); //界面构造
Getsinput(); //得到用户输入,存储
Switch()
{
caseCREATE:Create(...);break;创建记录
caseSELECT:Select(...);break;选择记录
caseINSERT:Insert(...);break;插入记录
//字段描述结构体定义
struct _FieldDcp
{
char fieldName[10];
char undo1;
char fieldห้องสมุดไป่ตู้ype;
short offset;
char undo2[2];
char fieldLen;
char numDecis;
char undo3[14];
};
typedef struct _FieldDcp FieldDcp, *pFieldDcp;
Dbf.h
处理文件的函数的定义
演示文档
对初学者的提示,以及异常输入的演示
2.3系统总体流程分析
图表(3),程序的主要执行流程
2.4系统基本设计概念
1)系统总体设计分析:
系统解析了sql语句,包括对表的创建,删除,对表内记录的插入,删除等。
其中:
(1)表定义中列(属性)的类型至少支持三种(integer、char、float);
//字段数据结构体定义
struct _DbfField
{
char *fieldData;
char fieldName[10];
char fieldType;
char fieldLen;
char fieldDcis;
short offset;
};
typedef struct _DbfField DbfField, *pDbfField;
//记录结构体定义
struct _DbfRec
{
char delFlag;
DbfField field[MAX_FIELD_COUNTS];
int realCounts;
};
typedef struct _DbfRec DbfRec, *pDbfRec;
//dbf文件句柄定义
struct _DbfHand
3)主要数据结构:
以结构体为主
struct _DbfHead
{
char dbFlag;
char year;
char month;
char day;
int recCounts;
short firstRecAddr;
short recLen;
char undo[20];
};
typedef struct _DbfHead DbfHead, *pDbfHead;
//条件查询
#define CON_SMALL 0
#define CON_EQUAL 1
(3)SortGroupRec()优化了内部排序,加快了大数据处理速度;
2.5程序模块说明
2.5.1 Main()模块
1)目标:协调各其他各模块之间的关系,最终负责系统运行
2)程序文件:MYSQL.c
3)主要数据结构:
字符串(用来存储用户的输入数据)
4)调用的其他模块:文件处理模块(dbf),处理操作模块(sql)
2.2系统文件构成分析
图表(2),解析系统的文件结构
程序文件
文件概述
MySql.c
主程序文件,包括main主函数在内,以及对各个语句的判断
Sql.c
包括所有的sql语句处理函数,前期的读入,词句分析函数,以及分析后调用函数处理文件
Dbf.c
包括所有对.dbf文件的创建,修改,删除等的函数
Sql.h
Sql语句处理函数的定义
(3)记录的插入、删除、修改等,即时更新原始数据;
(4)记录的搜索至少实现按主键查找,只是主键上的范围查找,包含遍历。
2)本次select语句的模块完善分析和结构分析
(1)增加了group by语句,可以处理group by语句的各个条件,包括having语句或和order by连接使用;
(2)完善了order的排序模块,从单属性排序优化到了多属性排序;

1其中界面和读取操作算是前期的处理,属于数据的初始化阶段;
2Switch属于对输入的判断,然后在其函数体内执行操作,属于本函数的主要组成部分,语句select是本组这次设计的重点完善对象;
2.5.2数据操作处理模块
1)目标:完成对底层数据的各种操作,方便上层的调用,简化操作
2)程序文件:dbf.c dbf.h
图表(1),解析系统的逻辑处理结构。
注释说明:
1读取,写入数据库。调用Create语句,创建符合条件的dbf文件,存入数据库,或读取文件,修改表单属性。
2读取,写入数据库。从数据库中读取表单,修改表中记录,再写入库中。
3只读取数据库。读取选择相关信息,反馈给用户。
④底层数据库为上层用户界面提供反馈信息
#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_TYPE0x43