Database Manager is an Java Application for a database management system that aims to control and manage a database for any given database (Oracle, MySQL, SQLite ... etc.). Database Manager provides a connection environment between database and the user and it makes the interaction between them easy, we will review some of the features that we use to build our system.
In this feature, the user can choose between two options, either create a connection or choice to connect to a previously database from a List of databases.
In this feature, the user can be able to access all tables and he/she can modify the tables. This feature also includes capability to change the database connection at runtime, however, the database should be supported by the Application.
In this feature, the user can be able to upload a file which contains data. The application accepts three types of files:
- CSV file
- JSON file
- SQL file
The user should send the table name to the file analyzer, the results of file analysis:
- Adding the data to the database
- A SQL file that contains all queries (create and insert queries)
- Both the uploaded and SQL files should be stored in the local storage.
In this feature, the user can be able to export files containing data, schema, or both in CSV format. This feature includes exporting the locale files which are the uploaded and SQL files.
The application runs with one branch/point/snapshot. The user shall be able to create a point/snapshot for the database at any moment. The user shall be able to revert to any point/snapshot he/she wants.
- The user shall be able to create a point/snapshot for the database at any moment.
- The user shall be able to revert to any point/snapshot he/she wants.
All users should authenticate themself before accessing Application, each user should be able to access to the database manager based on their permissions:
- Admin: Full permission
- Staff: Read/Write but can’t delete tables.
- Reader: Read only.
The application uses a Factory method which deal with the problem of creating objects without having to specify the exact class of the object that will be created, factory method used to deal with Managing Database objects (ReadSchema, InsertData, ReadTable, DeleteTable, DeleteData, ExportData). And anthor factory methods uesd in Version Control
The application use a logger to record every action that happens in the application.
The code use exception handling properly, in the whole application. and we create custom exception handling for connection