0

I, want to make a small business inventory management system application in java ,for windows 7,8,10 . I have used sql server express ( but it has a limit of 10 gb) and a little of mysql but i know there are other products like postgresql, sqlite and mongodb. Which should be best to use?

I am confused because of the limit of 10 gb in sql server (should i say to customer that you have to delete the data after it exceeds 10gb ), many saying mysql in bad in performance and stability. Any help would be great.

2
  • There is no-one who might want to buy your little Java app who will need more that 10GB to store information on their inventory! If you had an organisation that big, they would be using the inventory managment features of their preferred ERP system. Note also, if you use an appropriatey tiered architecture, you would be able to offer multiple DB options.
    – CJM
    Jun 21, 2017 at 15:14
  • You should provide more details about your requirements and constraints for us to provide a good recommendation. One-off project or an app to resold to many customers? Networked or run over a local network with multiple users? Is cloud-based deployment a possible need? "Performance and stability" have no meaning without the context of your needs and environment. 10 gig limit should be the least of your concerns, the last of many criteria rather than the only criterion. Jun 21, 2017 at 20:49

2 Answers 2

1

10 GB is a huge size for a database. Are you sure that your database will be so large?

If you're familiar to programming in Java, you could use H2. I know that OpenConcerto which is an accounting/invoicing/inventory management software uses this format for local installations of the software, whilst for client-server installations it uses PostgreSQL. This project is open source so that you could (at least in theory) adapt it to your needs.

Some databases are more oriented toward local use, like sqlite for instance. Others are more oriented to server-client mode, like MySQL and PostgreSQL.

For inventory management you could have a look at Kexi, which is using an sqlite database for each inventory that you create. It's however not written in Java.

It would be nice knowing more about your project. If it's for personal use or if you plan selling your software. If concurrent access of several users are planned, in reading and/or in writing and more technical details.

10
  • Concurrent 2 users , plan to sell, i don't know the size of the database that will be going to. But i don't want to tell customer that you can only store 10gb of data. Customer also doesn't know how much data is he going to use. Software is for jewellery shop with 2 persons handling it. Jun 21, 2017 at 15:02
  • (A) I agree with the suggestion to try the H2 database. The project author has many years of experience in building database systems. Runs in pure Java. Quite powerful in terms of features. Can be used either embedded in an app or as a server. (B) For developing the user-interface and application-server I highly recommend Vaadin for writing your app in pure Java but automagically rendered in web browser using standard web technologies. Jun 21, 2017 at 19:24
  • @BasilBourque there was a bug "Some problems have been found with right outer join. Internally, it is converted to left outer join, which does not always produce the same results as other databases when used in combination with other joins. This problem is fixed in H2 version 1.3." After seeing this how can i use it and assume its reliable in other features also. Jul 9, 2017 at 17:15
  • @OuzoPower there was a bug "Some problems have been found with right outer join. Internally, it is converted to left outer join, which does not always produce the same results as other databases when used in combination with other joins. This problem is fixed in H2 version 1.3." After seeing this how can i use it and assume its reliable in other features also. Jul 9, 2017 at 17:16
  • The bug is officially in the page h2database.com/html/faq.html Jul 9, 2017 at 17:16
0

Several databases can be used to make a small inventory management system. You can use Kexi leverages SQLite database for each inventory you create.

You can also use the following database when you plan to make an inventory management system no matter if it's small or big:

• MYSQL database 
• Microsoft SQL-server database
• Microsoft Access database
• Excel file or even you can use Oracle database 

When you plan to make an inventory management system, you should first check out the size of the business and then you will be able to decide what size of the database and which database you should use to making a strong and scalable inventory management system. For more information you can read the article - https://i-verve.com/blog/inventory-management-systems

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.