Internal table acts as a container which is used to store the record sets. That is used to store the data fetched from the database table.
So due to performance reason every time access to database would not be so good and decrease the performance. So you just select the data from the database and store it in the intermediate table. This table is called INTERNAL TABLE. So it's an replica of the database. The design foes like this,
PRESENTATION SERVER <> APPLICATION SERVER <>
So everytime gain accessing to database results in high resource usage and bad permformance.
So always play around with internal tables. So obviously the whenever you access the data in the INTERNAL TABLE, the application server will be used.
When ever you loop at the internal table, the current record should be stored in a temporary work place. That is called WORK AREA.