May I know the difference between field_data_body and field_revision_body? As I am a beginner of this Drupal 7 I have some doubts regarding these database tables.I need  a short notes regarding all these database tables.The doubt which I had found is that when I add the content in Drupal 7 it is inserting in these two database tables i,e field_data_body and field_revision_body and in similar way when I add comment it is also doing the same functionality. I need someone's help.
In short:

field_data_body is the current body data.

field_revision_body is a historic backup, that you can revert to if necessary.

Detailed explanation of revision:


  Drupal lets you create a new revision every time a node is updated.
  This allows you to track how the node has changed over time on your
  site.
  
  To enable this feature you go to the default node editing form (D6:
  administer/content management/content types/edit/workflow settings;
  D7: administer/structure/content types/edit/publishing options) and
  check the box Create a new revision in the node editing form. This
  will result in a new revision being created every time the node is
  edited. (Administrators can override this when editing an individual
  node.)
  
  To view and manage revisions, use the Revisions tab when viewing a
  node (you must have "view revisions" or "administer nodes" permission
  to view revisions.) From the Revisions tab, you can view the
  individual revisions, revert to an earlier revision, and delete
  revisions (you must have the "administer nodes" or "revert revisions"
  and "delete revisions" permissions).
  
  One interesting detail of the system is the behaviour of the reverting
  mechanism. Let's say you have revisions {1,2,3,current}. If you revert
  to revision #2, a copy of #2 is made and the copy is set as the
  current revision. Thus, after reverting you'll have {1,2,3,4,current},
  where current is a clone of #2, and #4 is the previous current
  revision.
  
  Another useful feature of the revision system is the Log field, which
  appears near the "Create a new revision" check box on the node editing
  form. If you add a message to the Log field when you create a
  revision, that message will appear on the Revisions tab along with the
  revision. It is a good idea to add a meaningful Log message whenever
  you create a node revision, so that others (or you, months later) can
  see why you changed the node and what your changes were, without
  having to actually view the previous revision.
  
  You can enhance the revisions tab by installing the contributed Diff
  module. This module allows you to see the differences between two
  revisions; without this module, you can only view the entire content
  of each revision, and it may be difficult to tell exactly what has
  changed between the revisions.
  
  Note that the node_revisions table in the database will always have
  one record associated with each record in the node table, which it
  keeps track of as the current revision. This will happen even if you
  do not have revisions enabled. On the other hand, if you have enabled
  revisioning, you will have multiple entries in your node_revision
  table associated with each node, corresponding, not just to the
  current revision, but all past revisions too.


Source: Node revisions

Related:


How to disable the revision feature completely?
Node Revision Cleanup