% $Id: database.tex,v 1.1 2006/02/06 19:43:30 pedro Exp pedro $

\newcommand{\BibTeX}{\textsc{Bib}\kern-.1em\TeX}

\chapter{The Database and the Interface}
\label{sec:database}

In this chapter we will, briefly, describe the database's
structure, and the user's interface provided by the PHP scripts.

The database contains the following tables: {\tt theorems}, {\tt
  demonstrations}, {\tt figures}, {\tt provers}, {\tt drawers}, {\tt
  authors}, {\tt bibrefs}, and {\tt users}. It contains also two more
tables {\tt authordrawer} and {\tt authorprover} whose purpose is to
provide an $n$ to $m$ relation between drawers, provers and theirs
authors. The other relations are $1$ to $n$ so they do not need any
auxiliary table to be implemented (see figure~\ref{fig:esquemaGeoThms}).

\begin{figure}[phbt]
  \centering
  \includegraphics[angle=90,scale=.76]{esquemaGeoThms.eps}  
  \caption{GeoThms Database}
  \label{fig:esquemaGeoThms}
\end{figure}

The tables {\tt theorems}, {\tt demonstrations}, and {\tt figures}
implement the main entities, {\em theorems} with their statements, in
\LaTeX{} format, the {\em proofs} with links to which theorem and
theorem prover they are related to, and {\em figures} also with the
obvious links. This last two tables will contain the code for the
drawer/prover, but also the \LaTeX{} code of the drawing/proof
produced automatically when the information first introduction or
whenever it is updated.

The tables just described constitute the core of the GeoThms database,
the tables describe next provide the info about the drawers and the
provers that are used, automatically by the PHP scripts, to built many
of the info contained in the previous tables. In the tables {\tt
  drawers}, {\tt provers}, and {\tt authors} the info about
the drawing programs, the automatic theorem provers, and their
authors is kept.

The table {\tt bibrefs} is used to store bibliographic references, in
\BibTeX{} format, related to some of the other entities already
described. The table {\tt user} is used to store information about
users that have read access to the database.

The PHP user's interface aims to provide an environment where
anonymous users can retrieve all the info contained in the database,
browsing through the theorems listing (and all the other entities),
seeing the details about then, e.g. its geometric representation
or/and its proof, when present.

Another level of use is given to registered users (the authors for
the moment). Those users have read and write access to the
information, they cannot modify the structure of the database, but
they can introduce new information, e.g. new theorems, new figures to
existing theorems, new proofs, etc.. They can also update the existing
information.

Not yet done but already in our list of things to do is the extension
of the interface and the database to provide support to other
drawing/provers programs. Also we want to include some measures of
efficiency for the authomatic theorem provers, e.g. CPU time, number
of proof steps, and others. As a more distant in time goal, we want to
extend this framework to provide support to other methods of proof, in
the area of synthetic proofs of geometric theorems.

Has already said the aims of the authors is to built a framework for
constructive geometry, given to all users an environment suitable for
the studying an teaching of geometry. The GeoThms database will be
one of the building blocks of that framework.





%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "tech-rep02.tex"
%%% End: 
