is pricing data require for option data?

I am trying to build a remote relational database that contains earnings information on roughly 1500 US equities and 100 CAD equities with about 8000 new rows added everyday
I will update it every hour.How frequent do you update the "Price Data" table?
Is it on a daily basis?
I would suggest considering a SQL-on-Hadoop MPP query engine like Cloudera Impala or Apache Drill. Both are open source and free to use commercially. RDBMS (especially MySQL) won't scale.
I am running an Impala cluster in a NJ colo and persist about 14 million quotes a day (over 2 billion rows on 79k+ options contracts) stored as Parquet on HDFS.
AWS Redshift has a similar architecture but the TCO is substantially higher than self-hosting.
Thanks for the advice kev, I will add the multiple columns for iv calculations. In regards to normalization, do you think I could just have it all in one table (csv stored on some platform and query it using R, you mentioned this to me before) yet still be able to have remote access to the table?Your schema looks more or less fine as is. My only caveat is that you have far too few columns in the Option Data table. And don't keep IV1,Ex1 and IV2,Ex2 on the same row, make them separate rows with the same date,time,ticker... then if you insist on treating a table like a spreadsheet within the database, pivot them in a view or mview. If you're calculating things like IV1 and IV2 yourself, you'll need another table of the underlying information, as you may want to go back later and change your calculations.
I wouldn't worry about normalization, in all my years in the industry, I've never seen a 3rd normal form database in actual everyday use.
"Normalize until it hurts, denormalize until it works"
In practice, you can skip the first part of that quote and just go direct to denormalized. Cobb and Date were right about flattening, wrong about normalization.
Learning a little SQL is easy, becoming an expert is difficult. It is much harder to reach expert level in SQL than in R, Python, or even C++. Since you are a one man show, I suggest triage. Keep the SQL as simple as possible and leverage your experise in R. By that I mean use the database for storage and do essentially all your analysis and presentation in R.
Except that it can be far more efficient to do a lot of the analysis through the SQL call if it's related to finding related data. You know this I know, but just to keep him from going down to road of building a massive array in his code that he iterates through when he could have done it in a fraction of a second with a SQL call. I say this because his description of what he's doing from a csv leads me to believe that his code is designed that way now.Keep the SQL as simple as possible and leverage your experise in R. By that I mean use the database for storage and do essentially all your analysis and presentation in R.