We have used several content types in our site. Introductory information regarding the creation of a content type is presented here, followed by information about each content type that was created for this site.
Drupal is a Content Management System. As such, it is content-centric. That is, instead of being business-function centric, where various tables in a database holding business-function data are gathered together dynamically to form a piece of content, in Drupal the focus is the content.
Following a new install of D6 (Drupal version 6.x), Drupal contains two content types; Story and Page. However, there is a menu choice (admin/content/types) to create a new content type. So, for example, if you are reviewing books on your site, you might want a book to be a content type unto itself. You can create a content type and name it book, but there is very little you can do, initially, to make your new content type look any different from the other two.
Enter the CCK module. CCK (see more information in Appendix A) is a module originally written by Yves Chedemois (yched at drupal.org). It offers so much functionality that there are web pages, web instructions, training courses, and books just on this topic. In a nutshell, CCK gives you the ability to add fields to your content types via a simple user interface, and once added, these fields are available throughout most of Drupal, and especially, given our context, within Views.
Adding fields to a content type is as simple as giving the field a name, choosing the field type, and adding it. Field types are provided through submodules and other add-on modules, and include text fields, select lists, checkboxes, radio buttons, dates, files, and images. You can provide option lists for select lists, default values for text fields, and other configuration data. You can even define field sets, and whether a field set is viewable initially, and whether it's collapsible. The best part is that, once you have defined the fields for a content type, they appear automatically on the node create form for that content type.