n° 154
Settembre 2010
Settembre 03, 2010, 04:23:28 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia: Usi il PC già da qualche anno? partecipa alla discussione nell'area Retrocomputing
 
   Indice   Linux Windows Internet videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  


 SONDAGGIO
Saresti interessato a seguire online dei videocorsi?
Sì | No
Se sì, quali di questi argomenti sarebbero di tuo gradimento?

.NET Framework   PHP
ASP.NET Python
Attività SEO Ruby
C# Silverlight
C/C++ Visual Basic .NET
Java Windows Azure
Java per Android Windows Phone 7
Objective-C (iPhone / iPad) Altri

Attenzione! Per partecipare al sondaggio bisogna essere registrati al forum




* Messaggi recenti
Messaggi recenti
Pagine: [1] 2   Vai giù
  Stampa  
Autore Discussione: Database in c o c++ perchè no???  (Letto 987 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
giilla
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 47


Mostra profilo
« inserita:: Febbraio 06, 2010, 02:35:10 pm »

Salve
 vorrei qualche dritta....o intenzione di creare exnovo un programma gestionale..ovviamente all'uni. si parte da access e poi si usa sql per le query. Ho fatto qualcosa del genere usando il Builder 6  e nello specifico gli oggetti ADO, ma ho trovato la stesura poco malleabile.
Dunque mi chiedo se impostassi tutto usando solo il c o c++, usando alberi binari e liste e semplici file  per l'input e l'output sarebbe poco efficiente??avrebbe una eccessiva complessita computazionale nelle query??e quali limiti avrei usando e creando un database del genere??
..premesso che con il c e il c++ me la cavo mentre con i prodotti Microsoft ho qualche problema di antipatiaaaa  Ghigno
Registrato
paooolino
Jr. Member
**

Karma: +2/-4
Scollegato Scollegato

Messaggi: 143


Ideas in programming


Mostra profilo WWW
« Risposta #1 inserita:: Febbraio 06, 2010, 06:23:05 pm »

cioè, fammi capire, vorresti sostituire un DBMS (DataBase Management System) con una serie di file di testo che vuoi leggere/scrivere attraverso codice C++?
Registrato

VBeXtreme
Full Member
***

Karma: +12/-75
Scollegato Scollegato

Messaggi: 513



Mostra profilo
« Risposta #2 inserita:: Febbraio 06, 2010, 08:50:40 pm »

se la mole di dati è piccola allora conviene liste e compagnia bella.
se parliamo di migliaia di dati collegati fra loro allora conviene usare un database.Non si è obbligati ad usare prodotti casa M ci sono molte soluzioni anche free o con alcune limitazioni
Registrato

Ragionare non è nient’altro che calcolare
"Thomas Hobbes"
giilla
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 47


Mostra profilo
« Risposta #3 inserita:: Febbraio 06, 2010, 09:56:24 pm »

...Ovviamente la mole di dati...non è elevata!!
...il discorso è che mi sembra che il c o il c++ mi permetta una maggiore flessibilità nelle interrogazioni dei dati...e nella loro elaborarzioni ma magari mi sbaglio....ed ho questa convinzione solo perchè non ho abbastanza conoscenza inerente all'sql.
Ma cmq...cosa suggerite??...tanto devo cmq iniziare....e volevo dei consigli
Registrato
VBeXtreme
Full Member
***

Karma: +12/-75
Scollegato Scollegato

Messaggi: 513



Mostra profilo
« Risposta #4 inserita:: Febbraio 06, 2010, 10:55:11 pm »

come bagaglio personale ti conviene studiare l'sql,fatti una ricerca in internet e cerca il tuo database che più ti soddisfa,ricordati che puoi semplificare,ad esempio puoi creare una classe che semplifichi l'uso di un database.Ovvio che l'inizio sarà arduo ma col tempo le fatiche saranno ripagate.
Se invece è un uso occasionale e per pochi dati semplici e poco legati allora usa pure le liste e studia in un secondo momento l'sql.
Io per capire il funzionamento di un database ne ho provato a farne uno,è un ottimo esercizio,ma non sperare di riuscire a creare qualcosa di bello,ma forse neanche sufficente.La cosa molto complicata sta nella gestione della memoria e degli account.
Discorso a parte per la libreria che ho creato per la semplificazione sull uso dei database,mi ci è voluto una vita e tuttora è in fase di upgrade ma ora non è più macchinoso e ripetitivo,in poche parole ho modificato tutto e fatto in modo che il database lavorasse in base alle mie reali esigenze.Eliminando le opzioni che non ho mai usato e automatizzando quelle più usate,fino a trasformare comandi sql in facili proprietà o funzioni.
Registrato

Ragionare non è nient’altro che calcolare
"Thomas Hobbes"
giilla
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 47


Mostra profilo
« Risposta #5 inserita:: Febbraio 07, 2010, 09:01:27 pm »

Ok....grazie...ma esiste qualcosa tipo easysql...o una serie di esempi...ma non troppo banali..perchè a quelli ci arrivo anche io per vedere le potenzialita dell'sql....nei man online ci sono sempre esempi troppo banali...e poco sfruttabili...e quindi per lavorare decentemente con i dati mi ritrovo a stare un ora per fare query di sotto query...in questo nn lo trovo flessibile...o è la mia testa che non vuole girare con la sua logica!!
Registrato
VBeXtreme
Full Member
***

Karma: +12/-75
Scollegato Scollegato

Messaggi: 513



Mostra profilo
« Risposta #6 inserita:: Febbraio 07, 2010, 10:22:10 pm »

i comandi sql sono pochi e basilari,ma seguono una logica molto potente.Bisogna esercitarsi per addentrarsi nel suo profondo.
Ricordati che con i sistemi più semplici si applicano i calcoli più complessi.
Che genere di esempi vuoi?
Conosci i comandi base?
Registrato

Ragionare non è nient’altro che calcolare
"Thomas Hobbes"
giilla
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 47


Mostra profilo
« Risposta #7 inserita:: Febbraio 08, 2010, 03:04:02 pm »

Bhe i comandi base si, ovviamente non alla perfezione....magari degli esempi in cui si usano più sottoquery...ove la query è input per un altra
Registrato
celeborn85
Global Moderator
Hero Member
*****

Karma: +42/-8
Scollegato Scollegato

Messaggi: 1752


Mostra profilo
« Risposta #8 inserita:: Febbraio 08, 2010, 03:49:01 pm »

Che genere di query compaiono nella tua applicazione? Di quante query diverse hai bisogno? Su che tipo di dati devi lavorare? Sei interessato a proteggere in qualche modo i dati? Quali sono i tuoi obiettivi a livello di performance?
È ovviamente possibile implementare tutta la logica all'interno di un proprio programma, ma è necessario valutare il peso che questa scelta avrà sui tempi di sviluppo e sulla complessità del codice. Gestire i dati direttamente richiede infatti normalmente più codice e aumenta la complessità del codice in C/C++. Se il tuo programma richiede la scrittura di molte query diventerebbe inoltre impensabile scrivere ogni volta tutto il codice per ottenere i dati e sarebbe quindi necessario seguire un approccio più modulare rischiando di dover lavorare con un linguaggio non molto diverso da sql. Inoltre sarà molto probabilmente necessario implementare una struttura dati di una certa complessità (più complicate delle liste almeno). Non sono certo che sia conveniente lasciar perdere sql e implementare tutto.
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
VBeXtreme
Full Member
***

Karma: +12/-75
Scollegato Scollegato

Messaggi: 513



Mostra profilo
« Risposta #9 inserita:: Febbraio 09, 2010, 11:20:55 am »

Vorrei farti un esempio che illustri quanto è versatile sql:

SELECT *
FROM Clienti esterna
WHERE '2010/02/09'
IN(
    SELECT Odata
    FROM Ordini interna
    WHERE esterna.Cnum = interna.Cnum);

Questa query composta che utilizza una query correlata,ritrova gli ordini di una determinata data.
Ma questo è solo un metodo,potremmo anche riscriverlo cosi:

SELECT DISTINCT primo.Cnum,primo.Cnome
FROM Clienti primo,Ordini secondo
WHERE primo.Cnum = secondo.Cnum AND secondo.Odata = '2010/02/09'

Una cosa da sottolineare è che il 'Structurered Query Language' interroga il database direttamente in inglese.Proprio come se dovessi fargli una domanda,questo sembra banale ma è l'opzione piu potente!
Guarda questa traduzione:

SELEZIONA DISTINTAMENTE primo.Cnum,primo.Cnome
DA Clienti primo,Ordini secondo
DOVE primo.Cnum = secondo.Cnum E secondo.Odata = '2010/02/09'

Forse cosi diventa piu semplice....Tu domandi il database risponde.
Prima di scrivere una query dovresti porre una domanda al database,tipo:

Voglio i dati contenuti nella tabella x nelle seguenti colonne y che rispettino le regole z

Solo dopo puoi 'convertire' in sql,vedrai che col tempo ti diventerà naturale.
Entra nello specifico se vuoi ulteriori chiarimenti.

Citazione di: Celeborn85
Inoltre sarà molto probabilmente necessario implementare una struttura dati di una certa complessità (più complicate delle liste almeno).
Per mia curiosità personale che esce dalla visibilità di questo thread,cosa useresti per gestire i dati di un database complesso senza utilizzare le liste?

Citazione di: Celeborn85
Non sono certo che sia conveniente lasciar perdere sql e implementare tutto.
Vedi secondo me se riesci a gestire i dati con le liste allora il modello che si sta usando è abbastanza semplice da poter evitare l'utilizzo di un database vero e proprio.Cmq come ho detto precedentemente,prima o dopo il progetto si consiglia di approfondire il 'linguaggio' sql
Registrato

Ragionare non è nient’altro che calcolare
"Thomas Hobbes"
giilla
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 47


Mostra profilo
« Risposta #10 inserita:: Febbraio 09, 2010, 12:46:00 pm »

Grazie davvero,
siete stati chiarissimi...e mi mettero a vedere seriamente l'sql

Citazione
Per mia curiosità personale che esce dalla visibilità di questo thread,cosa useresti per gestire i dati di un database complesso senza utilizzare le liste?

Non l'ho implementato....prima mi sono consulata con voi...ma non ho mai detto che non avrei usato le liste....o altri tipi di adt tipo gli alberi binari! ovviamente avrei usato i templates...quindi prima mi sarei fatta delle librerie adeguate!!!...ma vi farò sapere quando il progetto evolverà.... anche perchè è un progetto che voglio sviluppare per hobby, nn a tempo pieno.
 
Registrato
flavio58
Jr. Member
**

Karma: +4/-23
Scollegato Scollegato

Messaggi: 93

flaviobernardotti@hotmail.com flaviobernardott flaviobernardotti
Mostra profilo E-mail
« Risposta #11 inserita:: Febbraio 09, 2010, 01:10:33 pm »

A me una cosa fatta cosi negli anni 2010 mi sembra un po tempo perso in quanto il problema delle progettazione di un database non è tanto vedere se fa le query ma sapere quanto i tuoi dati sono sicuri e se non li perdi per la strada ogni 10 minuti.
Se analizzi una sistema di database serio vedrai che ci sono problemi immensi per la gestione delklla condivisione, della rrelazionalità.....lasciando perdere le funzioni  dei database seri con le loro funzioni di COMMIT e ROLLBACK che permette di evitare drammi dovuti all'aviamento di processi che modificaqano pesantemente dati relazionati con piu' tabelle e poi abortire il tutto per qualche problema e quindi salvarsi il sedere chiamando un rollback.
La progettazione dei database deve avere almeno un 40% delle sue funzioni legate al controllo dei problemi per salvaguardare i dati.
Prova a vedere la faccia di un commercialista che per 9 mesi inserisce dati e al 10 mese inizia a stampare  e si accorge che per problemi vari è tutto sbagliato e i dati devono essere riscritti !!!!
Speera di non essere quello che  ha detto: il database l'ho fatto io !
Registrato

Flavio Bernardotti
Il portale della visione artificiale http://www.bernardotti.it/portal
I miei libri gratuiti http://www.bernardotti.it/libri.html
VBeXtreme
Full Member
***

Karma: +12/-75
Scollegato Scollegato

Messaggi: 513



Mostra profilo
« Risposta #12 inserita:: Febbraio 09, 2010, 01:38:58 pm »

ma leggete?
x giila la domanda era rivolta a celeborn e non a te,come penso il riferimento alle liste era rivolto a me e non a te.
x flavio,il mio riferimento nel crearsi un proprio database era proprio quello di capirne le reali difficoltà,come ho già detto nel precedente post non si riuscirà a creare qualcosa di decente ma sicuramente si potranno capire le reali difficoltà e funzionalità.Molte volte quando non capisco delle funzioni o librerie o quant'altro provo a crearle io,in questo mondo riesco a capirne il meccanismo interno che mi semplifica la comprensione.
Il discorso delle liste è alquanto semplice,se basta un modello così semplice per gestire il mio programma gestionale allora non avrò bisogno di sql altrimenti sarà quasi sicuramente più conveniente l'utilizzo di un vero database.
C'è un ulteriore chiarimento che sarebbe da fare sulla mia libreria sui database,presa in esame da celeborn,ma essendo scritta in vb,anche se usabile facilmente in c perché  è compresa di file .def,eviterei di scendere nel dettaglio per non mischiare e confondere le idee.Se però siete curiosi del perché e del tipo di automazioni chiedete pure,posso solo dire che automatizza molto.Il pro è che con una o due righe di codice riassumo listati più grossi e complessi,il contro che se un'altro programmatore dovesse mettere mano al codice rimarrebbe molto spaesato, cosa che non succederebbe con il classico sql.
Registrato

Ragionare non è nient’altro che calcolare
"Thomas Hobbes"
celeborn85
Global Moderator
Hero Member
*****

Karma: +42/-8
Scollegato Scollegato

Messaggi: 1752


Mostra profilo
« Risposta #13 inserita:: Febbraio 09, 2010, 02:28:11 pm »

Citazione
Per mia curiosità personale che esce dalla visibilità di questo thread,cosa useresti per gestire i dati di un database complesso senza utilizzare le liste?
Utilizzerei un array in cui gli elementi sono ordinati in base alla chiave primaria affiancato da strutture dati per velocizzare le query.

Non l'ho implementato....prima mi sono consulata con voi...ma non ho mai detto che non avrei usato le liste....o altri tipi di adt tipo gli alberi binari! ovviamente avrei usato i templates...quindi prima mi sarei fatta delle librerie adeguate!!!...ma vi farò sapere quando il progetto evolverà.... anche perchè è un progetto che voglio sviluppare per hobby, nn a tempo pieno.
I templates non sono un tipo particolare di strutture dati, ma semplicemente un modo per scrivere funzioni o classi generiche, parametrizzate da un qualche tipo o valore intero. È perfettamente possibile creare una lista o un albero binario utilizzando i template, e viene in effetti fatto.
Registrato

I moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
flavio58
Jr. Member
**

Karma: +4/-23
Scollegato Scollegato

Messaggi: 93

flaviobernardotti@hotmail.com flaviobernardott flaviobernardotti
Mostra profilo E-mail
« Risposta #14 inserita:: Febbraio 09, 2010, 05:49:20 pm »

Dicendo classico sql forse lo sottovaluti in quanto quando  IBM ho creato la teoria relazionale dei dati  (quanti di voi usano database relazionali e non conoscono le regole per la creazione dei database ?) Io ho rifatto software che gestiva un sindacato e il software partiva da Roma per tutta italia.  Appena ho aperto il database ho capito subito la musica dalla strutturazione della porima tabella e dei suoi (chiamiamoli cosi) indici.
IBM quando ha definito la teoria relazionale dei dati ha stabilito come lingiuaggio descrittivo SQL.
La difficoltà di un database sta nella strutturazione delle tabelle e della creazione degli indici che permetteranno le relazioni uno a molti ecc.
Se volete sul mio sito sotto l'area dei miei libri c'è un volumetto chiamato SQL che rappresenta la taoria relazionale e dell'SQL.
Registrato

Flavio Bernardotti
Il portale della visione artificiale http://www.bernardotti.it/portal
I miei libri gratuiti http://www.bernardotti.it/libri.html
Pagine: [1] 2   Vai su
  Stampa  
 
Vai a:  

Copyright © 2009 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page