0

I am developing an app basically a medical app. All the data in the app is static. Mostly the app is read only app and the data which i have to put is in big chunks/paras. for eg. "History of Blood Group" This section consists of 3 PDF pages of data that i have to type. My question is which database will be preferable? SQLite, CoreData or any other database? Any help would be much appreciated. TIA.

iDeveloper
  • 940
  • 1
  • 10
  • 45

3 Answers3

1

Use Core Data with a SQLite database. The SQLite database can easily be included in your app bundle and moved to the documents folder on the first run. You didn't say anything about it, but if updates are later required it is very easy to replace the SQLite database.

I really looked at this before and Core Data has too much to offer to not use it; and I couldn't find a good reason NOT to use the Sqlite store. Still, it gives you an option for a different store if you need it.

BTW, we do store pics in the database but not at full resolution. Our pics are used such that we can compress down to 100K or less and put them in Core Data. We've had no performance issues at all with that arrangement.

One more comment on standalone SQLite vs. Core Data. The SQLite is easy to understand if you use SQL other places, and I have extensively so it was fine for me. But when you are using iOS controls -- like UITableView and UICollectionView, etc., the "fit" for Core Data is just much better. Core Data is designed to work well with these controls and it is so much better it is worth learning to use Core Data. Even though you have to kind of forget everything you know about relational databases.

RegularExpression
  • 3,531
  • 2
  • 25
  • 36
1

I will prefer sqlite. See below link for proper guidance. When to use sqlite and when to use plist. https://stackoverflow.com/a/5959578/1850983

Community
  • 1
  • 1
Payal Maniyar
  • 4,293
  • 3
  • 25
  • 51
1

I will not recommend the use of SQLite by your self as there are many free modern databases available that provides much more builtin features. For example relationship handling, Associate any file with record without saving it as blob in database, concurrent access of records.

I will suggest you to use CoreData or YapDatabase or Realm

I personally use YapDatabase, it provides tons of features and it is also awesome in terms of performance.

You just need to create a data importer class. There is also a sample project for importing data.

Muhammad Zeeshan
  • 2,441
  • 22
  • 33
  • No. Why burden yourself with a codebase from someone else who can leave you high and dry (see: Parse.com) when Core Data provides an excellent facility that is well-integrated, fast, reliable, and supported by Apple? Not saying there couldn't be circumstances but I haven't hit any. – RegularExpression Apr 04 '16 at 05:53
  • Yapdatabase is well documented and is actively maintained. By the way i am not discouraging the use of coredata as it is the official framework with excellent features. My point is not to use SQLite on your own. – Muhammad Zeeshan Apr 04 '16 at 06:50
  • Losing out on NSFetchedResultsController is a big lose IMO. – Sean Lintern Apr 04 '16 at 15:51