Risolto Creare applicazione database

GabryBarbe

Utente Bronze
26 Dicembre 2020
73
28
33
Buongiorno,
il mio obbiettivo sarebbe arrivare a sviluppare un applicativo gestionale (tipo un db come KeePass, per fare un esempio)
Naturalmente non so da dove partire, e ovviamente avrei bisogno di conoscere le basi.
Sapreste indicarmi qualcosa per iniziare e che possa darmi le basi per arrivare a programmare un database? Sapreste dirmi anche qualcosa riguardo la fattibilità del mio progetto?
Grazie in anticipo. Spero di essere stato abbastanza chiaro..
 

GabryBarbe

Utente Bronze
26 Dicembre 2020
73
28
33
Ciao, so programmare direi bene in c++, e abbastanza in python e vb. Gli altri linguaggio li conosco discretamente, quello che preferisco è c++.
 
Supporta Inforge con una donazione
Banner pubblicitario per Bright Data su Inforge.net azienda di vendita Proxy, Data Collector e Content Unlocker

nostyn

Utente Electrum
12 Gennaio 2017
354
83
123
Beh ottimo direi, tuttavia non e' mi e' del tutto chiaro il tuo intento: parli di "applicativo gestionale", poi dici "un db come KeePass". Stando a Wikipedia "KeePass Password Safe è un software open source per la gestione di password...", che sicuramente al suo interno include un database, ma non lo e' esso stesso. A questo punto chiedi "...per arrivare a programmare un database"; cosa intendi di preciso? Vuoi semplicemente avere a disposizione un database (anche locale come quello di KeePass) dove memorizzare dei dati, usando tecnologie gia' esistenti, o vuoi creare un tuo Database Management System?

Comunque dovrai imparare ad usare una libreria o framework per la GUI, se non ne conosci gia' uno: per citartene alcune .NET e QT, questo completamente a tua discrezione quindi sta a te scegliere tra il ventaglio di possibilita', valutando pro e contro.
 

GabryBarbe

Utente Bronze
26 Dicembre 2020
73
28
33
Quello che volevo intendere era un database come KeePass utilizzando anche tecnologie già esistenti.
Però come dicevo prima non saprei da dove partire. Dunque consigliami pure tu qualcosa da approfondire e da cui partire (non per forza per creare direttamente ciò che voglio, anche qualcosa di più basico per poi arrivare a quello) oltre a ciò che mi hai appena consigliato
 

RedWheelbarrow

Utente Iron
23 Agosto 2021
13
9
10
Ultima modifica:
Prima di tutto impara il linguaggio SQL, che ti permette di interrogare, modificare e creare database. In seguito in base alle tue esigenze scegli un DBMS (il motore che gestisce il database) e specializzati in esso, esempi di DBMS sono: PostgreSQL, MySql e MariaDB. Nel tuo caso penso che la scelta migliore sia SQLite dato che può essere integrato facilmente in loco senza l' uso di un server esterno (praticamente è semplicemente contenuto in un file). Per progettare il design del database devi diventare famigliare con vari concetti come tabelle, chiavi e indici. Ti consiglio questo libro (in inglese) che è ottimo per imparare le basi di SQL e di SQLite. Qui trovi una guida abbastanza breve in italiano di htlm.it su SQL, invece qui trovi la documentazione ufficiale di SQLite.
 
  • Mi piace
Reactions: nostyn
Banner pubblicitario per Bright Data su Inforge.net azienda di vendita Proxy, Data Collector e Content Unlocker
DOWNLOAD

GabryBarbe

Utente Bronze
26 Dicembre 2020
73
28
33
Per quanto riguarda l'SQL e l'organizzazione di un database ne capisco abbastanza e so come gestirlo.
Diciamo che la mia domanda verte su come poter creare una GUI (un po' come quando si crea un database con MSAccess) e come poter fare per distribuire questo db e fare in modo che possa essere utilizzato da chiunque senza bisogno di applicativi esterni (come Access, per l'appunto)
 

RedWheelbarrow

Utente Iron
23 Agosto 2021
13
9
10
Per la GUI puoi utilizzare un qualsiasi linguaggio frontend con supporto SQL. Ad esempio nel caso di un app IOS programmi l' interfaccia con Swift ed interagisci con il database con un framework di supporto di SQL per Swift.
 

GabryBarbe

Utente Bronze
26 Dicembre 2020
73
28
33
Dunque:
1) Creare il database
2) Creare la GUI con un framework tipo .NET

Resta ancora la domanda sul come pubblicare l'applicativo.
Una volta che io ho finito il progetto, come lo posso rendere utilizzabile a tutti?
 
DOWNLOAD
Banner pubblicitario per Bright Data su Inforge.net azienda di vendita Proxy, Data Collector e Content Unlocker
Supporta Inforge con una donazione
DOWNLOAD

nostyn

Utente Electrum
12 Gennaio 2017
354
83
123
...e come poter fare per distribuire questo db e fare in modo che possa essere utilizzato da chiunque...
Dal momento che lo hai scritto diverse volte, credo sia necessario fare un po' di chiarezza: database e app/applicativo/applicazione/programma/software NON sono la stessa cosa ma mi sembra che spesso tu sovrapponi questi due.
Un database e' un insieme di dati strutturati, che (per rendertelo intuitivo) e' come un "file" dove appunti delle informazioni. Quello che tu stai chiedendo non ha molto senso, ovvero creare un "file" a cui tutti possono accedere. Non vedo perche' qualcuno dovrebbe memorizzare delle informazioni nel tuo "file", quando potrebbe crearsene uno privato per conto proprio.

Prima di tutto, dovresti dare una lettura al materiale che ti ha indicato @RedWheelbarrow , che sicuramente ti fara' chiarezza su cosa sia un database, e quali siano le sue applicazioni (cioe' quando si "applica") .

In secondo luogo, per la GUI puoi imparare un nuovo linguaggio che possiede dei costrutti integrati per la programmazione delle GUI, come Swift per IOS, Visual Basic o C#, oppure come ti suggerivo, rimani sul C++ ed adoperi un framework o libreria quali .NET e QT.

...un database come KeePass...
Per lo stesso discorso che ti ho gia' fatto, KeePass NON e' un database.

Potresti hostare il progetto su un webhost o tirarlo su localmente su una tua macchina.
Utilizzando XAMPP per esempio, puoi googlare poi su come esporre la macchina a internet
Cerchiamo di non creare ulteriore confusione, credo che l'utente sia gia' abbastanza confuso. @GabryBarbe ignora questi due messaggi perche' consigliano delle soluzioni per la distribuzione di una Web App, quando mi sembra di capire dai tuoi continui riferimenti a KeePass, che vuoi realizzare un' App Desktop, correggimi se sbaglio.
 
  • Mi piace
Reactions: RedWheelbarrow

GabryBarbe

Utente Bronze
26 Dicembre 2020
73
28
33
Ciao @nostyn
Hai ragione, ho spesso utilizzato i termini database e software per intendere la stessa cosa, sebbene sappia come funziona un database..

Dunque proviamo a ripartire utilizzando i termini corretti e correggimi ulteriormente se sbaglio:
Vorrei creare un' App Desktop che contenga anche un database per il salvataggio dei dati (per farmi capire meglio cito sempre KeePass. sto facendo un riferimento corretto o parlo di due cose differenti?)

Quello che tu stai chiedendo non ha molto senso, ovvero creare un "file" a cui tutti possono accedere. Non vedo perche' qualcuno dovrebbe memorizzare delle informazioni nel tuo "file", quando potrebbe crearsene uno privato per conto proprio.
Hai ragione, sempre per lo stesso motivo di prima non sono riuscito a spiegarmi. Non voglio creare un database, ma un'App Desktop. Pertanto quello che intendevo chiedere era come distribuire quest'applicazione che si occupa di salvare dei dati?

Grazie a tutti per le indicazioni e per gli aiuti.. Scusate se faccio confusione
 

nostyn

Utente Electrum
12 Gennaio 2017
354
83
123
Allora, qui parlo un po' da profano ma cerchero' di darti ugualmente una mano: anzitutto dipende dalla licenza che vuoi usare. Se il tuo software e' OpenSource avresti diverse opzioni:
  • GitHub
  • SecureForge
  • Package Managers ( in base alla piattaforma e al linguaggio che usi )
Se invece non vuoi condividere il sorgente e magari vendere il software, credo che dovresti occupartene "da te", non esistendoci (che io sappia) un cosi' detto "Microsoft Store" per le App Desktop.

Mi spiego meglio usando i videogiochi come esempio, che sono pur sempre software:
Quando realizzi un videogioco, hai bisogno di un budget, ma hai anche bisogno di pubblicizzarlo, e "hostarlo"; di queste cose si occupa generalmente il Publisher che in soldoni e' quello che si occupa di (non necessariamente) finanziarti e pubblicizzarti, nonche' occuparsi della distribuzione.

"Distribuire" il software di per se non e' un problema, puoi caricarlo su un Drive e piazzare il link su un gruppo Facebook.
Ma se vuoi fare le cose fatte bene, potresti aprire un sito web dove presenti brevemente il software e lo hosti sul sito stesso. Per poi pubblicizzarlo altrove, probabilmente le inserzioni su Google sarebbero molto efficaci, ma dovresti parlarne con un digital marketer, la sezione "Programmazione" e' errata per questo topic specifico.

Grazie a tutti per le indicazioni e per gli aiuti.. Scusate se faccio confusione
Ma figurati, siamo qui per fare chiarezza insieme : ) Se vuoi ringraziare gli utenti, il forum mette a disposizione uno strumento: i like
 
Banner pubblicitario per Bright Data su Inforge.net azienda di vendita Proxy, Data Collector e Content Unlocker
DOWNLOAD