this post was submitted on 23 Dec 2023
10 points (100.0% liked)

SQL - any and all

305 readers
1 users here now

For discussion about SQL and databases. All versions welcome.

founded 1 year ago
MODERATORS
 

I currently run operations for a small lab. I have built a fairly complex Access database from scratch in order to manage all budgeting, purchasing, inventory, and invoicing systems. I spend a bit of time each day maintaining/improving it. I am also currently in a year long computer science program learning c++. I would like more practice with sql was just curious if anyone had any recommendations for recreating my database in a more modern fashion.. Access works, but is a bit clunky/fragile.

Our software budget is nonexistent, so considering open source or from scratch. I have recreated all my tables in mysql, but is mysql the best way to go? As far as a front end, is there anything I can implement with c++? Or is this worth dabbling in another language for? I want something that I can both learn from but will also be useful/reliable enough to replace my Access database. Or would this be a total waste of time for how challenging building this from scratch would be?

Thanks! I appreciate any advice!

top 2 comments
sorted by: hot top controversial new old
[โ€“] [email protected] 4 points 11 months ago (1 children)

If the goal is to build a transactional database I think mysql will do fine. Once you've built the db the only thing you need is a frontend that fills the db. Any language that supports form inputs (and field validation) will do. In college, we had to build one with PHP. But it's really up to you, C(#/++) or so is just fine.

If the goal is to report on this data, look for an ETL tool like SSIS in Visual Studio or any FOSS alternative.

[โ€“] LetterboxPancake 1 points 11 months ago

Good answer. I think almost any DBMS will so fine in this scenario, so I'd pick whatever I want to have a closer look at. NoSQL would be an ok choice as well, but you'd have to reconsider your architecture (probably).

To add to the tech recommendations, I think you (OP) might like to check into containers, maybe docker compose. That'll make your database learning easier and it might be easier to deploy as well (depending on your server setup).

I'm not going to recommend a programming language though, because there's just too much out there and it's personal preference. I like .Net with C#, Spring Boot with Kotlin etc, but any will do it and depending on what you want to achieve both might be absolute overkill. There are great frameworks for almost any modern language.

And think of little Bobby Tables!