基于java实现的数据库管理系统.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
基于java实现的数据库管理系统 ⼀、需求分析说明 通过对数据库系统原理的学习,掌握数据库管理系统的运⾏原理,尝试在给定的DBF⽂件操作框架的物理储存基础上通过java建⽴⼀个数据 库管理系统,以更好的温习学习的知识。 基本功能如下: 实现创建表,并把约束条件存储到建⽴好的数据字典中 为表添加删除列操作和删除表操作 实现对表数据的插⼊操作,并实现插⼊前约束检测 实现对表数据删除操作 实现对表数据的修改操作,修改前对修改数据进⾏约束检测 实现对表数据的查询操作,完成多表查询,单条件多条件查询,单字段排序与多字段排序 实现对输⼊过的SQL语句进⾏系统⽇志记录,并添加时间 界⾯友好,易与操作,通过创建⼀个简单的窗⼝实现对SQL语句的输⼊和对运⾏结果的显⽰ 该系统存在于com.silence.mysql包中,系统⽂件夹⽬录下的data⽂件夹是数据库DBF⽂件的存储⽬录,logs⽂件夹是系统⽇志⽂件⽬录。 该模块是数据库系统的主模块,在包主⽬录下,包括三个类DBMS.java、DBMSForm.java、MyException: DBMS.java:系统的运⾏中⼼,通过输⼊的SQL语句开头将SQL语句传⼊到相应的⼦模块,并对SQL语句进⾏标准化预处理;通过对输⼊ 的正确的SQL语句实现对系统⽇志的记录 DBMSForm.java:系统的显⽰窗⼝,通过单例模式创建⼀个显⽰窗⼝,实现对SQl语句的输⼊操作和对运⾏结果的反馈显⽰,提供接⼝实现 让其他模块运⾏时对UI界⾯的即时刷新,该类中的main函数是系统的运⾏⼊⼝ MyException.java:⾃定义异常,通过接收⼦模块抛出的运⾏时异常,实现将异常反馈输出到UI界⾯中供⽤户参考 该模块在包名下的dbf包中,通过javadbf4.1.jar包提供的DBF⽂件操作函数库,实现对数据库DBF⽂件的读写操作,该模块包括 DBFContent.java和DBFUtils.java两个类。 DBFContent.java:这个是⼀个JavaBean,通过将读取到的DBF中数据存储到这个JavaBean中,实现对数据库中数据的操作 DBFUtils.java:DBF⽂件操作⼯具类,通过对javadbf4.1.jar中函数的调⽤,实现对DBF⽂件的读写操作,提供创建表,插⼊表和查询表 的操作函数 该模块在包名下的where包中,通过对SQL字符串中提取的where块的解析,实现将where语句条件翻译成OR条件组,OR条件组中包括 AND条件组,条件组类中提供对⼀条记录的条件匹配操作函数,进⽽实现对⼀条记录的where条件匹配操作,供数据库⼦模块使⽤。该模块 包括两个类:OrOfWhere.java和AndOfWhere.java: OrOfWhere.java:每个实例代表由OR连接的条件语句块的⼀边,OR语句块中可能包含多个And语句 AndOfWhere.java:每个实例代表⼀个AND连接的条件语句块的⼀边,AND语句块实现了Between…and…、=、<>、<、<=、>、>=条件 匹配 该模块在包名下的module包中,其中包括Create.java、Alter.java、Drop.java、Insert.java、Delete.java、Update.java、Select.java 七个功能,每个模块的构造函数和init()函数执⾏对SQL语句的解析和信息提取,合成可视化的执⾏类,模块中的excuteSQL()函数是该模 块的执⾏函数,执⾏结果返回到DBMSForm中进⾏UI刷新,信息反馈。 通过对Create table Student(列名 数据类型 约束条件 ………);语句的截取得到表名,将"("和")"中间的字符串以逗号分开得到列 字符串,再以空格分解得到列名,类型和约束条件。 通过对DBFUtils.createDBF()函数的调⽤实现表的创建操作,将约束条件作为记录添加到data⽬录下的"constraint.dbf"中实现对约束 条件的数据字典存储,操作过程中,primary key,unique,not null模仿Linux中的权限数的⽅式,primary key为1,unique为2,not null为4,来实现⼀个整数记录三个约束条件的⽬的。 通过对SQL字符串拆分解析,提取表名、列名和"ADD"、"DROP",将对应数据表中的数据读取到内存中,并根据列名对 DBFContent中的字段数组进⾏增加和删除,再将执⾏后的DBFContent回写⼊DBF⽂件中,实现添加删除列操作。 由于每个数据库表以⼀个⽂件来存储,⽂件名即是表名,删除表操作实际上是提取SQL字符串中的表名,再到data⽂件夹下删除对应的⽂ 件。 根据空格拆分SQL字符串,提取表名和列属性的键值对,通 该系统是一个基于Java实现的数据库管理系统,主要用于学习和实践数据库管理系统的原理。系统的主要功能包括创建表、添加或删除列、删除表、插入数据、删除数据、更新数据以及查询数据等基本操作。此外,系统还支持多表查询、单条件和多条件查询,以及单字段和多字段排序。系统具有日志记录功能,可以记录用户输入的SQL语句及执行时间,同时提供了友好的图形用户界面(GUI),方便用户输入SQL语句并查看执行结果。 系统结构主要包括以下几个模块: 1. **主模块**:位于`com.silence.mysql`包中,包含`DBMS.java`、`DBMSForm.java`和`MyException.java`。`DBMS.java`是系统的核心,负责接收SQL语句,将其传递到相应的子模块,并进行SQL语句的预处理和日志记录。`DBMSForm.java`使用单例模式创建一个GUI窗口,用于输入SQL语句和显示运行结果。`MyException.java`定义了自定义异常类,用于捕获和在UI界面中显示异常信息。 2. **DBF文件操作模块**:在`dbf`包中,利用`javadbf4.1.jar`库进行DBF文件的读写操作。包括`DBFContent.java`和`DBFUtils.java`两个类。`DBFContent.java`作为JavaBean存储从DBF文件读取的数据,而`DBFUtils.java`提供了创建、插入和查询DBF文件的工具函数。 3. **WHERE条件解析模块**:在`where`包中,通过解析SQL语句的WHERE子句,将条件转换为OR条件组和AND条件组,以便进行数据匹配。包含`OrOfWhere.java`和`AndOfWhere.java`,分别处理OR和AND条件。 4. **SQL操作模块**:在`module`包中,包括`Create.java`、`Alter.java`、`Drop.java`、`Insert.java`、`Delete.java`、`Update.java`和`Select.java`,分别对应SQL的七大操作。这些模块解析SQL语句,提取相关信息,并执行相应的数据库操作。执行结果返回到GUI界面进行刷新。 系统通过解析`CREATE TABLE`语句获取表名、列名和约束条件,然后利用`DBFUtils.createDBF()`创建表,并将约束条件存储在"data"目录下的"constraint.dbf"文件中,用整数表示primary key(1)、unique(2)和not null(4)约束。对于`ALTER TABLE`语句,系统读取数据,根据"ADD"或"DROP"操作修改列,并更新DBF文件。`DROP TABLE`操作则根据表名删除"data"目录下的对应文件。 查询操作中,系统能够处理单表、多表查询,以及各种条件组合,包括 BETWEEN...AND、=、<>、<、<=、>、>=等条件。通过解析SQL字符串,提取表名和列属性的键值对,系统能从"constraint.dbf"中找到表的约束条件,进行条件匹配。 这个基于Java的数据库管理系统提供了一个完整的数据库操作环境,涵盖了数据库的基本操作,且具有日志记录和用户友好的图形界面,是学习和实践数据库管理系统的理想工具。
- 粉丝: 193
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助