I'm a new comer to apple iphone development. I'm presently carrying out a restaurant application that takes data from the database. Exactly how should we keep data inside a DB on apple iphone through our application to ensure that it might work offline?

You need to use SQLite. Because the database is simply a file, you can include the 50 Megabytes file for your application, and that is it. SQLite's performance around the apple iphone is nice, in my opinion, although YMMV based on your exact table layout and indexes.

Just be sure you keep experience how much data you grow it with:

Although 50 Megabytes is much underneath the limit, remember that a 50 Megabytes application will require a while to download for individuals, the ones cannot do the installation in the AppStore without whether Wi-fi compatability connection or iTunes.

Also, programs that "grow" in dimensions too quickly once you set them up may become unpopular around the more compact products.

Here is a tutorial

Yes, SQLite is the best choice. Apple uses SQLite a great deal in iOS 'internally' (DB for texts.and so on), so Apple must've put lots of effort into optimising SQLite on iOS.

For SQLite , there's a great tutorial you can study from. This is actually the connect to it : http://www.iphonesdkarticles.com/2008/10/sqlite-tutorial-selecting-data.html

For Restaurant application, you may also use plist like a database. The reason being you will simply possess a primitive datatypes and will also be simple to handle with plist.