Newsgroup: it.lavoro.professioni.webmaster
Titolo: Info sul ng:

Ma se per caso chiedessi qualche consiglio su come strutturare
un db per apache (e quindi un sito) sarei OT?
?
Ciao!

dodiesis wrote:

Sarebbe una discussione nella quale il ragazzino con FP non potrebbe
entrare ma noi si. Quale SO usi? Come hai intenzione di agganciare
Apache e a quale db? Preferisci i CGI-bin, script Perl o qualche servlet
Java? Personalmente prediligo la terza soluzione.
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

 ha scritto nel messaggio
news:20000818.0...@baol.localdomain...


 Java? Personalmente prediligo la terza soluzione.
Certo che il tizio di prima ti ha fatto proprio incazzare eh??
In ogni caso io aggiungerei anche la bella possibilita di un sistema
LAMP, se poi e` un Windowmane allora che utilizzi il WAMP e se poi
proprio non riesce con l'Apache allora utilizzi un sistema WXMP. Poi
magari gli spieghiamo come compilare i moduli PHP direttamente in
Apache.
-- 
Edgar Laudito                     21 TORR AGENCY GmbH
Email:e.la...@21torr.com
        Heinestraße 72
Tel: 
+49-7121-348 222
             D-72762 Reutlingen
Fax: 
+49-7121-348 289
 
http://www.21torr.com

 Apache.
Questo fine settimana avevo quasi voglia di compilare il supporto per SSL...
così, per approfondire.


  Stefano
Ciao!
...e grazie!
Sono stato troppo contorto?
:(

 un numero che punta ad un'altra tabella?
Se l'unica cosa che ti interessa della regione è il suo nome, lo metti come campo
direttamente nella tabella in oggetto; altrimenti, vedi l'esempio:
TABELLA CITTA':
ID integer; (primary key)
Nome char(50);
Regione integer; (foreign key su ID per TABELLA REGIONI)
altri dati...
TABELLA REGIONI:
ID integer; (primary key)
Nome char(20);
altri dati...
Ti suggerirei il tipo di dati char() con dimensione sufficiente ad ospitare il nome della
regione più lungo. Il varchar infatti, se male non ricordo, non viene messo direttamente
nella tabella, ma da un'altra parte, e quindi deve essere recuperato con conseguente
rallentamento.
Poi è chiaro che il suggerimento è dovuto al fatto che i nomi delle regioni non possono
essere più lunghi di tanto, mal che vada sprecherai 100 bytes! Cazz! Sui dischi di oggi
sono vitali... Il discorso cambia nel caso in cui invece del nome della regione hai un
intero capitolo dei promessi sposi come citazione, nel qual caso un camp varchar o memo
sono obbligatorii.


 Stefano
Grazie mille!

 char(tutte le regioni); fine;
Allora, diciamo che secondo le forme normali è proprio quello che dovresti fare, e dal punto di
vista tecnico non c'è nulla da dire. E' corretto. Per motivi di velocità però potresti voler
mettere il nome della regione per esteso in tabella. In fondo 'Basilicata' ha 10 caratteri, non
ho voglia di ricordarmi tutti i nomi delle regioni, ma mi pare il più lungo (ammetto di essere
una capra in geografia, abbjate pietà). Invece di mettere un int (4 caratteri) [beh si la
scelta migliore sarebbe stata un char univoco per regione al posto di un int] metti un
char(10), con conseguente spreco di 6 caratteri per riga ma con un outer join in meno; se poi
consideri che non è sempre detto che 124 caratteri occupino 124 bytes una volta su disco, ma
leggermente di più per gli algoritmi di paginazione non è tanto di fuori il pensare che ti puoi
risparmiare un outer join a costo nullo (occorrerebbe sapere la dimensione corretta del
record). Insomma, il succo è che a volte per le prestazioni si va in tasca alla forma normale e
si duplicano alcuni dati per una maggior performance (a discapito dello spazio su disco).


 Questo fine settimana avevo quasi voglia di compilare il supporto per SSL...
Qua da me in ufficio, il nostro Admin fa sempre cosi', ma lui oramai lo
sa fare a memoria, anche se poi la compilazione non e' niente di cosi'
difficile.



Come ti ha detto Stefano, sotto l'ipotesi che non hai dati che riguardano
le regioni (esempio: superficie, popolazione per ognuna) non è necessario creare una
tabella distinta con i nomi delle regioni cioè il nome della regione lo metti direttamente
in una colonna della tabella dei tizi (4a forma normale); questo comporta
fra l'altro una maggiore velocità. Se invece il tuo problema è lo spazio allora crei
l'ulteriore tabella che dici (5a forma normale) a lieve discapito pero della velocità.
Spero di aver ricordato bene le forme normali!
Ciao


 un numero che punta ad un'altra tabella?
Dipende dalle tue esigenze. Se la regione da inserire i trova
semplicemente in un formulario dove devono venire espressi
nome,cognome.......regione etc.etc. allora qua puoi utilizzare
tranquillamente un campo char o varchar , di cui ti spieghero' subito le
differenze. Se invece i tuoi formulari vengono registrati per regione o
comunque hai da fare un ragionamento analogo allora ti conviene puntare
l'id sulla tabella corrispondente.
Il campo Enum e' sicuramente da lasciar perdere.
I campi char e varchar sono praticamente identici, tutti e due
utilizzano valori d 1 a 255 che pero` occupano spazio in modo differente
secondo queste regole:
M=Char
M bytes, 1 <= M <= 255 
cioe` se tu dici che il tuo valore char deve avere una dimensione di 20
bytes, la variabile che inserirai sara' sempre di 20 bytes, cio`
significa che se tu dichiari un campo Char da 10 ed in seguito vorrai
inserire la variabile "Umbria" nella tua tabella, la variabile apparira'
in questo modo "Umbria    ",i bytes non occupati dalla tua variabile
vengono occupati da semplici "blank", mentre se inserisci il valore
Emilia Romagna nella tua tabella il valore verra' riportato in questo
modo "Emilia Rom" tagliando fuori tutto quello che eccede dai tuoi 20
bytes.
M=Varchar
L+1 bytes, where L <= M and 1 <= M <= 255 
Questo significa che la tua variabile occupera solo e sempre il numero
di bytes che realmente occorrono, che sia 1 o 255.
Enum occupa 1 o 2 bytes, a seconda della dimensione della tua variabile,
quest'ultima puo' avere un valore massimo di 65535.
Normalmente il campo enum viene utilizzato per la registrazioni di
valori boolisch, cioe` 1/0, Y/N.
Ora che ti ho spiegato tutto sta a te iniziare il lavoro.


 un numero che punta ad un'altra tabella?
Sempre un numero che punta ad un altra tabella.
Ciao
Alberto

 
http://wdvl.internet.com/Authoring/DB/
scusa...
sei sicuro dell'url?
non riesco a raggiungerlo!
:(

 velocità. Spero di aver ricordato bene le forme normali! Ciao
Non erano i problemi di spazio a preoccuparmi;
Quello che sto per fare è un db di gestione di curricula e sto cercando di farlo 
in modo che si possano fare query su praticamente tutti i campi!
Più vado avanti e più mi trovo di fronte a ripetizioni di dati; 
per esempio le lingue conosciute: ho 15 lingue prestabilite e pensavo di usare
un tipo SET; che ne so di quali e quante lingue sa un tizio?
magari una magari tutte e 15; o magari di usare un' altra tabella tipo
nome_del_tizio char(10),
inglese booleano() ,
francese booleano(),
...
(tralasciate la sintassi.. :)
Stesso discorso per il campo "linguaggi di progr conosciuti"...
Ma tutti mi sconsigliano sia gli ENUM che i SET;
non ho capito perchè, ma m'han detto che lo capirò leggendo 
"basi di dati" di atzeni e co; vado leggo e torno ( sperando di 
riuscirci entro un lustro... :)
Grazie a tutti ragazzi!
:)
p.s.
Ma questo è un lavoro da webmaster?
qual'è un lavoro che il webmaster *non* deve fare?
:)
allora "il webmaster" è *tutto* quello che sta in mezzo tra chi installa
il s.o. e chi decide il colore delle <table>?
mamma mia!
io non sono un webmaster...cosa sono?
crisi esistenziale.. 
:)
Grazie mille comunque!

 Ciao Alberto
Grazie mille!
:)


Sent via Deja.com 
http://www.deja.com/
Before you buy.



Spero di averti schiarito un po le idee.
capito...
ma scusa: con la tua soluzione, non si verrebbero a creare ripetizioni in
combinazioni.id_tizio? Se james Bond si iscrivesse al mio sito, in
'combinazioni' avrei 15 righe con id=007 e col secondo campo 1 (o 2, o 3 ...)...
Non è una ripetizione questa?
Grazie e ciao!

 Grazie e ciao!
ciao

Solo che qui stiamo proprio diventando OT...
già.. ma it.comp.software.database c'è veramente poca gente...
l'unica è optare per un ng straniero...
rigrazie e riciao!
p.s.
scusate l' invadenza... ma voialtri che squole avete fatto?
siete tutti informatici o grafici..o che altro?
(perdonate il "grafici", ma no mi viene il termine giusto...)
Ciao!