| Author | 
                                
                                 Topic  | 
                             
                            
                                    | 
                                         CSharpNewbie 
                                        Starting Member 
                                         
                                        
                                        39 Posts  | 
                                        
                                        
                                            
                                            
                                             Posted - 2012-12-22 : 05:29:13
                                            
  | 
                                             
                                            
                                            | I am designing a database that will host stock market data on a daily basis. There are about 3000 ticker sybmols that I will be tracking.One table will have the company profile (CompanyID, CompanyName, TickerSymbol, Description)Another table would be the one with that data. I need 5 fields for each ticker symbol for each day (OpeningPrice, ClosingPrice, Volumme, PriceToEarnings, EarningsPerShare). These five fields will be required for each ticker symbol for each business day (approximately 20 business days in a month).What would be the best way to design this table?My initial thought is:TableName:    2013_JanColumnNames:  02_Jan_Opening              ,02_Jan_Closing              ,02_Jan_Volume              ,02_Jan_PriceToEarnings              ,02_Jan_EarningsPerShare              ,03_Jan_Opening              ,03_Jan_Closing              ,03_Jan_Volume              ,03_Jan_PriceToEarnings              ,03_Jan_EarningsPerShare              ,04_Jan_Opening              ,04_Jan_Closing              ,04_Jan_Volume              ,04_Jan_PriceToEarnings              ,04_Jan_EarningsPerShareand have similar columns for all remaining business daysAny other suggestions?Thanks | 
                                             
                                         
                                     | 
                             
       
                            
                       
                          
                            
                                    | 
                                     sunitabeck 
                                    Master Smack Fu Yak Hacker 
                                     
                                    
                                    5155 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-12-22 : 06:27:28
                                          
  | 
                                         
                                        
                                          | I would strongly recommend against doing it the way you are proposing.Think about how hard it would be if you were asked questions such as "what was the average volume last month", or "what was the lowest price during last year".Instead create a table with Date, Opening Price, Volume etc.I would caution against using Ticker as the primary identifier. Tickers can change, disappear (because of ticker changes, M&A's etc.), and can even be reissued to another company after a waiting period. So I would use an internal identifier as the primary identifier with ticker, cusip, sedol or any other street identifiers just being attributes. Do you have a need to keep track of ticker changes etc.? If so you will need to have validity dates for identifiers as well.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     visakh16 
                                    Very Important crosS Applying yaK Herder 
                                     
                                    
                                    52326 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-12-22 : 06:32:56
                                          
  | 
                                         
                                        
                                          | nope. better way to design would be (OpeningPrice, ClosingPrice, Volumme, PriceToEarnings, EarningsPerShare,datevalue,tickersymbol)so that you store per ticker the 5 fields for each day as a row like(OpeningPrice1, ClosingPrice1, Volumme1, PriceToEarnings1, EarningsPerShare1,01-01-2013,tickersymbol1)(OpeningPrice2, ClosingPrice2, Volumme2, PriceToEarnings2, EarningsPerShare2,01-01-2013,tickersymbol2)(OpeningPrice3, ClosingPrice3, Volumme3, PriceToEarnings3, EarningsPerShare3,01-01-2013,tickersymbol3)....(OpeningPrice1, ClosingPrice1, Volumme1, PriceToEarnings1, EarningsPerShare1,02-01-2013,tickersymbol1)(OpeningPrice2, ClosingPrice2, Volumme2, PriceToEarnings2, EarningsPerShare2,02-01-2013,tickersymbol2)(OpeningPrice3, ClosingPrice3, Volumme3, PriceToEarnings3, EarningsPerShare3,02-01-2013,tickersymbol3)...(OpeningPrice1, ClosingPrice1, Volumme1, PriceToEarnings1, EarningsPerShare1,03-01-2013,tickersymbol1)(OpeningPrice2, ClosingPrice2, Volumme2, PriceToEarnings2, EarningsPerShare2,03-01-2013,tickersymbol2)(OpeningPrice3, ClosingPrice3, Volumme3, PriceToEarnings3, EarningsPerShare3,03-01-2013,tickersymbol3)....------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                       
                          
                            
                                    | 
                                     CSharpNewbie 
                                    Starting Member 
                                     
                                    
                                    39 Posts  | 
                                    
                                      
                                        
                                          
                                           
                                            Posted - 2012-12-22 : 10:34:44
                                          
  | 
                                         
                                        
                                          | Thanks very much for your response. I agree, my initial idea was not the best way.  | 
                                         
                                        
                                            | 
                                         
                                       
                                     | 
                                   
                            
                            
                                | 
                                    
                                      
                                     
                                    
                                 | 
                             
                         
                     | 
                 
             
         |