Frequently Asked Question List for TeX
A BibTeX bibliography file may reasonably be compared to a small database, the entries in which are references to literature that may be called up by citations in a document.
Each entry in the bibliography has a type and a unique key. The bibliography is read, by BibTeX, using the details specified in a bibliography style. From the style, BibTeX finds what entry types are permissible, what fields each entry type has, and how to format the whole entry.
The type specifies the type of document you’re making reference to; it
may run all the way from things like Book and
Proceedings (which may even contain other citations
of type InBook or  InProceedings)
through dissertation styles like  PhdThesis to
otherwise-uncategorisable things such as Misc.  The
unique key is something you choose yourself: it’s what you use when
you want to cite an entry in the file.  People
commonly create a key that combines the (primary) author’s name and
the year of publication, possibly with a marker to distinguish
publications in the same year.  So, for example, the Dyson, Eddington,
Davidson paper about deflection of starlight appears in my
experimental bib file as Dyson20.1.
So, noting the rules of the style, you have “simply” to write a bibliography database. Fortunately, there are several tools to help in this endeavour:
thebibliography
 environment, the Perl script tex2bib will
 probably help.There are a number of BibTeX bibliography management systems available, some of which permit a graphical user interface to the task. Sadly, none seems to be available with the ordinary TeX distributions.
Tools such as Xbibfile (a graphical user interface),
 ebib (a database application written to run “inside”
 Emacs) and 
 btOOL (a set of perl tools for building 
 BibTeX database handlers) are available from CTAN.
Other systems, such as
 RefDB,
 BibORB,
 BibDesk,
 pybliographer and the
 Java-based
 Bibkeeper
 and JabRef (which
 claims to supersede Bibkeeper)
 are only available from their development sites.
Perl script isi2bibtex will
 translate citations from ISI “Web of knowledge” (a
 subscription service, available to UK academics via
 BIDS).  UK academics may translate BIDS downloads
 using bids.to.bibtexFAQ ID: Q-buildbib