Local Database per Windows [RISOLTO]

di il
13 risposte

Local Database per Windows [RISOLTO]

Salve a tutti,

ho iniziato a metter mano al C#

e adesso devo scegliere quale database utilizzare

Scopo:

- Piattaforma Windows

- strumenti Visual Studio 2022

- Database Free

- Database Locale

- Dimensionamento : poche migliaia di records per piccole App Windows Form


Ho fatto un excursus su MySQL, SQL Server Express LocalDB, MariaDB e PostgreSQL

e sinceramente non saprei, la preferenza va verso SQL Server Express LocalDB con la possibilità di creare relazioni etc...

Chi mi da delle dritte ?

Grazie mille 

13 Risposte

  • Re: Local Database per Windows [RISOLTO]

    Sql express va benissimo ma tutto potrebbe essere complicato se la tua esperienza di dbms è minima.

    Per evitare problemi ti consiglio di non partire all'abbordaggio ma di studiare prima un minimo di teoria su come funziona, come si instala ecc … Per evitare mal di testa in seguito

  • Re: Local Database per Windows [RISOLTO]

    Sagge parole oregon !!!

    Diciamo che ho un pò di dimestichezza, secoli fa lavorai molto con il Compact soprattutto per creare App su dei palmari e l'interfaccia per il Db2 per il passaggio dei dati.
    Poi altre piccole stupidaggini, utility per desktop windows e Sql Express… Inoltre ho fatto diverse cosine con in vb.net a livello di cruscotti etc…

    Ora volevo riprenderci mano ma dimenticandomi del passato in quanto tante cosine sono cambiate e volevo partire con il piede giusto.

    Quindi è quasi come ripartire da zero e al posto del Vb che già conosco, userò C# … quindi mi aspetta un bel pò di studio e approfondimento.
    Come hai ben detto partirò con calma, tanto di tempo oggi ne ho abbastanza per dedicarmi a questo nuovo studio e la voglia di conoscere è abbinata alla voglia di divertirsi nel fare una cosa che ho fatto per tutta la vita lavorativa anche se con strumenti ben diversi.

    Quindi ok, la parte di LocalDB la farò con Express e concordo pienamente con te che l'installazione, configurazione e connessioni va fatta come si deve sapendo bene quello che si va a fare. 

    Ti ringrazio moltissimo per le dritte e consigli. 

    ;-))

  • Re: Local Database per Windows [RISOLTO]

    Tutti i dbms che hai indicato vanno bene. uno vale l'altro. Poi, facendone un uso ‘casereccio’, non ti servono funzionalita' ‘stratosferiche’ (clustering, supporto al partizionamento di indici, clonazione automatica, ed n-mila altre cose strane).

    C'e' una funzionalita' che ogni tanto e' utile avere: il supporto agli indici “fulltext”.
    Un indice “fulltext” supporta una versione “agli STEROIDI” della classica “LIKE” dell'SQL (che fa una banale ricerca sequenziale sulla tabella).

    “SQL Server” essendo prodotto Microsoft e' supportato nativamente da visualstupido. 

    mariadb e' un clone quasi perfetto di MySQL (creato da ex dipendenti MySQL dopo che questo e' stato acquistato da Oracle)

    tra mysql/mariadb e postgresql (scelta da fare se si vuole un dbms che si possa installare SIA su Windows CHE su Linux) meglio mysql: installazione MOOOLTO piu' facile (basta unzippare la distribuzione in formato ZIP, creare my.ini e poco altro) . l'installazione di postgresql e' un po' piu' incasinata (ma comunque semplice).

    postgresql invece e' moooolto meglio come dbms geografico: praticamente tutti i software di cartografia /gis usano postgresql di default.

    ---

    poiché ogni dbms ha le sue peculiarita' (funzionano in modo MOLTO SIMILE, NON in ESATTAMENTE lo stesso modo) , conviene usare una libreria che cerca di “uniformare” tutti i funzionamenti.

    la piu' famosa e' hibernate (la versione per C#, NON quella per Java!) 

    ---

    Se da una parte e' vero che usando SOLO prodotti Microsoft, in qualche modo ci si trova in un “ecosistema” consistente, e' anche vero che NON NECESSARIAMENTE i prodotti di papa' "Giuseppe Cancelli" sono i migliori in circolazione ;-)

    ---

    personalmente preferisco mysql: ogni volta che installi un prodotto Microsoft, praticamente fai un'estensione del sistema operativo! E la disinstallazione e' un terno al lotto. 

    con MySQL, lo installi con un UNZIP e lo disintalli cancellando la directory! 

    ---

    Piu' che l'installazione, ci starebbe bene un bel ripasso di “teoria relazionale dei dati” ;-) 

    ---

    Se lo fai per hobby, potresti prendere in considerazione un DATABASE NoSQL. 

    tranquillo, non e' nulla di stratosferico e per capire come funzionano stai letteralmente 5 minuti. al limite lo usi come NORMALE database relazionale, ma fa ‘figo’ dire di usare un dbms Nosql. 

    Inoltre, avendolo a disposizione, puoi sperimentare anche qualche soluzione “non convenzionale” ;-)

    SCARTA i due piu' famosi: MongoDB e Neo4j perche' MOLTO SPECIFICI (il primo e' SOLO documentale, il secondo SOLO a grafo). 

    La scelta (nell'ordine) e' tra orientdb e arcadedb. sono tutti MULTIPARADIGMA (relazionale, a grafo e key/value, o anche documentale) e usano SQL esteso come linguaggio di interrogazione. Arcadedb e' il piu' interessante (nato qualche anno fa, penso che ormai abbiano risolto i problemi piu' “”stupidini" che avevo trovato), supportando DIVERSI  linguaggi di interrogazione (SQL e CYPHER). 

    l'installazione di tutti e' BANALE: sono scritti in Java e l'installazione consiste in UNZIP e lo mandi in esecuzione con uno script.

    Ne esistono n-mila altri, ovviamente, ma con questi ci ho “pasticciato” ;-)

    ---

    Nota: 

    “NoSQL”  NON VUOL DIRE che non c'e' l'SQL, anzi, lui spesso c'e', eccome. 

    Vuol dire “NON SOLO SQL”, o, in altri termini, “NON SOLO RELAZIONALE”.

    Certi DBMS NOSQL sono assolutamente RELAZIONALI, MA con speciali estensioni per fare cose un po' “strane” ;-).

    ---

    amemipiaceunsacco

    l'idea del DBMS MULTIPARADIGMA 

    ;-) 

  • Re: Local Database per Windows [RISOLTO]

    Ciao migliorabile

    ahahaha… ottimo il VisualStupido ;-)

    Le tue esperienze e come quelle di oregon, sono molto utili e preziose.
    Rendono bene l'idea di come approcciarsi a certi argomenti. 

    Avere consigli e un riferimento come il vostro è molto importante per partire con il piede giusto e, come diceva Oregon, di non farsi prendere dalla frenesia.

    Mi sembrano ottime le tue considerazioni e grazie mille per l'ottima panoramica. Questo aiuta molto ad avere un quadro abbastanza completo e tanti argomenti da approfondire escludendone subito taluni a priori.

    Interessante anche le considerazioni di MySql per le piccole App 

    Bene… grazie mille per i consigli e info utilissime !!!

    facendo tesoro delle vostre indicazioni, mo' me tocca studià…. ;-) 

    Grazie !!!

  • Re: Local Database per Windows [RISOLTO]

    09/07/2023 - migliorabile ha scritto:


    .. i prodotti di papa' “Giuseppe Cancelli”…

    “Guglielmo Cancelli”

    (questo sì che è un intervento di quelli degni di encomio)

  • Re: Local Database per Windows [RISOLTO]

    09/07/2023 - migliorabile ha scritto:


    … i prodotti di papa' "Giuseppe Cancelli" 

    Diciamo che il nome già indicava che avrebbe avuto un futuro luminoso legato alle “Finestre” 

  • Re: Local Database per Windows [RISOLTO]

    In merito alla domanda di Franco …

    Se il sistema operativo su cui far girare il RDBMS è Win rimanere su MSSQL Server Express dovrebbe essere la scelta più ragionevole.

    Se pensi di installarlo su Linux potrebbe essere più sensato usare MySQL/MariaDB ma se proprio vuoi puoi anche installare MSSQL Server Express (sicuramente è fattibile con openSUSE/SUSE ma credo che sia fattibile anche le altre distribuzioni).

    Io personalmente userei MariaDB (sia su Win che su Linux) ma solo perché ho qualche conoscenza in più rispetto a MSSQL Server e non per motivi tecnici/prestazionali.

  • Re: Local Database per Windows [RISOLTO]

    10/07/2023 - max.riservo ha scritto:


    Io personalmente userei MariaDB (sia su Win che su Linux) ma solo perché ho qualche conoscenza in più rispetto a MSSQL Server e non per motivi tecnici/prestazionali.

    Grazie mille di cuore !!!

    Sono orientato su express localdb…  (almeno penso)  ;-)

    Stò approfondendo sulla base dei consigli che mi avete dato, almeno per adesso, per farmi un pò le ossa e per prenderci la mano… 
    Una volta fatta un pò di esperienza continuerò a valutare le altre ipotesi che vanno per la maggiore che avete consigliato.

  • Re: Local Database per Windows [RISOLTO]

    Stò preparando il mio pc per lavorare con il C# e Sql server express localdb
    fare spazio e ripulire da vecchi installazioni di test etc etc etc ….


    Domanda… 
    ma le vecchie versioni di sql server e le vecchie versioni di visual studio le posso disinstallare ?
    le vecchie istanza di connessione di SQL SERVER si possono eliminare ?

    Grazie !!!

  • Re: Local Database per Windows [RISOLTO]

    Firebird 

    Per Windows , lInux, MacOs, Solaris, ecc..

    Driver odbc, ado.net, jdbc, …

    Disponibile anche versione embedded (singola dll da 1,5 Mbyte)

    Eventi, Cross-db query, row-level replication, ecc..

    Gratuito anche per prodotti commerciali

    Sorgenti disponibili

  • Re: Local Database per Windows [RISOLTO]

    22/07/2023 - amorosik ha scritto:


    Firebird 

    Per Windows , lInux, MacOs, Solaris, ecc..

    Driver odbc, ado.net, jdbc, …

    Disponibile anche versione embedded (singola dll da 1,5 Mbyte)

    Eventi, Cross-db query, row-level replication, ecc..

    Gratuito anche per prodotti commerciali

    Sorgenti disponibili

    https://vitolavecchia.altervista.org/cose-e-quali-sono-le-caratteristiche-del-dbms-mysql/

  • Re: Local Database per Windows [RISOLTO]

    Ciao

    Chiedo solo una cosa: nel titolo del post si parla di “local database”, ma che intendi?

    Personalmente, se devi usarlo per piccole applicazioni locali e con c#, userei uno dei database “in process” che ci sono a disposizione, tipo LiteDB (NoSql) o SqLite (relazionale).

    Questi DB sono molto comodi perchè non necessitano alcuna installazione e girano più o meno su tutti i sistemi operativi.

  • Re: Local Database per Windows [RISOLTO]

    24/07/2023 - PiGi78 ha scritto:


    Ciao

    Chiedo solo una cosa: nel titolo del post si parla di “local database”, ma che intendi?

    Personalmente, se devi usarlo per piccole applicazioni locali e con c#, userei uno dei database “in process” che ci sono a disposizione, tipo LiteDB (NoSql) o SqLite (relazionale).

    Questi DB sono molto comodi perchè non necessitano alcuna installazione e girano più o meno su tutti i sistemi operativi.

    Ciao, 

    grazie per l'osservazioni/consigli… nella premessa che ho fatto in apertura del Thread più o meno trovi la risposta.

    Posso dirti che da professionista non vado a cercarmi uno dei tanti db e di certo non ci perderei tempo per lavorarci con il c# o con il vb
    L'eventuale installazione di prodotti non comporta discriminanti tali da precludere un db rispetto a un altro. 

    " Local " perchè come prima necessità è quella di realizzare App che possano semplicemente girare in Locale su una singola postazione di lavoro. Ma non per questo voglio precludermi altri scenari futuri.

    Anche per questo motivo, ho scartato il Localb di sqlserver in quanto ha comunque delle limitazioni rispetto al semplice Express

    Ma la cosa a cui sono più interessato è quello di lavorare con strumenti standard e normalmente manutenuti/supportati da un regolare supporto tecnico. 

    Tutto qua ;-)

Devi accedere o registrarti per scrivere nel forum
13 risposte