NonSoloNews | Benvenuti in NonSoloNews !!!

Essentials

Meta

Pages

Categories

The Avengers in DVD, BLU RAY e BLU RAY 3D dal 31 Agosto

  1. Commento audio del regista Joss Whedon
  2. Marvel One-Shot
  3. Second Screen
  4. Gag Reel
  5. Scene eliminate:
  • Alternate Opening – Maria Hill Interrogation
  • Extended Scene – Loki & Barton Strategize
  • Steve Rogers – Man Out of Time
  • Nick Fury & World Security Council
  • Extended Viaduct Fight – Raw Footage
  • Fury & Hill Discuss the World Security Council
  • Extended Scene – Banner and Security Guard
  • Alternate Ending – Maria Hill Interrogation

5. Featurette

  • A Visual Journey
  • Assembling the Ultimate Team

6. Soundgarden Music Video “Live to Rise”

Si tratta delle prime informazioni trapelate da Disney (le trovate su Amazon) per l’edizioni digitali del cinecomics campione d’incassi, anche la data d’uscita del 31 Agosto è per il momento provvisoria.

Incassi THE AVENGERS ancora un weekend record negli Usa da $55m il totale è $457m (6° posto di tutti i tempi) e nel Mondo vola a $1,180,400,000 (4° di tutti i tempi). Per BATTLESHIP solo gli avanzi $25m e DARK SHADOWS crolla del 57%

Inarrestabile negli USA con il terzo weekend consecutivo al primo posto con una stima sul weekend di $55,057,000 e un totale in 17 giorni di $457,100,000 il sesto incasso di tutti i tempi negli USA.
Nel Mondo grazie ai $723,3 milioni incassati nei mercati internazionali il totale Mondiale sale a $1,180,400,000 il quarto più alto di tutti i tempi !!!

BATTLESHIP si deve accontentare degli avanzi, solo $25,3 milioni gli incassi del primo weekend americano.

DARK SHADOWS crolla del 57% con un secondo weekend da $12,7 milioni, il totale in 10 giorni raggiunge i $50,9 milioni.

IL DITTATORE colleziona solo $17m da mercolerdì il totale in 5 giorni è un desolante $24 milioni.

più tardi gli ultimi aggiornamenti….

Recensione: IL PESCATORE DI SOGNI (2011)

USCITA CINEMA: 18/05/2012
GENERE: Commedia, Drammatico, Sentimentale
REGIA: Lasse Hallström
SCENEGGIATURA: Simon Beaufoy
ATTORI: Ewan McGregor, Emily Blunt, Amr Waked
MONTAGGIO: Lisa Gunning
MUSICHE: Dario Marianelli
PRODUZIONE: BBC Films, Davis Films, Kudos Film and Television, Lionsgate, UK Film Council
DISTRIBUZIONE: M2 Pictures
PAESE: Gran Bretagna, USA 2011
DURATA: 107 Min
FORMATO: Colore 2.35 : 1 


TRAMA
Il pescatore di sogni è la storia del dottor Alfred Jones, uno
scienziato introverso che lavora per il Ministero della Pesca e
dell’Agricoltura britannico. Il suo mondo, fatto di un lavoro ormai
monotono e un matrimonio stagnante, è improvvisamente messo sottosopra
quando si ritrova, suo malgrado, coinvolto in un progetto escogitato da
uno stravagante sceicco che sogna di realizzare qualcosa di
apparentemente impossibile: introdurre la pesca al salmone negli aridi
altipiani dello Yemen. Quando alla risoluta portavoce del Primo Ministro
inglese, Patricia Maxwell, alla disperata ricerca di una buona notizia
sul Medio Oriente per distogliere l’attenzione dall’ultimo fallimento
mediatico, giunge voce del piano dello sceicco il Governo britannico
decide improvvisamente di sposare il progetto. Il razionale dottor Jones
viene a poco a poco conquistato dal carismatico sceicco e dalla sua
visione mistica del mondo, e si prende una cotta per la sua assistente,
Harriet Chetwode-Talbot, che lo porterà a prendere delle decisioni
importanti per cambiare la sua vita.

RECENSIONE 

Uno sceicco (Amr Waked) vuole introdurre nello Yemen la pesca al salmone. Per questo si rivolge ad Harriet (Emily Blunt), una consulente finanziaria che prende contatti con il dottor Jones (Ewan McGregor), esperto scienziato del Ministero della Pesca, decisamente scettico sulla possibilità di realizzare quella che sembra una mission impossible. Tuttavia, a causa di interessi politici, il routinario dottor Jones è costretto ad accettare il lavoro. Un progetto che, piano piano, lo coinvolgerà sempre più, sia per la fede e il carisma dello sceicco, sia per il rapporto, sempre più intimo, con Harriet (devastata dalla “perdita” del proprio ragazzo).
Ma riusciranno davvero a realizzare questo sogno? Questo dovete scoprirlo da soli.

Il pescatore di sogni, tratto dal romanzo “Pesca al salmone nello Yemen” di Paul Torday, è una favola moderna costruita sui sentimenti più facili e immediati. Una storia semplice, lineare, essenziale, che serve a ricordare a tutti l’importanza di credere nei propri sogni e, soprattutto, il bisogno di avere fede e speranza.
Il tutto senza rinunciare alla classica storia d’amore che arricchisce una sceneggiatura forse un pò troppo sintentica, senza per altro scivolare in eccessivi e banali sentimentalismi.
Una pellicola che si avvale anche di una bella fotografia e di una buona recitazione da parte degli attori, con qualche pillola di humour inglese che non guasta. 

Un film, dunque, decisamente passabile. Da vedere se non si hanno grandi aspettative.

PUOI ACQUISTARE IL LIBRO QUI

Vero all’alba

Vero all’alba
Ernest Hemingway (autore)
A cento anni dalla
nascita di Hemingway vede finalmente la luce questo “romanzo
autobiografico”
rimasto fino a
oggi inedito. Scritto fra il 1954 e il 1956 dopo un safari di cinque
mesi in Kenia,
“Vero all’alba”
è stato per anni conservato nell’archivio delle opere non
consultabili della Kennedy
Library di Boston,
dove è stato recuperato dal figlio Patrick, che ne ha personalmente
curato l’edizione. Chi ama e ha letto Emingway ritroverà le
atmosfere di altri suoi capolavori, da “Verdi
colline d’Africa a
Le nevi del Kilimangiaro”. Con la sua scrittura limpida ed
essenziale, Hemingway ci racconta di lunghi tramonti africani, di
leoni che ruggiscono nella notte, del vento
che scende dalla
grande montagna e agita le tende. Ci descrive con passione il
paesaggio, l’agitazione della caccia, i rituali del safari. Ma
soprattutto ci trasmette la sua fascinazione per il
continente
africano e la sua cultura.
Il racconto inizia
quando il leggendario cacciatore Pop, grande amico di Hemingway, è
costretto
a partire,
lasciando “Papa” responsabile del campo. Non è una situazione
facile, l’aria è carica
di tensione,
sembra che una tribù ostile possa attaccarli. Eppure la vita nel
campo continua a scorrere, fra le battute di caccia e le insistenze
di Miss Mary, la piccola, gracile moglie di Hemingway che vuole a
tutti i costi uccidere un leone. Ma esiste anche un’altra donna, una
giovane
wakamba che abita
in un villaggio sulle pendici del Kilimangiaro. È bella, è altera,
è sfrontata, e
pensa di poter
diventare la seconda moglie di “Papa”, il quale certo non fa
niente per disilluderla.
Intorno, si
dispiega il grande coro di voci nere degli uomini del safari,
individui leali e disincantati,
affascinati dai
modi di vita dei bianchi. Le due culture non s’incontrano, ma
Hemingway si muove a suo agio fra di esse, raccontandoci le sue
imprese a fianco di quegli uomini straordinari, ricordando i giorni
trascorsi a Parigi e in Spagna, riflettendo sull’arte dello scrivere.
Ne esce un
autoritratto che,
come ha già scritto la “Kirkus Review”, è <<di
straordinaria importanza per capire
questo genio della
letteratura>>.
ISBN 88-04-45832-1


Getsèmani.

Getsèmani.
È possibile una
reincarnazione di Gesù, un suo ritorno nella tragedia della storia
contemporanea?
È l’interrogativo
temerario al quale Saviane risponde non con le affermazioni e le
ipotesi della
teologia, ma con
una favola allegorica. Protagonista ne è un uomo, misterioso e
enigmatico che
opera il miracolo
di guarire uno spastico grave, grazie all’amore; ma questo amore si
fonde inestricabilmente al dolore e assume nelle persone e nel tempo
dimensioni diverse: luminoso e
vivificante quello
che unisce Gesù a Maria, sorella del miracolato, torbido e disperato
quello che
spinge
quest’ultimo, per gelosia incestuosa, a ucciderla. E sarà ancora
l’amore a fare percorrere a Gesù, accusato ingiustamente
dell’omicidio, le tappe di un moderno calvario, dal processo alla
berlina alla morte
e alla resurrezione; e ancora amore quello che perdonerà per
l’eternità l’omicida,
abbattuto da un
colpo sfuggito a un poliziotto davanti alla Cattedrale incombente,
sempre la stessa,
in luoghi diversi.
Ma tutta la vicenda, pur realissima, si svolge senza indicazione di
paesi o di date:
come un mito che
stia ovunque e sempre per accadere. Solo l’amore fra Gesù e Maria e
il miracolo
hanno una sede
geografica, a connotare forse la genesi terrena dell’”amore
maggiore” che fa da tessuto al romanzo, fino a riscattare il dolore
e la colpa: “io sono il mio e il tuo dolore” è l’ultima
risposta di Gesù,
al suo nuovo Giuda.
Culmine di una
ricerca insieme narrativa e antropologica, cristiana e laica, che si
era delineata nelle
opere precedenti,
Getsèmani già nel titolo allude al centro della sua problematica,
che è l’assunzione
del dolore come
forza redentrice. Ognuno ha il suo Getsèmani e Cristo è la figura
che ce ne mostra
la necessità e,
paradossalmente, il bene. Questo tema nel romanzo tocca vertici
tragici, come nel
battesimo cruento
del figlio ucciso nel ventre della madre, vittima sacrificale e
tramite di salvazione. Ma tocca anche momenti lirici di
straordinaria intensità, nell’amore pieno e appassionato che unisce
Gesù a Maria sullo sfondo di Amalfi, e momenti epici nella
agghiacciante
evocazione del
disastro ferroviario in cui il minorato acquista la padronanza del
proprio corpo, o di
Gesù che scende
dalla croce. Questa ricchezza narrativa è come il segno, vitale e
visibile, della
speranza: perché,
mentre ritrae la violenza del mondo contemporaneo, che gli uomini
vivono soprattutto come “ingiustizia”, il romanzo di Saviane
risale al significato religioso del dolore
e lo riscopre come
fonte di conoscenza, di riscatto.


79′ Park Avenue -

79′ Park Avenue
di Harold Robbins (autore)
Un’inquietante
commedia umana tra i bassifondi di New York e il lusso di Park
Avenue.
Vittima e
dominatrice Marja, la giovane di nascita polacca, dai capelli d’oro
bianco e
dal corpo
splendente.
Maryann Flood,
nata a New York City. Nubile.
Imputazione:
aggressione a mano armata contro il patrigno. Tribunale dei
minorenni.
Riformatorio.
Uscita dal riformatorio Maryann farà la prostituta d’alto bordo, una
carriera che
le darà soldi,
lusso e anche il rispetto dei più. Ma nel cuore di Maryann è
rimasta Marja, Marja
Flundincki, una
ragazza semplice e pulita, figlia di emigrati polacchi, con dei
desideri normali
e degli obbiettivi
comuni a quelli di ogni altra donna. Se Marja diventa Maryann e fa
la vita, lo
fa da
professionista, perché questa è la cosa che le riesce meglio: ciò
non significa che non abbia
un codice morale
rigidissimo e preciso. Maryann Flood, la sua vita, i suoi amanti, il
suo unico
amore, è un’altra
indimenticabile figura femminile di Robbins, l’autore di straordinari
bestseller,
uno degli
scrittori più letti nel mondo.
Questo libro è opera di fantasia.
Né gli accenni
alla prostituzione e al gioco d’azzardo, né gli altri avvenimenti o
persone descritti
in questo libro
hanno attinenza alcuna a fatti realmente accaduti o persone
esistenti.
Qualsiasi
riferimento a persone realmente esistenti è puramente casuale, dal
momento che tutti
i personaggi sono
immaginari. I nomi di alcune personalità pubbliche, quale Thomas E.
Dewey,
sono citati di
sfuggita al solo scopo di stabilire il periodo storico e l’ambiente
in cui si svolge il
romanzo, ma non
sono personaggi del romanzo stesso.
ISBN 88-452-1006-5


Dal mio romanzo.

Negride
, ubbidendo : facendo sobbalzare la terra sotto i piedi degli Antichi
Padri destò dal suo sonno
l’antica
spada che uscendo dal grande tronco di Negride , provocò una luce
intensissima che solo occhi
puri
potevano sopportare la grande luminosità , che la Sacra Lama
emetteva. Come guidata da una
propria
entità la Lama si fece impugnare da Telmus , essa non smetteva di
emettere luce, la spada
fremeva
nella voglia di battersi contro le forze più oscure, Negride di
canto suo , senza più dire una
parola
iniziò una metamorfosi che ad occhio umano non sarebbe stato
concesso vedere : ella aveva
preso
la sua decisione : sarebbe tornata ad essere umana. Lasciate le
sembianze della grande quercia
ella
si accasciò ai piedi dei grandi Padri, increduli ma contenti che una
grande anima guerriera fosse
tornata
senza indugiare a dare man forte all’umanità , la coprirono con un
mantello , era stata resa
al
mondo completamente nuda, ritornava al cospetto dei Padri come era
nata, Olarif e Telmus di
canto
loro non si persero d’animo cercarono di farla rinvenire con la
delicatezza e attenzione che
si
presta ad un bambino appena nato, la rinfrescarono con un po d’acqua
delle loro bisacce,Negride
non
tardò a riprendersi, con modo affettuoso ringraziò gli Antichi
Padri , abbracciandoli e baciandoli
con
estremo affetto chiese il permesso di assentarsi per qualche attimo
spiegando che le sue vesti e le
sue
armi erano in attesa di tornare al loro posto: sul corpo della grande
guerriera che ancora portava
i
segni delle ferite inflettigli da Soron il signore delle tenebre,
elle non era solo stata ferite fisicamente
aveva
perso il suo compagno nonché il suo più grande amore : Tesaurus
,colpito alle spalle proprio
da
Soron , fu la lama Nera a trafiggere il cuore di Tesaurus , da quel
momento nella mente di
Negride
scattò la voglia tremenda della vendetta, furono gli Antichi Padri a
riportarla sulla via della
luce
, promettendo che sarebbe arrivato il tempo non della vendetta, ma
bensì dei giusti che avrebbero
prevalso
sui malvagi. Negride si stava rinfrescando al ruscello sottostante la
piccola collinetta dove
gli
Antichi Padri stavano discutendo sul da farsi, il corpo della
guerriera mostrava tutta la sua bellezza
e
naturalmente la sua possanza , il vento le accarezzava i capelli ,
essa fu notata da un giovane fanciullo, un anima pura che si era
sacrificato per salvare i suoi piccoli fratelli dalla pazzia, ecco
perché
poteva dimorare nel luogo così Sacro ; con voce rotta dalla
timidezza si rivolse alla grande guerriera chiedendo:
Fanciullo
: Buongiorno mia signora, io sono Angel , uno dei custodi della terra
Sacra, la tua bellezza
così
come il battito del tuo cuore , mi dicono che tu ti sei risvegliata
dal tuo sonno di
guardiana
della Sacra Lama, il tuo nome è Negride, è con immenso piacere che
offro i
miei
servigi , comandami anche se percepisco il tuo pensiero , l’alito del
saggio vive in te
le
tue armi insieme alle vesti sono state da me custodite con immenso
rispetto e amore
se
tu mi ordini sarò ben lieto di accompagnarti nel luogo dove tutto è
custodito.
Negride
: Angel , si so chi sei, con immenso piacere, non te lo ordino , te
lo chiedo da a amica
conducimi
ed aiutami a ritrovare la mia dignità, una guerriera senza le sue
armi è il
niente,
grazie per tutto quello che hai fatto, verrà il tuo giorno, la tua
attesa sta per
concludersi,
presto sarai di nuovo umano questa è la mia promessa.
Angel
condusse spedito Negride in un punto molto preciso della Terra Sacra
, un anfratto di roccia
separava
il nascondiglio delle vesti e delle armi della guerriera , Angel si
fermò improvvisamente
Negride
intuì che erano giunti nel luogo dove ella avrebbe ricomposto con
umili gesti la propria
dignità,
come tutti noi intuiamo un guerriero senza armi è dinnanzi al nulla.
Negride , con passo
deciso
varcò l’ingresso di una piccola grotta , con stupore e meraviglia il
suo sguardo si posò su quelle
armi,
la spada compagna di tante battaglie era poggiata sul muschio che la
roccia partorisce col
sentire
l’umidità , muschio che stava facendo da soffice cuscino alla grande
lama, i secoli non ne
avevano
alterato la lucentezza , i suoi pugnali poco distanti sembravano
esprimere felicità nel
rivederla
, il loro scintillio era fuori da una razionalità umana, persino
Negride ne rimase sorpresa, i
bracciali
come per magia volteggiando in aria si fusero in un abbraccio quasi
amoroso con i polsi della
guerriera
, i parastinchi fecero la solita danza fondendosi con le proprie
gambe, lo stupore della
guerriera
crebbe quando le vesti avvolsero il suo meraviglioso corpo , la sua
spada si posizionò sulla
sua
schiena , i pugnali alle basi dei parastinchi : Negride era pronta ,
i martiri si erano posti nel suo
nobile
animo, le sue membra si erano riforgiate più forti di prima , la
benedizione di tutto il martirio
era
in lei; Soron il malvagio signore del male di li a breve avrebbe
capito che nuove alleanze si
tessevano
per far si che la sua venuta fosse rinviata per l’eternità. La
guerriera , felice di essersi
ritrovata
, ringraziò Angel , confermando la sua promessa che in un arco di
tempo breve la sua
anima
sarebbe tornata in carne , salutando il custode con una carezza
affettuosa si incamminò verso
gli
Antichi Padri , la sua radiosità non passò inosservata , con tono
scherzoso sia Telmus che Olarif
annuirono
sorridendo fra loro, la loro amica e compagna di tante battaglie era
tornata, il suo cuore
pulsava
nel giusto e per il giusto, le antiche ombre si erano quasi dissolte
, nuova luce brillava negli
occhi
della grande guerriera, il suo compito era scritto nel libro dei
tempi , scritto da chi non aveva
avuto
voce, da chi aveva subito abusi , da chi aveva avuto lutti misteriosi
, già da tanti “Chi” , dove
ormai
si erano persi i numeri, ma non le voci , che lacrime versate
ingiustamente ne avevano scritto
il
contenuto. La Terra Sacra volle rendere omaggio ad una figlia
ritrovata , aliti di un vento che porta
messaggi
fece come incanto aprire delle nuvole dinanzi al terzetto che si
stava incamminando nella
foresta
del grande mago Everil , con stupore degli Antichi Padri che
conoscendo molto bene i poteri
della
Terra Sacra si fecero da parte, pregando Negride di rimanere immobile
e prestare la massima
attenzione
a quello che sarebbe avvenuto di li a poco, nel cielo si stavano
scrivendo i versi di un
antico
fanciullo trucidato da forse vicine alle Tenebre, i versi erano
scritti nel libro dei tempi per
volere
supremo dei Martiri , essi così citavano :

Negride
, anima pura , il tuo cuore è tornato

alla
vita , sii portatrice d’amore, di felicità

fra
le genti . Le armi che porti, siano

strumenti
di forza e non di morte, il tuo

cuore
genera amore , trasmetti per noi

questo
messaggio a tutti coloro che odono

a
tutti coloro che vedono anche se ciechi.

Presto
la nostra essenza si diffonderà

sii
ambasciatrice dell’unica parola che

tutti
unisce : Amore .

Q.T

Negride,
rimanendo stupefatta di tanta considerazione, ed essendo un carattere
piuttosto taciturno
in
segno di rispetto , si inginocchiò e avendo intuito la grande
responsabilità a cui era stata chiamata,
per
dare una risposta , annui ripetutamente con la testa , troppo grande
la visione a cui aveva assistito,
di
li a poco gli Antichi Padri avrebbero dato un’infinità di
spiegazioni alla grande guerriera. Il cielo
tornò
ad essere normale , quel vento aveva cessato di insinuarsi nelle
menti, tutto era tornato normale,
Olarif
e Telmus rendendosi conto che la Terra Sacra aveva parlato con
l’aiuto del Libro dei Tempi
vi
erano regole da seguire , il cammino era tracciato , ma ambedue
sapevano perfettamente che la
grande
guerriera non si sarebbe privata della sua vendetta , Soron doveva
morire, l’umanità chiedeva
questo
, il suo grande amore Tesaurus lo chiedeva , i Martiri lo bramavano
.Incamminandosi a passo
spedito
verso la dimora del mago , la fitta foresta li attendeva con gioia ,
Everil avrebbe riabbracciato
una
delle sue allieve più prestigiose , ma il grande mago sentiva
Negride più come figlia che come
allieva
, già, lui il carattere burbero e brontolone dal cuore grande amava
contornarsi non di soli
allievi
ma bensì di figli e figlie , il suo insegnamento non doveva solo
trasmettere incitamento alla
battaglia,
ma doveva inculcare rispetto per la forza opposta e qual volta, se
lo richiedeva, ci si doveva
prodigare
nel cercare di condurre un anima persa nelle tenebre ,alla Luce
.Intanto nella foresta, il
regno
del mago , la vita scorreva tranquilla , Everil impegnatissimo
nell’addestramento del giovane
Danriel
, alternava dottrine di combattimento puro , nel quale il giovane
doveva apprendere i più
antichi
metodi del saper fare , niente il mago lasciava al caso, al giovane e
intraprendente guerriero
era
riposta la fiducia del Mondo , il destino di tutta l’umanità era
nelle sue mani. Il grande mago
avendo
intuito e ben definito che nei giovani di solito prevale l’istinto ,
molto prima che arrivi la
ragione
, ecco perché alternava la dottrina guerriera, a lunghe e a volte
noiose meditazioni , come
possiamo
intuire a Danriel quest’ultimo insegnamento non andava tanto a genio
, tant’è che ogni
volta
si inventava banalissime scuse per trasgredire alla lezione che gli
doveva essere impartita. Il
grande
mago , non volendo lasciare nulla al caso , stava indottrinando il
giovane nella ricerca del
proprio
essere : suprema essenza del nostro animo , quando scendeva la notte
il grande Everil con
aria
pensierosa guardava il giovane fanciullo , mille domande si
affacciavano , ma una sola trovava
la
risposta: tutto questo un giorno avrebbe avuto fine , troppi
sacrifici di giovani vite , troppe madri
lasciate
senza figli , troppi veramente troppi i Martiri , ecco perché nel
cuore del mago si stava
insinuando
quel sentimento che avrebbe di li a poco generato un amore immenso
nei confronti del
giovane
Danriel , un amore paterno e come un vero padre il grande mago fece
un giuramento che
lo
avrebbe portato alla morte: io ti prometto nel nome della grande
magia, che al momento in cui
tu
lascerai la mia umile capanna la grande magia da me scritta sarà
nelle tue mani . Così promettendo
sapeva
perfettamente che tutti i suoi poteri lo avrebbero abbandonato per
dimorare nella mente del
guerriero,
questo Everil lo sapeva benissimo, ma il vecchio saggio non avrebbe
retto l’ennesima volta
ad
un sacrificio di uno dei suoi figli, così lui sentiva nel suo cuore
i suoi allievi. Il vento portò le parole
del
grande mago alle menti dei Grandi Padri , che riposando ebbero
entrambi un sussulto , pensierosi
si
guardarono negli occhi , i loro pensieri si fecero tristi , ma
sapevano perfettamente che non sarebbe
valso
a niente provare a convincere il mago a ritornare sulla propria
decisione , chi con tanta determinazione e coraggio esprime un
giuramento atto a la sacrificio non ha bisogno di tanti convenevoli e
giochi di parole , i Grandi Padri questo lo sapevano benissimo ,
l’antica profezia si stava
compiendo
, la strada era tracciata il nono sigillo doveva essere consegnato ,
Everil avrebbe conosciuto
a
breve la vera verità della grande e possente magia , egli sarebbe
diventato messaggero di Luce e
speranza
fusa in un unica dottrina : amore .Intanto un nuovo giorno stava
prendendo vita, la foresta
si
stava risvegliando, gli animali che l’abitavano salutavano il sole ,
la vita brulicava , tutto il creato
dava
ancora una volta prova della sua straordinaria bellezza , Everil di
canto suo dormendo poco
non
poteva far altro che estasiarsi a tale visione, essendo un uomo di
una semplicità estrema gli
spettacoli
che la natura offriva lo estasiavano a tal punto che ancora ne
rimaneva affascinato, si destò
anche
il giovane Danriel , lui essendo giovane , salutando il grande mago
chiese immediatamente se
la
colazione era pronta , la natura poteva attendere che il suo stomaco
fosse prima sazio, solo dopo
avrebbe
salutato il nuovo giorno , ma prima doveva per forza mettere qualcosa
sotto i denti la fame
si
faceva sentire, di canto suo sapeva che al grande mago faceva
estremamente piacere che lui
contemplasse
e ammirasse la luce fonte di vita , forse ignaro di quella sorte che
lo attendeva, sorte
benevola,
nel suo futuro la porta di sacro custode dei segreti della magia si
era aperta. Il grande mago
come
sempre amorevole come si fa verso un figlio , versò il latte nella
umile tazza di legno , una fetta
di
pane bianco , una carezza sulla testa del giovane , con poche parole
fece capire che una volta finito
il
suo primo pasto lo avrebbe atteso fuori , Everil di canto suo non
nascondeva a se stesso il timore di
non
insegnare abbastanza al giovane , egli conosceva bene il grande
potere dell’oscurità , la malvagità
tesseva
tele di immane crudeltà , l’inganno era loro alleato , la perfidia
era il loro sentimento , come
poteva
riuscire un giovane dal cuore puro ad abbattere questo muro costruito
con mattoni di odio
e
calce intrisi di sangue, questo era il grande tormento del mago.
Everil attendeva il ritorno degli Antichi Padri , lo attendeva
veramente dettato dal bisogno, di esternare loro questo tormento, con
l’unica speranza di sentirsi confermare che tutto si stava
compiendo , come la profezia narrava . Gli
Antichi
Padri , che con Negride stavano facendo ritorno nella foresta ,
anch’essi percepivano i pensieri
di
Everil , l’alito del vento reca notizie appena percettibili , ma
orecchie che ne conoscono il linguaggio
ne
sanno carpire l’essenza , questo era il messaggio del mago , talmente
potente e udibile solo a coloro
che
sapevano interpretare lodi di cuore turbate da pensieri che ispirano
l’amore nell’eterno. La magia
copriva
molto bene i piani per porre fine al lavoro di Soron , ma tutti
coloro che operavano per la
riuscita
di tutto questo erano esposti ad essere eliminati da esseri di una
perfidia inaudita, essi non
dovevano
rispondere a chiunque solo al loro signore e padrone , Soron amava
chiamarli col nome di:
Torrok
, i demoni spazzini , coloro che amano eseguire i lavori sporchi ,
uccidere per queste forme
con
sembianze umane è solo divertimento , il principe del Male li aveva
generati da immondizia di
anime
di spietati assassini , nemmeno le Tenebre rispettavano e accettavano
la loro presenza , tanto
era
subdola e ripugnante , chi meglio di loro poteva avere occhi e
orecchie oltre la perfida strega
Salas.
Le guardie di Soron agivano nell’ombra , ma dinnanzi alla grande
foresta il loro compito era
solo
quello di attendere che un qualsiasi malcapitato gli cadesse nelle
mani , poi con inganno e astuzia
se
il gioco li divertiva lo smembravano sino ad inghiottirgli l’anima ,
anima che poi sarebbe stata
vomitata
ai piedi del loro signore :Soron, questo era il compito che gli era
stato assegnato. Di canto loro gli Antichi Padri , conoscendo
l’inganno e la perfidia del principe del Male, sapevano di contare
anche
loro su di un esercito di anime, non secondi ai Torrok , nemici
acerrimi degli spazzini dotati
di
poteri estremamente superiori erano i : Sangel abitanti del terso
settore guerriero dei territori
della
Terra Sacra , essi non aspettavano altro che una chiamata , un
pensiero rivolto a loro, un sibilo
del
vento , o il loro nome pronunciato con la forza dell’amore.



IN BARCA CON GLI ATTORI,NEL ’700 -

IN BARCA CON GLI ATTORI,NEL ’700
Come si viveva
secoli fa? Per scoprirlo si possono interpretare gli indizi seminati
dagli artisti
del passato nelle
loro opere.
Un viaggio in
barca da Rimini a Chioggia (Ve) fu determinante per la vocazione di
uno dei
massimi
commediografi italiani. Lo racconta Carlo Goldoni (1707-1793) nelle
sue “Memorie”,
pubblicate a
Parigi nel 1787. Da quelle pagine,ricche di dettagli della vita
teatrale del tempo
(e con qualche
accenno sulla navigazione in Adriatico),Casimiro Brugnone de Rossi
(1818-1876),
quasi un secolo
dopo,trasse ispirazione per il quadro “La barca dei comici”,oggi
conservato al
Museo della Scala
di Milano. Dalla città romagnola,dove studiava in un collegio di
domenicani,
il giovane era
partito per quella veneta,dove viveva la madre. Si era imbarcato con
una compagnia
di attori che a
Rimini lo aveva conquistato,distraendolo dagli studi filosofici. Ma
poiché i frati
gli avevano
proibito la partenza con la compagnia (gli attori erano considerati
gente inaffidabile)
Goldoni si era
nascosto sulla barca ed era saltato fuori all’improvviso,suscitando
l’entusiasmo
dei
commedianti,abituati alla sua presenza dietro le quinte. Sulla
coperta di quella piccola nave
Goldoni passò tre
giorni indimenticabili tra giochi,scherzi,danze e gustose abbuffate.


Nozioni di base – OOo -


Nozioni
di base

Per creare un
DataBase


Configurazione
_

Andiamo a procedere

Ambiente
Windows:

Pc
Amd Athlon 2200+, 512 Mb di Ram, Hd 80 Gb, Matrox Millennium G400

Sistema
Operativo Windows 2000 Professional Service Pack 4

OpenOffice
Versione 1.1 Italiano

MySql
Versione 4.0.16-nt

MySql
Control Center 0.9.3 Beta

MySql
Odbc Driver 3.51.06 (MyOdbc)

Ambiente
Linux :

Pc
Amd Duron 1200, 512 Mb Ram, Hd 40 Gb, Nvidia GeForce

Sistema
Operativo Suse Linux Professional Versione 9.0

Ambiente
Desktop KDE 3.1.4

MyOdbc
Linux Driver 3.51.06


La
maggior parte dei concetti e delle soluzioni presentati nel seguito
sono indipendenti dal motore di Database utilizzato
.
Questo significa che, in generale, la sola presenza di un driver Odbc
affidabile permette l’utilizzo di un qualsiasi prodotto alternativo
(come Ms Access, oppure Sybase etc.). Anzi, in generale, OOo dispone
di strumenti che permettono anche di evitare l’uso di Odbc con alcuni
tipi di Database (Ado, Jdbc etc.). Inoltre, per mia comodità, ho
usato il Server MySql in ambiente Windows e solo il Client in Linux,
ma le funzionalità sono in generale identiche invertendo i Sistemi
Operativi.

Installazione
OOo


L’installazione
di OOo con Windows è piuttosto semplice e ben descritta nel
documento SETUP_GUIDE.pdf disponibile nella Dir creata scompattando
il file ZIP scaricato dal sito, evito quindi di tediarvi oltre.

Idea

Raccomando comunque di
eseguire SEMPRE una installazione di rete (
setup
-net
) ANCHE se il PC non è collegato in
Rete, perché questo permette di avere impostazioni personalizzate
per ogni utente attivo sul PC, cosa molto saggia in Windows 2000 e XP
(oltre che in Linux). Dopo il “setup -net”, il programma di
installazione creerà una
cartella di nome
c:\programmi\Openoffice.org1.1.0. Da questo percorso,
ogni
utente del PC
deve lanciare il File
“Openoffice.org Setup” e scegliere, quando richiesto, il tipo di
installazione “workstation”. Avremo così profili indipendenti
per ogni utente abilitato
MySql
Avere in pochi minuti MySql attivo e
funzionante in Windows è molto semplice, anche se l’utente medio
alla fine potrebbe avvertire un certo senso di insoddisfazione…. I
Files da scaricare dal sito www.mysql.com sono:
mysql-4.X.X-win.zip
il
server, per circa 24 Mb (X.X è il numero di versione; quella che
useremo è mysql-4.0.16-win.exe)
myODBC-3.X.X.exe
Driver ODBC, per circa 750 Kb (versione
attuale 3.51.06)
Mysqlcc-X.X.X-win32.zip
MySql Control Center, per circa 3 Mb,
un SW che permette la creazione e la manutenzione dei Database MySql
(versione attuale 0.93 )

Tutte
le operazioni di installazione vanno fatte da un utente con privilegi
di amministratore. Scompattiamo il primo file in una dir a nostra
scelta, e lanciamo il classico setup. La cartella di destinazione
proposta è c:\mysql e va confermata, salvo casi particolari (che ai
nostri scopi interessano poco). Vi consiglio di scegliere una
installazione “typical”, che carica tutto il necessario senza
problemi. Ora riavviate, ed all’apparire del vostro desktop
realizzerete che… non è cambiato niente…

Già, perché, anche
cercando, non troverete alcuna voce di menù che fa riferimento a
MySql, neppure un misero readme.txt, tanto da dubitare che
l’installazione sia andata a buon fine. Basta però avviare il task
manager e consultare l’elenco dei task attivi: troveremo
mysqld-nt.exe, che indica il funzionamento corretto del server.
Volendo possiamo poi lanciare il file
C:\mysql\bin\winmysqladmin.exe,
un programma che si installa in memoria, con una piccola icona a
forma di semaforo sulla task bar, e che fornisce preziose
informazioni sul server attivo.

Vi
consiglio di creare un collegamento (shortcut) al file
winmysqladmin.exe sul
desktop o nel menù avvio, perché torna utile
in molte occasioni

La documentazione di MySql
comprende un completo manuale in formato HTML
(c:\mysql\docs\manual_toc), purtroppo in inglese. La parte relativa
all’installazione in Windows è molto ben fatta, e spiega in
dettaglio le varie opzioni disponibili, quindi chi vuole approfondire
può farlo benissimo senza sforzo. Il manuale tratta bene anche il
setup del server in
Linux,
ed a questa sezione rimandiamo quelli di voi che sono amanti del
Pinguino. Per i nostri scopi, a questo punto il server è installato
e funzionante, e questo basta.
Tecnica
MySql si installa in Windows 2000 e XP
come “servizio” ad esecuzione automatica. Se vogliamo che il
server
non parta in
automatico all’avvio, basta richiamare il pannello di controllo e
nella sezione “strumenti di amministrazione”, scegliere la voce
“servizi”. Avremo una lista dei servizi installati sul PC, quindi
doppio click su MySql e selezionare nella casella a discesa “Tipo
di Avvio” la voce “Manuale”. A questo punto MySql non si
avvierà più in automatico alla partenza. All’occorrenza potremo
lanciare il server avviando il già citato
C:\mysql\bin\winmysqladmin.exe.

Bene,
il server è attivo e funzionante, ma ora come procediamo ? Potremmo
gestire i nostri DB con i potenti tools da linea di comando presenti
in c:\mysql\bin (certo dopo una attenta lettura del manuale), e
sicuramente c’è chi preferisce questa strada. Noi però siamo pigri,
e quindi l’ideale è una bella interfaccia grafica che ci faccia
risparmiare tempo. Quindi è ora di installare MySql Control Center.

Scompattiamo
il file
Mysqlcc-0.9.3-win32.zip in
una dir qualsiasi, ed ancora una volta lanciamo il setup. Se volete,
installate pure i language packs, tra cui l’italiano. Alla fine
ritroverete sul Desktop l’icona dell’applicazione. Proviamo ad
eseguire il programma e ci troveremo di fronte ad un ambiente a
finestre multiple. Se l’interfaccia non è in Italiano, nel menù
“principale” (quello che comincia per “Console”) scegliamo
Option->General
e selezioniamo “Italian” nell’opzione
Language. Chiudiamo e
riavviamo il Control Center per cambiare lingua.

Ora dobbiamo per prima
cosa creare i parametri per il nostro server, quindi, nella Finestra
del Console Manager, scegliamo
File ->
Nuovo
ottenendo questo risultato:
E’ necessario inserire il
nome del server (quello che volete…) ed il nome di Host, che può
essere l’indirizzo IP (oppure il “nome qualificato”) della
macchina dove gira il server. Nell’esempio, visto che il server è
installato sulla stessa macchina, avrei potuto più semplicemente
scrivere, nella casella “Nome Host” invece dell’indirizzo Ip,
solo “localhost”.

Il
supporto al Tcp/Ip deve essere installato sul Pc perché la cosa
funzioni bene. Per quanto MySql possa anche usare altri sistemi di
comunicazione (named pipes), il Tcp/Ip va senz’altro preferito.

Nella installazione
standard che abbiamo eseguito, l’amministratore del server MySql (che
si chiama
root, come
in Linux) non ha password, ma possiamo facilmente assegnarne una. Un
click sul pulsante “prova” ci permette di testare la connessione,
con “applica” chiudiamo il dialogo, ottenendo nel Console
Manager, le informazioni sul nostro server. Torneremo dopo sul
Console Manager, quindi per ora possiamo chiudere il SW.
Tecnica
Con il Control Center si possono gestire
contemporaneamente più server MySql, anche installati su PC diversi
dal proprio. Basta “registrare” il nuovo server con i parametri
corretti (nome, indirizzo Ip e password di root). Un altro ottimo
prodotto, tra le molte gui grafiche per la gestione dei Db MySql, è
DbManager Professional scaricabile
dal sito www.dbtools.com.br ; è freeware, ma è disponibile solo in
inglese.

Installazione
Windows Installazione dei driver


ODBC
sta per Open Database Connectivity ed indica
un layer (strato) software di interfaccia tra le applicazioni ed in
motori di Database. In pratica un driver ODBC, proprio come un driver
di periferica, si occupa di “traghettare” le informazioni tra ad
es. OOo e MySql. In questo modo si ha la possibilità di accedere ai
dati in formati anche molto diversi tra loro senza preoccuparsi
eccessivamente delle particolarità implementative di ogni Server Db.
Esistono driver ODBC per
quasi tutti i più importanti motori di Db, e MySql non fa eccezione.
Dobbiamo solo lanciare il file
myODBC-3.51.06.exe,
ed avremo il nostro driver pronto all’azione. Per verificare che
tutto sia andato bene, aprendo il Pannello di Controllo ->
Strumenti di Amministrazione -> Origine dati (ODBC) -> Driver
dovrebbe apparire :
Tecnica
Quando si parla genericamente di Database,
si può fare una gran confusione. Spesso si scambia il
formato
(ad esempio .mdb per Ms Access) con il
motore” (che in
questo caso si chiama “Jet” e non Access). Infatti “.mdb” è
un formato di dati a cui si può accedere tramite il motore di
Microsoft “Jet”, anche se Ms Access non è installato sul PC.
Allo stesso modo tramite Ms Access possiamo manipolare Dati ad es. in
formato MySql senza usare il Jet, utilizzando invece il driver
MyODBC. Nel caso di Ms Access la confusione sorge dal fatto che il
programma usa il formato “.mdb” anche per le proprie necessità
(maschere, report etc.) oltre che per i dati. Altra importante
differenza da considerare è quella tra i “server” Db veri e
propri ed i “motori” Db generici. Un server Db di solito parte
come un Servizio residente in memoria e rimane in ascolto su una
porta specifica (la 3306 per MySql). Un motore Db (come Jet) è un
insieme di DLL (librerie) richiamate all’occorrenza dall’applicazione
che deve far uso di dati.

Installazione
Linux Installazione del driver ODBC in Linux

In
Linux il driver è
incluso in molte distribuzioni, e quindi può essere installato
semplicemente usando il tool specifico di ogni distribuzione (YAST
per SUSE, Control Center per Mandrake etc.). Se non lo trovate, o
desiderate l’ultima versione, su www.mysql.com è possibile scaricare
un comodo RPM. Per il corretto funzionamento, è però necessario
installare il pacchetto LinuxODBC. I passi da fare, quindi, in SUSE
9.0, sono:

1.autenticarsi
come root, e con YAST installare i pacchetti
unixODBC,
qt3-unixODBC,
unixODBC-gui-qt

2.scaricare
da MySql.com l’ultima versione del driver
MyODBC-3.51.06-1.i386.rpm,
ed installarla

3.Selezionare
dal menu la voce “Sistema->Configuration->unixODBC
Configuration”

4.Scegliere
dal Tab “Drivers” la voce “Add” e configurare il driver come
in figura

Notate che l’RPM di MySql
carica il
driver in
/usr/local/lib/,
mentre il
setup, che
permette di usare l’interfaccia grafica per i DSN, è una aggiunta di
unixODBC, e si trova in
/usr/lib/unixODBC/.
Sarebbe anche possibile installare il driver modificando con un
editor il file odbc.ini, ma questo direi che esula dallo scopo di
questa documentazione.
Il
Database

Primi
passi….

Questa
sezione serve ad introdurre alcuni concetti indispensabili per le
persone che non sono molto esperte di Database. Se la cosa vi annoia,
saltatela pure.

La
traduzione letterale di Database è “Base di Dati”, e serve
almeno per farsi un’idea dell’argomento che andiamo ad affrontare.
Più semplicemente, potremo indicare un Database con la generica
parola “
archivio”.
Ora, un Archivio è una idea semplice, nulla di astratto, abbiamo
archivi per le mani molto più spesso di quanto si creda. Basta un
elenco telefonico per capire cos’è un archivio, basta guardare la
rubrica del cellulare….

Potremmo definire un
Archivio come un insieme di informazioni, organizzate in una
struttura logica, spesso ordinate secondo una propria necessità, con
uno o più caratteristiche in comune. Guardiamo appunto una rubrica
telefonica: la caratteristica in comune è “archivio dei numeri
della rubrica di Giuseppe”, la struttura comprende due informazioni
(il nome ed il numero), l’ordine è di solito quello alfabetico.
Nome
Numero
Carla
340
1234
Elisa
06
54678
Giuditta
02
987456
Questa, nel gergo dei
Database, è una
Tabella (Table),
che comprende due
Campi (Fields),
“Nome” e “Numero”. La Tabella comprende tre
Righe
chiamate anche Schede
(Rows, Records).
Un
Database è di
solito un
insieme di Tabelle che
possono essere messe in
relazione tra
loro tramite connessioni logiche (presenza in più tabelle della
stessa informazione). Da questa definizione deriva il nome di
Database Relazionale (RDBMS, Relational Database Management System)
assegnato alla tipologia di prodotti che stiamo esaminando.
Attenzione, spesso si indica con lo stesso nome (Database) sia il
“motore” cioè il SoftWare che mi permette di gestire le
informazioni, sia le informazioni stesse. Questo, in generale, non è
corretto.
Tecnica
Esiste una “definizione” molto precisa
dei database relazionali. Questo significa che un Database, per poter
essere correttamente definito “relazionale”, deve soddisfare una
serie di regole che qui sarebbe lungo ed improduttivo descrivere.
Secondo alcuni MySql, siccome non possiede TUTTE queste
caratteristiche, NON E’ a rigore un Database relazionale. Questo però
a noi interessa davvero poco….
Progettiamo
Database

Abbiamo
quindi definito la
Tabella come
l’unità logica di un Database.
Ovviamente possiamo avere Database composti da una sola Tabella, ma
direi che sono casi particolari. Ora siamo perciò di fronte al
nostro amato PC e vogliamo cominciare a creare il nostro primo
Database; la prima cosa da fare è quindi… un bel passo indietro.

Infatti
l’approccio più sbagliato che possa esistere è partire con la
struttura di un Db senza averci prima ben riflettuto… magari
davanti ad un bel foglio bianco e con una cara e vecchia penna in
mano. Voglio dire che in generale è fondamentale “progettare” il
Database PRIMA di mettere la manine sulla tastiera, ed allora il
saggio consiglia che bisogna porsi in anticipo le seguenti domande:

1.di
quante e quali unità logiche (tabelle) deve essere composto il mio
Db ?

2.per
ogni tabella, quali informazioni (campi) devo comprendere ?

3.per
ogni campo di ogni tabella, che tipo di informazioni devo archiviare
?

4.quali
sono i campi su cui sarà necessario eseguire un ordinamento ?

5.che
relazioni ci sono tra le varie tabelle ?

6.che
“operazioni” desidero eseguire su ogni tabella ?

Avrete quindi capito che,
siccome “chi ben comincia etc. etc.”, rispondere a queste domande
all’inizio del lavoro ci eviterà problemi nel seguito. Questo non
significa che in corso d’opera non si potranno fare variazioni, ma
cambiare la struttura di Db complessi quando già è iniziato il
caricamento dei dati è davvero complicato. Inoltre, non prevedere
qualche piccolo dettaglio può portare a risultati pericolosi, vi
ricordate l’affare dell’anno 2000 ?

La
Tabella

Una
Tabella, abbiamo visto, è composta da Campi. Possiamo pensare al
Campo come
l’intestazione di colonna di una lista, ma in realtà è molto di più
di una descrizione. In genere, infatti un Campo incorpora numerose
“proprietà”, cioè “caratteristiche” che una volta
impostate, determineranno in modo preciso il tipo di informazione che
quel Campo può contenere.

Esaminiamo
un po’ più in dettaglio queste caratteristiche:

Il
nome” è in
genere la descrizione dell’informazione (ad es. “numero di
Telefono”). Non ci sono molti vincoli sul nome, vi consiglio però
di non sceglierlo troppo lungo, ma allo stesso tempo abbastanza
esplicativo. Nel nostro caso andrebbe ad es. bene
NumTel.
Se il Db comprende più Tabelle con lo stesso campo (se ho, ad
esempio, la Tabella Clienti e quella Fornitori) e non sono in
relazione tra loro, può essere utile anteporre al nome del campo un
indicativo della Tabella, ad es. “CNumTel” e “FNumTel”. In
genere si possono usare gli “underscore” (Num_Tel) ma io lo trovo
poco pratico.

Il
tipo” indica la
tipologia della informazione da archiviare nel campo. Le tre
categorie principali sono
stringa,
numero e data/ora.
All’interno di ogni categoria possiamo

scegliere
molte ulteriori tipologie, ed inoltre esistono “tipi” particolari
(come “binario” o “timestamp”) non riconducibili facilmente
agli altri.

La
lunghezza” misura
l’occupazione fisica massima (in byte, di solito) che vogliamo
assegnare all’informazione contenuta nel campo. Per le stringhe si
indicano i caratteri (ad es max 30 caratteri per il campo “nome”),
per i valori numerici il discorso è un po’ più complesso (lo
vedremo in seguito), per data/ora esistono formati standard con
diverse occupazioni di memoria a seconda dell’intervallo dei valori
che si vuole comprendere.

•“Ammetti
null
” è un segnalatore che indica se è
possibile archiviare nel campo anche valori nulli (a prima vista può
sembrare inutile, invece la scelta è assai importante)

•“Valore
predefinito
” è il valore che dovrà
assumere in automatico il campo all’immissione di una nuova riga. Ad
esempio, se la maggior parte dei nostri clienti è della provincia di
Milano, potremmo volere che il campo Provincia sia riempito dalla
stringa “MI”. Se non si specifica niente, il campo assume il
valore null. Per i campi numerici è particolarmente importante
assegnare come valore predefinito lo zero (come vedremo tra poco).

•“Chiave
oppure “
Indice
stabilisce se il campo debba essere indicizzato e se l’indice è
univoco (vedere il paragrafo successivo “Indici”)

Queste proprietà
del campo
si ritrovano quasi identiche in
praticamente tutte le varietà di Db Server. Ogni prodotto, poi,
implementa “aggiunte” magari non standard, ma egualmente
importanti. Ora descriveremo più in dettaglio come MySql gestisce le
tipologie di informazione (i tipi di campo) che possono interessarci
in funzione dei nostri scopi, rimandando al manuale dell’applicazione
chi volesse approfondire l’argomento.

E’ possibile cambiare la
struttura delle Tabelle di un Db MySql anche DIRETTAMENTE da
OpenOffice, anche se vedremo che l’operazione non è particolarmente
conveniente rispetto all’uso di MySql Control Center

Campi
Stringa

Una
Stringa è in generale
una informazione alfanumerica di lunghezza variabile (un nome, una
via, un titolo etc.). Questa informazione può essere archiviata in
due modi:

1.posso
stabilire un numero massimo di caratteri, e riservare sempre un
numero di byte fisici equivalenti nel mio archivio (tipo
char)

2.posso
stabilire un numero massimo di caratteri, ma archiviare solo quelli
effettivamente digitati dall’utente (tipo
varchar)

Nel primo caso saranno
aggiunti tanti spazi quanto servono a raggiungere la lunghezza
specificata, nel secondo invece lo spazio occupato è in funzione dei
caratteri digitati. Ad

esempio
supponiamo di avere il campo “nome” di lunghezza max 20
caratteri; se scrivo nel campo la stringa “Carlo”, nel primo caso
avrò usato 20 byte, nel secondo solo 5.

Allora,
vi chiederete, visto che è più conveniente dal lato
dell’occupazione di spazio, usare il tipo “varchar”, il “char”
che ci sta a fare ? In effetti il “char” si usa quando
l’informazione è formata da pochi caratteri e magari deve essere
anche indicizzata. Quindi il “char”, per esempio, va bene per
archiviare il campo CAP di un indirizzo, oppure un Codice Cliente di
5 caratteri (che sicuramente andrà indicizzato). Il fatto è che i
campi a lunghezza fissa come “char” sono più veloci da
manipolare da parte del motore db, e quindi anche più indicati nella
creazione di indici.

Una “n” davanti al
tipo di campo (“
nchar”,
nvarchar”)
significa che il campo usa il set di caratteri internazionali
predefinito, ma in MySql è inutile, il software usa già di default
questo set di caratteri.

La lunghezza di un campo
stringa andrebbe attentamente valutata; da una parte, se si imposta a
troppo pochi caratteri, si rischia di non poter archiviare
informazioni lunghe, dall’altra ogni carattere in più significa
spazio sprecato e velocità abbassata. La mia regola (ovviamente
opinabile) è che se la lunghezza è inferiore a 10 caratteri uso
“char”, altrimenti “varchar”. Per i campi di denominazione
(nome e cognome, nome di aziende etc.) direi che 50 caratteri sono
sufficienti. Negli altri casi un po’ di sperimentazione non guasta.

Campi
NumericoCampi di tipo Numerico

I
campi di tipo numerico si dividono in due grandi sotto categorie:
interi e decimali.
In MySql per questi campi si può indicare il numero massimo di
caratteri di visualizzazione (parametro
M)
e, per i decimali, il numero di cifre dopo il punto (parametro
D).
I parametri M e D hanno valori standard per le varie tipologie, ma
possono essere variati dall’utente in determinati intervalli.

I
campi di tipo
numerico intero,
a seconda dell’intervallo di valori che possono contenere, si
dividono in
TinyInt,
SmallInt, MediumInt,
Int, BigInt.
Ad esempio in MySql un campo Int può contenere da -2147483648 a
2147483647. Non tutti i motori di Db hanno tutte queste categorie, ma
il concetto è proprio identico.

Analogamente, i campi di
tipo
numerico decimale in
MySql si possono definire
Float,
Double, Decimal.
In particolare il tipo Decimal è indicato per la manipolazione di
valori “valutari”, quello che in altri motori di Db viene
definito campo “Money” o “Currency”.

Sarebbe sempre meglio
controllare bene il range dei valori memorizzabile nei tipi di dati
numerici del motore di database che vogliamo usare. Ad esempio il
tipo “Intero” di Access (Jet) può contenere valori tra -32728 e
32767, e quindi equivale a “smallint” di MySql. Allo stesso modo,
il tipo “currency” o “valuta” di Access corrisponde al tipo
“Decimal” con M=19 e D=4 di MySql. La differenza è che mentre il
campo di Access occupa sempre 8 Byte, quello di MySql occupa
M
Byte (nel nostro caso quindi 19). Io per i
valori in
euro in
MySql uso
Decimal(16,4) cioè
16 cifre di cui quattro decimali. Se si vuole arrotondare i calcoli a
due cifre decimali, va bene anche Decimal(14,2).

Campi
Ora Campi di Tipo Data/Ora

Tutti
i motori di Db hanno tipologie specifiche di campi per la
manipolazione di date ed orari. MySql usa
Date,
DateTime, Time,
Year, dal significato
piuttosto intuitivo. Notate che il range di “Date” va dal
01-01-1000 al 31-12-9999. Siccome quasi sempre le date vengono
memorizzate nel formato AAAAMMGG e visualizzate invece nel formato
americano MM-GG-AAAA, bisogna fare molta attenzione ai formati di
input che si assegnano.

Campi
automatico Campi particolari: Intero ad incremento automatico

Come vedremo nel paragrafo
dedicato agli indici, può essere a volte utile che il valore di un
campo sia assegnato in automatico dal motore Db, secondo una
progressione numerica. Questo campo può, ad esempio, rappresentare
un Codice univoco da assegnare alla scheda senza che noi dobbiamo
preoccuparci di fare niente. In MySql possiamo usare un campo “Int”
con la caratteristica “
auto_increment
settata.

In Ms Access questo tipo
di campo viene indicato come “contatore” e si può stabilire se
il valore assegnato sia progressivo oppure casuale. Direi che questa
ultima scelta è totalmente ininfluente riguardo tutti gli aspetti da
considerare per una buona progettazione del Db.

Campi
TimestampCampi particolari : Timestamp

Il Timestamp
è un tipo di campo Data/Ora aggiornato dal
sistema che contiene il riferimento all’ultima modifica ai dati
contenuti nella riga. In ambienti multiutente è particolarmente
utile per gestire le modifiche concorrenti sulla stessa tabella.
Siccome alcuni “front end” per database funzionano male se in
ogni tabella non è presente almeno un campo Timestamp, noi lo
aggiungeremo sempre, tanto non costa niente. Ad esempio, Ms Access si
rifiuta di funzionare bene
su Tabelle MySql che non hanno il Timestamp. Questo, in funzione di
OOo potrebbe essere ininfluente, ma certamente non vogliamo che il
nostro Db in futuro non sia leggibile da qualsiasi applicazione,
giusto ?

Indici

Alla
domanda: “data una Tabella, quali campi è necessario indicizzare?”
la risposta è “dipende…”. Cioè in pratica non si risponde,
perché non c’è una regola generale universalmente condivisa.
Ognuno, in base alla sua esperienza, decide in modo autonomo. Inoltre
gestire poche centinaia oppure alcune migliaia di Record sono cose
ben diverse, come pure usare da soli il proprio Db oppure far parte
di una rete con decine di macchine. Questo non significa che non vi
posso dare qualche buon consiglio….

Innanzi
tutto cerchiamo di capire
cos’è un indice.
Una volta definita la struttura della nostra tabella, ogni volta che
aggiungiamo una riga, il nostro motore di Db “accoda” sul disco
le informazioni all’archivio aperto. Tornando al nostro semplice
esempio della Rubrica del cellulare, quando aggiungiamo i nomi, di
certo non lo facciamo in ordine alfabetico; ma comunque, nella
consultazione, l’ordine alfabetico ci è molto comodo. Quindi il
software del nostro cellulare crea un indice sul campo nome, in modo
da poterci fornire le informazioni nell’ordine più logico.

Quindi
un indice è, in generale, un “ordinamento” creato su uno o più
campi in modo che il reperimento delle informazioni contenute
nell’indice stesso sia molto rapido. Non è il caso di spiegare in
dettaglio come questo avvenga a livello di programmazione,
accontentiamoci dei risultati. Allora….

Consiglio
1
: i motori di Db funzionano meglio se
in ogni tabella esiste un indice univoco, cioè un valore specifico e
diverso per ogni riga. Questo campo di solito si chiama
Chiave
Primaria
(Primary
Key
). Possiamo perciò definire la “chiave
primaria” come
un campo che assume un valore
diverso per ogni riga della tabella, e quindi identifica univocamente
la riga stessa
.

Consiglio
2
: i campi Interi ad incremento
automatico sono i candidati ideali per le Chiavi Primarie. Infatti i
motori di Db hanno prestazioni ottimali sugli indici numerici interi.

Consiglio
3
: create un indice sui campi che
desiderate siano ordinati sui report di stampa. Se ho un archivio
clienti, e mi serve una stampa in ordine alfabetico, dovrò creare un
indice sulla Denominazione.

Consiglio
4
: create un indice sui campi che
userete per cercare delle informazioni. Se ho un elenco di libri, una
buona idea è creare un indice sul campo “autore” (cercherò
sicuramente i libri per autore)

Consiglio 5 :
se avete due tabelle correlate (messe in relazione) tra loro, create
indici sui campi comuni (questo, se non vi è chiaro, lo capirete più
avanti)

Consiglio
6
: troppi indici rallentano il sistema.
Molti utenti ancora inesperti sono portati ad indicizzare tutto
l’indicizzabile. Sbagliato. Ogni operazione di modifica dei dati,
comporta, se il campo è indicizzato, anche la modifica degli indici.
Inoltre gli indici occupano memoria e spazio su disco. Quindi, mi
raccomando, parsimonia.

Consiglio
7
: l’efficacia di un indice è
inversamente proporzionale alla lunghezza del campo. Più il campo è
piccolo, più l’indice è efficiente. Se avete, nella vostra tabella,
un campo “note” di 200 caratteri, creare un indice non è una
buona idea.

Consiglio
8
: evitate gli indici su campi che
assumono solo pochi valori. Se ho un campo che può contenere ad
esempio solo “S” per Si e “N” per No, un indice peggiora le
prestazioni e non serve a niente.

Consiglio
9
: i campi scelti come indice non
dovrebbero contenere il valore “null”, perché i motori Db
gestiscono male questa situazione. Ovviamente neppure la chiave
primaria deve ammettere valori “null”.

Ora è il momento di
passare alla pratica, prima di cadere nelle braccia di morfeo….

Database
di esempio

Per
meglio illustrare i concetti che andremo ad introdurre, abbiamo
bisogno di un piccolo Archivio di esempio, non troppo complesso ma
nemmeno banale. Dopo una lunga (e sofferta) riflessione, abbiamo
deciso che gestiremo una “
Mediateca”.
Ora vi chiederete che sarà mai questo oggetto sconosciuto: bene, è
un impasto di Videoteca, Biblioteca, Discoteca, Emeroteca etc. In
pratica tutto quello che finisce in -teca …

Vogliamo,
cioè, creare un Archivio che ci permetta di gestire in modo
flessibile qualsiasi tipo di “Media” desideriamo catalogare.
Inoltre visto che alle nostre cose ci teniamo, abbiamo stabilito che
potremmo anche usare un piccolo promemoria per sapere a chi e quando
abbiamo (sconsideratamente) fatto un prestito.

Trattandosi
di un esempio didattico, non andremo troppo per il sottile, quindi
guru dei Db trattenete commenti inopportuni. Chi vuole poi potrà
studiare e migliorare….

Allora,
tabelle necessarie:

TbMedia ->
l’archivio principale dei nostri Media
Campo
Descrizione
Id
Chiave
primaria – Intero ad incremento automatico
Desc
Descrizione
TipoSupp
Tipo
del supporto di memorizzazione (CD, DVD, Rivista, File, etc.)
Argom
Argomento
o classificazione
Ubicazione
Ubicazione
(Scaffale, Scatolo, Num Rivista, Percorso su Hd etc.)
Prezzo
Prezzo
(di acquisto, di vendita, di prestito…), forse non necessario,
ma sicuramente didattico
Note
Annotazioni
libere
Bene, dobbiamo ora
definire il tipo di campo da assegnare ad ogni informazione della
nostra Tabella. La cosa più immediata, ad esempio per il campo
“TipoSupp”, sarebbe ovviamente “stringa”, magari di lunghezza
20 caratteri. Così, ad esempio, una parte del nostro archivio
potrebbe essere :
Desc
TipoSupp
Argom
Pearl
Jam – Binaural
CD
Audio
Rock
Fromm
– Avere o Essere ?
Libro
Filosofia
Harry
Potter e la camera dei segreti
DVD
Film
Fantasy
Peter
Gabriel – Growing Up Live
DVD
Musicale
Rock
Condividere
risorse con Samba 3
Rivista
Linux
/ Samba
Rossini
– 10 Ouvertures – Chailly
CD
Audio
Classica

Siccome
ritengo che prima di progettare qualunque Database sia opportuno
preparare uno schema “reale” di quello che la Tabella dovrà
contenere, che cosa possono suggerirci queste “righe” di esempio
?

1.I
campi “TipoSupp” e “Argom” contengono stringhe ripetitive,
cioè molte righe avranno ad esempio in TipoSupp la stringa “DVD
Musicale”; è uno spreco enorme di spazio.

2.Se
scriviamo “manualmente” in “TipoSupp” le varie
classificazioni, sarà facile sbagliare e quindi inserire ad esempio
per errore “DVD Musocale”; se devo poi selezionare tutti i DVD
Musicali, quella riga sarà scartata.

3.Come
facciamo a ricordare a memoria tutte le classificazioni usate ? Se la
mediateca è ampia, è quasi impossibile.

Allora
come fare ? Semplice, basta creare un’altra Tabella da usare come
“classificatore”, del tipo:

TbSupporti ->
Classificazione dei Media per Tipo di
Supporto
Identificatore
Descrizione
1
DVD
Film
2
DVD
Musicale
3
CD
Audio
4
Rivista
5
Libro
Così il nostro Archivio
apparirà in questa forma :
Desc
TipoSupp
Argom
Pearl
Jam – Binaural
3
Rock
Fromm
– Avere o Essere ?
5
Filosofia
Harry
Potter e la camera dei segreti
1
Fantasy
Peter
Gabriel – Growing Up Live
2
Rock
Condividere
risorse con Samba 3
4
Linux
/ Samba
Rossini
– 10 Ouvertures – Chailly
3
Classica

I
vantaggi di questa organizzazione sono subito evidenti :

1.risparmio
di spazio (numeri interi al posto di stringhe)

2.velocità
di immissione (devo solo selezionare, nel campo TipoSupp, un valore
da una Tabella)

3.velocità
operativa (un indice su “TipoSupp” sarà molto più efficiente)

4.riduzione
della possibilità di errore

Ho dunque eseguito, magari
senza saperlo, quella che si chiama una “
normalizzazione
del Database. Tutto quanto spiegato vale anche per il campo “Argom”,
ed in generale per tutti i campi destinati a contenere informazioni
riconducibili ad un insieme ben definito e non troppo ampio. Nella
fase operativa vedremo come mettere in “relazione” le due
tabelle, e quindi sfruttare al meglio il Db normalizzato.

In questo esempio abbiamo
usato un campo di tipo Intero per collegare le informazioni contenute
nelle due Tabelle. Questo non è obbligatorio. Ci sono molti casi in
cui i campi collegati sono di tipo stringa. La regola è che comunque
tutti i campi usati nelle relazioni DEVONO essere indicizzati (come
vedremo più avanti) e quindi gli Interi sono più efficienti

Tecnica

Quella illustrata è una
relazione tra Tabelle di tipo “
uno a molti”,
cioè un singolo valore di una riga di TbSupporti (“3”,
equivalente a “CD Audio”) appare in molte righe di TbMedia. Altri
tipi di relazione sono “uno a uno” e “molti a molti”.
Comprendere come funzionano le relazioni tra Tabelle nei Database può
sembrare complicato, ma alla fine i risultati sono assai
soddisfacenti. Nel nostro caso il campo “TipoSupp” di TbMedia fa
riferimento alla chiave primaria di un’altra Tabella, cioè
TbSupporti, quindi “TipoSupp” è una “
chiave
esterna
” (“foreign
key
”) per TbMedia. Una delle regole che
indicano se un motore di Db può definirsi relazionale o meno
riguarda proprio le chiavi esterne. Ne riparleremo più avanti
nell’esaminare la gestione dell’integrità referenziale con MySql.
Di Mauro Goretti [
OSL ]


Musica dalla Rete con Musictube

Musica dalla Rete con Musictube
Non è necessario usare il nostro
programma di navigazione
Internet per ascoltare musica da
YouTube. Grazie a MusicTube
possiamo farlo comodamente,
mantenendo memorizzate le nostre
ricerche e creando le nostre
playlist. Impariamo a usare questa
semplice applicazione che di sicuro
soddisferà completamente
la nostra voglia di musica.
Primi passi con Musictube
Scarichiamo il file di installazione
e facciamo clic su
Try it
nella sezione Ubuntu.
Nella nuova
finestra selezioniamo Salva file e poi
facciamo clic su
OK.
Installiamo MusicTube
Apriamo la
cartella Scaricati e facciamo un doppio
clic sul file
musictube.deb. Si aprirà una pagina
del Software
Center.
Qui facciamo clic sul pulsante
Installa.
Autentichiamoci e terminiamo l’operazione.
Avviamo MusicTube per la prima volta
Apriamo la Dash
e poi il menu Multimedia.
Facciamo clic
sull’icona Musictube per avviare
l’applicazione.
Poi, nella schermata iniziale, facciamo
clic su Usa la
demo
, oppure su Compra la versione
completa.
Usiamo il motore di ricerca
Nella nuova
schermata, scriviamo nel campo di ricerca il
nome di un
artista, di un album o di una canzone.
È possibile che
appaia un menu a tendina con più opzioni.
Selezioniamone
una.
Selezioniamo un brano da ascoltare
Facciamo clic su
una delle icone che appaiono nella
scheda
Risultati.
Se stiamo usando la versione demo,
appare una
finestra che ci dice che la nostra playlist
è limitata a 10
brani. Facciamo clic su OK.
Usiamo una playlist
Per avviare una
playlist, facciamo clic su Play
in alto a
sinistra. Per passare al brano successivo
o al precedente,
usiamo i pulsanti accanto a Play.
Facciamo clic
Pulisci per cancellarla.