https://github.com/raffaeleav/gestione-etichette
A Java GUI developed as a project for the Basi di Dati (Database) course, part of the Computer Science Bachelor's Degree program at the University of Salerno
https://github.com/raffaeleav/gestione-etichette
entity-relationship-diagram java mysql-database query sql
Last synced: 2 months ago
JSON representation
A Java GUI developed as a project for the Basi di Dati (Database) course, part of the Computer Science Bachelor's Degree program at the University of Salerno
- Host: GitHub
- URL: https://github.com/raffaeleav/gestione-etichette
- Owner: raffaeleav
- Created: 2022-12-05T01:06:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-31T11:17:05.000Z (7 months ago)
- Last Synced: 2024-10-31T12:22:58.770Z (7 months ago)
- Topics: entity-relationship-diagram, java, mysql-database, query, sql
- Language: Java
- Homepage:
- Size: 57.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
A Java GUI developed as a project for the Basi di Dati (Database) course, part of the Computer Science Bachelor's Degree program at the University of Salerno## Table of Contents
- [Overview](#Overview)
- [Preview](#Preview)
- [Features](#Features)
- [E-R diagram](#E-R-diagram)
- [Requirements](#Requirements)
- [How to replicate](#How-to-replicate)
- [Built with](#Built-with)## Overview
Gestione Etichette was developed with the goal of consolidating knowledge related to databases in a practical context. The GUI allows users to execute predefined queries on a MySQL database.
The implemented queries range from simple selections to queries operating on sets.## Preview
![]()
## Features
1) Ordered selection on a table attribute with AND and OR conditions
2) Selection on two or more tables with conditions
3) Aggregated selection on all values
4) Aggregated selection on groupings
5) Aggregated selection on groupings with conditions
6) Aggregated selection on groupings with conditions that include another grouping function
7) Selection with set operations
8) Selection with relational division## E-R diagram
![]()
## Requirements
- [JDK 19](https://jdk.java.net/java-se-ri/19)
- [MySQL](https://dev.mysql.com/downloads/installer/)
- [Connector/J](https://dev.mysql.com/downloads/connector/j/)## How to replicate
1) Clone the repository
```bash
git clone https://github.com/raffaeleav/gestione-etichette.git
```
2) Switch to the project directory
```bash
cd gestione-etichette
```
3) Execute the database script
```bash
sudo mysql -u root -p < ./src/main/resources/database.sql
```
4) Download the Connector/J JDBC driver
```bash
curl -OL https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-j-8.4.0.tar.gz
tar -xzvf mysql-connector-j-8.4.0.tar.gz
```
5) Compile the project
```bash
javac $(find . -name "*.java")
```
6) Run the GUI with the Connector/J JDBC driver
```bash
java -cp ./mysql-connector-j-8.4.0/mysql-connector-j-8.4.0.jar:./src/main/java gestioneetichette.ProgettoViewer
```## Built with
- [Java](https://www.oracle.com/it/java/technologies/downloads/) - used for the GUI development
- [SQL](https://www.w3schools.com/sql/) - used for implementing the physical schema of the database