Newsgroup: it.lavoro.informatica
Titolo: creare DataBase (come iniziare)

Ciao a tutti, vorrei un vostro consiglio, sono un ex studente di 
ingegneria che purtroppo ha abbandonato gli studi, adesso vorrei 
buttarmi nel mondo dei data base, in questo momento sto studiando Access
ed il linguaggio SQL, mi consigliate di imparare anche il VB??
Forza con i consigli..... :-)
Grazie
                    Andrea

 wrote in message
news:VHFZb.9886$HO2....@news.edisontel.com...

Ti consiglierei di scartare access e cominciare a studiare un db piu' serio
come mySql, Oracle, DB2 o SqlServer, liberamente scaricabili nella versione
demo (non sono sicuro del MS SqlServer). Per la programmazione dipende dal
DB, direi comunque java e' una scelta che va bene per tutti (dovrai comunque
imparare pl/sql).

 wrote in news:VHFZb.9886$HO2.9360
@
news.edisontel.com
:

it.comp.appl.access
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------

 demo (non sono sicuro del MS SqlServer).
non sarei sicuro nemmeno di un IBM DB2 scaricabile in versione demo su PC...
--
FabMind

 --
Io di quello si ;-)
Basta andare sulla sezione trial and betas (l'ho scaricato diverse volte...
ovvio che oggi solo nella versione 8.1. Parola di DB2 Database Associate.
Maledetto mainframe. Devo fare l'esame di MQ e ci sono tantissime domanda su
os/400 e os/390 (zOS con tutti i suoi sysplex and CF structures) su cui non
ho mai lavorato. Pero' adesso ci sto capendo qualcosa. ;-)

 imparare pl/sql).
ma interbase non lo considera nessuno?qual'è la sua diffusione?
ciao
yatsura

 demo (non sono sicuro del MS SqlServer). 
MySQL e` gratuito per uso commerciale, quindi niente demo
Oracle e`, mi sembra, gratuito nella versione "developer" o una licenza
similare
DB2 boh
SQLServer, la versione developer costa una settantina di euro, mentre
MSDE e` gratis (e` SQLServer con limitazione a circa 5 accessi
contemporanei) Mi permette di aggiungere anche PostgreSQL:
www.postgresql.org
-- 
Lawrence
"Avevo Halo, poi e` arrivata la mia fidanzata."


Urusei Yatsura? Hajimemashite, doozo yoroshiku (scusa sono alle prime armi
con il giapponese).
Putroppo, anche nel campo del DB si va verso una oligarchia. Il primo passo
e' cominciato da quando informix (altro ottimo prodotto) e' stato acquistato
da IBM. Forse e' anche meglio cosi' invece che avere dozzine di DB.
L'interbase e' della borland, o sbaglio? Qui, ad esempio, oltre che ad
Oracle si usa Sybase, altro ottimo prodotto.

 MySQL e` gratuito per uso commerciale, quindi niente demo
Mmm. mi pare che ci sia un discorso piu' complesso sull'uso commerciale. Non
sempre e' gratuito. Mi sembra che c'era gia' stato un thread al proposito.
E' gratuito solo per progetti open source.
http://www.mysql.com/products/licensing.html
http://www.mysql.com/products/pricing.html

 licenza similare
Confermo.

 E' gratuito solo per progetti open source.
Scusa ho sbagliato io a scrivere, intendevo:
"gratuito per uso non commerciale"
mi sono perso un non :D


crow2k wrote:

A parte tutti i validi consigli gia' formulati:
1. Ritengo un buon libro per chi comincia (da zero o quasi) nella
realizzazioni dei DB e':
Progettare Database
Michael J. Hernandez
Mondadori Informatica
ISBN 88-8331-514-6
Forse un po' lungo e prosaico ma sicuramente valido (titolo originale
"Database Designe for Mere Mortals").
2. Un ottimo tool di modellazione ER, free ed Open Source lo trovi qui:
http://www.fabforce.net/dbdesigner4
3. Personalmente penso che per imparare bene una tecnica, un linguaggio
od un metodo e' importante oltre alla teoria anche l'applicazione
pratica, per questo ti suggerisco di definire un progetto e cercare di
portarlo a termine applicando quello che stai studiando.
4. Potrebbe rivelarsi utile il newsgroup it.comp.software.database.
5. Per imparare a progettare DB e' necessario anche utilizzarli, per
questo sarebbe opportuno conoscere (anche solo il minimo
indispensabile) un linguaggio di programmazione che disponga di facili
API per accedere ai DB.
Saluti.
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
L'uomo, conscio di sbagliare, persevera.


Access non solo va bene ma va BENISSIMO a dispetto di quanto ti è stato 
detto sopra, soltanto non devi commettere alcuni errori:
Innanzitutto non devi confondere i database con l'applicativo Access. 
Access è uno strumento per gestire un database quindi sapere come 
funziona Access non significa sapere lavorare con i database allo stesso 
modo per cui Word non significa saper scrivere.
Quindi per studiare i database non devi  un manuale di access, che ti 
spiega tutte le sue innumerevoli e spesso inutili funzioni, ma un libro 
che ti spiega la teora dei database, cosa sono i database relazionale, 
il diagramma entità relazioni, chiavi esterne e chiavi primarie, la 
normalizzazione delle tabelle e chiaramente come interrogare i dati con 
il linguaggio sql e creare le query.
Per quanto riguarda il linguaggio sql esso ha di base una serie di 
istruzioni (select, from, where, order by, group by, having, insert 
delete union e poche di più) con le quali i programmi aziendali sono 
andati per decenni ed access è in grado di eseguirle tutte in mainera 
egregia.
Lo studio dei database non ha niente a che vedere con la programmazione 
vera è propria in quanto le competenze per le due attivià sono 
differenti, quindi non è che ti serve il VB per imparare i database ma 
se, come presumo, vuoi creare da zero un applicativo che gestisca i 
database devi conoscere sia un linguaggio di programmazione che la 
teoria dei database allo stesso modo per cui se volessi creare un 
applicativo per gestire la grafica dovresti avere delle nozioni di 
matematica specifiche per le curve nel piano o nello spazio.
Una volta capite le basi dei database e della programmazione, ti 
renderai conto poi che Access soffre di alcune limitazioni per quanto 
riguarda la gestine dei dati ( a parte i limitati accessi multipli, non 
ha la possibilità di avere trigger o store procedure ) ma ti assicuro ne 
potresti fare benissimo a meno per la quasi totalità di applicativi 
medio piccoli (conosco gestionali che costano sui 5000 EU e hanno come 
base dati un file di access)
Concludo dicendoti che didatticamente access non solo è buono ma è il 
migliore programma che potresti utilizzare ( considerando il prezzo, la 
completezza e la facilità di utilizzo). Se poi dovrai creare un 
applicativo professionale la scelta del database dovrà tener conto di 
una serie di fattori tra i quali, l'affidabilità, l'integrazione con il 
linguaggio usato e chiaramente il costo del db .
In ambiente Microsoft un ottima scelta sarebbe sql server (o il gratuito 
MSDE da preferire ad access ) poi chiaramente mysql, postgres, firebird 
(tutti ottimi e gratuiti) o se il prezzo del db non incide sensibilmente 
sull'intero costo del prodotto (oppure il cliente ce l'ha già) vai con 
oracle.

 completezza e la facilitą di utilizzo).
Se la scelta e' tra l'acquisto del pacchetto office e la demo gratis di uno
qualsiasi dei prodotti elencati, direi che il discorso di convenienza cambia
abbastanza. Non mi sembra comunque che MySql, ad esempio, sia
particolarmente piu' complicato da installare e mantenere rispetto ad
access. Poi, ognuno ha dei metodi didattici propri. C'e' chi ritiene che sia
meglio andare sul triciclo per molto tempo prima di andare su una bici
mentre altri hanno un'impostazione diversa: personalmente preferisco
cominciare ad andare in bici, magari cascando un paio di volte ma assumendo
gia' una impostazione piu' corretta. Questione di punti di vista.

Oracle si usa Sybase, altro ottimo prodotto.
Interbase é un prodotto Borland, ma  a questo punto tanto vale
buttarsi sullo studio di Firebird che e' opensource e si basa sul
codice OS di Interbase 6.0 qundi compatibile al 100%.
http://firebird.sourceforge.net/
Ciao Edy

 gia' una impostazione piu' corretta. 
Non mi è chiaro chi è il triciclo, chi la bici e perchè.
Anche l'impostazione più corretta mi confonde un po'.
 > Questione di punti di vista.
Questo sempre, magari però se si giustifica quello che si dice aiuta molto

 può essere sicuramente un buon punto di partenza
Concordo pienamente su quanto hai detto.
(a parte il "ben documentato" ^_^)


Mi pareva di averlo giustificato anche prima, forse ho argomentato poco,
ripeto il mio punto di vista, direi proprio di scartarlo a livello
didattico, cosi' come sconsiglierei il Visual Basic a chi si avvicina per la
prima volta alla programmazione. Rimango pertanto dell'opinione iniziale,
che se vuole apprendere cosa e' un DB deve assolutamente scartare Access.
Questa e' la mia opinione e i tuoi interventi mi hanno anche fatto
riflettere maggiormente su quanto ritengo sbagliata una decisione tale. Poi,
se rispetti la mia opinione, bene, se non la rispetti, chissene.
A livello di business ugualmente non mi piacciono i compromessi e preferirei
affidare le mie scelte tecniche a chi sa fare il suo mestiere piuttosto che
improvvisare segretarie programmatrici e magazzinieri DBA.

 mySQL 
Sei un gradasso e hai fatto autogol.
Io parlo per esperienza personale , cerco di essere obiettivo e non 
pretendo di dare verità assolute, proprio per questo ogni volta che 
esprimo giudizi e opinioni cerco di giustificarli e sono aperto alle 
discussioni.
Tu mi hai dato gratuitamente dell'incompetente solo perchè hai letto 
per la prima volta e male uno stralcio del manuale di mysql.
Mi fai capire che non sto parlando con un professionista del settore 
(magari sei competente in qualche altra cosa, sicuramente non di mysql) 
e neanche i tuoi interventi sono professionali.
Non ho intenzione di continuare la discussione


Interbase/firebird è un gran bel DB monolitico, parola di chi sviluppa con
Delphi da un bel po'.
Hai a disposizione (gratuitamente fino alla versione 6.1!) un linguaggio SQL
dialetto 1-3 molto completo, con piena possibilità di creare stored proc e
triggers, con comandi che non sempre sono a disposizione in altri DB (vedi i
vari ALTER).
E' un'ottima scelta per imparare le basi dati.
Certo, uno dei problemi maggiori è quello di trovare un provider ole o un
odbc stabile...ma per chi smanetta su SQL (o programma in delphi) è un
grande.

 discussioni.
Non sono un gradasso ma sono un essere umano e a volte perdo la pazienza,
cosi' come hai fatto tu in questo momento in maniera ben piu' pesante, visto
che io soltanto detto che sembra che non ci lavori molto con mySql ( e in
effetti le select multiple le supporta gia' la 4.1 mentre le views le
supporta la 5, adesso mi sa che ti ho dato il riferimento del manuale della
4.1, ma vabbe' giustamente lo avevi detto che probabilmente verranno
supportate nella versione 5- cionostante il tuo messaggio sembrava comunque
di chi non ha lavorato su mySql per molto tempo ma ha fatto un copia e
incolla da qualche sito - cosi' come ho fatto io, vero anche quello). Non
sono un DBA ma sono certificato come DBAssociate e DBAdministrator su DB2,
ma e' sempre stata per me un'attivita' collaterale, mai piena, e questo lo
dico chiaramente nei colloqui di lavoro. Per carita' non e' un problema non
conoscere mySQL, nemmeno io ci lavoro ma lo conosco per cultura generale
anche se ogni volta esce una nuova versione con feature differenti che la
rendono sempre piu' simile ai maggiori protagonisti del settore. Perdo la
pazienza soprattutto con le persone che cominciano i loro post con "non ha
fatto bene ma ha fatto benissimo", sebbene tu abbia dimostrato competenza
nella materia (reale o scopiazzata non mi interessa, non sta a me giudicarlo
ne' mi interessa tantopiu').
I motivi te li avevo chiaramente esposti anche se forse non ho usato il tono
migliore per elencarli, ma sono stato un po' spinto dalle tue premesse
arroganti.
Se lui vuole avvicinarsi al mondo dei DB, ha due strade, quella del DBA e
quella dello sviluppatore DB. In entrambe le professioni deve comunque avere
una conoscenza piena del DB. I motivi per cui non reputo "access" uno
strumento adatto per la didattica sono i seguenti:
- mancanza di adeguati controlli su autorizzazione, identificazione e
privilegi
- mancanza di store procedure, trigger e job
- mancanza di indici
- mancanza di partizionamenti con altri DB
- mancanza di gestione dei satelliti (bellissimo questo su oracle)
- mancanza dei meccanismi di replicazione
- mancanza di un meccanismo di backup efficacie
- mancanza della gestione dei log e dei sincpoint
- mancanza della concurrency (e questo e' un problema molto delicato nei
DB), dei vari livelli di isolation
- mancanza di uno standard SQL (questo e' un po' vero su tutti i DB ma in
particolar modo su access) e comunque un SQL molto meno potente
- mancanza di gestione dati XML, o complessi (forse il 2003 gestisce XML ma
non gestisce certo tutte le variabili che sono presenti nei DB complessi)
- strumenti di sviluppo proprietari (anche su oracle ma di sviluppatori
oracle developer ce ne sara' sempre bisogno visto che Oracle non morira'
mai... almeno nei prossimi 10-20 anni per la quota di mercato che ha
conquistato)
- mancanza di struttura solida per la gestione dei page set (quella di
Oracle e' molto complicata) e di tutta una serie di parametri indispensabili
per l'ottimizzazione del DB
Questi sono i motivi che non ho elencato all'inizio ma che presumo che tu
sappia benissimo. Il punto e' che comprendo anche la tua scuola di pensiero.
Quella appunto di andare su un "triciclo" (metafora che hai capito benissimo
ma hai fatto finta di non capire per dimostrare che avevi ragione), in
quanto DB limitato nelle sue funzioni, su quello non sono d' accordo, ma
riconosco che potrebbe essere uno stile. L'arroganza sta pero' nell'usare la
saccenza usando una presunta competenza superiore senza riconoscere che il
mio era soltanto un approccio diverso. Il motivo sta nel fatto che conoscere
bene access gli darebbe un falso senso di sicurezza, e il passaggio da falso
DBA a "smanettone" e' breve, mentre il contrario e' molto piu' semplice,
quasi immediato direi (ovvero da conoscitore di oracle/db2 a access).
Sinceramente, ammetto di essere stato accorto solo al 50% nel cercare di
reagire alla tua saccenza e di aver agito un po' impulsivamente, ma direi
comunque che un bagno di umilta' dovresti farlo anche te. Rimango comunque
dell'opinione che il mio e' uno stile, non una verita' ma nemmeno puo'
essere riconosciuto come sbagliato.
Senza rancore (almeno da parte mia).
Franc

2) che significa che mysql č piů serio
Non voglio ripetermi sui discorsi tecnici che state mandadno avanti, i
miei sarebbero superflui, ma sono comunque daccordo con Franco sul
ritenere MySQL come il DB piu' idoneo a livello didattico.
I motivi sono pochi e' semplici:
1. MySQL non costa nulla. Anche comprando la versione educational di
Access (discorso non sempre attuabile) c'e' sempre una differenza di
70 euro a 0.
2. MySQL e' diffusissimo. Esistono milioni di community e gruppi su
MySQL. La documentazione di MySQL e' ottima.
3. Al contrario di Access, con MySQL impari sbagliando, mentre con
Access molto spesso accadono delle cose dove non sai se sei tu a
sbagliare o e' un bug di access. Questo perche' non hai un interfaccia
grafica che non ti permette di vedere quello che effetivamente
succede.
Non a caso per che inizia io consiglio addirittura di non utilizzare
nessun tipo di client grafico ma la vecchia e cara shell questo solo
e' semplicemente per imparare SQL.

MSAcces non è un database. il motore di access è Microsoft Jet.
Saluti.