我有一个很少有表的数据库。我想知道,在数据库中创建表的最佳方法是什么。我的表同时包含字符串(文本)和数字(整数和双精度数)。我应该使用所有数据类型 text、int、double 等创建表,还是应该使用所有文本创建表并在插入和读取以供显示之前对其进行转换。
假设这是我的桌子......
sqlDB.execSQL("create table if not exists "+scriptName+"(dateofpurchase text, buyorsell text," +
" purchasedquantity int, purchasedprice double, investmentwithoutbrokerage double," +
" brokerage double, servicetax double, stt double, stampduty double, othertaxes double," +
" investmentwithbrokerage double)");
如果我使用所有“文本”创建表并在需要时对字符串进行必要的转换,而不是创建具有不同数据类型的表。
sqlDB.execSQL("create table if not exists "+scriptName+"(dateofpurchase text, buyorsell text," +
" purchasedquantity text, purchasedprice text, investmentwithoutbrokerage text," +
" brokerage text, servicetax text, stt text, stampduty text, othertaxes text," +
" investmentwithbrokerage text)");
在将数据插入表之前,我会将所有值转换为字符串,并在从表中检索值时,(用于计算)我会将它们转换回各自的数据类型。为了在屏幕上显示,我可以直接将它们用作字符串。
如果我如上所述创建表,那么创建具有所有数据类型的表有什么缺点/优点?