...
Voor de applicatie wordt een nieuwe database toegepast, omdat de huidige database informatie bevat die niet nodig zijn voor de nieuwe implementatie. Hiervoor zijn een aantal opties: We kunnen ervoor kiezen de Microsoft Access database, die huidig in gebruik is, opnieuw in te richten met minder tabellen en data. Ook kunne kunnen we voor andere single-file database kiezen, zoals SQLite. We kiezen ervoor gebruik te maken van een embedded database omdat vanwege kosten een hosted (online) database geen optie is.
Om dit onderzoek te verrichten zullen wij zowel bieb- als labonderzoek uitvoeren, waarin we literatuuronderzoek uitvoeren en door middel van kleine testimplementaties de twee implementaties onderzoeken.
...
De hoofdvraag is dus als volgt: Welke database sluit het best aan binnen de nieuwe applicatie?
...
Om een goed en beargumenteerd antwoord op de hoofdvraag te kunnen geven hebben we ook een aantal deelvragen opgesteld, onderverdeeld per potentiele database-oplossing:
...
Voordelen van Microsoft Access?
- Easy to useGebruiksgemak: Je kan de gegevens van de database makkelijk inzien en aanpassen door het bestandje te openen.
- GUI: De database heeft een ingebouwde gebruikersomgeving waarmee gebruikers gegevens kunnen bewerken en toevoegen.
- Formulieren: Je kunt formulieren maken om het toevoegen en bewerken van gegevens vriendelijker te maken. Dit kun je doen door bijvoorbeeld knoppen, tekst velden en dropdown lijsten toe te voegen.
...
- Gratis: SQLite is gratis te installeren en gebruiken.
- Opensource: SQLite is opensource, iedereen kan de broncode inzien en wijzigingen voorstellen.
- Werkt op veel computer systemen: SQLite kun je gebruiken op Windows, Linus Linux en Mac.
- Lightweight: SQLite neemt niet veel ruimte in beslag waardoor het ideel is voor embedded applicaties (SQLite Advantages And Disadvantages - Javatpoint, z.d.).
...
- Geen GUI: Je kunt niet makkelijk de gegevens van de SQLite database aanpassen omdat het geen ingebouwde native GUI heeft, als je toch gegevens wilt bewerken moet een aparte applicate installeren.
- Maximale grootte: Een SQLite database kan maximaal 2GB groot zijn waardoor je dus niet oneindig veel gegevens er in kwijt kan (SQLite Advantages And Disadvantages - Javatpoint, z.d.).
Hoe werkt de verbinding tussen Java en SQLite?
tekst
Aanmaken van een database
Het aanmaken van een database kan op veel verschillende manieren. Binnen intelliJ IntelliJ is het gelukkig vrij simpel. Je klikt eerst op de Database knop rechts in het scherm. Daarna klik je op het plusje, Data Source en selecteer je SQLite.
Het database menu in IntelliJ.
Daarna kom je in onderstaand menu. In het "File" veld vul je de naam van de database in met .db erachter.
Voorbeeld van het aanmaken van een nieuwe database connectie in IntelliJ
Er is nu een database aangemaakt in de folder van het project.
JDBC
Het connecten met de SQLite database via JDBC is erg makkelijk. Je hoeft alleen de juiste JDBC dependency toe te voegen aan de pom.xml.
JPA
Conclusie
Als je bij het database menu kijkt staat er nu een database genaamt newDatabase.db. Je kunt nu de database selecteren en op de console knop klikken. In deze console kun je queries op de database uitvoeren.
Connection met JPA
Om SQLite met JPA te laten werken heb je natuurlijk de standaard JPA dependencies nodig en de SQLite JDBC driver.
De drie benodigde dependencies in pom.xml
In persistence.xml moet het dialect, de path naar de database en de driver worden ingesteld. Het dialect voor SQLite is het SQL server dialect en de driver is de JDBC SQLite driver. Ook moet 'hbm2ddl.auto' worden ingesteld op update zodat de database niet wordt overschreven wanneer er een nieuwe connectie wordt aangemaakt. Aangezien IntelliJ standaard SQLite ondersteund kun je de entities laten genereren.
Voorbeeld van persistence.xml
Conclusie
Na het onderzoeken van SQLite en Microsoft Access kan worden geconcludeerd dat beide opties zouden kunnen aansluiten op het nieuwe indelingsprogramma.
Microsoft Access biedt een gebruiksvriendelijke GUI en maakt het eenvoudig om gegevens te bewerken en toe te voegen. Echter, het vereist het bezit van het Office 365 pakket, is beperkt tot PC's en heeft beperkte online toegankelijkheid. De verbinding tussen Java en Microsoft Access kan worden gerealiseerd met behulp van de Ucanaccess JDBC driver, hoewel extra inspanning nodig is voor handmatige mapping van entiteitsklassen.
Aan de andere kant biedt SQLite voordelen zoals gratis gebruik, open source en ondersteuning voor meerdere besturingssystemen. Echter, het mist een duidelijk bedoelde GUI en heeft een maximale databasegrootte van 2GB. De maximale grootte is voor ons niet van toepassing omdat je maar moeilijk tot komt. De verbinding tussen Java en SQLite kan eenvoudig worden gemaakt met behulp van de SQLite JDBC driver.
In ons geval sluit SQLite het beste aan op onze toekomstige applicatie. SQLite kan gebruikt worden op Windows en MacOS, dit is een eis van de opdrachtgever en daarom is dit een essentieël voor het database systeem. Ook is het makkelijk om een connectie te maken tussen Java en SQLite. Dit is fijn tijdens de ontwikkelomgeving omdat dit het proces van het maken versnelt.tekst
Bibliografie
- Owens, M. (2006). Introducing SQLite. The Definitive Guide to SQLite, 1-16. SQLite:
- Single File Database. (z.d.). sqlite.org. Geraadpleegd op 11 april 2024, van https://www.sqlite.org/onefile.html
- Terra, J. (2023, 24 april). What is Microsoft Access? An Introductory Guide. Simplilearn.com. Geraadpleegd op 11 april 2024, van https://www.simplilearn.com/what-is-microsoft-access-article
- Vogel, J. (z.d.). ICT Research Methods — Methods Pack for Research in ICT. ICT Research Methods. Geraadpleegd op 11 april 2024, van https://ictresearchmethods.nl/
- Microsoft. (z.d.). Vergelijk alle Microsoft 365-abonnementen (voorheen Office 365) - Microsoft Store. Geraadpleegd op 11 april 2024, van https://microsoft.com/nl-NL/microsoft-365/buy/compare-all-microsoft-365-products?market=nl
- SQLite Advantages and Disadvantages - javatpoint. (z.d.). www.javatpoint.com. Geraadpleegd op 11 april 2024, van https://www.javatpoint.com/sqlite-advantages-and-disadvantages