\chapter{Bases de données}
\label{chap:bdd} \index{SQL}

% ----------------------------------------------------------------


% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
\section{sqlite} \index{sqlite}


% ----------------------------------------------------------------
\subsection{CLI} \index{cli}


% ----------------------------------------------------------------
\subsection{Libreoffice} \index{Libreoffice}



% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

\section{GDBM} \index{GDBM}

Alors là, carrément du vieux truc...

\begin{quote}
GDBM - The GNU database manager.  Includes dbm and ndbm compatibility.
\end{quote}

Gnu DBM permet de stocker des paires clef/valeur dans un fichier
de données. Chacune de ces clefs doit être unique, et doit être
liée avec une seule valeur\footnote{Peut-on alors parler
de bijection relationnelle ?}.

% ----------------------------------------------------------------

\subsection{Exemple en Perl} \index{Perl}

\begin{verbatim}
#!/usr/bin/perl  -w

use strict;
use GDBM_File;

my $nomdb = "exemple.gdbm";
my (%DB, @champs);
my ($user, $gecos);

open(SOURCE, "< /etc/passwd") or die "source $!";
tie(%DB, "GDBM_File", $nomdb, GDBM_WRCREAT, 0666) or die "gdbm $!";

while (<SOURCE>) {
	@champs = split ":", $_;
	$user = $champs[0]."\0";
	$gecos = $champs[4]."\0";
	$DB{$user} = $gecos;
	}

untie %DB;
close SOURCE;
0;
\end{verbatim}

% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

\section{Postgresql}

Le poids lourd du domaine.

% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

\section{Et le "NoSQL" ?}	\index{nosql} \index{troll}

% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
