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


源代码说明

该文章是对JAVA课程设计—《基于JAVA实现的数据库管理系统》 的源代码说明。


*该项目代码仅供参考
By-Group6: dls zly cyx lhy

一、源代码地址

Github 代码地址:
基于java实现的数据库管理系统.
文件目录结构

二、源代码文件说明

1.关键类说明

系统主模块

(1) DBMS.java
该类首先将输入的SQL语句根据首部关键词划分,将其传入到对应的功能子模块
中,同时对SQL语句进行去除多余空格、分号的预处理。系统日志记录输入正确的SQL语句。
(2) MyException.java
该类完成将子模块抛出的异常输出到系统界面的功能。

文件操作模块

(1) DBFUtils.java
利用javadbf 实现对DBF文件的读写操作,实现从DBF文件获取数据、创建及插
入表的函数。
(2) DBFContents.java
完成数据库中数据的读取操作,将DBF中数据存储到该类中。

条件处理模块

(1) Where_and.java
实现了Between…and…、=、<>、<、<=、>、>=条件匹配。
(2) Where_or.java
将where条件转换为or条件组,该类提供对一条记录的条件匹配操作函数,从而
实现对一条记录的条件匹配操作函数。

2.关键方法说明

(1) Alter.java

对SQL语句拆分解析,提取tablename、columnname、add、drop字符串,将对应
数据表中的数据读取到内存中,根据列名对DBFContent中的字段数组进行增加或删除,再将DBFContent写回DBF文件中。

(2) Create.java

对SQL语句拆分解析,提取tablename、columnname,类型与约束条件,约束条件记录在data文件夹下“constraint.dbf”中,调用DBFUtils.createDBF()实现表的创建。

(3) Delete.java

对SQL语句拆分解析,提取tablename和where条件,通过条件模块匹配将记录从DBFContent中删除,再将DBFContent写回DBF文件中。

(4) Drop.java

对SQL语句拆分解析,提取tablename,将data文件夹下对应文件删除。

(5) Insert.java

对SQL语句拆分解析,提取tablename和column属性键值对,查找“constraint.dbf”中对应表的记录获取该表约束条件,判断是否允许插入记录,若符合则再DBFContent中添加新的记录,将DBFContent写回DBF文件中。

(6) Select.java

对SQL语句拆分解析成select、from、where、group by、order by语句块,其中select后语句块记录带查询列名,from后语句块为带查询表名。
Where条件提取到where模块中,group by 后面的语句提取到List groups中,order by 后的语句提取到List orders 中。
通过translateWhere()提取where语句块中的字符串,以or或and为界,循环处理每一个条件。
读取froms中所有表的DBF数据,按列名键值相等的原则对多表连接,得到的结果按orders语句块中的升序和降序条件对结果排序输出。

(7) Update.java

对SQL语句拆分解析,得到tablename、修改键值对和修改条件,通过where模块查询待修改记录,并根据“constraint.dbf”中约束条件判断是否允许修改,若允许则将修改后的记录添加到DBFContent中,写回DBF文件。


参考文献

Java官方文档:https://docs.oracle.com/en/java/
其他参考:https://blog.csdn.net/demongwc/article/details/8478744

  • 9
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值