This is a list of possible BibTeX entry. The "required fields" part is mandotary, while "optional fields" is optional. However, if we missed some of the "required fields" item, LaTeX can still compile successfully.
@article
required fields: author, title, journal, year.
optional fields: volume, number, page, month, note.
@book
required fields: author or editor, title, publisher, year.
optional fields: volume or number, series, address, edition, month, note.
@booklet
required fields: title.
optional fields: author, howpublished, address, month, year, note.
@inbook
required fields: author or editor, title, chapter and/or pages, publisher, year.
optional fields: volume or number, series, type, address, edition, month, note.
@incollection
required fields: author, title, booktitle, publisher, year.
optional fields: editor, volume or number, series, type, chapter, pages,
address, edition, month, note.
@conference
@inproceedings
required fields: author, title, booktitle, year.
optional fields: editor, volume or number, series, pages, address, month,
organization, publisher, note.
@manual
required fields: title.
optional fields: author, organization, address, edition, month, year, note.
@masterthesis
required fields: author, title, school, year.
optional fields: type, address, month, note.
@misc
required fields: none.
optional fields: author, title, howpublished, month, year, note.
@phdthesis
required fields: author, title, school, year.
optional fields: type, address, month, note.
@proceedings
required fields: title, year.
optional fields: editor, volume or number, series, address, month,
organization, publisher, note.
@techreport
required fields: author, title, institution, year.
optional fields: type, number, address, month, note.
@unpublished
required fields: author, title, note.
optional fields: month, year.