Newsgroup: it.comp.os.linux.development
Titolo: howto database

Qualcuno sa indicarmi una qualche forma di documentazione
(preferibilmente reperibile sul web) su come funziona un database
(nell'accezione generica del termine, non uno in particolare) a basso
livello, cioe' secondo quali metodologie riesce ad immagazzinare ed
ordinare i dati al suo interno e secondo quale struttura vengono gestiti
i files che intepreta?
Ho dato una mezza occhiata alla guida agli internals di MySQL (
http://dev.mysql.com/doc/internals/en/index.html
 ), ma non e' abbastanza
"general-porpouse" per i miei scopi... Dovrei smazzarmi il codice (e
prima o poi lo faro'...), ma per ora mi servirebbe qualcosa di
"introduttivo".
Grazie :-)
-- 
Roberto -MadBob- Guido
mail bob4mail***@***
gmail.com
web 
http://madbob.homelinux.com
BrainTop Project maintainer - 
http://braintop.sf.net

 "introduttivo".
Se proprio vuoi capire come funziona un database, lascia perdere MySQL, ci
sono implementazioni molto più pulite, specialmente dal punto di vista
concettuale.
Ciao,
-- 
Daniele Orlandi

Daniele Orlandi ha scritto:

Potresti leggerti il codice di SQLite, ad esempio: la libreria compilata 
è di 200k, non possono essere cosi' grossi :-)
E supporta transazioni, viste, trigger, funzioni, e file fino a 2 
Tera... peccato non sia sicuro per accessi concorrenti... ma non è il 
suo lavoro, no?
-- 
Renato

 suo lavoro, no?
E... ma è quello il mestierei un buon DBMS :)
Direi che PostgreSQL andrebbe bene per quanto riguarda le funzionalità di
DBMS, la qualità del codice non è eccelsa ma non è neanche male.
A parte l'implementazione di DBMS, sarebbe forse il caso di partire con
qualche libro modello universitario, io ho quello di Ceri e non è male.
Probabilmente ce ne sono di meglio però ho una pessima bibliografia, per
questo sono restio a consigliare...
Ciao,
-- 
Daniele Orlandi

 i files che intepreta?
Potresti provare avedere tra la documentazione di SQLite, BerkeleyDB e
HSQLDB. Comunque, penso che sia una cosa che varia da db a db (altrimenti
non si spiegherebbe il fatto che ogni db ha prestazioni differenti)
Henryx

 "introduttivo".
IMO in generale basta che cerchi i corsi di "Basi di dati" delle varie 
università, dopo la teoria relazionale dovrebbe esserci la parte di 
implementazione.


Mah: nel corso di "Basi di Dati" che ho seguito io, no, se non un
vaghissimo accenno tanto minuto da essere totalmente inutile.
Grazie comunque per i link: il "Minibase" ("Minibase is a database
management system intended for educational use") potrebbe essere giusto
quel che fa al caso mio ;-)


 Grazie :-)
Per quanto ne so io, la parte più importante nella struttura fisica di un
DB in genere non sono i dati, ma gli indici. Secondo me dovresti
documentarti sulle strutture dati ordinate (sto parlando dei vari *tree)
Scusate se ho detto vaccate ;-)
ciao

 E... ma è quello il mestierei un buon DBMS :)
Mah, Data Base Management System... dove è scritto che deve andare in 
rete e supportare le query concorrenti? :-)
Sto provocando, ma l'OP chiedeva di capire come gestire i dati, e sqlite 
lo fa egregiamente, mi pare. Una volta capito quello potrà passare a un 
engine più evoluto, andandosi a impelagare con la rete, no? :-D
-- 
Renato

 engine più evoluto, andandosi a impelagare con la rete, no? :-D
Infatti concorrenza o no, le basi di dati da usare sono quelle per 
tutti! alberi binari, ecc...