\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 () { @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} % ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++