第一步只处理数据查询问题,不涉及修改动作。
数据库系统从整体上,分为查询解释器和数据存储两部分。
数据存储内容又分为元数据和实际数据两部分。
元数据储存考虑采用mysql来进行存储。
实际存储考虑采用文本文件格式来进行存储。
将实际存储的读取动作抽象为一个数据流,经过文件读取流封装出来,一次读取一行,并根据指定的元数据转换为内部行对象。
这个内部的行对象再传入变量表中,利用变量表和经过AST解析的表达式进行逻辑布尔计算,得到where子句的具体结果。
通过内部行对象的逻辑运算计算支持where表达式。
通过表名来定位使用那个具体的数据文件作为数据源。
通过元数据的定义将数据文件的行转换为行对象,进而转换为变量表。
问题总体上是有解的,需要细化设计方案,找时间来实现一下。
网友评论