python e mySql - domade da principiante

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Mr Tomahawk
Prode Principiante
Messaggi: 19
Iscrizione: lunedì 17 dicembre 2018, 14:06
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.5 LTS
Sesso: Maschile

python e mySql - domade da principiante

Messaggio da Mr Tomahawk »

Buongiorno a tutti.
Sto creando un sw gestionale da zero e vorrei qualche consiglio su che programmi usare e come procedere. Prima di iniziare devo creare un database e come sw voglio usare mySQL(accetto altri suggerimenti), poi vorrei collegarlo al mio gestionale il quale lo vorrei scrivere in pyhton(come collego li mio sw al DB? vi posto il link che volevo seguire API per l'accesso al DB).
Quindi volevo chiedervi se il metodo che sto seguendo può andare bene. Grazie in anticipo.
Mr Tomahawk
Prode Principiante
Messaggi: 19
Iscrizione: lunedì 17 dicembre 2018, 14:06
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.5 LTS
Sesso: Maschile

Re: python e mySql - domade da principiante

Messaggio da Mr Tomahawk »

Aggiornamento: se creo il DB con Excel ? Perchè poi l'utente deve poter aggiungere o togliere oggetti.
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1627
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: python e mySql - domade da principiante

Messaggio da nuzzopippo »

Mr Tomahawk [url=https://forum.ubuntu-it.org/viewtopic.php?p=5143850#p5143850][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Aggiornamento: se creo il DB con Excel ? Perchè poi l'utente deve poter aggiungere o togliere oggetti.
Mi sa che hai le idee un po' confuse, excel è un foglio elettronico, mysql un database relazionale, sono cose molto diverse.

MySql inoltre, è un "server" di database richiede tutta una serie in passi amministrativi di configurazione e gestione, se stai iniziando l'argomento "database" e mi permetti un suggerimento, ti suggerirei di fare qualche esercizio con sqlite3, un database relazionale "incorporabile" nelle proprie applicazioni e che fa parte dei moduli standard di python, qui una guida introduttiva.
In un secondo momento potresti considerare sistemi di database più "seriosi" quali MySql o Postgresql.

Tieni pesente che comunque dovresti avere almeno un minimo di conoscenze di base del linguaggio python quale presupposto.
Fatti non foste a viver come bruti ...
Mr Tomahawk
Prode Principiante
Messaggi: 19
Iscrizione: lunedì 17 dicembre 2018, 14:06
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.5 LTS
Sesso: Maschile

Re: python e mySql - domade da principiante

Messaggio da Mr Tomahawk »

Grazie nuzzo, ma alla fine per il mio problema mi basta anche un foglio di calcolo come mini db, perchè devo solo inserire degli oggetti con la relativa descrizione e quindi un foglio di calcolo mi sembrava molto più semplice da fare. Poi la mia domanda era se potevo far interagire bene il foglio di calcolo con python. Per esempio nella mia applicazione voglio eliminare o aggiungere righe al foglio e visualizzare il contenuto. E' una buona idea oppure è meglio sqlite3?
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1627
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: python e mySql - domade da principiante

Messaggio da nuzzopippo »

Mr Tomahawk [url=https://forum.ubuntu-it.org/viewtopic.php?p=5144283#p5144283][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Grazie nuzzo, ma alla fine per il mio problema mi basta anche un foglio di calcolo come mini db, perchè devo solo inserire degli oggetti con la relativa descrizione e quindi un foglio di calcolo mi sembrava molto più semplice da fare. Poi la mia domanda era se potevo far interagire bene il foglio di calcolo con python. Per esempio nella mia applicazione voglio eliminare o aggiungere righe al foglio e visualizzare il contenuto. E' una buona idea oppure è meglio sqlite3?
Per interagire con excell, il foglio di calcolo da Te in precedenza citato, ci sono delle librerie apposite, qui un tutorial in italiano su OpenPyXL, una a caso, cercando in rete ne troverai certamente altre.

Personalmente, non saprei darti indicazioni in merito, dato che non uso il microsoft office dalla versione 6.1 (per windows 3.1) e windows da circa vent'anni e mi son tenuto ben lontano da tale "mondo".

Certamente molto dipende da ciò che deve fare la Tua applicazione, dal contesto di utilizzo, dalle conoscenze che hai etc., è un discorso troppo vasto per parlarne genericamente, in alcune situazioni può essere utile interagire con un foglio elettronico, in altre uno spreco di tempo.

Per quanto mi riguarda (e tieni presente che vale solo per me) invece di archiviare dati in un foglio elettronico e dovermi adattare a tutte le menate relative preferirei di gran lunga trattare direttamente file di testo, magari codificati in formato csv, e trattarli direttamente da codice, magari con uso di liste e/o dizionari.
Qualora la quantità di dati fosse notevole (od anche no, dipende dalle circostanze) magari userei una base dati relazionale, con il linguaggio SQL (che si dovrebbe comunque conoscere) si possono ottenere risultati notevoli.

Ma, torno a ripetere, è un discorso molto relativo, dato che sei agli inizi Ti suggerirei di non puntare subito ad ottenere dei "risultati" ma di prendertela calma ed apprendere prima le basi del linguaggio (Ti occorrono indicazioni riguardo docs utile?) e vedere un po' che altri mezzi ci sono oltre le librerie base (veramente tanti e parecchi di eccezionali capacità) per formarsi idee adeguate, poi procedere a progettarsi una propria applicazione ... conosci quel proverbio dei gattini ciechi? ;)

Comunque, malgrado qualsiasi consiglio, sei Tu a dover valutare la situazione secondo le Tue esigenze.

Detto questo, se proprio ritieni di voler discutere "ora" di questa Tua applicazione, comincia con identificare ed esporre l'ambiente funzionale, la provenienza dei dati, la destinazione dei risultati e l'uso che bisogna farne, magari qualche suggerimento verrà.
Fatti non foste a viver come bruti ...
Mr Tomahawk
Prode Principiante
Messaggi: 19
Iscrizione: lunedì 17 dicembre 2018, 14:06
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.5 LTS
Sesso: Maschile

Re: python e mySql - domade da principiante

Messaggio da Mr Tomahawk »

Quello che vorrei fare è una semplice gestione via sw di carico e scarico delle merci es: il mio db è formato da un campo codice,un campo descrizione e un campo note (codice1: 001 descrizione1: martello note1: 'vuoto' , codice 2: 002 descrizione 2:piscina note2:' riparazione buco in data 4/6/17' ). Poi l'operatore dal sw può aggiungere o togliere la merce che arriva in magazzino, inoltre certi oggetti si possono noleggiare quindi deve poter stampare una ricevuta sugli oggetti da via per il noleggio( es: codice 001 descrizione: martello noleggiato a ditta xxx restituzione il 4/7/20). In pratica è questo che vorrei fare. Se avete qualche suggerimento da dove partire ben venga, io ho una base discreta di python e java ma non gli ho mai usati applicati ai db.
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1627
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: python e mySql - domade da principiante

Messaggio da nuzzopippo »

Suppongo che con "sw" Tu intenda software, giusto?

Una domanda "non indifferente" in primo luogo : la applicazione che intendi sviluppare è in ambiente produttivo?

Non sottovalutare questo aspetto, se ciò che Ti accingi a fare ha immediato impatto in ambiente lavorativo Ti consiglierei di non avventurarti a cuor leggero in un percorso contemporaneo di apprendimento e sviluppo : staresti trattando comunque di "soldi" ed errori di implementazione e scelte sbagliate possono far danni anche seri.
In tale condizione è, a mio parere, più opportuno ricorrere a software già pronto in circolazione idoneo alla situazione aziendale corrente.

Ci sono molti utenti più esperti di me in circolazione, se leggono sono invitati a dir la loro in proposito.

In caso sia invece un percorso di studio - apprendimento :

Hai una base discreta in python e java (beato Te, in java ho sviluppato alcuni piccoli gestionali su db postgresql, in python mi considero un apprendista, lo sto studiando), non dovresti aver grosse difficoltà ad analizzare le esigenze di ciò che vuoi realizzare e decidere l'approccio da intraprendere, particolare attenzione la presterei a :
Mr Tomahawk ha scritto:... inoltre certi oggetti si possono noleggiare quindi ...
Un "noleggio" non prevede un "soggetto", e quindi una anagrafica e degli indirizzi/contatti?
Certo, dipende anche dalla qualità di ciò che vuoi fare ma, se la risposta fosse "Si", personalmente mi indirizzerei di corsa ai database relazionali, se non hai concetti adeguati in materia, acquisisci almeno una infarinatura generale sul loro funzionamento e sul linguaggio "SQL" prima di decidere come agire, sqlite3, di cui Ti ho prima dato indicazione, già potrebbe essere funzionalmente "degno" e può essere usato anche come server ma guardati in giro e vedi ciò che c'è di disponibile, una volta deciso cosa utilizzare ti indirizzi in base a quella scelta.

Parli di "Stampa", anche qui dipende da ciò che vuoi stampare, se una singola stringa di testo non dovresti avere grossi problemi, il discorso cambia se devi effettuare la stampa di un modulo, in java ci ho impiegato circa un anno a crearmi una libreria adeguata per la stampa di moduli, in python non ho sin ora trovato niente di adeguato a meno che non si preveda la generazione di PDF ovvero l'utilizzo di framework grafici quali le wxPython o le QT.

Ovviamente, qui entra in gioco anche il "tipo" di applicazione che vorresti realizzare se desktop ovvero basata su tecnologie web (tipo django etc.)

Quanto sopra NON È scritto allo scopo di criticare e/o scoraggiare, anzi Ti suggerisco di insistere nel Tuo scopo, ma solo di invitarti a riflettere un po' su ciò che vuoi fare e sui perché.

Se è a scopo di studio ed hai tempi lunghi da dedicarci un programma di magazzino (è di quello che si tratta no?) potrebbe anche essere un discorso didattico interessante da sviluppare.
Fatti non foste a viver come bruti ...
Mr Tomahawk
Prode Principiante
Messaggi: 19
Iscrizione: lunedì 17 dicembre 2018, 14:06
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.5 LTS
Sesso: Maschile

Re: python e mySql - domade da principiante

Messaggio da Mr Tomahawk »

Il progetto è in collaborazione con l'università ma verrà applicato per una società no profit, quindi qualcosa di concreto. Il problema è che non ho mai lavorato su queste cose e prima di buttarmi a programmare vorrei iniziare con il piede giusto. Per ora quindi sono abbastanza orientato ad usare python e sqlite3(una base molto generica/teorica di SQL c'è l'ho). Hai idee su quale ambiente grafico è meglio sviluppare ? cercando un po in giro ho trovato tkinter il quale non mi sembra molto complicato.
Intanto grazie mille per tutti i consigli utili che mi stai fornendo :) :) :)
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1627
Iscrizione: giovedì 12 ottobre 2006, 11:34

Re: python e mySql - domade da principiante

Messaggio da nuzzopippo »

Mr Tomahawk [url=https://forum.ubuntu-it.org/viewtopic.php?p=5144482#p5144482][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Il progetto è in collaborazione con l'università ma verrà applicato per una società no profit, quindi qualcosa di concreto.,,,
Quindi una cosa piuttosto seria ... spero che i più esperti vogliano intervenire a darti una mano più capace della mia.

fatti chiarire molto bene le specifiche (cosa devi gestire e come si "vorrebbe" fosse, ambiente software di destinazione)

Certamente avrai delle scadenze, non sei in condizioni ottimali per imparare adeguatamente la gestione delle basi dati da un lato, la gestione delle interfacce grafiche dall'altro e le specifiche di installazione di un pacchetto applicativo python come ciliegina sulla torta, quest'ultime sono molto "proprie" del sistema operativo di destinazione.

Riguardo i framework grafici, ho fatto qualcosa in tkinter, forse il meno "evoluto" tra quelli disponibili ma che è fornito di default in python, buon ambiente dovrebbe essere le wxPython e, forse, quello che va per la maggiore sono le QT (pyQt) ma per tutte non è facile reperire documentazione coerente ed adeguata ad un facile apprendimento, programmare una GUI come si deve non è una cosa immediata.

Non so quanto Tu conosca la programmazione java e le interfacce grafiche swing, se reputi la Tua conoscenza sufficiente valuta anche l'alternativa java che, in caso di necessità, ti permetterebbe anche di pacchettizzare in un unico jar il tuo applicativo e le librerie da cui è dipendente.
Di niente, cerco di rendere l'aiuto che è stato dato a me ma tieni presente che i miei consigli non sono quelli di un professionista della materia, ho avuto alcune esperienze abbastanza serie ma per me è un hobby, spero che vogliano intervenire in Tuo favori utenti veramente "del ramo".

Ciao e buon lavoro.
Fatti non foste a viver come bruti ...
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti